:root{--paper: #faf7f0;--surface: #fffdf8;--ink: #26221c;--muted: #7d766a;--line: #e2dccf;--dot: #d9d2c3;--accent: #c2553d;--hover: rgba(0, 0, 0, .05);--font: "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif;--ui: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;color-scheme:light}:root[data-mode=dark]{--paper: #1b1a17;--surface: #24221e;--ink: #ece6d9;--muted: #9a9284;--line: #38352e;--dot: #34312b;--hover: rgba(255, 255, 255, .07);color-scheme:dark}:root[data-mode=light][data-tone=white]{--paper: #fafafa;--surface: #ffffff;--line: #e4e4e4;--dot: #d8d8d8}:root[data-mode=light][data-tone=blush]{--paper: #fbf1ef;--surface: #fff9f8;--line: #ecd9d5;--dot: #e3c9c4}:root[data-mode=light][data-tone=sage]{--paper: #f1f4ec;--surface: #fafcf7;--line: #d9e0cf;--dot: #c9d3bb}:root[data-mode=light][data-tone=sky]{--paper: #eef3f7;--surface: #f9fbfd;--line: #d5dee6;--dot: #c4d0db}:root[data-mode=light][data-tone=kraft]{--paper: #e9dcc3;--surface: #f3e9d6;--line: #d3c3a3;--dot: #c6b48e;--muted: #74684f}:root[data-font=sans]{--font: var(--ui)}:root[data-font=hand]{--font: "Noteworthy", "Bradley Hand", "Segoe Print", "Comic Sans MS", cursive}:root[data-font=mono]{--font: "American Typewriter", "Courier Prime", ui-monospace, "Courier New", monospace}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:17px/1.5 var(--font)}button,input,select{font:inherit;color:inherit}button{cursor:pointer;background:none;border:0;padding:0}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}h1{font-size:1.6rem;margin:0;font-weight:600}h2{font:600 .75rem/1 var(--ui);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:1.75rem 0 .6rem}.app{display:grid;grid-template-columns:230px 1fr;min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;overflow-y:auto;display:flex;flex-direction:column;gap:2px;padding:20px 12px;border-right:1px solid var(--line);background:var(--surface);font:14px/1.3 var(--ui)}.brand{font:600 1.1rem var(--font);padding:0 10px 14px}.nav-heading{font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);padding:18px 10px 6px}.nav-item{display:flex;justify-content:space-between;align-items:center;gap:8px;width:100%;text-align:left;padding:7px 10px;border-radius:6px}.nav-item:hover{background:var(--hover)}.nav-item.active{background:var(--hover);font-weight:600}.nav-item.add{color:var(--muted)}.badge{background:var(--accent);color:#fff;border-radius:999px;font-size:.7rem;font-weight:600;padding:1px 7px}.new-collection{display:grid;gap:6px;padding:6px 4px}.new-collection input,.new-collection select,.search,.migration-actions select,.menu select{background:var(--paper);border:1px solid var(--line);border-radius:6px;padding:6px 8px;font:14px var(--ui);width:100%}.row{display:flex;gap:6px}.sidebar-foot{margin-top:auto;padding-top:16px;display:flex;flex-direction:column;gap:6px}main{min-width:0;background-image:radial-gradient(var(--dot) 1px,transparent 1px);background-size:22px 22px}:root[data-paper=lines] main{background-image:linear-gradient(transparent 25px,var(--dot) 25px);background-size:100% 26px}:root[data-paper=grid] main{background-image:linear-gradient(var(--dot) 1px,transparent 1px),linear-gradient(90deg,var(--dot) 1px,transparent 1px);background-size:22px 22px}:root[data-paper=blank] main{background-image:none}.page{position:relative;max-width:720px;min-height:100vh;margin:0 auto;padding:20px 28px 80px}.page-tools{display:flex;justify-content:flex-end;margin-bottom:8px}section.page:not(:has(.page-tools)){padding-top:58px}.page.wide{max-width:1040px}.lede,.hint,.empty{color:var(--muted)}.hint{font:13px var(--ui);margin-top:28px}.empty{font-style:italic;margin:.4rem 0}kbd{font:12px ui-monospace,monospace;border:1px solid var(--line);border-radius:4px;padding:0 5px;background:var(--surface)}.stepper{display:flex;align-items:center;gap:8px;margin-bottom:20px}.stepper.small h2{margin:0;min-width:150px;text-align:center}.btn{font:13px var(--ui);border:1px solid var(--line);background:var(--surface);border-radius:6px;padding:5px 10px;white-space:nowrap}.btn:hover{background:var(--hover)}.btn.ghost{border-color:transparent;background:none;color:var(--muted)}.btn.danger,.menu .danger{color:#c0392b}.icon-btn{width:30px;height:30px;border-radius:6px;color:var(--muted);font-size:1.2rem;line-height:1}.icon-btn:hover{background:var(--hover);color:var(--ink)}.icon-btn.tiny{width:20px;height:20px;font-size:.9rem;opacity:0}tr:hover .icon-btn.tiny,.icon-btn.tiny:focus-visible{opacity:1}.nudge{display:block;width:100%;text-align:left;font:14px var(--ui);padding:10px 14px;margin-bottom:18px;border-radius:8px;border:1px dashed var(--accent);color:var(--accent);background:var(--surface)}.card{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:16px 18px;margin-bottom:16px}.card h2{margin-top:0}ul,ol{list-style:none;margin:0;padding:0}.entry,.migration-row{display:flex;align-items:baseline;gap:4px;padding:3px 0;position:relative}.priority{width:12px;flex:none;color:var(--accent);font-weight:700}.bullet{width:24px;flex:none;text-align:center;font-weight:700;border-radius:4px;color:var(--ink)}.bullet:not(:disabled):hover{background:var(--hover)}.bullet:disabled{cursor:default}.entry-text{flex:1;min-width:0;overflow-wrap:anywhere;cursor:text;border-radius:4px}.entry.is-done .entry-text,.entry.is-migrated .entry-text,.entry.is-scheduled .entry-text{color:var(--muted)}.entry.is-cancelled .entry-text,.entry.is-cancelled .bullet{color:var(--muted);text-decoration:line-through}.entry.type-note .entry-text{font-style:italic}.entry-edit{flex:1;min-width:0;background:var(--surface);border:1px solid var(--line);border-radius:4px;padding:0 4px}.chip{font:12px var(--ui);color:var(--muted);border:1px solid var(--line);border-radius:999px;padding:1px 8px;white-space:nowrap;background:var(--surface)}.chip:hover{color:var(--ink)}.entry-actions{position:relative;flex:none}.entry-actions .icon-btn{opacity:0;height:24px}.entry:hover .entry-actions .icon-btn,.entry-actions .icon-btn:focus-visible,.entry-actions .icon-btn[aria-haspopup]:has(+.menu){opacity:1}@media (hover: none){.entry-actions .icon-btn,.icon-btn.tiny{opacity:1}}.menu{position:absolute;right:0;top:100%;z-index:10;width:230px;padding:6px;background:var(--surface);border:1px solid var(--line);border-radius:8px;box-shadow:0 8px 24px #0000002e;font:14px var(--ui)}.menu button{display:block;width:100%;text-align:left;padding:6px 8px;border-radius:5px}.menu button:hover{background:var(--hover)}.menu-label{font-size:.7rem;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);padding:6px 8px 2px}.menu hr{border:0;border-top:1px solid var(--line);margin:6px 0}.entry-input{display:flex;align-items:center;gap:8px;margin-top:8px;padding:4px 6px;border:1px solid var(--line);border-radius:8px;background:var(--surface)}.entry-input:focus-within{border-color:var(--accent)}.entry-input input{flex:1;min-width:0;border:0;background:none;padding:5px 2px;outline:none}.type-toggle{display:flex;flex:none}.type-toggle button{width:26px;height:26px;border-radius:5px;color:var(--muted);font-weight:700}.type-toggle button.on{background:var(--accent);color:#fff}.spread{display:grid;grid-template-columns:1fr 1fr;gap:32px}.spread h2:first-child{margin-top:.5rem}.calendar button{display:flex;align-items:baseline;gap:8px;width:100%;text-align:left;padding:2px 6px;border-radius:5px;font-size:.95rem}.calendar button:hover{background:var(--hover)}.cal-num{width:1.5em;text-align:right;font-variant-numeric:tabular-nums}.cal-dow{width:1em;color:var(--muted);font:12px var(--ui)}.cal-text{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cal-open{color:var(--muted);letter-spacing:1px}.calendar .weekend .cal-num{color:var(--muted)}.calendar .today button{box-shadow:inset 2px 0 0 var(--accent);font-weight:600}.future-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:16px;margin-top:20px}.future-grid .card{margin:0}.migration-row{flex-wrap:wrap;padding:8px 0;border-top:1px solid var(--line)}.migration-row:first-child{border-top:0}.migration-row .entry-text{cursor:default;flex:1 1 200px}.migration-actions{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.migration-actions select{width:auto;font-size:13px;padding:5px 6px}.search{margin:16px 0 8px;font-size:15px;padding:8px 10px;background:var(--surface)}.index-line{display:flex;align-items:baseline;gap:8px;width:100%;padding:4px;border-radius:5px;text-align:left}.index-line:hover{background:var(--hover)}.leader{flex:1;border-bottom:1px dotted var(--muted);transform:translateY(-4px)}.index-count{color:var(--muted);font-variant-numeric:tabular-nums}.collection-head{display:flex;align-items:center;gap:10px;margin-bottom:20px}.collection-icon{font-size:1.6rem;color:var(--accent)}.title-input{min-width:0;max-width:100%;font:600 1.6rem var(--font);border:0;background:none}.customize{display:grid;gap:12px;justify-items:start}.swatches{display:flex;flex-wrap:wrap;gap:8px}.swatch{width:26px;height:26px;border-radius:50%}.swatch.on{box-shadow:0 0 0 2px var(--surface),0 0 0 4px var(--ink)}.icon-pick{width:32px;height:32px;border-radius:6px;border:1px solid var(--line);font-size:1.1rem}.icon-pick.on{border-color:var(--accent);color:var(--accent)}.tracker-scroll{overflow-x:auto;margin:14px 0;background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:10px}.tracker table{border-collapse:collapse;font:12px var(--ui)}.tracker thead th{font-weight:400;color:var(--muted);padding:0 0 4px;text-align:center;font-variant-numeric:tabular-nums}.tracker thead th span{display:block;font-size:10px}.tracker thead th.today{color:var(--accent);font-weight:700}.tracker tbody th{text-align:left;font:15px var(--font);white-space:nowrap;padding-right:10px;position:sticky;left:0;background:var(--surface)}.tracker td{padding:2px}.cell{display:block;width:22px;height:22px;border-radius:5px;border:1px solid var(--line)}.cell:hover{border-color:var(--accent)}.cell.on{background:var(--accent);border-color:var(--accent)}.tally{color:var(--muted);padding-left:10px!important;white-space:nowrap;font-variant-numeric:tabular-nums}.section{margin-top:18px}.entry.type-heading{margin-bottom:2px;border-bottom:1px solid var(--line)}.entry.type-heading .entry-text,.entry.type-heading .entry-edit{font:600 .8rem/1.6 var(--ui);letter-spacing:.08em;text-transform:uppercase;color:var(--accent)}.section .entry-input{margin-top:4px;border-style:dashed;background:none}.hl{padding:0 3px;margin:0 -3px;border-radius:3px;box-decoration-break:clone;-webkit-box-decoration-break:clone}.hl-yellow{--hl: 255, 214, 10}.hl-pink{--hl: 255, 110, 160}.hl-green{--hl: 110, 205, 110}.hl-blue{--hl: 90, 170, 255}.hl{background:linear-gradient(transparent 12%,rgba(var(--hl),.42) 12% 92%,transparent 92%)}.hl-row{display:flex;gap:8px;padding:4px 8px 6px}.menu button.hl-dot{width:22px;height:22px;padding:0;border-radius:50%;background:rgba(var(--hl),.75)}.menu button.hl-dot.on{box-shadow:0 0 0 2px var(--surface),0 0 0 4px var(--ink)}.hdr-underline .page-title{border-bottom:3px solid var(--accent);padding-bottom:2px}.hdr-marker .page-title{padding:0 6px;background:linear-gradient(transparent 52%,color-mix(in srgb,var(--accent) 38%,transparent) 52% 94%,transparent 94%)}.hdr-banner .page-title{background:var(--accent);color:#fff;padding:4px 30px 4px 14px;clip-path:polygon(0 0,100% 0,calc(100% - 12px) 50%,100% 100%,0 100%)}.hdr-boxed .page-title{padding:2px 14px;border:2px solid var(--ink);background:var(--surface);box-shadow:4px 4px 0 var(--accent)}.sticker-layer{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.sticker{position:absolute;line-height:1;color:var(--accent);cursor:default;-webkit-user-select:none;user-select:none}.decorating .sticker{pointer-events:auto;cursor:grab;touch-action:none}.decorating .sticker:active{cursor:grabbing}.decorating .sticker.selected{outline:2px dashed var(--accent);outline-offset:4px}.tape{height:26px;opacity:.86;background:var(--tc);clip-path:polygon(0 0,100% 0,calc(100% - 4px) 25%,100% 50%,calc(100% - 4px) 75%,100% 100%,0 100%,4px 75%,0 50%,4px 25%)}.tape-stripes{background:repeating-linear-gradient(45deg,var(--tc) 0 6px,color-mix(in srgb,var(--tc) 45%,white) 6px 12px)}.tape-dots{background:radial-gradient(circle,rgba(255,255,255,.85) 2px,transparent 2.5px) 0 0 / 12px 12px,var(--tc)}.tape-gingham{background:linear-gradient(90deg,rgba(255,255,255,.4) 50%,transparent 50%) 0 0 / 12px 12px,linear-gradient(rgba(255,255,255,.4) 50%,transparent 50%) 0 0 / 12px 12px,var(--tc)}.decor-panel{position:fixed;top:16px;right:16px;z-index:20;width:290px;max-height:calc(100vh - 32px);overflow-y:auto;display:flex;flex-direction:column;gap:8px;padding:14px;background:var(--surface);border:1px solid var(--line);border-radius:12px;box-shadow:0 10px 32px #0003;font:13px/1.4 var(--ui)}@media (min-width: 761px){main:has(.decorating){padding-right:310px}}.decor-head{display:flex;justify-content:space-between;align-items:center;font-size:15px}.decor-panel h3{font:600 .7rem/1 var(--ui);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:8px 0 0}.decor-note{color:var(--muted);margin:0}.chips{display:flex;flex-wrap:wrap;gap:6px}.btn.on{border-color:var(--accent);color:var(--accent);font-weight:600}.theme-dot{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:6px}.sticker-set{display:flex;flex-wrap:wrap;gap:2px}.sticker-pick{width:30px;height:30px;border-radius:6px;font-size:18px;color:var(--accent)}.sticker-pick:hover{background:var(--hover)}.tape-picks{display:grid;grid-template-columns:1fr 1fr;gap:8px}.tape-pick{height:22px}.tape-pick:hover{opacity:1}.selected-controls{display:grid;gap:6px;padding:10px;border:1px dashed var(--accent);border-radius:8px}.selected-controls h3{margin:0}.selected-controls label{display:grid;grid-template-columns:34px 1fr;align-items:center;gap:8px}.selected-controls input[type=range]{width:100%;accent-color:var(--accent)}.template-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:14px;margin-top:20px}.template-card{display:flex;flex-direction:column;align-items:flex-start;gap:4px;text-align:left;padding:16px;background:var(--surface);border:1px solid var(--line);border-top:4px solid var(--accent);border-radius:10px}.template-card:hover{border-color:var(--accent)}.template-icon{font-size:1.5rem;color:var(--accent)}.template-blurb{font:13px/1.4 var(--ui);color:var(--muted)}.template-preview{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px;font:11px/1.4 var(--ui);letter-spacing:.04em;text-transform:uppercase;color:var(--accent)}.mood-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;max-width:420px;margin:14px 0}.mood-dow{text-align:center;font:11px var(--ui);color:var(--muted)}.mood-cell{aspect-ratio:1;border-radius:8px;border:1px solid var(--line);background:var(--surface);font:13px var(--ui);color:var(--muted)}.mood-cell:hover{border-color:var(--accent)}.mood-cell.set{border-color:transparent;color:#1c1a16;font-weight:600}.mood-cell.today{box-shadow:0 0 0 2px var(--surface),0 0 0 4px var(--accent)}.mood-legend{display:flex;flex-wrap:wrap;gap:6px 16px;font:13px var(--ui)}.mood-legend li{display:flex;align-items:center;gap:6px}.mood-key{display:inline-block;width:12px;height:12px;border-radius:3px}.setting{margin-top:8px}.setting:last-child{margin-top:28px}@media (max-width: 760px){.decor-panel{top:auto;left:0;right:0;bottom:0;width:auto;max-height:46vh;border-radius:14px 14px 0 0}.decorating{padding-bottom:50vh}.sidebar-foot{flex-direction:row;align-items:center}.app{grid-template-columns:1fr}.sidebar{position:static;height:auto;flex-direction:row;flex-wrap:wrap;align-items:center;padding:10px 12px;border-right:0;border-bottom:1px solid var(--line)}.brand,.nav-heading{width:100%;padding:4px 6px}.nav-item{width:auto}.sidebar-foot{margin:0 0 0 auto;padding:0}.page{padding:24px 16px 60px}.spread{grid-template-columns:1fr}h1{font-size:1.3rem}}.app-status{display:grid;gap:8px;justify-items:start;font:14px/1.5 var(--ui)}.app-status p{margin:0}.app-status .ok{color:#4f8a4c}.sidebar{padding-top:max(20px,env(safe-area-inset-top));padding-left:max(12px,env(safe-area-inset-left));padding-bottom:max(20px,env(safe-area-inset-bottom))}.page{padding-bottom:max(80px,calc(env(safe-area-inset-bottom) + 60px))}@media (max-width: 760px){.sidebar{padding:max(10px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) 10px max(12px,env(safe-area-inset-left))}.page{padding-left:max(16px,env(safe-area-inset-left));padding-right:max(16px,env(safe-area-inset-right))}.decor-panel{padding-bottom:max(14px,env(safe-area-inset-bottom))}}.add-btn{flex:none;font:600 13px var(--ui);color:#fff;background:var(--accent);border-radius:6px;padding:6px 12px}
