:root{--font-ui: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-serif: "Newsreader", Georgia, "Times New Roman", serif;--radius: 14px;--bg: #0c0c0e;--ink: #f1efe9;--muted: #8a8a86;--faint: #3a3a3e;--accent: #e8b339;--over: #e06a5a;--line: #222226;--raise: #16161a;--c2: #8fae8b;--c3: #8aa0c4;--c1: #d9a441;--dawn: #6f9bd1;--dusk: #9184d8;--on-accent: #1b1a17;--surface: var(--raise);--surface-2: var(--raise);--border: var(--line);--text: var(--ink);--accent-dim: var(--accent);--danger: var(--over);--amber: var(--accent)}body.light{--bg: #faf8f3;--ink: #1b1a17;--muted: #75726b;--faint: #cbc7bc;--accent: #b5701f;--over: #e06a5a;--line: #e7e2d7;--raise: #ffffff;--c2: #5f8a6b;--c3: #5f7da8;--c1: #b5701f;--dawn: #5f7da8;--dusk: #6c5fa8;--on-accent: #1b1a17}*{box-sizing:border-box}html,body,#root{margin:0;height:100%}body{background:var(--bg);color:var(--ink);font-family:var(--font-ui);-webkit-font-smoothing:antialiased;transition:background .4s,color .4s}button{font:inherit;cursor:pointer;border-radius:10px;border:1px solid var(--border);background:var(--surface-2);color:var(--text);padding:.5rem .8rem;transition:background .12s,border-color .12s,opacity .12s}button:hover:not(:disabled){border-color:#3f3f46}button:disabled{opacity:.35;cursor:not-allowed}button.primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent);font-weight:600}button.primary:hover:not(:disabled){background:var(--accent-dim)}button.big{padding:.9rem 1.4rem;font-size:1.05rem}button.ghost{background:transparent}button.danger:hover:not(:disabled){border-color:var(--danger);color:var(--danger)}button.ok:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}button.link{background:none;border:none;color:var(--accent);padding:0;text-decoration:underline}input,textarea,select{font:inherit;background:var(--bg);color:var(--text);border:1px solid var(--border);border-radius:8px;padding:.5rem .6rem}input:focus,textarea:focus,select:focus{outline:none;border-color:var(--accent)}textarea{resize:vertical;min-height:3rem;width:100%}.muted{color:var(--muted)}.small{font-size:.85rem}.center{text-align:center}.error{color:var(--danger)}.app{max-width:1100px;margin:0 auto;min-height:100%;display:flex;flex-direction:column}.bar{display:flex;align-items:center;gap:1rem;padding:1.1rem 1.4rem;font-size:.85rem;position:sticky;top:0;z-index:10;background:color-mix(in srgb,var(--bg) 88%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.brand{display:flex;align-items:center;gap:.45rem;font-weight:600;color:var(--ink)}.logo{color:var(--accent)}.mode-pill{font-size:.6rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);border:1px solid var(--line);border-radius:999px;padding:.1rem .4rem;margin-left:.4rem}.saving{font-size:.7rem;color:var(--muted);margin-left:.4rem}.nav{margin:0 auto;display:flex;gap:1.5rem}.nav-link{color:var(--muted);text-decoration:none;padding-bottom:3px;border-bottom:1.5px solid transparent;transition:color .15s}.nav-link:hover{color:var(--ink)}.nav-link.on{color:var(--ink);border-color:var(--accent)}.tools{display:flex;align-items:center;gap:.5rem}.iconbtn{background:none;border:1px solid var(--line);color:var(--muted);width:34px;height:34px;border-radius:50%;display:grid;place-items:center;cursor:pointer;text-decoration:none;font-size:.95rem;padding:0;transition:color .15s,border-color .15s}.iconbtn:hover{color:var(--ink);border-color:var(--muted)}.content{padding:1.2rem 1rem 4rem;flex:1}.placeholder{max-width:32rem;margin:4rem auto;text-align:center}.placeholder h1{font-family:var(--font-serif);font-weight:500;color:var(--ink)}.splash{min-height:100%;display:grid;place-items:center;padding:1.5rem}.splash-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:2rem;max-width:420px;text-align:center}.splash-card h1{margin-top:0}.splash-card .primary{margin:1rem 0}.fineprint{font-size:.8rem;color:var(--muted);margin-bottom:0}.setup{text-align:left;color:var(--muted);line-height:1.6}code{background:var(--bg);border:1px solid var(--border);border-radius:5px;padding:.05rem .35rem;font-size:.85em}.focus-stage{position:relative;min-height:calc(100dvh - 6rem);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:1rem}.focus-stage .card{max-width:40rem;animation:rise .5s cubic-bezier(.2,.8,.2,1)}.focus-stage h1{font-family:var(--font-serif);font-weight:400;font-size:clamp(2.1rem,6vw,3.8rem);line-height:1.1;cursor:pointer}.focus-stage .kicker{font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;color:var(--accent);display:inline-flex;gap:.5rem;align-items:center;justify-content:center;margin-bottom:1.3rem}.focus-stage .kicker.bonus{color:var(--muted)}.pulse{width:8px;height:8px;border-radius:50%;background:var(--accent);animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.35}}.notezone{margin-top:1rem}.notezone .detail{font-family:var(--font-serif);font-style:italic;color:var(--muted);font-size:1.25rem;cursor:pointer;transition:color .15s}.notezone .detail:hover{color:var(--ink)}.noteline{display:none;margin:.2rem auto 0;background:none;border:none;cursor:pointer;color:var(--faint);font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;font-family:var(--font-ui);align-items:center;gap:.55rem}.noteline:before,.noteline:after{content:"";width:26px;height:1px;background:var(--line)}.noteline:hover{color:var(--muted)}.notezone.collapsed .detail{display:none}.notezone.collapsed .noteline{display:inline-flex}.focus-stage .due{margin-top:1.2rem;font-size:.9rem;color:var(--muted)}.focus-stage .due.soon{color:var(--accent)}.focus-stage .due.over{color:var(--over)}.focus-done{margin-top:2.4rem;font-size:1.05rem;padding:.95rem 2.4rem}.standalone-done{margin-top:1.7rem}.done-for-day{background:none;border:1px solid var(--line);color:var(--muted);font-family:var(--font-ui);font-size:.92rem;padding:.65rem 1.5rem;border-radius:999px;cursor:pointer;transition:color .15s,border-color .15s}.done-for-day:hover{color:var(--ink);border-color:var(--muted)}.bonus-actions{margin-top:2rem;display:flex;gap:1rem;justify-content:center;align-items:center;flex-wrap:wrap}.bonus-actions .focus-done{margin-top:0}.wins{display:inline-flex;align-items:center;gap:.4rem;font-size:.8rem;color:var(--muted);margin-bottom:1.4rem}.wins .dot{color:var(--accent)}.end{max-width:32rem;animation:rise .5s}.end h2{font-family:var(--font-serif);font-weight:400;font-size:2.6rem}.end p{color:var(--muted);margin-top:1rem}.again{margin-top:2rem;background:none;border:1px solid var(--line);color:var(--muted);padding:.6rem 1.3rem;border-radius:999px;cursor:pointer;font-family:var(--font-ui)}.again:hover{color:var(--ink);border-color:var(--muted)}.celebrate{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;background:var(--bg);opacity:0;pointer-events:none;transition:opacity .3s;z-index:4;cursor:pointer}.celebrate.show{opacity:1;pointer-events:auto}.sparkle{font-size:4.6rem;color:var(--accent);text-shadow:0 0 34px color-mix(in srgb,var(--accent) 70%,transparent);animation:twinkle 1s ease-out}@keyframes twinkle{0%{transform:scale(0) rotate(-40deg);opacity:0}45%{transform:scale(1.18) rotate(0);opacity:1}70%{transform:scale(.96)}to{transform:scale(1) rotate(0);opacity:1}}.affirm{font-family:var(--font-serif);font-size:1.8rem;margin-top:1.4rem}.spark{position:absolute;color:var(--accent);opacity:0;left:50%;top:44%}.celebrate.show .spark{animation:fly 1s ease-out forwards}@keyframes fly{0%{opacity:1;transform:translate(0) scale(.3) rotate(0)}to{opacity:0;transform:translate(var(--dx),var(--dy)) scale(1) rotate(160deg)}}.dayrail .hbudget{position:fixed;left:0;right:0;bottom:5.2rem;text-align:center;font-size:clamp(.64rem,3vw,.74rem);color:var(--muted);z-index:5;opacity:0;transform:translateY(5px);pointer-events:none;transition:opacity .3s ease,transform .3s cubic-bezier(.2,.8,.2,1)}.dayrail .hbudget b{font-weight:700}.dayrail .hbudget b.m{color:var(--c3)}.dayrail .hbudget b.f{color:var(--accent)}.dayrail.open .hbudget{opacity:1;transform:none}.dayrail .hstrip{position:fixed;left:0;right:0;bottom:2.3rem;margin:0 auto;width:calc(100% - 2.6rem);max-width:374px;height:34px;z-index:5;pointer-events:none}.dayrail.open .hstrip{pointer-events:auto;cursor:pointer}.dayrail .hln,.dayrail .hdone{position:absolute;left:0;top:50%;height:3px;border-radius:99px;transform-origin:var(--ox, 50%) 50%;transform:translateY(-50%) scaleX(0);transition:transform .4s cubic-bezier(.2,.8,.2,1)}.dayrail .hln{right:0}.dayrail.open .hln,.dayrail.open .hdone{transform:translateY(-50%) scaleX(1)}.dayrail .hbead{position:absolute;top:50%;height:10px;border-radius:4px;z-index:2;opacity:0;transform:translateY(-50%) scaleY(.25);transition:opacity .26s ease,transform .3s cubic-bezier(.2,.8,.2,1),background .35s,box-shadow .35s}.dayrail.open .hbead{opacity:1;transform:translateY(-50%) scaleY(1)}.dayrail .hnow{position:absolute;top:50%;width:7px;height:7px;border-radius:50%;background:var(--accent);transform:translate(-50%,-50%);box-shadow:0 0 10px -2px var(--accent);z-index:4;transition:left .4s cubic-bezier(.2,.8,.2,1),width .25s,height .25s}.dayrail.open .hnow{width:8px;height:8px}.dayrail .hlab{position:absolute;bottom:calc(50% + 11px);transform:translate(-50%);font-size:.56rem;font-weight:700;color:var(--accent);white-space:nowrap;font-variant-numeric:tabular-nums;z-index:4;opacity:0;transition:opacity .26s ease,left .4s cubic-bezier(.2,.8,.2,1)}.dayrail.open .hlab{opacity:1}.dayrail .htap{position:absolute;top:50%;width:44px;height:44px;border:0;padding:0;background:none;border-radius:50%;transform:translate(-50%,-50%);pointer-events:auto;cursor:pointer;z-index:6;transition:left .4s cubic-bezier(.2,.8,.2,1)}.dayrail .htap:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.focus-stage{padding-bottom:5.4rem}.focus-stage.dayopen{padding-bottom:9rem}@media (max-width: 640px){.focus-stage{min-height:calc(100dvh - 5rem)}.focus-stage h1{font-size:clamp(1.7rem,8vw,2.4rem)}.notezone .detail{font-size:1.05rem}.dayrail .hstrip{max-width:none}}.badge{display:inline-block;font-size:.7rem;font-weight:600;padding:.15rem .5rem;border-radius:999px;border:1px solid var(--border);color:var(--muted)}.badge.overdue{background:#ef444426;color:#fca5a5;border-color:transparent}.badge.today{background:#f59e0b2e;color:#fcd34d;border-color:transparent}.badge.soon{background:#f59e0b1f;color:#fcd34d;border-color:transparent}.badge.upcoming{background:var(--surface-2)}.badge.delegate{background:#3b82f626;color:#93c5fd;border-color:transparent}.ladder{max-width:720px;margin:0 auto;display:flex;flex-direction:column;gap:1.2rem}.add-toggle{align-self:flex-start}.add-form{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1rem;display:flex;flex-direction:column;gap:.6rem}.add-form input[type=text],.add-form>input{font-size:1.05rem}.row{display:flex;gap:.8rem;flex-wrap:wrap}.row.end{justify-content:flex-end}.row label{display:flex;flex-direction:column;font-size:.75rem;color:var(--muted);gap:.2rem}.bucket-head{display:flex;align-items:baseline;gap:.6rem;border-bottom:1px solid var(--border);padding-bottom:.4rem;margin-bottom:.6rem}.bucket-head h2{margin:0;font-size:1.1rem}.bucket-now .bucket-head h2{color:var(--accent)}.count{font-size:.8rem;color:var(--muted);font-variant-numeric:tabular-nums}.hint{font-size:.75rem;color:var(--muted);margin-left:auto}.task{display:flex;gap:.8rem;background:var(--surface);border:1px solid var(--border);border-left:3px solid var(--border);border-radius:10px;padding:.7rem .8rem;margin-bottom:.5rem}.task.u-overdue{border-left-color:var(--danger)}.task.u-today,.task.u-soon{border-left-color:var(--amber)}.task-main{flex:1;min-width:0}.task-top{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.task-title{font-weight:600;cursor:text}.title-edit{font-weight:600;width:100%}.task-detail{color:var(--muted);font-size:.88rem;margin:.3rem 0;white-space:pre-wrap}.suggest{font-size:.8rem;color:#93c5fd;margin:.3rem 0}.dates{display:flex;gap:.8rem;margin-top:.4rem}.dates label{display:flex;align-items:center;gap:.3rem;font-size:.7rem;color:var(--muted)}.dates input{padding:.2rem .3rem;font-size:.78rem}.task-actions{display:grid;grid-template-columns:repeat(3,auto);gap:.25rem;align-content:start}.task-actions button{padding:.3rem .5rem;font-size:.85rem;line-height:1}.week{max-width:1000px;margin:0 auto}.week-nav{display:flex;align-items:center;gap:.5rem;margin-bottom:1rem}.week-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:.5rem}.day{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:.5rem;min-height:7rem}.day.is-today{border-color:var(--accent)}.day-head{font-size:.75rem;font-weight:600;color:var(--muted);margin-bottom:.5rem}.event{background:var(--surface-2);border-left:3px solid var(--border);border-radius:5px;padding:.3rem .4rem;margin-bottom:.35rem;font-size:.78rem;display:flex;flex-direction:column}.ev-time{color:var(--muted);font-size:.68rem}.ev-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (max-width: 720px){.tabs{margin:0}.topbar{flex-wrap:wrap}.week-grid{grid-template-columns:1fr}.day{min-height:auto}.now-card h1{font-size:1.6rem}}.wrap{max-width:42rem;margin:1vh auto 0;padding:0 1.6rem 5rem}.board{display:flex;flex-direction:column}.sec-head{display:flex;align-items:baseline;gap:.6rem;margin:1.7rem 0 .3rem;cursor:pointer;-webkit-user-select:none;user-select:none}.sec-head h2{font-family:var(--font-serif);font-weight:500;font-size:1.2rem;margin:0;transition:color .2s}.sec-head:hover h2,.sec-now h2{color:var(--accent)}.sec-archive h2{color:var(--faint)}.sec-archive .hint{opacity:.5}.count{font-size:.78rem;color:var(--muted);font-variant-numeric:tabular-nums}.count.over{color:var(--over)}.overnote{font-size:.72rem;color:var(--over)}.hint{margin-left:auto;font-size:.74rem;color:var(--muted)}.seccheck{display:none}.sec-head.is-done h2{color:var(--faint)}.sec-head.is-done:hover h2{color:var(--accent)}.sec-head.is-done .hint{opacity:.4}.sec-head.is-done .count,.sec-head.is-done .overnote{display:none}.sec-head.is-done .seccheck{display:inline;color:var(--accent);font-weight:600;font-size:.95rem}.zone{display:flex;flex-direction:column;min-height:16px;border-radius:8px}.zone-empty{color:var(--faint);padding:.7rem .4rem;font-size:.9rem}.row{display:flex;align-items:center;flex-wrap:nowrap;gap:.7rem;padding:.8rem .5rem;border-bottom:1px solid var(--line);cursor:pointer;background:var(--bg)}.row:hover{background:var(--raise)}.handle{flex:none;color:var(--faint);opacity:0;font-size:1rem;letter-spacing:-2px;cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;transition:opacity .15s}.row:hover .handle{opacity:1}.row.dragging{opacity:.35}@media (hover: none){.handle{opacity:.5}}.drop-line{height:2px;margin:-1px 0;border-radius:2px;background:var(--accent);box-shadow:0 0 8px -1px var(--accent)}.udot{position:relative;width:13px;height:13px;border-radius:50%;border:1.5px solid var(--faint);flex:none;cursor:pointer;display:grid;place-items:center;transition:border-color .15s,background .15s}.udot:before{content:"";position:absolute;top:-15px;right:-14px;bottom:-15px;left:-14px;border-radius:12px}.udot.soon{border-color:var(--accent)}.udot.over{border-color:var(--over)}.udot:hover{border-color:var(--ink);background:color-mix(in srgb,var(--accent) 22%,transparent)}.udot:after{content:"✓";font-size:.56rem;line-height:1;color:var(--on-accent);opacity:0}.row.done{opacity:.6}.row.done .udot{background:var(--c2);border-color:var(--c2)}.row.done .udot:after{opacity:1}.row.done .t{text-decoration:line-through;color:var(--muted)}.row .t{flex:1;min-width:0;font-size:1.02rem}.dpill{display:inline-flex;align-items:center;gap:.3rem;flex:none;font-size:.66rem;letter-spacing:.04em;padding:.14rem .5rem;border-radius:999px;color:var(--c2);background:color-mix(in srgb,var(--c2) 14%,transparent)}.dpill svg{display:block}.due{flex:none;font-size:.76rem;color:var(--muted)}.due.soon{color:var(--accent)}.due.over{color:var(--over)}.chev{flex:none;opacity:0;color:var(--muted);padding:0 .2rem;font-size:1.1rem}.row:hover .chev{opacity:1}.row.arch{opacity:.5}.row.arch:hover{opacity:.8}.row.arch .t{color:var(--muted)}.adot{width:7px;height:7px;border-radius:50%;background:var(--faint);flex:none}.donedate{flex:none;font-size:.74rem;color:var(--faint);font-variant-numeric:tabular-nums;white-space:nowrap}.searchzone{position:fixed;left:0;right:0;bottom:0;max-width:42rem;margin:0 auto;padding:0 1.6rem;z-index:25;pointer-events:none}.fab{position:absolute;right:1.6rem;bottom:1.6rem;width:52px;height:52px;padding:0;border-radius:50%;background:var(--raise);border:1px solid var(--line);color:var(--muted);display:grid;place-items:center;cursor:pointer;pointer-events:auto;box-shadow:0 14px 30px -12px #0000008c;transition:opacity .2s,transform .2s,color .15s,border-color .15s}.fab:hover{color:var(--ink);border-color:var(--muted)}.fab.hide{opacity:0;pointer-events:none;transform:scale(.8)}.dock{pointer-events:auto;padding:2.1rem 0 1.2rem;background:linear-gradient(to top,var(--bg) 60%,transparent);transform:translateY(112%);transition:transform .26s cubic-bezier(.2,.8,.2,1)}.dock.open{transform:translateY(0)}.searchline{display:flex;align-items:center;gap:.65rem;border-bottom:1px solid var(--line);padding:.5rem .15rem;transition:border-color .2s}.searchline:focus-within{border-color:var(--accent)}.searchline .sic{flex:none;color:var(--muted);display:grid;place-items:center}.searchline input{flex:1;background:none;border:none;padding:0;color:var(--ink);font-family:var(--font-ui);font-size:1.05rem}.searchline input::placeholder{color:var(--faint)}.searchline input:focus{outline:none}.sclear{flex:none;background:none;border:none;color:var(--muted);cursor:pointer;font-size:.95rem;padding:0 .2rem}.sclear:hover{color:var(--ink)}.capture{max-width:40rem;margin:5vh auto 0;padding:0 1.6rem 4rem;animation:rise .4s cubic-bezier(.2,.8,.2,1)}@keyframes rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}.capture.leaving{animation:leave .45s forwards}@keyframes leave{to{opacity:0;transform:translateY(-20px) scale(.98)}}.kicker{font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;color:var(--accent);margin-bottom:1.4rem}.crumb{display:inline-block;color:var(--muted);text-decoration:none;font-size:.82rem;margin-bottom:.2rem}.crumb:hover{color:var(--ink)}.urgency{margin:1.2rem 0 .6rem;font-size:.82rem;color:var(--muted)}.urgency.soon{color:var(--accent)}.urgency.over{color:var(--over)}.urgency .dpill{margin-left:.5rem;vertical-align:1px}.title-in{font-family:var(--font-serif);font-size:clamp(1.8rem,4.5vw,2.6rem);line-height:1.15;width:100%;background:none;border:none;color:var(--ink);border-bottom:1px solid var(--line);padding:.3rem 0 .7rem}.title-in::placeholder{color:var(--faint)}.title-in:focus{outline:none;border-color:var(--accent)}.note-in{display:block;font-family:var(--font-serif);font-style:italic;font-size:1.15rem;width:100%;background:none;border:none;color:var(--ink);margin-top:1rem;resize:none;line-height:1.5}.note-in::placeholder{color:var(--faint)}.note-in:focus{outline:none}.meta{margin-top:2.2rem;display:flex;flex-direction:column;gap:1.6rem}.metarow{display:flex;align-items:flex-start;gap:1rem}.metalabel{width:5.5rem;flex:none;font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);padding-top:.55rem}.field{position:relative;flex:1;max-width:26rem}.inrow{display:flex;align-items:center;gap:.5rem;border-bottom:1px solid var(--line)}.inrow:focus-within{border-color:var(--accent)}.nlp-in{flex:1;min-width:0;background:none;border:none;color:var(--ink);font-family:var(--font-ui);font-size:1.05rem;padding:.4rem 0}.nlp-in::placeholder{color:var(--faint)}.nlp-in:focus{outline:none}.calbtn{background:none;border:1px solid var(--line);color:var(--muted);width:32px;height:32px;border-radius:8px;cursor:pointer;display:grid;place-items:center;flex:none}.calbtn:hover{color:var(--ink);border-color:var(--muted)}.calbtn.on{color:var(--accent);border-color:var(--accent)}.resolved{margin-top:.5rem;font-size:.85rem;min-height:1.2rem}.resolved .ok{color:var(--accent)}.resolved .ok b{font-weight:600}.resolved .miss{color:var(--muted)}.cal{position:absolute;z-index:20;margin-top:.5rem;right:0;background:var(--raise);border:1px solid var(--line);border-radius:14px;padding:.9rem;width:256px;box-shadow:0 25px 55px -28px #000c}.cal-h{display:flex;align-items:center;justify-content:space-between;margin-bottom:.6rem}.cal-h .m{font-family:var(--font-serif);font-size:1rem}.cal-h button{background:none;border:none;color:var(--muted);cursor:pointer;font-size:1.1rem;padding:0 .4rem}.cal-h button:hover{color:var(--ink)}.cal .dow,.cal .days{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.cal .dow span{text-align:center;font-size:.62rem;color:var(--muted);padding:.2rem 0}.cal .day{aspect-ratio:1;min-height:auto;border:none;background:none;color:var(--ink);border-radius:8px;cursor:pointer;font-size:.82rem;font-family:var(--font-ui);padding:0}.cal .day:hover{background:var(--line)}.cal .day.muted{color:var(--faint);cursor:default}.cal .day.today{box-shadow:inset 0 0 0 1px var(--muted)}.cal .day.sel{background:var(--accent);color:var(--on-accent);font-weight:600}.toggle{display:inline-flex;align-items:center;gap:.5rem;cursor:pointer;color:var(--muted);font-size:.9rem;-webkit-user-select:none;user-select:none;padding-top:.35rem}.toggle:focus-visible{outline:2px solid var(--accent);outline-offset:4px;border-radius:4px}.switch{width:38px;height:22px;border-radius:999px;background:var(--line);position:relative;transition:background .2s;flex:none}.switch:after{content:"";position:absolute;top:2px;left:2px;width:18px;height:18px;border-radius:50%;background:var(--muted);transition:transform .2s,background .2s}.toggle.on .switch{background:var(--accent)}.toggle.on .switch:after{transform:translate(16px);background:var(--on-accent)}.toggle.on{color:var(--ink)}.seg{display:inline-flex;border:1px solid var(--line);border-radius:999px;overflow:hidden;margin-top:.15rem;flex-wrap:wrap}.seg button{background:none;border:none;color:var(--muted);padding:.4rem .9rem;cursor:pointer;font-family:var(--font-ui);font-size:.86rem}.seg button:hover{color:var(--ink)}.seg button.on{background:var(--accent);color:var(--on-accent);font-weight:600}.seg button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.actions{margin-top:2.6rem;display:flex;align-items:center;gap:1rem}.add-btn,.done-btn{background:var(--accent);color:var(--on-accent);border:none;font-weight:600;font-family:var(--font-ui);padding:.8rem 1.8rem;border-radius:999px;cursor:pointer;transition:transform .15s,filter .15s}.add-btn:hover:not(:disabled),.done-btn:hover{transform:translateY(-2px);filter:brightness(1.05)}.add-btn:disabled{opacity:.5;cursor:default}.del{margin-left:auto;background:none;border:none;color:var(--muted);cursor:pointer;font-family:var(--font-ui);font-size:.85rem}.del:hover{color:var(--over)}.examples{margin-top:2.4rem;font-size:.78rem;color:var(--muted);border-top:1px solid var(--line);padding-top:1rem;line-height:1.9}.examples code{border:1px solid var(--line);border-radius:6px;padding:.05rem .4rem;color:var(--ink);font-family:var(--font-ui);cursor:pointer}.examples code:hover{border-color:var(--accent)}.examples code:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.toast{position:fixed;left:50%;bottom:2.2rem;transform:translate(-50%) translateY(20px);background:var(--raise);border:1px solid var(--line);color:var(--ink);padding:.6rem 1.1rem;border-radius:12px;opacity:0;transition:all .3s;font-size:.88rem;z-index:40;pointer-events:none}.toast.show{opacity:1;transform:translate(-50%) translateY(0)}.toast b{color:var(--accent)}.weekview{max-width:37rem;margin:1.5vh auto 0;padding:0 .3rem 4rem}.weekview .stripcard{background:var(--raise);border:1px solid var(--line);border-radius:20px;padding:1.1rem 1.2rem}.weekview .strip-h{display:flex;align-items:center;justify-content:center;gap:1rem;margin-bottom:1rem}.weekview .strip-h b{font-family:var(--font-serif);font-size:1.15rem;font-weight:500}.weekview .strip-h button{background:none;border:none;color:var(--muted);cursor:pointer;font-size:1.1rem;padding:0 .3rem}.weekview .strip-h button:hover{color:var(--ink)}.weekview .strip{display:grid;grid-template-columns:repeat(7,1fr);text-align:center}.weekview .dow{font-size:.68rem;letter-spacing:.08em;color:var(--muted);padding-bottom:.5rem}.weekview .cell{padding:.2rem 0 1.35rem;cursor:pointer;position:relative}.weekview .num{display:inline-grid;place-items:center;width:2.1rem;height:2.1rem;border-radius:12px;font-size:.95rem}.weekview .cell:hover .num{background:var(--line)}.weekview .cell.sel .num{background:color-mix(in srgb,var(--accent) 20%,transparent);color:var(--accent);font-weight:600}.weekview .cell.today .num{box-shadow:inset 0 0 0 1.5px var(--accent)}.weekview .dot{position:absolute;bottom:.5rem;left:50%;transform:translate(-50%);width:5px;height:5px;border-radius:50%;background:var(--accent)}.weekview .daylabel{font-family:var(--font-serif);text-align:center;color:var(--muted);font-size:1.05rem;margin:1.5rem 0 .2rem}.weekview .agenda{position:relative}.weekview .part{display:flex;flex-direction:column}.weekview .part-h{display:flex;align-items:center;gap:.5rem;padding:.2rem .2rem .55rem;font-size:.67rem;letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}.weekview .part-h .g{font-size:.9rem}.weekview .part.morning .g{color:var(--dawn)}.weekview .part.afternoon .g{color:var(--accent)}.weekview .part.evening .g{color:var(--dusk)}.weekview .part.due .g{color:var(--accent)}.weekview .pcards{flex:1}.weekview .ev{position:relative;display:grid;grid-template-columns:4rem 1fr 3.4rem;gap:1.1rem;padding:1.05rem .2rem;align-items:start;border-radius:10px;transition:background .15s}.weekview .ev.tappable{cursor:pointer}.weekview .ev:hover{background:var(--raise)}.weekview .when{text-align:right}.weekview .when .t{font-size:.92rem;font-weight:600}.weekview .when .d{display:block;font-size:.72rem;color:var(--muted);margin-top:.15rem}.weekview .body{display:flex;gap:.85rem}.weekview .tick{width:3px;border-radius:2px;align-self:stretch}.weekview .content .cat{font-size:.62rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;margin-bottom:.25rem}.weekview .content .ttl{font-size:1.05rem;font-weight:500;line-height:1.3}.weekview .content .foot{display:flex;align-items:center;gap:.4rem;margin-top:.45rem;color:var(--muted);font-size:.76rem}.weekview .content .foot .d{width:7px;height:7px;border-radius:50%}.weekview .ev.past{opacity:.42}.weekview .ev.now-live .body{position:relative}.weekview .ev.now-live .body:before{content:"";position:absolute;top:-.7rem;right:-.8rem;bottom:-.7rem;left:-.8rem;border-radius:13px;border:1.6px solid var(--accent);-webkit-mask:linear-gradient(to left,#000 16%,rgba(0,0,0,.34) 56%,transparent 92%);mask:linear-gradient(to left,#000 16%,rgba(0,0,0,.34) 56%,transparent 92%);pointer-events:none}.weekview .ev.now-live .body:after{content:"";position:absolute;top:-.7rem;right:-.8rem;bottom:-.7rem;left:-.8rem;border-radius:13px;box-shadow:inset -22px 0 26px -22px var(--accent);pointer-events:none}.weekview .now-edge{position:absolute;right:0;top:50%;transform:translateY(-50%);width:calc(4.5rem + 2px);display:flex;align-items:center;z-index:3;pointer-events:none}.weekview .now-edge .wire{position:relative;flex:1;height:2px;background:var(--accent);border-radius:2px}.weekview .now-edge .nub{margin-left:5px;background:var(--accent);color:var(--on-accent);font-weight:700;font-size:.68rem;line-height:1;padding:.22rem .42rem;border-radius:7px;white-space:nowrap;box-shadow:0 0 16px -3px var(--accent)}.weekview .nowrow{display:flex;align-items:center;gap:.5rem;padding:.8rem .2rem}.weekview .nowrow .ln{flex:1;height:2px;background:linear-gradient(to right,transparent 25%,var(--accent));opacity:.85;border-radius:2px}.weekview .nowrow .nub{background:var(--accent);color:var(--on-accent);font-weight:700;font-size:.68rem;padding:.22rem .42rem;border-radius:7px;box-shadow:0 0 16px -3px var(--accent)}.weekview .wk-empty{text-align:center;color:var(--faint);padding:3rem 1rem;font-style:italic}.resync{display:block;margin:0 auto .6rem;background:color-mix(in srgb,var(--accent) 16%,var(--bg));border:1px solid color-mix(in srgb,var(--accent) 45%,transparent);color:var(--accent);border-radius:999px;padding:.4rem 1rem;font-size:.78rem;cursor:pointer}.resync:hover{background:color-mix(in srgb,var(--accent) 26%,var(--bg))}
