@font-face{font-family:moderat;src:url(../media/Moderat_Regular-s.p.216c8f84.woff2)format("woff2");font-display:swap;font-weight:400}@font-face{font-family:moderat Fallback;src:local(Arial);ascent-override:97.31%;descent-override:19.46%;line-gap-override:0.0%;size-adjust:102.76%}.moderat_1c558e35-module__yZN0CW__className{font-family:moderat,moderat Fallback;font-weight:400}.moderat_1c558e35-module__yZN0CW__variable{--font-moderat:"moderat","moderat Fallback"}
@font-face{font-family:moderatMono;src:url(../media/Moderat_Mono_Book-s.p.19cfa576.woff2)format("woff2");font-display:swap;font-weight:400}@font-face{font-family:moderatMono Fallback;src:local(Arial);ascent-override:60.84%;descent-override:15.21%;line-gap-override:15.21%;size-adjust:131.49%}.moderatmono_d972c3c8-module__9VRlLW__className{font-family:moderatMono,moderatMono Fallback;font-weight:400}.moderatmono_d972c3c8-module__9VRlLW__variable{--font-moderat-mono:"moderatMono","moderatMono Fallback"}
:root{--frame:#121212;--panel:#fffdd6;--well:#efe0b6;--accent:#c79f87;--accent-ink:#fffdf0;--ink:#141210;--muted:#8a7a5e;--rule:#e2cf9f;--track:rgba(199,159,135,.3);--over:#b5643f;--hover:#e8d5a6;--font-display:var(--font-moderat),"Helvetica Neue",Arial,sans-serif;--font-mono:var(--font-moderat-mono),ui-monospace,"SF Mono",Menlo,monospace;--fs-sm:12px;--fs-base:14px;--fs-md:16px;--fs-lg:20px;--fs-xl:clamp(24px,3vw,30px);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html,body{height:100%;margin:0}body{background:var(--frame);color:var(--ink);font-family:var(--font-mono);font-size:var(--fs-base);padding:env(safe-area-inset-top,0)0 env(safe-area-inset-bottom,0)}button{font:inherit;color:inherit;cursor:pointer}[hidden]{display:none!important}:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.app{flex-direction:column;height:100%;padding-top:0;padding-bottom:16px;padding-left:16px;padding-right:16px;display:flex}.topbar{grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;padding-top:16px;padding-bottom:16px;display:grid}.topbar .brand{justify-self:start}.brand{font-family:var(--font-display);font-size:var(--fs-lg);color:var(--panel);align-items:center;gap:8px;font-weight:500;display:inline-flex}.brand .mark{flex:none}.panel{background:var(--panel);border-radius:10px;flex-direction:column;flex:1;min-height:0;transition:transform .3s cubic-bezier(.2,.8,.2,1),filter .3s;display:flex;position:relative;overflow:hidden}.head{justify-items:center;gap:16px;padding:24px 20px 20px;display:grid}.head.with-toggle{grid-template-columns:1fr auto 1fr;align-items:baseline}.head h1{font-family:var(--font-display);font-weight:500;font-size:var(--fs-xl);text-align:center;text-wrap:balance;margin:0}.head.with-toggle h1{grid-column:2}.seg{border:1.5px solid var(--panel);border-radius:99px;display:inline-flex;overflow:hidden}.seg button{min-width:104px;font-size:var(--fs-base);color:var(--panel);background:0 0;border:0;padding:8px 16px}.seg button+button{border-left:1.5px solid var(--panel)}.seg button:hover{background:rgba(255,253,214,.1)}.seg button[aria-pressed=true]{background:var(--panel);color:var(--frame);font-weight:500}.seg button:focus-visible{outline-color:var(--panel)}.meter{min-width:0;font-size:var(--fs-sm);color:var(--muted);font-variant-numeric:tabular-nums;flex:1;align-items:center;gap:12px;display:flex}.meter>div:first-child{white-space:nowrap}.meter .bar{flex:1;min-width:40px}.meter b{color:var(--ink);font-weight:500}.meter.over b{color:var(--over)}.bar{background:var(--track);border-radius:99px;height:8px;overflow:hidden}.bar i{background:var(--accent);border-radius:99px;height:100%;transition:width .25s;display:block}.meter.over .bar i{background:var(--over)}.well{background:var(--well);border-radius:8px;flex-direction:column;flex:1;min-height:0;margin:0 20px 20px;transition:transform .3s,filter .3s;display:flex;overflow:hidden}.scroll{flex:1;min-height:0;overflow-y:auto}.col{flex-direction:column;gap:4px;max-width:680px;margin:0 auto;padding:28px 32px;display:flex}.well-foot{border-top:1px solid var(--rule)}.foot-inner{align-items:center;gap:16px;padding:16px 20px;display:flex}.foot-inner .btn{margin-left:auto}.section-label{z-index:1;background:var(--well);box-shadow:-8px 0 0 var(--well),8px 0 0 var(--well);font-family:var(--font-display);font-size:var(--fs-md);justify-content:space-between;align-items:baseline;padding:16px 0 8px;font-weight:600;display:flex;position:-webkit-sticky;position:sticky;top:0}.section-label:after,.group-label:after{content:"";background:linear-gradient(var(--well),transparent);pointer-events:none;height:8px;position:absolute;top:100%;left:-8px;right:-8px}.section-label small{font-family:var(--font-mono);font-weight:400;font-size:var(--fs-sm);color:var(--muted)}.row{border-bottom:1px solid var(--rule);background:var(--well);align-items:flex-start;gap:12px;padding:12px 0;transition:opacity .2s,background-color .15s,box-shadow .15s;display:flex;position:relative}.row:last-child{border-bottom:0}.row.over{opacity:.42}.row.done .t{color:var(--muted);text-decoration:line-through}@media (hover:hover) and (pointer:fine){.row:hover{background:var(--hover);box-shadow:-8px 0 0 var(--hover),8px 0 0 var(--hover)}.check:hover{background:var(--track);border-color:var(--over)}.row.done .check:hover{background:var(--over)}.handle,.more{transition:opacity .15s}.handle{opacity:.35}.more{opacity:0}.row:hover .handle,.row:focus-within .handle,.row.dragging .handle,.row:hover .more,.row:focus-within .more,.more[aria-expanded=true]{opacity:1}}.row.dragging{background:var(--panel);z-index:2;border-bottom-color:transparent;position:relative;box-shadow:0 6px 18px rgba(80,60,30,.18)}.check{border:1.5px solid var(--accent);background:0 0;border-radius:5px;flex:none;place-items:center;width:22px;height:22px;padding:0;display:grid}.row.done .check{background:var(--accent)}.row.done .check:after{content:"";border-left:2px solid var(--accent-ink);border-bottom:2px solid var(--accent-ink);width:10px;height:5px;transform:translateY(-1px)rotate(-45deg)}.body{text-align:left;cursor:pointer;background:0 0;border:0;flex:1;gap:4px;min-width:0;padding:0;display:grid}.title{text-align:left;font:inherit;color:inherit;overflow-wrap:anywhere;background:0 0;border:0;padding:0}.tag{vertical-align:1px;background:var(--track);color:var(--ink);font:inherit;font-size:var(--fs-sm);border:0;border-radius:4px;margin-right:8px;padding:1px 8px;line-height:1.5;display:inline-block}button.tag:hover,button.tag[aria-expanded=true]{background:var(--accent);color:var(--accent-ink)}.meta .tag{text-underline-offset:3px;background:0 0;border-radius:5px;margin:-2px -8px;padding:2px 8px;font-weight:500;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.meta button.tag:hover,.meta button.tag[aria-expanded=true]{background:var(--track);color:var(--ink)}.more{width:32px;height:32px;color:var(--muted);background:0 0;border:0;border-radius:6px;flex:none;place-items:center;margin:-5px 0;display:grid}.more:before{content:"";background:radial-gradient(circle,currentColor 1.6px,transparent 1.9px) 0 0/6px 4px;width:16px;height:4px}.more:hover,.more[aria-expanded=true]{background:var(--track);color:var(--ink)}.menu{z-index:20;background:var(--panel);border:1px solid var(--rule);border-radius:8px;min-width:160px;padding:4px;display:grid;position:fixed;box-shadow:0 8px 24px rgba(60,45,20,.16)}.menu button{text-align:left;font-size:var(--fs-base);background:0 0;border:0;border-radius:5px;padding:8px 12px}.menu button:hover{background:var(--well)}.menu button:focus-visible{background:var(--well)}.menu .danger{color:var(--over)}.menu .on{font-weight:500}.menu .on:after{content:" ✓";color:var(--accent)}.menu button.active{background:var(--well)}.tag-menu{width:240px}.tag-options{overscroll-behavior:contain;display:grid;overflow-y:auto}.menu button.sep{border-top:1px solid var(--rule);border-radius:0 0 5px 5px;margin-top:4px}.confirm{gap:4px;padding:8px 12px;display:grid}.confirm p{font-size:var(--fs-base);overflow-wrap:anywhere;margin:0}.confirm small{font-size:var(--fs-sm);color:var(--muted)}.confirm-actions{justify-content:flex-end;gap:8px;margin-top:8px;display:flex}.menu .confirm-actions .btn{font-size:var(--fs-sm);text-align:center;border-radius:99px;padding:8px 16px}.menu .confirm-actions .btn:not(.ghost){background:var(--accent);color:var(--accent-ink)}.menu .confirm-actions .btn.ghost{border:1.5px solid var(--accent)}.hint-row{font-size:var(--fs-sm);color:var(--muted);padding:8px 12px}.tag-find{border:0;border-bottom:1px solid var(--rule);font:inherit;font-size:var(--fs-base);color:var(--ink);background:0 0;outline:none;margin-bottom:4px;padding:8px 12px}.tag-find::placeholder{color:var(--muted)}.tag-input{align-items:center;gap:0;display:flex;position:relative}.tag-input:focus-within{outline:2px solid var(--ink);outline-offset:2px}.tag-input input{min-width:0;font:inherit;color:inherit;background:0 0;border:0;outline:none;flex:1;padding:0}.tag-input input::placeholder{color:var(--muted)}.tag-suggest{width:240px;position:absolute;top:calc(100% + 4px);left:0}.tag-suggest.up{top:auto;bottom:calc(100% + 4px)}.menu .label{font-size:var(--fs-sm);color:var(--muted);border-bottom:1px solid var(--rule);margin-bottom:4px;padding:8px 12px}.menu-scrim{z-index:19;background:rgba(20,18,16,.12);animation:.2s fade-in;position:fixed;top:0;bottom:0;left:0;right:0}.menu.menu-sheet{width:auto;max-height:70vh;padding:8px 8px calc(8px + env(safe-area-inset-bottom));border:0;border-radius:14px 14px 0 0;flex-direction:column;animation:.3s cubic-bezier(.2,.8,.2,1) sheet-up;display:flex;bottom:0;left:0;right:0;box-shadow:0 -10px 30px rgba(60,45,20,.14)}.menu-sheet .tag-options{flex:1;min-height:0}.menu-sheet>button,.menu-sheet .tag-options button,.menu-sheet .tag-find{padding:12px 16px;font-size:16px}.menu-sheet .tag-find{flex:none}.menu-sheet .hint-row,.menu-sheet .label{padding-left:16px;padding-right:16px}.menu-sheet.closing{animation:.25s cubic-bezier(.4,0,1,1) forwards sheet-down}.menu-scrim.closing{pointer-events:none;animation:.25s forwards fade-out}.panel.behind{filter:saturate(.85);transform:scale(.97)}.app:has(.menu-sheet:not(.closing)) .panel{filter:saturate(.85);transform:scale(.97)}@keyframes sheet-up{0%{transform:translateY(100%)}}@keyframes sheet-down{to{transform:translateY(100%)}}@keyframes fade-in{0%{opacity:0}}@keyframes fade-out{to{opacity:0}}.t{overflow-wrap:anywhere;line-height:22px}.meta{font-size:var(--fs-sm);color:var(--muted);font-variant-numeric:tabular-nums;flex-wrap:wrap;align-items:center;gap:8px;display:flex}.handle{touch-action:none;cursor:grab;width:20px;height:32px;color:var(--accent);background:0 0;border:0;place-items:center;display:grid;position:absolute;top:5px;left:-24px}.handle:before{content:"";background:radial-gradient(circle,currentColor 1.4px,transparent 1.6px) 0 0/5px 5px;width:10px;height:14px}.handle.off{visibility:hidden}.cutline{color:var(--over);font-size:var(--fs-sm);align-items:center;gap:8px;margin:8px 0;display:flex}.cutline:before,.cutline:after{content:"";border-top:1.5px dashed var(--over);flex:1}.empty{text-align:center;justify-items:center;gap:16px;padding:48px 12px;display:grid}.empty h2{font-family:var(--font-display);font-weight:500;font-size:var(--fs-xl);margin:0}.empty p{color:var(--muted);max-width:40ch;margin:0;line-height:1.6}.dayend{text-align:center;gap:8px;padding:28px 12px;animation:.5s both rise;display:grid}.dayend h2{font-family:var(--font-display);font-weight:500;font-size:var(--fs-xl);margin:0}.dayend p{color:var(--muted);margin:0}@keyframes rise{0%{transform:translateY(6px)}to{transform:none}}.cap{color:var(--ink);font:inherit;text-underline-offset:3px;background:0 0;border:0;border-radius:5px;margin:-2px 0;padding:2px 8px;font-weight:500;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.cap:hover,.cap[aria-expanded=true]{background:var(--track)}.hint{color:var(--muted);font-size:var(--fs-sm);text-align:center;margin-top:16px}.btn{background:var(--accent);color:var(--accent-ink);font-size:var(--fs-base);border:0;border-radius:99px;padding:12px 20px;font-weight:500}.btn:hover{filter:brightness(.95)}.btn:disabled{opacity:.45;cursor:default;filter:none}.btn.ghost{border:1.5px solid var(--accent);color:var(--accent);background:0 0}.scrim{opacity:0;pointer-events:none;z-index:4;background:rgba(20,18,16,.12);transition:opacity .25s;position:fixed;top:0;bottom:0;left:0;right:0}.scrim.open{opacity:1;pointer-events:auto}.sheet{z-index:5;background:var(--panel);border-radius:14px 14px 0 0;transition:transform .3s cubic-bezier(.2,.8,.2,1);position:fixed;bottom:0;left:0;right:0;transform:translateY(105%);box-shadow:0 -10px 30px rgba(60,45,20,.14)}.sheet.open{transform:none}.sheet-inner{max-width:680px;padding:24px 24px calc(24px + env(safe-area-inset-bottom));gap:16px;margin:0 auto;display:grid}.sheet h3{font-family:var(--font-display);font-weight:500;font-size:var(--fs-lg);margin:0}.input{background:var(--well);width:100%;font:inherit;color:var(--ink);border:0;border-radius:8px;padding:12px 16px;font-size:16px}.input::placeholder{color:var(--muted)}.chips{scrollbar-width:none;gap:8px;display:flex;overflow-x:auto}.chips::-webkit-scrollbar{display:none}.chip{border:1.5px solid var(--accent);color:var(--ink);font-size:var(--fs-sm);font-variant-numeric:tabular-nums;white-space:nowrap;background:0 0;border-radius:5px;flex:none;padding:4px 8px}.chip:hover{background:var(--hover)}.chip[aria-pressed=true]{background:var(--track);font-weight:500}.sheet-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.plan{bottom:0;left:0;right:0;top:calc(env(safe-area-inset-top) + 96px);z-index:6;background:var(--panel);border-radius:14px 14px 0 0;flex-direction:column;transition:transform .35s cubic-bezier(.2,.8,.2,1);display:flex;position:fixed;overflow:hidden;transform:translateY(calc(100% + 40px));box-shadow:0 -10px 30px rgba(60,45,20,.14)}.plan.open{transform:none}.plan-scroll{flex:1;min-height:0;overflow-y:auto}.plan-col{gap:24px;max-width:680px;margin:0 auto;padding:24px;display:grid}.plan h2{font-family:var(--font-display);font-weight:500;font-size:var(--fs-lg);margin:0 0 -8px}.field{gap:8px;display:grid}.field>span{font-family:var(--font-display);font-weight:600;font-size:var(--fs-md)}.field-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.field-head>span{font-family:var(--font-display);font-weight:600;font-size:var(--fs-md)}.head .group-toggle{grid-column:3;align-self:baseline;margin-top:-8px;margin-bottom:-8px}.group-toggle{font-size:var(--fs-sm);place-self:flex-end end;gap:2px;display:inline-flex}.group-toggle button{color:var(--muted);font-size:var(--fs-sm);background:0 0;border:0;border-radius:5px;padding:4px 8px}.group-toggle button:hover{color:var(--ink)}.group-toggle button[aria-pressed=true]{color:var(--ink);background:var(--track)}.pick.nofit{opacity:.42}.add-row{grid-template-columns:1fr auto;gap:8px;display:grid}.add-block{gap:8px;padding:12px 0;display:grid}.add-block:not(:last-child){border-bottom:1px solid var(--rule)}.list .chips{margin-left:-8px;margin-right:-8px;padding-left:8px;padding-right:8px}.list .input,.list .chip:hover{background:var(--panel)}.list .chip[aria-pressed=true]{background:var(--track)}.add-btn{border:1.5px solid var(--accent);width:46px;color:var(--accent);background:0 0;border-radius:8px;place-items:center;padding:0;display:grid}.add-btn:before{content:"";background:linear-gradient(currentColor,currentColor) 50%/100% 2px no-repeat,linear-gradient(currentColor,currentColor) 50%/2px 100% no-repeat;width:14px;height:14px}.add-btn:hover{background:var(--accent);color:var(--accent-ink)}.add-btn:disabled{opacity:.45;cursor:default;color:var(--accent);background:0 0}.pick{border-bottom:1px solid var(--rule);cursor:pointer;grid-template-columns:22px 1fr;align-items:start;gap:12px;padding:12px 8px;display:grid;position:relative}.pick:last-child{border-bottom:0}.group-label{z-index:1;background:var(--well);font-family:var(--font-mono);font-size:var(--fs-sm);color:var(--muted);padding:16px 8px 4px;position:-webkit-sticky;position:sticky;top:0}.pick input{opacity:0;pointer-events:none;position:absolute}.pick .box{border:1.5px solid var(--accent);border-radius:5px;place-items:center;width:22px;height:22px;display:grid}.pick input:checked+.box{background:var(--accent)}.pick input:checked+.box:after{content:"";border-left:2px solid var(--accent-ink);border-bottom:2px solid var(--accent-ink);width:10px;height:5px;transform:translateY(-1px)rotate(-45deg)}.pick input:focus-visible+.box{outline:2px solid var(--ink);outline-offset:2px}.list{background:var(--well);border-radius:8px;padding:2px 8px}.plan-foot{border-top:1px solid var(--rule);background:var(--panel)}.plan-foot-inner{padding:16px 24px calc(24px + env(safe-area-inset-bottom));align-items:center;gap:16px;display:flex}.account{justify-self:end;align-items:center;display:flex}.user{color:var(--panel);background:0 0;border:0;border-radius:99px;align-items:center;padding:3px;display:flex}.user:hover,.user[aria-expanded=true]{background:rgba(255,253,214,.1)}.avatar{background:var(--panel);width:30px;height:30px;color:var(--frame);font-family:var(--font-display);font-weight:600;font-size:var(--fs-base);text-transform:uppercase;border-radius:50%;place-items:center;display:grid}.auth{z-index:6;background:var(--panel);display:flex;position:absolute;top:0;bottom:0;left:0;right:0;overflow-y:auto}.auth.static{flex:1;position:static}.auth-col{gap:16px;width:100%;max-width:420px;margin:auto;padding:40px 24px;display:grid}.auth h2{font-family:var(--font-display);font-weight:500;font-size:var(--fs-xl);text-wrap:balance;margin:0}.auth p{color:var(--muted);margin:0;line-height:1.6}.auth p b{color:var(--ink);font-weight:500}.auth .btn{width:100%;padding:12px 20px}.code{text-align:center;letter-spacing:.5em;font-variant-numeric:tabular-nums;padding-left:calc(16px + .5em);font-size:24px}.linkbtn{color:var(--muted);text-underline-offset:3px;font-size:var(--fs-sm);background:0 0;border:0;justify-self:center;padding:4px;text-decoration:underline}.linkbtn:hover{color:var(--ink)}.note{font-size:var(--fs-sm);text-align:center}.auth .note.error,.note.error{color:var(--over)}.toast{background:var(--ink);color:var(--panel);font-size:var(--fs-sm);opacity:0;pointer-events:none;z-index:8;border-radius:99px;padding:8px 16px;transition:opacity .2s,transform .2s;position:absolute;bottom:28px;left:50%;transform:translate(-50%,20px)}.toast.show{opacity:1;transform:translate(-50%)}@media (max-width:760px){:root{--fs-base:13px;--fs-md:15px;--fs-lg:18px;--fs-xl:24px}.head{padding:16px 8px 12px}.well{margin:0 8px 8px}.col{padding:16px 28px}.foot-inner{padding:12px 12px 16px}.meter{flex-direction:column;align-items:stretch;gap:8px}.meter .bar{flex:none}.brand .wordmark{display:none}.seg button{min-width:84px;padding:8px 12px}}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
