:root{--bg: #ffffff;--panel: #f3f3f6;--raised: #ffffff;--ink: #171719;--ink-2: #646469;--line: #dedee2;--track: #e9e9ed;--mark: #c7c7cc;--accent: #0063d9;--on-accent: #ffffff;--out: #a52043;--good: #187048;--overspend: var(--out);--error: var(--out);--on-out: #ffffff;--warn-text: #865000;--glass: rgba(244, 244, 246, .92);--glass-blur: saturate(150%) blur(18px);--scrim: rgba(0, 0, 0, .32);--shadow: rgba(0, 0, 0, .08);--sheet-shadow: 0 -8px 32px rgba(0, 0, 0, .14);--grid: rgba(23, 23, 25, .1);--c-food: #c2410c;--c-groceries: #15803d;--c-commute: #0e7490;--c-travel: #6d28d9;--c-shopping: #be185d;--c-health: #be123c;--c-misc: #475569;--c-fixed: #76767c;--r-ctl: 12px;--gutter: 22px;--tab-gap: calc(env(safe-area-inset-bottom, 0px)*.3 + 6px) ;--nav-h: 44px;color-scheme:light dark}@media(prefers-color-scheme:dark){:root{--bg: #000000;--panel: #1c1c1e;--raised: #2c2c2e;--ink: #f5f5f7;--ink-2: #ababaf;--line: #39393c;--track: #303033;--mark: #48484a;--accent: #72b2ff;--on-accent: #061e3a;--out: #ff8fa6;--good: #77cf9a;--on-out: #231116;--warn-text: #e9b766;--glass: rgba(36, 36, 39, .9);--scrim: rgba(0, 0, 0, .6);--shadow: rgba(0, 0, 0, .4);--sheet-shadow: 0 -8px 32px rgba(0, 0, 0, .7);--grid: rgba(245, 245, 247, .12);--c-food: #fb923c;--c-groceries: #4ade80;--c-commute: #22d3ee;--c-travel: #a78bfa;--c-shopping: #f472b6;--c-health: #fb7185;--c-misc: #a1a1aa;--c-fixed: #98989d}}@media(max-width:380px){:root{--gutter: 16px}}*{box-sizing:border-box}html,body{height:100%}body{margin:0;background:var(--bg);color:var(--ink);font:1rem/1.4 -apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;letter-spacing:-.2px;-webkit-font-smoothing:antialiased;-webkit-text-size-adjust:100%;text-size-adjust:100%;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none}h1,h2,h3,p{margin:0}.num{font-variant-numeric:tabular-nums}button{font:inherit;color:inherit;letter-spacing:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:6px}button,.scrim{touch-action:manipulation;-webkit-user-select:none;user-select:none;transition:opacity .19s cubic-bezier(.22,1,.36,1),background-color .19s cubic-bezier(.22,1,.36,1)}button:active{opacity:.65;transition-duration:90ms;transition-timing-function:cubic-bezier(.4,0,1,1)}button:disabled{cursor:default}.app{height:100%;overflow:hidden}.scroller{position:fixed;top:0;right:0;bottom:0;left:0;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain;padding-bottom:calc(61px + var(--tab-gap) + 24px)}.page{width:100%;max-width:30rem;margin:0 auto;padding:0 var(--gutter) 24px}.navbar{position:fixed;top:0;left:0;right:0;z-index:20;padding-top:env(safe-area-inset-top);background:var(--glass);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border-bottom:1px solid transparent;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .18s ease-out,visibility 0s linear .18s}.navbar.on{opacity:1;visibility:visible;border-bottom-color:var(--line);transition:opacity .18s ease-out,visibility 0s linear 0s}.navbar .inner{max-width:30rem;margin:0 auto;padding:11px var(--gutter);display:flex;align-items:center;justify-content:center;min-height:var(--nav-h)}.navbar h2{font-size:1.0625rem;font-weight:600;letter-spacing:-.2px}.header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:calc(env(safe-area-inset-top) + 22px) 0 13px}.title{font-size:1.5625rem;font-weight:700;letter-spacing:-.9px;line-height:1.15;min-width:0}@media(max-width:380px){.title{font-size:1.375rem}}.avatar{flex:none;width:44px;height:44px;padding:0;border:0;border-radius:50%;background:var(--panel);color:var(--ink);display:grid;place-items:center;font-size:.8125rem;font-weight:600;cursor:pointer}.tabbar{position:fixed;left:0;right:0;bottom:var(--tab-gap);z-index:20;width:calc(100% - 2 * var(--gutter));max-width:calc(30rem - 2 * var(--gutter));margin:0 auto;display:grid;grid-template-columns:repeat(var(--tab-count, 2),1fr);gap:4px;padding:5px;border-radius:35px;background:var(--glass);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border:1px solid var(--line);box-shadow:0 3px 13px var(--shadow);transition:transform .26s cubic-bezier(.32,.72,0,1),visibility 0s linear 0s}.tabbar.away{transform:translateY(calc(100% + var(--tab-gap) + 16px));visibility:hidden;pointer-events:none;transition:transform .26s cubic-bezier(.32,.72,0,1),visibility 0s linear .26s}.tabitem{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:none;color:var(--ink-2);display:flex;align-items:center;justify-content:center;gap:9px;min-height:49px;min-width:0;padding:0 8px;border-radius:29px;font-size:min(.875rem,17px);font-weight:600;white-space:nowrap;cursor:pointer}.tabitem svg{flex:none;width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.tabitem svg .fill{fill:currentColor;stroke:none}.tabitem.on{background:var(--raised);color:var(--accent);box-shadow:0 0 0 1px var(--line)}.ptr{position:absolute;top:calc(env(safe-area-inset-top) + 6px);left:0;right:0;display:grid;place-items:center;pointer-events:none;z-index:5}.ptr i{display:block;width:22px;height:22px;border-radius:50%;border:2px solid var(--mark);border-top-color:var(--accent)}.ptr.spin i{animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.sechead{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:2px 10px;margin:19px 0 10px}.sechead h2{font-size:1.25rem;line-height:1.2;font-weight:650;letter-spacing:-.5px}.sechead .aside{font-size:.8125rem;line-height:1.4;color:var(--ink-2);text-align:right;white-space:nowrap;margin-left:auto}.sechead button.aside{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:none;color:var(--accent);font-weight:500;cursor:pointer;display:inline-flex;align-items:center;justify-content:flex-end;min-width:44px;min-height:44px;padding:12px 2px 12px 14px;margin:-12px -2px -12px 0}.card{background:none;border:0;padding:0;border-radius:0;box-shadow:none}.card+.card{margin-top:14px}.todayweek{border-top:1px solid var(--line);padding-top:13px}.lede{font-size:1.0625rem;line-height:1.5;letter-spacing:-.4px;margin:0 0 16px}.lede:last-child{margin-bottom:0}.lede b{font-weight:600}.lede b.up{color:var(--warn-text)}.lede b.ok{color:var(--accent)}.sub{font-size:.8125rem;line-height:1.45;color:var(--ink-2);margin:10px 0 0}.sub b{color:var(--ink);font-weight:600}.foot{font-size:.8125rem;line-height:1.6;color:var(--ink-2);margin:16px 0 0}.dial{position:relative;width:100%;max-width:300px;margin:14px auto 0;aspect-ratio:330 / 215;container-type:inline-size}.dial svg{display:block;width:100%;height:100%;overflow:visible}.dial path{fill:none;stroke-width:16;stroke-linecap:round}.dial .track{stroke:var(--track)}.dial .fill{stroke:var(--good);transition:stroke-dasharray .4s ease-out}.dial.over .fill{stroke:var(--overspend)}.dialmid{position:absolute;left:0;right:0;top:61%;transform:translateY(-50%);text-align:center;pointer-events:none}.dialfig{display:block;font-size:44px;font-size:clamp(36px,16cqw,48px);font-weight:600;letter-spacing:-.05em;line-height:1.08;font-variant-numeric:tabular-nums;white-space:nowrap}.diallabel{display:block;font-size:17px;color:var(--ink-2);margin-top:6px}.dialfoot{text-align:center;font-size:.9375rem;line-height:1.45;color:var(--ink-2);margin:0 0 12px}.dialfoot b{color:var(--ink);font-weight:600;white-space:nowrap}.verdict{font-size:.9375rem;line-height:1.5;color:var(--ink-2);margin:0 0 17px}.verdict b{font-weight:600;color:var(--ink)}.verdict b.up{color:var(--warn-text)}.weekstrip{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:2px}.wday{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:flex;flex-direction:column;align-items:center;gap:8px;width:100%;min-width:0;padding:9px 3px 7px;background:none;border:0;border-radius:12px;font:inherit;color:inherit;cursor:pointer}.wday.sel{background:var(--panel);box-shadow:inset 0 0 0 1px var(--ink-2)}.wwell{position:relative;display:flex;align-items:flex-end;width:19px;height:62px;background:var(--track);border-radius:6px}.wbar{width:100%;background:var(--accent);border-radius:6px}.wbar.over{background:var(--overspend)}.wmark{position:absolute;left:-4px;right:-4px;height:0;border-top:2px dashed var(--ink-2);filter:drop-shadow(0 0 .75px var(--bg))}.wlabel{font-size:.8125rem;line-height:1.4;color:var(--ink-2)}.wday.now .wlabel{color:var(--accent);font-weight:650}.weekfigs{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px 12px;margin-bottom:13px}.weekfigs>div:last-child{text-align:right;margin-left:auto}.weekfigs .value{display:block;font-size:1.4375rem;font-weight:600;letter-spacing:-.8px;line-height:1.2;white-space:nowrap}.weekfigs .label{display:block;font-size:.8125rem;line-height:1.4;color:var(--ink-2);margin:4px 0 0}@media(max-width:380px){.weekfigs .value{font-size:1.25rem}}.bar{height:5px;border-radius:6px;background:var(--track);overflow:hidden;margin:0 0 10px}.bar.tall{height:9px}.bar+.sub{margin-top:0}.bar i{display:block;height:100%;background:var(--accent)}.bar i.over{background:var(--overspend)}.bar i.quiet{background:var(--ink-2)}.trackrow{margin-top:15px}.trackrow .lab{display:flex;justify-content:space-between;gap:12px;font-size:.9375rem;line-height:1.4;margin-bottom:8px}.trackrow .lab .num{font-weight:600}.trackrow .bar{margin:0}.spectrum{display:flex;gap:2px;height:9px;border-radius:6px;overflow:hidden;background:var(--track)}.spectrum i{display:block;min-width:3px}.catlist{list-style:none;margin:6px 0 0;padding:0}.catrow{display:flex;flex-wrap:wrap;gap:2px 12px;align-items:center;width:100%;text-align:left;background:none;border:0;padding:11px 0;min-height:54px;cursor:pointer}.catrow:disabled{cursor:default}.catlist li+li .catrow{border-top:1px solid var(--line)}.catrow>span:nth-child(2){flex:1 1 0}.cdot{flex:none;width:10px;height:10px;border-radius:3px}.cname{display:block;font-size:.9375rem;line-height:1.35}.cmeta{display:block;font-size:.75rem;line-height:1.4;color:var(--ink-2);margin-top:3px}.cval{margin-left:auto;font-size:1.0625rem;font-weight:600;text-align:right;white-space:nowrap}.cval small{display:block;font-size:.75rem;font-weight:400;color:var(--ink-2)}.cval.up{color:var(--warn-text)}.cval.ok{color:var(--accent)}.datehead{position:sticky;top:calc(env(safe-area-inset-top) + var(--nav-h));z-index:4;display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin:15px calc(var(--gutter) * -1) 0;padding:8px var(--gutter);background:var(--bg);font-size:.75rem;line-height:1.4;font-weight:500;color:var(--ink-2)}.datehead:before{content:"";position:absolute;inset:0 calc(var(--gutter) - 10px);z-index:-1;background:var(--panel);border-radius:8px}.datehead .total{font-weight:600;color:var(--ink)}.txn{display:flex;align-items:center;gap:10px;width:100%;min-height:68px;padding:10px 0;text-align:left;background:none;border:0;border-bottom:1px solid var(--line);cursor:pointer}.txn>span:nth-child(2){min-width:0;flex:1}.glyph{display:flex;align-items:center;justify-content:center;flex:0 0 31px;width:31px;height:35px}.glyph svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.glyph svg .fill{fill:currentColor;stroke:none}.glyph.lg{flex-basis:44px;width:44px;height:44px}.glyph.lg svg{width:26px;height:26px}.tname{display:block;font-size:.9375rem;font-weight:500;line-height:1.35;overflow-wrap:anywhere}.tmeta{display:block;font-size:.75rem;line-height:1.4;color:var(--ink-2);margin-top:3px}.tamt{font-size:1rem;font-weight:600;letter-spacing:-.45px;text-align:right;white-space:nowrap;flex-shrink:0}.tamt.credit{color:var(--good)}.tamt.debit{color:var(--out)}.tamt.fixed{font-weight:500}.tamt.lg{font-size:min(2.4375rem,12vw);letter-spacing:-1.9px;line-height:1.1}@media(max-width:380px){.tamt{font-size:.9375rem}.tamt.lg{font-size:min(2.0625rem,12vw)}}.chip.date{text-transform:none}.chip{font-style:normal;font-size:.6875rem;line-height:1.4;font-weight:500;color:var(--ink-2);background:var(--panel);border-radius:20px;padding:3px 7px;margin-left:6px;vertical-align:1px;white-space:nowrap}.prow .chip.date{display:block;background:none;padding:0;margin:3px 0 0;font-size:.75rem;font-weight:400;white-space:normal;vertical-align:baseline}.search{position:relative;margin:0}.search svg{position:absolute;left:11px;top:50%;transform:translateY(-50%);width:18px;height:18px;fill:none;stroke:var(--ink-2);stroke-width:1.9;stroke-linecap:round;pointer-events:none}.search input{width:100%;min-height:45px;padding:0 44px 0 37px;background:var(--panel);color:var(--ink);border:0;border-radius:var(--r-ctl);font:inherit;font-size:max(16px,1rem);letter-spacing:inherit}.search input::placeholder{color:var(--ink-2)}.search input::-webkit-search-cancel-button{-webkit-appearance:none}.search .clear{position:absolute;right:0;top:50%;transform:translateY(-50%);width:44px;height:44px;padding:0;border:0;background:none;color:var(--ink-2);display:grid;place-items:center;cursor:pointer}.search .clear svg{position:static;transform:none;width:15px;height:15px}.chiprow{display:flex;flex-wrap:wrap;gap:5px;margin:9px 0 12px}.fchip{-webkit-appearance:none;-moz-appearance:none;appearance:none;flex:1 1 auto;min-width:44px;min-height:44px;padding:0 11px;border:0;border-radius:23px;background:var(--panel);color:var(--ink-2);font-size:.8125rem;font-weight:500;white-space:nowrap;cursor:pointer}.fchip.on{background:var(--ink);color:var(--bg)}.summaryline{font-size:.75rem;line-height:1.6;color:var(--ink-2);margin:0 0 12px}.summaryline b{color:var(--ink);font-weight:600}.chartbox{position:relative}.chart{width:100%;height:auto;display:block;overflow:visible;touch-action:pan-y}.chart .grid{stroke:var(--grid);stroke-width:1}.chart .axis{font-size:11px;fill:var(--ink-2)}.chart .axis.end{text-anchor:end}.chart .axis.mid{text-anchor:middle}.chart .axis.now{fill:var(--ink);font-weight:700}.chart .well{fill:var(--track)}.chart .bar-under{fill:var(--accent)}.chart .bar-over{fill:var(--overspend)}.chart .bar-live{fill:var(--ink-2)}.chart .baseline{stroke:var(--ink-2);stroke-width:2;stroke-dasharray:3 2.5;fill:none;filter:drop-shadow(0 0 .75px var(--bg))}.chart .area{fill:var(--accent);opacity:.08}.chart .area.over{fill:var(--overspend);opacity:.06}.chart .line{fill:none;stroke:var(--accent);stroke-width:2.5;stroke-linejoin:round;stroke-linecap:round}.chart .line.over{stroke:var(--overspend)}.chart .proj{fill:none;stroke:var(--ink-2);stroke-width:1.5;stroke-dasharray:4 5}.chart .pt{fill:var(--accent)}.chart .pt.over{fill:var(--overspend)}.chart .nowline{stroke:var(--line);stroke-width:1}.chart .sel{fill:var(--panel);stroke:var(--ink-2);stroke-width:1}.legend{display:flex;gap:4px 14px;flex-wrap:wrap;font-size:.75rem;line-height:1.5;color:var(--ink-2);margin-top:10px}.legend span{display:flex;align-items:center;gap:6px}.legend i{width:12px;height:3px;border-radius:2px;flex:none}.legend i.under{background:var(--accent)}.legend i.over{background:var(--overspend)}.legend i.quiet{background:var(--ink-2)}.legend i.dash{height:0;border-top:2px dashed var(--ink-2);background:none;border-radius:0}.readout{display:flex;flex-wrap:wrap;align-items:baseline;gap:0 12px;margin:9px 0 16px;font-size:.8125rem;line-height:1.6;color:var(--ink-2);min-height:3.2em}.readout strong{color:var(--ink);font-weight:600}.readout .up{color:var(--warn-text)}.readout .ok{color:var(--accent)}.lrow{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:54px;font-size:.9375rem;line-height:1.35}.lrow+.lrow{border-top:1px solid var(--line)}.lrow .k{min-width:0}.lrow .v{font-size:1.0625rem;font-weight:600;white-space:nowrap}.lrow.total{border-top:1px solid var(--ink)}.lrow.total .v{font-weight:700}.prow{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:54px;padding:0;text-align:left;background:none;border:0;font-size:.9375rem;line-height:1.35;color:inherit}.prow+.prow{border-top:1px solid var(--line)}.prowitem+.prowitem{border-top:1px solid var(--line)}.prowitem>.prow+.prow{border-top:0}.listrow{align-items:flex-start;flex-wrap:wrap;row-gap:2px;padding:12px 0}.listrow .pmain{display:grid;gap:2px;min-width:0;text-align:left;flex:1 1 5rem}.listrow .pname{font-weight:500;overflow-wrap:anywhere}.listrow .pmeta{font-size:.75rem;line-height:1.4;color:var(--ink-2);overflow-wrap:anywhere}.listrow .trail{padding-top:1px;margin-left:auto}button.prow{cursor:pointer}.prow .v{font-size:1.0625rem;font-weight:600;white-space:nowrap}.listrow .v{font-size:1rem}.prow .v.in{color:var(--good)}.prow .v.out{color:var(--out)}.prow .trail{display:flex;align-items:center;gap:8px;flex:none}.prow .go{color:var(--ink-2);display:grid;place-items:center}.prow .go svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;display:block}.prows{margin-top:0}.prows .prow{flex-wrap:wrap;row-gap:2px;padding:6px 0}.prows .prow>:first-child{flex:1 1 0}.prows .prow .trail{margin-left:auto}.bigfig{font-size:min(2.4375rem,12vw);font-weight:600;letter-spacing:-1.9px;line-height:1.1;font-variant-numeric:tabular-nums;white-space:nowrap}.biglabel{font-size:.9375rem;color:var(--ink-2);margin:6px 0 0}.positiontotal{padding:3px 0 17px;border-bottom:1px solid var(--line)}@media(max-width:380px){.bigfig{font-size:min(2.0625rem,12vw)}}.disclose{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;min-height:46px;margin-top:9px;padding:0;background:none;border:0;color:var(--accent);font-size:.875rem;line-height:1.4;text-align:left;cursor:pointer}.disclose svg{flex:none;width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;transition:transform .18s ease-out}.disclose[aria-expanded=true] svg{transform:rotate(180deg)}.scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;background:var(--scrim);border:0;padding:0;border-radius:0;animation:fade .2s ease-out}.scrim:active{opacity:1}@keyframes fade{0%{opacity:0}}.sheet{position:fixed;left:0;right:0;bottom:0;z-index:41;max-height:100vh;max-height:100dvh;overflow-y:auto;overscroll-behavior:contain;background:var(--bg);border-top:1px solid var(--line);border-radius:30px 30px 0 0;box-shadow:var(--sheet-shadow);padding:max(10px,env(safe-area-inset-top)) var(--gutter) calc(25px + env(safe-area-inset-bottom));animation:rise .26s cubic-bezier(.32,.72,0,1)}@keyframes rise{0%{transform:translateY(100%)}}.sheet .inner{max-width:30rem;margin:0 auto}.sheet:focus-visible{outline:none}.grab{width:34px;height:5px;border-radius:9px;background:var(--line);margin:0 auto 14px}.sheethead{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 12px;margin-bottom:8px}.sheettitle{flex:1 1 min-content;font-size:1.5625rem;line-height:1.2;font-weight:650;letter-spacing:-.7px;min-width:0;overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto}.sheetclose{flex:none;margin-left:auto;min-width:44px;height:44px;padding:0 12px;border:0;border-radius:22px;background:var(--panel);color:var(--accent);font-size:.8125rem;font-weight:600;cursor:pointer}.sheetsub{font-size:.875rem;line-height:1.5;color:var(--ink-2);margin:0 0 20px}.srow{display:flex;justify-content:space-between;align-items:center;gap:12px;min-height:54px;font-size:.9375rem;line-height:1.35;border-top:1px solid var(--line)}.srow:first-of-type{border-top:0}.srow .k{min-width:0}.srow .v{font-weight:600;text-align:right}.why{font-size:.8125rem;line-height:1.6;color:var(--ink-2);margin-top:16px}.effects{background:var(--panel);border-radius:14px;padding:7px 12px;margin-top:20px}.effects .erow{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:38px;font-size:.8125rem}.effects .erow+.erow{border-top:1px solid var(--line)}.effects .v{font-size:.875rem;font-weight:600;text-align:right}.effects .v.nil{font-weight:500;color:var(--ink-2)}.label{display:block;margin:19px 0 7px;color:var(--ink-2);font-size:.8125rem;line-height:1.4;font-weight:400}.input{width:100%;min-width:0;max-width:100%;min-height:49px;padding:12px;background:var(--panel);color:var(--ink);border:0;border-radius:var(--r-ctl);font:inherit;font-size:max(16px,1rem);letter-spacing:inherit}.input::placeholder{color:var(--ink-2);opacity:1}.input.big{font-size:2.125rem;font-weight:600;letter-spacing:-1.3px;min-height:68px;font-variant-numeric:tabular-nums}.input:focus-visible{outline-offset:0;border-radius:var(--r-ctl)}.input[type=date],.input[type=time]{-webkit-appearance:none;-moz-appearance:none;appearance:none;min-width:0;text-align:left}.input[type=date]::-webkit-date-and-time-value,.input[type=time]::-webkit-date-and-time-value{text-align:left;margin:0;min-width:0}.btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:52px;margin-top:22px;padding:0 18px;background:var(--accent);color:var(--on-accent);border:0;border-radius:26px;font-size:1.0625rem;font-weight:600;cursor:pointer}.btn:disabled{opacity:.35}.btn.slim{width:auto;min-width:9rem;margin:16px auto 0}.btn.second{justify-content:flex-start;text-align:left;min-height:48px;margin-top:7px;padding:0;background:none;color:var(--accent);border-radius:0;font-size:1rem;font-weight:500}.btn+.btn.second{margin-top:10px}.btn.quiet{min-height:50px;margin-top:14px;background:var(--panel);color:var(--out);border-radius:25px;font-size:1rem}.btn.hero{min-height:52px;margin-top:18px;background:var(--out);color:var(--on-out);border-radius:27px}.btn.hero svg{flex:none;width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.btn.glass{min-height:50px;margin-top:10px;background:var(--panel);color:var(--ink);border-radius:25px;font-size:1rem}.btn.glass.in{color:var(--good)}.btn.glass .pill{font-size:.6875rem;line-height:1.4;font-weight:500;color:var(--ink-2);background:var(--raised);border-radius:20px;padding:3px 7px;box-shadow:0 0 0 1px var(--line)}.quickrow{display:flex;flex-wrap:wrap;justify-content:space-between;gap:6px;margin-top:12px}.qbtn{-webkit-appearance:none;-moz-appearance:none;appearance:none;flex:1 1 auto;display:flex;align-items:center;justify-content:center;min-height:44px;padding:0 10px;border:0;border-radius:23px;background:var(--panel);color:var(--ink);font-size:.75rem;font-weight:600;line-height:1.25;white-space:nowrap;cursor:pointer}.qbtn.out{color:var(--out)}.qbtn.in{color:var(--good)}@media(max-width:380px){.quickrow{gap:5px}.qbtn{padding:0 8px}}.sk{background:var(--track);border-radius:8px}@media(prefers-reduced-motion:no-preference){.sk{animation:pulse 1.5s ease-in-out infinite}@keyframes pulse{50%{opacity:.55}}}.empty{padding:44px 0;text-align:center;color:var(--ink-2);font-size:.9375rem}.err{color:var(--error)}.muted{color:var(--ink-2)}.notice{border-radius:var(--r-ctl);padding:13px;font-size:.8125rem;line-height:1.6;margin-top:13px}.notice.warn{background:var(--panel);color:var(--warn-text)}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.authwrap{min-height:100dvh;display:grid;place-items:center;padding:24px}.authcard{width:100%;max-width:22rem}.authcard h1{margin:0 0 4px;font-size:1.75rem;font-weight:700;letter-spacing:-.9px}.authcard .tag{color:var(--ink-2);font-size:.9375rem;margin:0 0 24px}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}.fchip.cat{display:inline-flex;align-items:center;justify-content:center;gap:7px}.chiprow.wrap .fchip{flex:0 0 auto;padding:0 12px}.chiprow.wrap{gap:6px}.catdot{width:9px;height:9px;border-radius:3px;flex:none}.fchip.cat.on .catdot{outline:1.5px solid var(--bg)}.segmented{display:flex;flex-wrap:wrap;gap:2px;padding:3px;background:var(--panel);border-radius:var(--r-ctl)}.segmented button{-webkit-appearance:none;-moz-appearance:none;appearance:none;flex:1 1 0;min-width:min-content;border:0;background:none;min-height:44px;padding:3px 6px;border-radius:9px;color:var(--ink-2);font-size:.875rem;line-height:1.25;cursor:pointer}.segmented button.on{background:var(--raised);color:var(--ink);font-weight:600;box-shadow:0 1px 5px var(--shadow),0 0 0 1px var(--line)}.segmented.period{margin-top:22px}.segmented.period button{font-size:.8125rem}.toggle{display:flex;flex-direction:row-reverse;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:52px;margin-top:9px;padding:0;background:none;border:0;color:var(--ink);font-size:.9375rem;text-align:left;cursor:pointer}.toggle .box{position:relative;flex:none;width:22px;height:22px;border-radius:7px;border:1.5px solid var(--ink-2);background:var(--bg)}.toggle .box.on{background:var(--accent);border-color:var(--accent)}.toggle .box.on:after{content:"";position:absolute;left:6.5px;top:2.5px;width:6px;height:11px;border:solid var(--on-accent);border-width:0 2.5px 2.5px 0;transform:rotate(45deg)}
