@font-face{font-family:Chakra Petch;font-weight:600;font-display:swap;src:url(/assets/ChakraPetch-600-latin-DVQm9bgb.woff2) format("woff2")}@font-face{font-family:Chakra Petch;font-weight:600;font-display:swap;src:url(/assets/ChakraPetch-600-latin-ext-CdGvbdDU.woff2) format("woff2");unicode-range:U+0100-024F,U+1E00-1EFF}:root{color-scheme:dark;--bg: #0a0710;--bg-panel: #120c1c;--bg-raised: #1a1030;--edge: #2a1e3d;--edge-glow: #5a2ea0;--text: #e6dcff;--text-dim: #9b8bc0;--neon-magenta: #c774ff;--neon-cyan: #5ff2d6;--good: #7cff9b;--bad: #ff6b8a;--glow: rgba(199, 116, 255, .32);--scrim: rgba(5, 3, 10, .6);--warn: #ffc56b;--bucket-fixed: var(--neon-magenta);--bucket-savings: var(--neon-cyan);--bucket-planned: #8f7bff;--bucket-free: var(--warn);--bucket-left: var(--good);--font-ui: system-ui, -apple-system, "Segoe UI", sans-serif;--font-display: "Chakra Petch", var(--font-ui);--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--radius-sm: 6px;--radius-md: 8px;--radius: 10px;--radius-lg: 14px;--tap: 44px;--ease-out: cubic-bezier(.22, 1, .36, 1);--dur: .22s;--safe-top: env(safe-area-inset-top, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px);--safe-left: env(safe-area-inset-left, 0px);--safe-right: env(safe-area-inset-right, 0px)}*{box-sizing:border-box}html,body{margin:0;background:var(--bg);color:var(--text);font:16px/1.5 var(--font-ui);-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}body{min-height:100dvh;overscroll-behavior-y:none}button,input,select{font:inherit;color:inherit;touch-action:manipulation}button{cursor:pointer}:focus-visible{outline:2px solid var(--neon-cyan);outline-offset:2px}.topbar{position:sticky;top:0;z-index:10;display:flex;align-items:center;gap:var(--space-2);padding:calc(var(--safe-top) + var(--space-2)) calc(var(--safe-right) + var(--space-2)) var(--space-2) calc(var(--safe-left) + var(--space-2));background:color-mix(in srgb,var(--bg) 88%,transparent);backdrop-filter:blur(12px);border-bottom:1px solid var(--edge)}.topbar h1{flex:1;margin:0;font:600 18px/1.2 var(--font-display);letter-spacing:1.5px;text-transform:uppercase}.icon-btn{display:inline-grid;place-items:center;min-width:var(--tap);min-height:var(--tap);padding:0;border:1px solid transparent;border-radius:var(--radius);background:transparent;color:var(--text-dim);transition:background var(--dur) var(--ease-out),color var(--dur) var(--ease-out)}.icon-btn:active{background:var(--bg-raised);color:var(--text)}.icon-btn[aria-busy=true] svg{animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.has-badge{position:relative}.badge{position:absolute;top:4px;right:2px;min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:var(--warn);color:var(--bg);font:700 11px/18px var(--font-ui);text-align:center;pointer-events:none}.badge[hidden]{display:none}.install-hint{display:flex;align-items:center;gap:var(--space-2);margin:var(--space-3) calc(var(--safe-right) + var(--space-4)) 0 calc(var(--safe-left) + var(--space-4));padding:var(--space-2) var(--space-2) var(--space-2) var(--space-3);border:1px solid var(--edge-glow);border-radius:var(--radius);background:var(--bg-panel);font-size:14px;line-height:1.4}.install-hint span{flex:1}main{padding:var(--space-4) calc(var(--safe-right) + var(--space-4)) calc(var(--safe-bottom) + var(--space-6)) calc(var(--safe-left) + var(--space-4));max-width:640px;margin:0 auto}.scrim{position:fixed;inset:0;z-index:40;background:var(--scrim);opacity:0;pointer-events:none;transition:opacity var(--dur) var(--ease-out)}.drawer{position:fixed;inset:0 auto 0 0;z-index:50;width:min(300px,82vw);display:flex;flex-direction:column;padding:calc(var(--safe-top) + var(--space-3)) var(--space-3) calc(var(--safe-bottom) + var(--space-4)) calc(var(--safe-left) + var(--space-3));background:var(--bg-panel);border-right:1px solid var(--edge-glow);box-shadow:0 0 32px var(--glow);transform:translate(-105%);transition:transform var(--dur) var(--ease-out);visibility:hidden}.drawer-open .scrim{opacity:1;pointer-events:auto}.drawer-open .drawer{transform:none;visibility:visible}.drawer-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-4);font:600 16px var(--font-display);letter-spacing:1.5px;color:var(--neon-magenta)}.nav{display:grid;gap:var(--space-1)}.nav-item{display:flex;align-items:center;gap:var(--space-3);min-height:48px;padding:0 var(--space-3);border:1px solid transparent;border-radius:var(--radius);background:transparent;text-align:left}.nav-item[aria-current=page]{border-color:var(--edge-glow);background:var(--bg-raised);color:var(--neon-cyan)}.nav-item:disabled{color:var(--text-dim);cursor:default}.nav-item .soon{margin-left:auto;font-size:12px;color:var(--text-dim)}.drawer-foot{margin-top:auto;display:grid;gap:var(--space-2)}.drawer-foot .who{font-size:14px;color:var(--text-dim);padding:0 var(--space-3);overflow-wrap:anywhere}.field{width:100%;min-height:var(--tap);padding:0 var(--space-3);border:1px solid var(--edge);border-radius:var(--radius-md);background:var(--bg-panel)}.field:focus{border-color:var(--neon-magenta);outline:none;box-shadow:0 0 0 3px var(--glow)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:var(--tap);padding:0 var(--space-4);border:1px solid var(--edge-glow);border-radius:var(--radius);background:linear-gradient(135deg,#1a1030,#241442);font-weight:600;transition:transform .12s var(--ease-out),box-shadow var(--dur) var(--ease-out)}.btn:active{transform:scale(.97);box-shadow:0 0 18px var(--glow)}.btn:disabled{opacity:.45;cursor:default;transform:none}.btn-ghost{background:transparent;border-color:var(--edge)}.label{display:block;margin-bottom:var(--space-1);font-size:13px;color:var(--text-dim)}.login{min-height:100dvh;display:grid;place-content:center;gap:var(--space-4);padding:var(--space-6) calc(var(--safe-right) + var(--space-5)) var(--space-6) calc(var(--safe-left) + var(--space-5));text-align:center}.login img{width:96px;height:96px;margin:0 auto;border-radius:22px;box-shadow:0 0 40px var(--glow)}.login h1{margin:0;font:600 28px var(--font-display);letter-spacing:2px;color:var(--neon-magenta)}.login p{margin:0;color:var(--text-dim)}.stack{display:grid;gap:var(--space-4)}.add-row{display:flex;gap:var(--space-2)}.add-row .field{flex:1;min-width:0}.add-row .btn{flex:none;width:auto}.todos{list-style:none;margin:0;padding:0;display:grid;gap:var(--space-2)}.todo{display:flex;align-items:center;gap:var(--space-1);min-height:52px;padding:var(--space-1) var(--space-1) var(--space-1) var(--space-2);border:1px solid var(--edge);border-radius:var(--radius-md);background:var(--bg-panel)}.todo-check{display:flex;flex:1;align-items:center;gap:var(--space-3);min-height:var(--tap);padding:0 var(--space-1);border:0;background:transparent;text-align:left;overflow-wrap:anywhere}.box{flex:none;display:grid;place-items:center;width:24px;height:24px;border:2px solid var(--edge-glow);border-radius:var(--radius-sm);color:var(--bg)}.box svg{width:16px;height:16px;stroke-width:3}.todo.is-done .box{background:var(--neon-cyan);border-color:var(--neon-cyan)}.todo.is-done .todo-text{color:var(--text-dim);text-decoration:line-through}.todo.is-manual{--manual-edge: color-mix(in srgb, var(--bad) 85%, transparent);--manual-wash: color-mix(in srgb, var(--bad) 8%, transparent);background-image:linear-gradient(var(--manual-wash),var(--manual-wash));box-shadow:inset 3px 0 0 var(--manual-edge)}.todo-chip{flex:none;padding:0 var(--space-2);border:1px solid var(--manual-edge, var(--edge));border-radius:var(--radius-sm);color:var(--text);font-size:12px;line-height:1.6}.todo-manual-btn{font-size:18px;filter:grayscale(1);opacity:.7}.todo-manual-btn[aria-pressed=true]{filter:none;opacity:1}.todo-steer-btn{font-size:18px;filter:grayscale(1);opacity:.7}.todo-steer-btn[aria-pressed=true]{filter:none;opacity:1}.todo-chip.is-steer{border-color:color-mix(in srgb,var(--neon-cyan) 85%,transparent)}.todo-chip.is-tag{border-color:var(--edge);color:var(--text-dim)}.todo.is-steer:not(.is-manual){box-shadow:inset 3px 0 color-mix(in srgb,var(--neon-cyan) 85%,transparent)}.empty{padding:var(--space-5) var(--space-4);border:1px dashed var(--edge);border-radius:var(--radius-md);color:var(--text-dim);text-align:center}.section-title{margin:var(--space-2) 0 0;font:600 13px var(--font-display);letter-spacing:1.5px;text-transform:uppercase;color:var(--text-dim)}.card{padding:var(--space-4);border:1px solid var(--edge);border-radius:var(--radius-lg);background:var(--bg-panel)}.stack-sm{display:grid;gap:var(--space-3)}.grid-2{display:grid;grid-template-columns:1fr 1.3fr;gap:var(--space-2)}.num{font-variant-numeric:tabular-nums;white-space:nowrap}.grow{flex:1;min-width:0;overflow-wrap:anywhere}.hint{font-size:13px;color:var(--text-dim)}.is-bad{color:var(--bad)}.is-good{color:var(--good)}.hero{border-color:var(--edge-glow);background:radial-gradient(120% 90% at 0% 0%,#22123d 0%,var(--bg-panel) 60%);box-shadow:0 0 28px var(--glow)}.hero .label{margin:0;font-weight:400}.hero .big{margin-top:var(--space-1);font:600 40px/1.1 var(--font-display);letter-spacing:.5px;color:var(--neon-cyan)}.hero .big.is-bad{color:var(--bad)}.hero .sub{margin-top:var(--space-1);color:var(--text-dim)}.bucket-bar{display:flex;gap:2px;height:10px;margin-top:var(--space-4);border-radius:999px;overflow:hidden}.seg{min-width:4px}.seg-fixed{background:var(--bucket-fixed)}.seg-savings{background:var(--bucket-savings)}.seg-planned{background:var(--bucket-planned)}.seg-free{background:var(--bucket-free)}.seg-left{background:var(--bucket-left)}.legend{list-style:none;margin:var(--space-3) 0 0;padding:0;display:grid;gap:var(--space-1);font-size:14px}.legend li{display:flex;align-items:center;gap:var(--space-2)}.dot{flex:none;width:10px;height:10px;border-radius:3px}.btn-primary{width:100%;border-color:var(--neon-magenta);background:linear-gradient(135deg,#3a1a66,#5a2ea0);box-shadow:0 0 16px var(--glow)}.btn-sm{padding:0 var(--space-3);font-size:14px}.card .section-title{margin:0 0 var(--space-3)}.card.stack-sm .section-title{margin:0}.rows{list-style:none;margin:0;padding:0;display:grid}.rows>li{padding:var(--space-2) 0;border-top:1px solid var(--edge)}.rows>li:first-child{border-top:0;padding-top:0}.rows>li:last-child{padding-bottom:0}.row{display:flex;align-items:center;gap:var(--space-3);min-height:var(--tap)}.row-col{display:grid;gap:var(--space-2)}.bill.is-overdue .status{color:var(--bad)}.bill.is-soon .status{color:var(--warn)}.bill.is-paid .status{color:var(--good)}.meter{height:6px;border-radius:999px;background:var(--bg-raised);overflow:hidden}.meter span{display:block;height:100%;background:var(--neon-cyan);transform-origin:left;transition:transform var(--dur) var(--ease-out)}.meter.is-bad span{background:var(--bad)}.meter.is-warn span{background:var(--warn)}@media(max-width:360px){.grid-2{grid-template-columns:1fr}.hero .big{font-size:34px}}.segmented{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-1);padding:var(--space-1);border:1px solid var(--edge);border-radius:var(--radius);background:var(--bg-panel)}.seg-btn{min-height:var(--tap);border:0;border-radius:var(--radius-md);background:transparent;color:var(--text-dim);font:600 14px var(--font-display);letter-spacing:1px;text-transform:uppercase;transition:background var(--dur) var(--ease-out),color var(--dur) var(--ease-out)}.seg-btn[aria-selected=true]{background:var(--bg-raised);color:var(--neon-magenta);box-shadow:inset 0 0 0 1px var(--edge-glow)}.prose{margin:0;line-height:1.55;overflow-wrap:anywhere}.bullets{margin:var(--space-2) 0 0;padding-left:var(--space-4);display:grid;gap:var(--space-2);line-height:1.5}.bullets li{overflow-wrap:anywhere}.links{list-style:none;margin:0;padding:0;display:grid}.links>li+li{border-top:1px solid var(--edge)}.link-row{display:flex;align-items:center;gap:var(--space-3);min-height:var(--tap);padding:var(--space-2) 0;color:var(--text);text-decoration:none}.link-row:active{color:var(--neon-cyan)}.link-row svg{flex:none;width:18px;height:18px;color:var(--text-dim)}.link-title{display:block}.more>summary{min-height:var(--tap);display:flex;align-items:center;color:var(--neon-cyan);cursor:pointer}.big-sm{font:600 28px var(--font-display);color:var(--text)}.hero>.meter{margin-top:var(--space-3)}.hours{list-style:none;margin:var(--space-2) 0 0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-2)}.hours li{display:grid;justify-items:center;gap:2px;padding:var(--space-2) var(--space-1);border-radius:var(--radius-md);background:var(--bg-raised)}.hours .num{font-size:18px}.hours .hint.num{font-size:13px}.toast{position:fixed;left:50%;bottom:calc(var(--safe-bottom) + var(--space-5));z-index:60;max-width:calc(100vw - 2 * var(--space-4));padding:var(--space-3) var(--space-4);border:1px solid var(--edge-glow);border-radius:var(--radius);background:var(--bg-raised);box-shadow:0 0 24px var(--glow);transform:translate(-50%);transition:opacity var(--dur) var(--ease-out),transform var(--dur) var(--ease-out)}.toast[hidden]{display:block;opacity:0;transform:translate(-50%,12px);pointer-events:none}.toast.is-bad{border-color:var(--bad)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition-duration:0ms!important;animation-duration:0ms!important}}.tags{display:flex;flex-wrap:wrap;gap:var(--space-1)}.tag{padding:2px var(--space-2);border:1px solid var(--edge);border-radius:999px;font-size:12px;color:var(--text-dim);white-space:nowrap}.tag.is-bad{border-color:var(--bad);color:var(--bad)}.tag.is-warn{border-color:var(--warn);color:var(--warn)}.tag.is-good{border-color:var(--good);color:var(--good)}.decision{padding-left:var(--space-3);border-left:2px solid var(--warn)}.decision-q{margin:0;overflow-wrap:anywhere}.decision-options{display:flex;flex-wrap:wrap;gap:var(--space-2)}.ask-answer{margin:0;white-space:pre-wrap;overflow-wrap:anywhere}.is-warn{color:var(--warn)}.run>summary{display:grid;gap:var(--space-1);cursor:pointer;list-style:none}.run>summary::-webkit-details-marker{display:none}.run[open]>summary{margin-bottom:var(--space-3)}.counters{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(4.5rem,1fr));gap:var(--space-2)}.counter{display:grid;gap:2px;padding:var(--space-2);border:1px solid var(--edge);border-radius:var(--radius-sm);text-align:center}.counter-n{font-family:var(--font-display);font-size:20px;font-weight:700;line-height:1.1}.counter.is-good{border-color:var(--good)}.counter.is-good .counter-n{color:var(--good)}.counter.is-warn{border-color:var(--warn)}.counter.is-warn .counter-n{color:var(--warn)}.counter.is-bad{border-color:var(--bad)}.counter.is-bad .counter-n{color:var(--bad)}.banner{margin:0;padding:var(--space-2) var(--space-3);border:1px solid currentColor;border-radius:var(--radius-sm)}.group-title{margin:0;font-size:13px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--text-dim)}.todo-list{margin:0;padding-left:var(--space-4, 16px);display:grid;gap:2px}.light{flex:none;width:16px;text-align:center;font-size:13px;font-weight:700;line-height:1;color:var(--text-dim)}.light.is-working{color:var(--neon-cyan);animation:light-pulse 1.4s ease-in-out infinite}.light.is-done{color:var(--good)}.light.is-approval{color:var(--warn);animation:light-blink .9s steps(1,end) infinite}.light.is-limit{color:var(--warn)}.light.is-failed{color:var(--bad)}.light.is-idle,.light.is-dead{opacity:.7}@keyframes light-pulse{50%{opacity:.35;transform:scale(.8)}}@keyframes light-blink{50%{opacity:.2}}@media(prefers-reduced-motion:reduce){.light{animation:none}}.chat{display:grid;gap:var(--space-2);max-height:60vh;overflow-y:auto;overscroll-behavior:contain}.msg{margin:0;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.45}.msg-me{justify-self:end;max-width:85%;padding:var(--space-2) var(--space-3);border-radius:var(--radius);background:var(--bg-raised);border:1px solid var(--edge)}.mono{font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:13px;overflow-wrap:anywhere}.tool{display:grid;gap:var(--space-1)}.tool-out,.diff{margin:0;padding:var(--space-2);max-height:12rem;overflow:auto;font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:12px;white-space:pre-wrap;overflow-wrap:anywhere;background:var(--bg);border:1px solid var(--edge);border-radius:var(--radius-sm);color:var(--text-dim)}.approval{display:grid;gap:var(--space-2);padding:var(--space-3);border:1px solid var(--warn);border-radius:var(--radius)}.session-row{width:100%;text-align:left;background:transparent;border:0;color:inherit;font:inherit;padding:0;cursor:pointer}textarea.field{resize:vertical;min-height:4.5rem;line-height:1.4}.lw-shots{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:var(--space-2)}.lw-shot{margin:0;display:grid;gap:var(--space-1);min-width:0}.lw-shot img{width:100%;height:auto;border-radius:8px;border:1px solid var(--edge)}.lw-shot figcaption{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
