*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%}body{background:var(--bg);min-height:100dvh;color:var(--fg);-webkit-font-smoothing:antialiased;font-family:Plus Jakarta Sans,system-ui,sans-serif;line-height:1.5;overflow-x:hidden}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:none}input,textarea{font:inherit;color:inherit}ul{list-style:none}:focus-visible{outline:2px solid var(--brand-2);outline-offset:2px;border-radius:8px}:root{--r-xs:10px;--r-sm:14px;--r-md:20px;--r-lg:28px;--r-xl:36px;--sp:8px;--t-fast:.14s;--t:.24s;--t-slow:.42s;--ease:cubic-bezier(.23,1,.32,1);--spring:cubic-bezier(.34,1.56,.64,1);--maxw:1320px;--body-1:#ff5e7e;--body-2:#ff9d6c;--train-1:#8b5cff;--train-2:#b58bff;--money-1:#13e0a4;--money-2:#4ef0c0;--mind-1:#3ba4ff;--mind-2:#66d0ff;--sleep-1:#6470ff;--sleep-2:#9aa6ff;--habit-1:#ffb020;--habit-2:#ffd56b;--fuel-1:#8be04a;--fuel-2:#c2f06a;--task-1:#ff5ec4;--task-2:#ff97dd;--cat-food:#ff8a4c;--cat-transport:#5aa9ff;--cat-fun:#c084fc;--cat-bills:#ffd166;--cat-other:#94a3b8;--brand-1:#ff6b6b;--brand-2:#8b5cff;--brand-3:#3ba4ff;--brand-4:#13e0a4;--brand-grad:linear-gradient(115deg,#ff6b6b 0%,#ff8a5c 20%,#8b5cff 50%,#3ba4ff 74%,#13e0a4 100%);--good:#13e0a4;--warn:#ffb020;--bad:#ff5e7e}[data-theme=dark]{--bg:#0a0a0e;--bg-2:#0e0e14;--grain:#ffffff04;--surface:#ffffff0b;--surface-2:#ffffff12;--surface-solid:#15151d;--border:#ffffff17;--border-2:#ffffff24;--fg:#f4f3ef;--fg-2:#a3a2ad;--fg-3:#6c6b78;--shadow:0 1px 2px #0006,0 12px 32px -12px #000000b3;--shadow-lg:0 8px 24px #0006,0 40px 80px -24px #000c;--glass:saturate(160%) blur(20px);--scrim:#0404089e}[data-theme=light]{--bg:#f3f0ea;--bg-2:#ece8df;--grain:#00000003;--surface:#fffc;--surface-2:#fff;--surface-solid:#fff;--border:#14121e14;--border-2:#14121e24;--fg:#16141d;--fg-2:#5d5b69;--fg-3:#8d8b98;--shadow:0 1px 2px #281e3c0f,0 14px 30px -14px #281e3c2e;--shadow-lg:0 10px 30px #281e3c1a,0 40px 80px -28px #281e3c38;--glass:saturate(160%) blur(20px);--scrim:#1e1a286b}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.aura span,.editing .widget,.med-orb,.rest-pill.done,.report-chip-label,.session-bar .live-dot{animation:none!important}}.aura{z-index:-2;pointer-events:none;position:fixed;inset:0;overflow:hidden}.aura span{filter:blur(80px);opacity:.5;mix-blend-mode:screen;border-radius:50%;position:absolute}[data-theme=light] .aura span{opacity:.4;mix-blend-mode:multiply;filter:blur(90px)}.aura .b1{background:radial-gradient(circle,#ff6b6b,#0000 70%);width:46vw;height:46vw;animation:22s ease-in-out infinite drift1;top:-10vw;left:-8vw}.aura .b2{background:radial-gradient(circle,#8b5cff,#0000 70%);width:40vw;height:40vw;animation:26s ease-in-out infinite drift2;top:8vh;right:-6vw}.aura .b3{background:radial-gradient(circle,#13e0a4,#0000 70%);width:44vw;height:44vw;animation:30s ease-in-out infinite drift3;bottom:-16vw;left:18vw}@media (width<=720px){.aura .b3{display:none}.aura .b1,.aura .b2{filter:blur(40px)}}@keyframes drift1{50%{transform:translate(8vw,6vh)scale(1.12)}}@keyframes drift2{50%{transform:translate(-6vw,8vh)scale(1.1)}}@keyframes drift3{50%{transform:translate(5vw,-7vh)scale(1.15)}}.noise{z-index:-1;pointer-events:none;opacity:.5;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.045'/%3E%3C/svg%3E");position:fixed;inset:0}.app{grid-template-columns:1fr;min-height:100dvh;display:grid}@media (width>=1000px){.app{grid-template-columns:264px 1fr}}.side{display:none}@media (width>=1000px){.side{border-right:1px solid var(--border);background:linear-gradient(180deg,var(--bg-2),var(--bg));flex-direction:column;gap:6px;height:100dvh;padding:24px 16px;display:flex;position:sticky;top:0}}.brand{align-items:center;gap:11px;padding:6px 10px 22px;display:flex}.brand .mark{background:var(--brand-grad);border-radius:11px;width:34px;height:34px;position:relative;box-shadow:0 6px 18px -4px #8b5cff99}.brand .mark:after{content:"";background:var(--bg-2);opacity:.55;border-radius:7px;position:absolute;inset:6px}.brand .mark:before{content:"";background:var(--brand-grad);border-radius:50%;position:absolute;inset:13px}.brand b{letter-spacing:.14em;font-family:Bricolage Grotesque;font-size:21px;font-weight:800}.brand small{letter-spacing:.34em;color:var(--fg-3);margin-top:-2px;font-family:JetBrains Mono;font-size:9px;display:block}.nav-group{letter-spacing:.22em;color:var(--fg-3);text-transform:uppercase;padding:14px 12px 6px;font-family:JetBrains Mono;font-size:10px}.nav-item{border-radius:var(--r-sm);color:var(--fg-2);transition:background var(--t-fast),color var(--t-fast);align-items:center;gap:13px;padding:11px 13px;font-size:14.5px;font-weight:600;display:flex;position:relative}.nav-item svg{flex:none;width:20px;height:20px}.nav-item:hover{background:var(--surface);color:var(--fg)}.nav-item.on{color:var(--fg);background:var(--surface)}.nav-item.on:before{content:"";background:var(--dot,var(--brand-2));border-radius:0 4px 4px 0;width:4px;height:22px;position:absolute;top:50%;left:-16px;transform:translateY(-50%)}.nav-item .dot{background:var(--dot);width:9px;height:9px;box-shadow:0 0 10px var(--dot);border-radius:50%;margin-left:auto}.side-foot{border-top:1px solid var(--border);flex-direction:column;gap:6px;margin-top:auto;padding-top:14px;display:flex}.icon-btn.soon{opacity:.82;position:relative}.icon-btn.soon:after{content:"";background:linear-gradient(135deg,var(--brand-2),var(--brand-3));border:1.5px solid var(--bg);pointer-events:none;border-radius:50%;width:7px;height:7px;position:absolute;top:4px;right:4px}.top{z-index:40;padding:max(16px, calc(env(safe-area-inset-top) + 8px)) max(18px, env(safe-area-inset-right)) 16px max(18px, env(safe-area-inset-left));background:color-mix(in srgb,var(--bg) 72%,transparent);-webkit-backdrop-filter:var(--glass);border-bottom:1px solid var(--border);align-items:center;gap:14px;display:flex;position:sticky;top:0}@media (width>=1000px){.top{padding:max(22px, calc(env(safe-area-inset-top) + 8px)) max(34px, env(safe-area-inset-right)) 22px max(34px, env(safe-area-inset-left))}}.top .hello{min-width:0}.top .hello h1{letter-spacing:-.01em;font-family:Bricolage Grotesque;font-size:clamp(20px,4.5vw,30px);font-weight:700;line-height:1.05}.top .hello p{color:var(--fg-2);letter-spacing:.02em;margin-top:2px;font-family:JetBrains Mono;font-size:12.5px}.top .sp{flex:1}.icon-btn{background:var(--surface);border:1px solid var(--border);width:42px;height:42px;color:var(--fg-2);transition:transform var(--t-fast),color var(--t-fast),background var(--t-fast);border-radius:13px;place-items:center;display:grid}.icon-btn svg{width:20px;height:20px}.icon-btn:hover{color:var(--fg);background:var(--surface-2)}.icon-btn:active{transform:scale(.92)}.icon-btn.live{color:var(--fg);border-color:var(--border-2)}.btn{background:var(--surface);border:1px solid var(--border);transition:transform var(--t-fast),background var(--t-fast);border-radius:13px;align-items:center;gap:8px;padding:11px 18px;font-size:14px;font-weight:700;display:inline-flex}.btn svg{width:18px;height:18px}.btn:active{transform:scale(.96)}.btn.primary{background:var(--brand-grad);color:#fff;border:none;box-shadow:0 8px 22px -8px #8b5cffb3}.btn.solid{background:var(--fg);color:var(--bg);border:none}.avatar{background:var(--brand-grad);color:#fff;border:2px solid var(--border-2);border-radius:50%;place-items:center;width:42px;height:42px;font-size:15px;font-weight:800;display:grid}.avatar.unset{background:var(--surface-2);color:var(--fg-3)}.main{flex-direction:column;min-width:0;padding-bottom:104px;display:flex}@media (width>=1000px){.main{padding-bottom:34px}}.view{max-width:var(--maxw);width:100%;margin:0 auto;padding:20px 16px 0}@media (width>=1000px){.view{padding:30px 34px 0}}.section-h{align-items:baseline;gap:12px;margin:6px 2px 16px;display:flex}.section-h h2{letter-spacing:-.01em;font-family:Bricolage Grotesque;font-size:20px;font-weight:700}.section-h .lbl{letter-spacing:.2em;color:var(--fg-3);text-transform:uppercase;font-family:JetBrains Mono;font-size:10px}.section-h .sp{flex:1}.section-h a,.section-h button{color:var(--fg-2);font-size:13px;font-weight:600}.bento{grid-template-columns:repeat(var(--cols,2),1fr);grid-auto-rows:var(--rh,160px);grid-auto-flow:dense;gap:14px;display:grid}@media (width>=700px){.bento{--cols:3;--rh:168px;gap:16px}}@media (width>=1100px){.bento{--cols:4;--rh:176px}}.widget{grid-area:span 1/span 1}.widget.m{grid-column:span 2}.widget.l{grid-area:span 2/span 2}.add-tile{grid-column:span 1}@media (width<=520px){.widget.m,.widget.l{grid-column:span 2}}.widget{border-radius:var(--r-md);background:var(--surface);border:1px solid var(--border);height:100%;-webkit-backdrop-filter:var(--glass);box-shadow:var(--shadow);transition:transform var(--t) var(--ease),box-shadow var(--t),border-color var(--t);cursor:pointer;-webkit-tap-highlight-color:transparent;flex-direction:column;padding:16px;display:flex;position:relative;overflow:hidden}@media (hover:hover) and (pointer:fine){.widget:hover{box-shadow:var(--shadow-lg);border-color:var(--border-2);transform:translateY(-3px)}}.widget:active{transform:scale(.985)}.widget .glow{opacity:.16;pointer-events:none;background:radial-gradient(120% 90% at 100% 0%,var(--c1),transparent 60%);position:absolute;inset:0}.widget .wtop{z-index:1;align-items:center;gap:9px;margin-bottom:10px;display:flex;position:relative}.widget .wicon{background:linear-gradient(135deg,var(--c1),var(--c2));color:#0a0a0e;width:30px;height:30px;box-shadow:0 4px 12px -3px var(--c1);border-radius:9px;flex:none;place-items:center;display:grid}[data-theme=light] .widget .wicon{color:#fff}.widget .wicon svg{width:17px;height:17px}.widget .wtitle{color:var(--fg-2);letter-spacing:.01em;white-space:nowrap;text-overflow:ellipsis;font-size:12.5px;font-weight:700;overflow:hidden}.widget .wbody{z-index:1;flex-direction:column;flex:1;min-height:0;display:flex;position:relative}.metric{letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-family:Bricolage Grotesque;font-weight:700;line-height:1}.metric.big{font-size:clamp(30px,7vw,46px)}.metric .u{color:var(--fg-2);margin-left:3px;font-size:.42em;font-weight:600}.sub{color:var(--fg-2);margin-top:5px;font-size:12px}.delta{border-radius:999px;align-items:center;gap:3px;padding:2px 7px;font-family:JetBrains Mono;font-size:11px;font-weight:600;display:inline-flex}.delta.up{color:var(--good);background:color-mix(in srgb,var(--good) 16%,transparent)}.delta.down{color:var(--bad);background:color-mix(in srgb,var(--bad) 16%,transparent)}.delta.flat{color:var(--fg-2);background:var(--surface-2)}.spark{width:100%;margin-top:auto;display:block}.barrow{align-items:flex-end;gap:5px;height:100%;margin-top:auto;display:flex}.barrow .bar{background:linear-gradient(180deg,var(--c1),var(--c2));opacity:.9;min-height:6px;transition:height var(--t-slow) var(--ease);border-radius:5px 5px 3px 3px;flex:1}.barrow .bar.dim{background:var(--surface-2)}.pbar{background:var(--surface-2);border-radius:999px;height:8px;margin-top:6px;overflow:hidden}.pbar i{background:linear-gradient(90deg,var(--c1),var(--c2));height:100%;transition:width var(--t-slow) var(--ease);border-radius:999px;display:block}.chips{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.chip{background:var(--surface-2);color:var(--fg-2);border:1px solid var(--border);border-radius:999px;padding:4px 9px;font-size:11px;font-weight:600}.quote-body{color:var(--fg);letter-spacing:-.005em;font-family:Bricolage Grotesque;font-size:16px;font-style:italic;font-weight:500;line-height:1.5}.quote-attrib{color:var(--fg-2);text-transform:uppercase;letter-spacing:.08em;margin-top:8px;font-family:Plus Jakarta Sans;font-size:11px;font-weight:600}.weekdots{gap:6px;margin-top:auto;display:flex}.weekdots span{aspect-ratio:1;background:var(--surface-2);color:var(--fg-3);border-radius:7px;flex:1;place-items:center;font-family:JetBrains Mono;font-size:10px;display:grid}.weekdots span.f{background:linear-gradient(135deg,var(--c1),var(--c2));color:#0a0a0e}.heat{grid-template-columns:repeat(13,1fr);gap:3px;margin-top:auto;display:grid}.heat i{aspect-ratio:1;background:var(--surface-2);border-radius:3px}.checkline{border-top:1px solid var(--border);align-items:center;gap:10px;padding:7px 0;display:flex}.checkline:first-child{border-top:none}.cbox{border:2px solid var(--border-2);width:22px;height:22px;transition:background var(--t-fast),border-color var(--t-fast);border-radius:7px;flex:none;place-items:center;display:grid}.cbox svg{opacity:0;width:13px;height:13px;transition:opacity var(--t-fast),transform var(--t-fast);transform:scale(.5)}.checkline.done .cbox{background:linear-gradient(135deg,var(--c1),var(--c2));border-color:#0000}.checkline.done .cbox svg{opacity:1;color:#0a0a0e;transform:scale(1)}.checkline .ctext{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:13.5px;font-weight:600;overflow:hidden}.checkline.done .ctext{color:var(--fg-3);text-decoration:line-through}.checkline .hglyph{width:22px;height:22px;color:var(--habit-1);transition:opacity var(--t-fast);flex:none;place-items:center;display:grid}.checkline.done .hglyph{opacity:.45}.checkline .hedit{width:30px;height:30px;color:var(--fg-3);opacity:.55;transition:opacity var(--t-fast),background var(--t-fast);background:0 0;border-radius:9px}.checkline .hedit:hover{opacity:1;background:var(--surface-2)}.icon-grid{grid-template-columns:repeat(5,1fr);gap:8px;display:grid}.icon-pick{aspect-ratio:1;background:var(--surface-2);border:1.5px solid var(--border);color:var(--fg-2);transition:color var(--t-fast),border-color var(--t-fast),background var(--t-fast);border-radius:12px;place-items:center;display:grid}.icon-pick:hover{color:var(--fg);border-color:var(--border-2)}.icon-pick.on{background:linear-gradient(135deg,var(--c1,var(--habit-1)),var(--c2,var(--habit-2)));color:#0a0a0e;border-color:#0000}.ring{place-items:center;display:grid;position:relative}.ring svg{transform:rotate(-90deg)}.ring .rc-bg{fill:none;stroke:var(--surface-2)}.ring .rc-fg{fill:none;stroke-linecap:round;transition:stroke-dashoffset var(--t-slow) var(--ease)}.ring .rval{text-align:center;position:absolute}.ring .rval b{font-variant-numeric:tabular-nums;letter-spacing:-.02em;font-family:Bricolage Grotesque;font-weight:700;display:block}.ring .rval small{letter-spacing:.01em;color:var(--fg-2);font-family:Plus Jakarta Sans;font-size:10px;font-weight:600}.editing .widget{cursor:grab;animation:.85s ease-in-out infinite jiggle}.editing .widget:nth-child(2n){animation-delay:-.36s}.editing .widget:nth-child(3n){animation-delay:-.64s}@keyframes jiggle{0%,to{transform:rotate(-.55deg)}50%{transform:rotate(.55deg)}}.editing .widget:hover{transform:none}.editing .widget{overflow:visible}.w-ctrl{z-index:5;display:none;position:absolute}.editing .w-ctrl{display:grid}.w-remove{background:var(--bad);color:#fff;border:2px solid var(--bg);cursor:pointer;border-radius:50%;place-items:center;width:30px;height:30px;top:-10px;left:-10px;box-shadow:0 4px 12px #00000080}.w-remove:before{content:"";border-radius:50%;position:absolute;inset:-7px}.w-remove svg{width:15px;height:15px}.w-size{background:var(--surface-solid);border:1px solid var(--border-2);height:28px;color:var(--fg);box-shadow:var(--shadow);border-radius:999px;place-items:center;padding:0 11px;font-family:JetBrains Mono;font-size:11px;font-weight:600;bottom:10px;right:10px}.widget.drag-ghost{z-index:200;pointer-events:none;width:var(--gw);height:var(--gh);box-shadow:var(--shadow-lg);opacity:.96;animation:none;position:fixed;transform:scale(1.04)rotate(1.5deg)}.widget.placeholder{opacity:0}.add-tile{border:2px dashed var(--border-2);border-radius:var(--r-md);color:var(--fg-2);min-height:var(--rh,160px);transition:border-color var(--t-fast),color var(--t-fast),background var(--t-fast);cursor:pointer;background:0 0;place-items:center;gap:6px;display:grid}.add-tile:hover{border-color:var(--brand-2);color:var(--fg);background:var(--surface)}.add-tile svg{width:26px;height:26px}.add-tile span{font-size:13px;font-weight:700}.edit-banner{border-radius:var(--r-md);background:var(--surface);border:1px solid var(--border-2);align-items:center;gap:12px;margin-bottom:14px;padding:12px 16px;display:flex}.edit-banner b{font-family:Bricolage Grotesque}.edit-banner p{color:var(--fg-2);font-size:12.5px}.tabbar{z-index:50;padding:9px 10px calc(9px + env(safe-area-inset-bottom));background:color-mix(in srgb,var(--bg) 78%,transparent);-webkit-backdrop-filter:var(--glass);border-top:1px solid var(--border);gap:2px;display:flex;position:fixed;bottom:0;left:0;right:0}@media (width>=1000px){.tabbar{display:none}}.tab{color:var(--fg-3);transition:color var(--t-fast);border-radius:12px;flex-direction:column;flex:1;align-items:center;gap:3px;padding:6px 0;font-size:10px;font-weight:600;display:flex}.tab svg{width:23px;height:23px}.tab.on{color:var(--fg)}.tab.on svg{color:var(--dot)}.fab{right:18px;bottom:calc(82px + env(safe-area-inset-bottom));z-index:50;background:var(--brand-grad);color:#fff;width:56px;height:56px;transition:transform var(--t) var(--spring);border-radius:19px;place-items:center;display:grid;position:fixed;box-shadow:0 12px 30px -8px #8b5cffcc}.fab svg{width:26px;height:26px}.fab:active{transform:scale(.96)}@media (width>=1000px){.fab{display:none}}.scrim{z-index:90;background:var(--scrim);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);opacity:0;pointer-events:none;transition:opacity var(--t);position:fixed;inset:0}.scrim.show{opacity:1;pointer-events:auto}body[data-sheet=open]{overflow:hidden}body[data-sheet=open] .top,body[data-sheet=open] .side,body[data-sheet=open] .main,body[data-sheet=open] .tabbar,body[data-sheet=open] .fab,body[data-sheet=open] .toast,body[data-sheet=open] .sess-pill,body[data-sheet=open] .rest-pill,body[data-sheet=open] .verify-banner,body[data-sheet=open] .report-chip-label,body[data-sheet=open] .home-prompt{pointer-events:none}.sheet{z-index:100;background:var(--surface-solid);border-radius:var(--r-xl) var(--r-xl) 0 0;border:1px solid var(--border);max-height:90dvh;transition:transform var(--t-slow) var(--ease);box-shadow:var(--shadow-lg);padding-bottom:env(safe-area-inset-bottom);border-bottom:none;flex-direction:column;display:flex;position:fixed;bottom:0;left:0;right:0;transform:translateY(101%)}.sheet.show{transform:translateY(0)}@media (width<=759.98px){.sheet.is-closing{transition:transform var(--t) var(--ease)}}@media (width>=760px){.sheet{border-radius:var(--r-lg);border-bottom:1px solid var(--border);opacity:0;width:min(560px,94vw);max-height:88dvh;transition:transform var(--t) var(--spring),opacity var(--t);inset:50% auto auto 50%;transform:translate(-50%,-50%)scale(.96)}.sheet.show{opacity:1;transform:translate(-50%,-50%)scale(1)}}.grab{background:var(--border-2);border-radius:999px;flex:none;width:42px;height:5px;margin:11px auto 4px}@media (width>=760px){.grab{display:none}}.sheet-h{border-bottom:1px solid var(--border);flex:none;align-items:center;gap:12px;padding:14px 20px;display:flex}.sheet-h h3{flex:1;font-family:Bricolage Grotesque;font-size:19px;font-weight:700}.sheet-h .icon-btn{background:var(--surface-2);border-color:var(--border-2);color:var(--fg)}.sheet-h .icon-btn:hover{background:color-mix(in srgb,var(--bad) 14%,var(--surface-2));color:var(--bad)}.sheet-body{-webkit-overflow-scrolling:touch;padding:18px 20px 24px;overflow-y:auto}.sheet-cta-sticky{padding:14px 20px calc(14px + env(safe-area-inset-bottom));background:color-mix(in srgb,var(--surface-solid) 88%,transparent);-webkit-backdrop-filter:var(--glass);backdrop-filter:var(--glass);border-top:1px solid var(--border);margin:-18px -20px -24px;position:sticky;bottom:0}.gallery{grid-template-columns:1fr 1fr;gap:12px;display:grid}@media (width>=560px){.gallery{grid-template-columns:1fr 1fr 1fr}}.gcard{border-radius:var(--r-md);border:1px solid var(--border);background:var(--surface);text-align:left;transition:transform var(--t-fast),border-color var(--t-fast);padding:13px;position:relative;overflow:hidden}.gcard:hover{border-color:var(--border-2);transform:translateY(-2px)}.gcard:active{transform:scale(.97)}.gcard .gi{background:linear-gradient(135deg,var(--c1),var(--c2));color:#0a0a0e;border-radius:10px;place-items:center;width:34px;height:34px;margin-bottom:38px;display:grid}.gcard .gi svg{width:19px;height:19px}.gcard b{font-size:13.5px;display:block}.gcard small{color:var(--fg-2);font-size:11px}.gcard .gsz{color:var(--fg-3);letter-spacing:.1em;font-family:JetBrains Mono;font-size:9px;position:absolute;top:13px;right:13px}.field{margin-bottom:16px}.field label{color:var(--fg);letter-spacing:0;margin-bottom:6px;font-family:Plus Jakarta Sans;font-size:13px;font-weight:600;display:block}.input{background:var(--surface);border:1px solid var(--border-2);width:100%;transition:border-color var(--t-fast);border-radius:13px;padding:13px 15px;font-size:16px;font-weight:600}.input:focus{border-color:var(--brand-2);outline:none}.seg{background:var(--surface);border:1px solid var(--border);border-radius:14px;gap:6px;padding:5px;display:flex}.seg button{color:var(--fg-2);transition:background var(--t-fast),color var(--t-fast),box-shadow var(--t-fast);border-radius:10px;flex:1;padding:10px;font-size:13px;font-weight:600}.seg button.on{background:var(--surface-solid);color:var(--fg);box-shadow:var(--shadow)}.tokens{flex-wrap:wrap;gap:8px;display:flex}.token{background:var(--surface);border:1px solid var(--border-2);color:var(--fg-2);transition:background var(--t-fast),color var(--t-fast),border-color var(--t-fast);border-radius:999px;padding:9px 15px;font-size:13.5px;font-weight:600}.token.on{background:linear-gradient(135deg,var(--c1,var(--brand-2)),var(--c2,var(--brand-3)));color:#fff;border-color:#0000}.wheels{justify-content:center;align-items:stretch;gap:10px;margin:6px 0 4px;display:flex}.wheel{background:var(--surface);border:1px solid var(--border);border-radius:18px;flex:1;max-width:160px;height:200px;position:relative;overflow:hidden;-webkit-mask-image:linear-gradient(#0000,#000 26% 74%,#0000);mask-image:linear-gradient(#0000,#000 26% 74%,#0000)}.wheel .track{scroll-snap-type:y mandatory;scrollbar-width:none;text-align:center;touch-action:pan-y;overscroll-behavior:contain;height:100%;position:absolute;left:0;right:0;overflow:hidden scroll}.wheel .track::-webkit-scrollbar{display:none}.wheel .it{scroll-snap-align:center;font-variant-numeric:tabular-nums;height:40px;color:var(--fg-3);transition:color var(--t-fast),transform var(--t-fast);font-family:Bricolage Grotesque;font-size:21px;font-weight:600;line-height:40px}.wheel .it.sel{color:var(--fg);transform:scale(1.18)}.wheel-center{background:linear-gradient(90deg,color-mix(in srgb,var(--c1,var(--train-1)) 22%,transparent),color-mix(in srgb,var(--c2,var(--train-2)) 22%,transparent));border:1px solid var(--border-2);pointer-events:none;border-radius:11px;height:40px;position:absolute;top:50%;left:8px;right:8px;transform:translateY(-50%)}.wheel-cap{text-align:center;letter-spacing:0;color:var(--fg-2);margin-top:8px;font-family:Plus Jakarta Sans;font-size:10px;font-weight:600}.wheel-hint{text-align:center;color:var(--fg-2);margin-top:10px;font-size:12px}.wheel-hint b{color:var(--fg)}body[data-auth=out] .app,body[data-auth=out] .aura,body[data-auth=out] #scrim,body[data-auth=out] #sheet,body[data-auth=out] #tabbar,body[data-auth=out] .fab{display:none!important}#signIn{z-index:100;background:radial-gradient(120% 80% at 50% 0%, color-mix(in srgb, var(--brand-2) 18%, var(--bg)) 0%, var(--bg) 60%);place-items:center;padding:24px;display:grid;position:fixed;inset:0}.auth-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);width:100%;max-width:380px;box-shadow:var(--shadow);text-align:center;animation:rise .35s var(--ease) both;padding:28px}.auth-mark{background:linear-gradient(140deg,var(--brand-2),var(--brand-3));width:54px;height:54px;box-shadow:0 8px 24px color-mix(in srgb,var(--brand-2) 32%,transparent);border-radius:16px;margin:0 auto 18px}.auth-tick{background:color-mix(in srgb,var(--good) 18%,var(--surface-2));width:54px;height:54px;color:var(--good);border-radius:50%;place-items:center;margin:0 auto 18px;font-size:30px;font-weight:700;display:grid}.auth-card h1{letter-spacing:-.01em;margin-bottom:8px;font-family:Bricolage Grotesque;font-size:26px;font-weight:700}.auth-sub{color:var(--fg-2);margin-bottom:22px;font-size:13.5px;line-height:1.5}.auth-form{flex-direction:column;gap:12px;display:flex}.auth-input{border-radius:var(--r-md);background:var(--surface-2);border:1px solid var(--border);width:100%;color:var(--fg);font:inherit;transition:border-color var(--t-fast);outline:none;padding:13px 14px;font-size:14.5px}.auth-input:focus{border-color:var(--brand-2)}.auth-btn{border-radius:var(--r-md);color:#fff;font:inherit;background:linear-gradient(135deg,var(--brand-2),var(--brand-3));cursor:pointer;transition:transform var(--t-fast),opacity var(--t-fast);border:none;padding:13px 14px;font-size:14.5px;font-weight:600}.auth-btn:hover:not(:disabled){transform:translateY(-1px)}.auth-btn:disabled{opacity:.55;cursor:not-allowed}.auth-msg{background:var(--surface-2);color:var(--fg-2);border-radius:10px;margin-top:4px;padding:8px 10px;font-size:12.5px}.auth-msg[data-kind=bad]{color:var(--bad);background:color-mix(in srgb,var(--bad) 10%,var(--surface-2))}.auth-foot{color:var(--fg-3);margin-top:18px;font-size:12px;line-height:1.5}.auth-foot a{color:var(--brand-2);cursor:pointer;text-decoration:none}.auth-foot a:hover{text-decoration:underline}.auth-divider{color:var(--fg-3);align-items:center;gap:12px;margin:18px 0;font-size:12px;display:flex}.auth-divider:before,.auth-divider:after{content:"";background:var(--border);flex:1;height:1px}.auth-google{justify-content:center;min-height:44px;display:flex}.auth-fine{color:var(--fg-3);text-align:center;margin-top:14px;font-size:11px;line-height:1.5}.auth-fine a{color:var(--brand-2);text-decoration:none}.auth-fine a:hover{text-decoration:underline}.auth-row{align-items:center;gap:10px;display:flex}.auth-row .auth-input{flex:1}#turnstileMount{justify-content:center;min-height:0;margin:4px 0 0;display:flex}.verify-banner{z-index:90;background:linear-gradient(135deg, color-mix(in srgb,var(--brand-2) 80%,#000) 0%, color-mix(in srgb,var(--brand-3) 80%,#000) 100%);color:#fff;justify-content:center;align-items:center;gap:14px;padding:10px 14px;font-size:13px;font-weight:500;display:flex;position:fixed;top:0;left:0;right:0;box-shadow:0 4px 18px #0000002e}.verify-banner button{color:#fff;font:inherit;cursor:pointer;background:#ffffff2e;border:none;border-radius:8px;padding:6px 12px;font-size:12px}.verify-banner button:hover{background:#ffffff47}.verify-banner .vb-close{opacity:.7;background:0 0;padding:4px 8px}body[data-verify=banner] .top,body[data-verify=banner] #sidenav{top:42px}body[data-verify=banner] .view{padding-top:54px}.install-prompt{padding:6px 0 2px}.install-prompt h3{margin-bottom:8px;font-family:Bricolage Grotesque;font-size:18px;font-weight:700}.install-prompt p{color:var(--fg-2);margin-bottom:14px;font-size:13.5px;line-height:1.55}.install-prompt code{background:var(--surface-2);border-radius:6px;padding:2px 6px;font-family:JetBrains Mono;font-size:12px}.onb-cover{z-index:160;background:var(--bg);padding:max(28px,env(safe-area-inset-top,28px)) 22px max(28px,env(safe-area-inset-bottom,28px));flex-direction:column;animation:.35s ease-out both onb-in;display:flex;position:fixed;inset:0;overflow-y:auto}@keyframes onb-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.onb-cover h1{letter-spacing:-.01em;margin-bottom:10px;font-family:Bricolage Grotesque;font-size:30px;font-weight:800;line-height:1.1}.onb-cover .onb-sub{color:var(--fg-2);margin-bottom:24px;font-size:14.5px;line-height:1.55}.onb-cover .onb-body{flex-direction:column;flex:1;gap:14px;width:100%;max-width:540px;margin:0 auto;display:flex}.onb-cover .onb-foot{gap:10px;width:100%;max-width:540px;margin-top:18px;margin-left:auto;margin-right:auto;display:flex}.onb-cover .onb-foot .btn{flex:1;justify-content:center}.onb-step{border-radius:var(--r-md);background:var(--surface);border:1px solid var(--border);align-items:flex-start;gap:14px;padding:14px 16px;display:flex}.onb-step .onb-num{background:linear-gradient(135deg,var(--brand-2),var(--brand-3));color:#fff;width:30px;height:30px;box-shadow:0 4px 12px color-mix(in srgb,var(--brand-3) 30%,transparent);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:13px;font-weight:700;display:flex}.onb-step .onb-txt{color:var(--fg);padding-top:4px;font-size:13.5px;line-height:1.55}.onb-step .onb-txt b{color:var(--fg);font-weight:700}.onb-step .onb-txt code{background:var(--surface-2);color:var(--fg);border-radius:6px;padding:2px 6px;font-family:JetBrains Mono;font-size:12px}.onb-plat{text-transform:uppercase;letter-spacing:.08em;color:var(--fg-3);background:var(--surface-2);border:1px solid var(--border);border-radius:999px;margin-bottom:8px;padding:4px 10px;font-size:11px;display:inline-block}.tour-card{text-align:center;flex-direction:column;align-items:center;width:100%;max-width:480px;margin:auto auto 0;padding:8px 4px;display:flex}.tour-card .tour-glyph{background:linear-gradient(135deg,var(--brand-2),var(--brand-3));color:#fff;width:96px;height:96px;box-shadow:0 16px 36px color-mix(in srgb,var(--brand-3) 30%,transparent);border-radius:50%;justify-content:center;align-items:center;margin-bottom:24px;display:flex}.tour-card h2{letter-spacing:-.01em;margin-bottom:12px;font-family:Bricolage Grotesque;font-size:26px;font-weight:800;line-height:1.15}.tour-card .tour-body{color:var(--fg-2);max-width:380px;margin-bottom:22px;font-size:14.5px;line-height:1.6}.tour-dots{justify-content:center;gap:8px;margin-bottom:22px;display:flex}.tour-dots span{background:var(--border-2);border-radius:50%;width:8px;height:8px;transition:background .2s,transform .2s}.tour-dots span.on{background:linear-gradient(135deg,var(--brand-2),var(--brand-3));transform:scale(1.2)}.tour-skip{top:max(18px,env(safe-area-inset-top,18px));color:var(--fg-3);font:inherit;cursor:pointer;background:0 0;border:none;border-radius:8px;padding:6px 10px;font-size:13px;position:absolute;right:18px}.tour-skip:hover{color:var(--fg-2);background:var(--surface)}.lp-cover{z-index:170;background:var(--bg);padding:max(36px,env(safe-area-inset-top,36px)) 22px max(28px,env(safe-area-inset-bottom,28px));flex-direction:column;animation:.4s ease-out both lp-in;display:flex;position:fixed;inset:0;overflow-y:auto}@keyframes lp-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.lp-inner{flex-direction:column;flex:1;gap:28px;width:100%;max-width:540px;margin:0 auto;display:flex}.lp-hero{text-align:center;padding:8px 0 4px}.lp-mark{letter-spacing:-.02em;background:linear-gradient(135deg,var(--brand-2),var(--brand-3));color:#0000;-webkit-background-clip:text;background-clip:text;margin-bottom:14px;font-family:Bricolage Grotesque;font-size:48px;font-weight:800;line-height:1}.lp-tag{color:var(--fg);letter-spacing:-.01em;margin-bottom:10px;font-family:Bricolage Grotesque;font-size:22px;font-weight:700;line-height:1.2}.lp-sub{color:var(--fg-2);max-width:380px;margin:0 auto;font-size:14.5px;line-height:1.55}.lp-shots{justify-content:center;gap:10px;padding:4px 0;display:flex}.lp-shot{aspect-ratio:9/19;background:var(--surface);border:1px solid var(--border);max-width:140px;box-shadow:0 18px 38px color-mix(in srgb,var(--brand-3) 18%,transparent), 0 2px 6px #0000002e;border-radius:18px;flex:1;overflow:hidden}.lp-shot img{object-fit:cover;width:100%;height:100%;display:block}.lp-shot:first-child{transform:translateY(8px)rotate(-3deg)}.lp-shot:nth-child(2){transform:translateY(-4px)}.lp-shot:nth-child(3){transform:translateY(8px)rotate(3deg)}.lp-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg,18px);flex-direction:column;gap:14px;padding:22px 20px;display:flex}.lp-card .lp-plat{text-transform:uppercase;letter-spacing:.08em;color:var(--fg-3);background:var(--surface-2);border:1px solid var(--border);border-radius:999px;align-self:flex-start;padding:4px 10px;font-size:11px;display:inline-block}.lp-card h2{color:var(--fg);letter-spacing:-.01em;font-family:Bricolage Grotesque;font-size:22px;font-weight:800;line-height:1.2}.lp-card .lp-card-sub{color:var(--fg-2);margin-top:-6px;font-size:13.5px;line-height:1.55}.lp-step{align-items:flex-start;gap:12px;display:flex}.lp-step .lp-num{background:linear-gradient(135deg,var(--brand-2),var(--brand-3));color:#fff;width:28px;height:28px;box-shadow:0 4px 10px color-mix(in srgb,var(--brand-3) 28%,transparent);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:12.5px;font-weight:700;display:flex}.lp-step .lp-txt{color:var(--fg);padding-top:3px;font-size:13.5px;line-height:1.55}.lp-step .lp-txt b{font-weight:700}.lp-step .lp-txt code{background:var(--surface-2);color:var(--fg);border-radius:6px;padding:2px 6px;font-family:JetBrains Mono;font-size:12px}.lp-card .btn{justify-content:center}.lp-already{color:var(--fg-3);text-align:center;border-top:1px solid var(--border);margin-top:6px;padding-top:12px;font-size:12.5px}.lp-qr{justify-content:center;padding:8px 0 4px;display:flex}.lp-qr svg{border:1px solid var(--border);background:#fff;border-radius:12px;width:160px;height:160px;padding:10px}.lp-verified-glyph{color:#fff;background:linear-gradient(135deg,#34d399,#10b981);border-radius:50%;justify-content:center;align-self:center;align-items:center;width:72px;height:72px;display:flex;box-shadow:0 12px 28px #10b98147}.lp-verified-glyph svg{stroke:#fff;stroke-width:3px;width:36px;height:36px}.lp-foot{color:var(--fg-3);flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;padding:6px 0 2px;font-size:11.5px;display:flex}.lp-foot .lp-ver{background:var(--surface-2);border:1px solid var(--border);border-radius:999px;padding:3px 8px;font-family:JetBrains Mono}.lp-foot a{color:var(--fg-3);text-underline-offset:2px;text-decoration:underline}.lp-foot a:hover{color:var(--fg-2)}@media (width>=721px){.lp-cover{padding-top:max(60px,env(safe-area-inset-top,60px))}.lp-mark{font-size:64px}.lp-tag{font-size:28px}.lp-shots{display:none}}.home-prompt{border-radius:var(--r-md);background:linear-gradient(135deg,color-mix(in srgb,var(--brand-2) 14%,var(--surface)) 0%,color-mix(in srgb,var(--brand-3) 14%,var(--surface)) 100%);border:1px solid color-mix(in srgb,var(--brand-3) 30%,var(--border));flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:14px;padding:12px 14px;display:flex}.home-prompt .hp-glyph{background:linear-gradient(135deg,var(--brand-2),var(--brand-3));color:#fff;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;display:flex}.home-prompt .hp-body{min-width:160px;color:var(--fg);flex:1;font-size:13px;line-height:1.4}.home-prompt .hp-body b{margin-bottom:2px;font-size:13.5px;font-weight:700;display:block}.home-prompt .hp-x{color:var(--fg-3);cursor:pointer;background:0 0;border:none;border-radius:8px;flex-shrink:0;padding:4px 10px;font-size:20px;line-height:1}.home-prompt .hp-x:hover{color:var(--fg-2)}.home-prompt .btn{padding:8px 14px;font-size:12.5px;font-weight:600}.report-chip-label{top:max(72px,env(safe-area-inset-top,72px));z-index:80;background:linear-gradient(135deg,var(--brand-2),var(--brand-3));color:#fff;box-shadow:0 8px 22px color-mix(in srgb,var(--brand-3) 32%,transparent);cursor:pointer;border:none;border-radius:999px;align-items:center;gap:6px;padding:9px 14px;font-family:inherit;font-size:12.5px;font-weight:600;animation:.4s ease-out both rcl-in,2.6s ease-in-out 1.2s infinite rcl-pulse;display:flex;position:fixed;right:16px}.report-chip-label svg{stroke:#fff;width:14px;height:14px}@keyframes rcl-in{0%{opacity:0;transform:translateY(-8px)scale(.92)}to{opacity:1;transform:none}}@keyframes rcl-pulse{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}body[data-verify=banner] .report-chip-label{top:max(110px,env(safe-area-inset-top,110px))}@media (width>=721px){.report-chip-label{display:none}}.faq-item{border-top:1px solid var(--border);padding:14px 2px}.faq-item:first-child{border-top:none;padding-top:6px}.faq-q{color:var(--fg);cursor:pointer;justify-content:space-between;align-items:center;padding:4px 0;font-size:14px;font-weight:600;list-style:none;display:flex}.faq-q::-webkit-details-marker{display:none}.faq-q:after{content:"+";color:var(--fg-3);margin-left:12px;font-size:20px;font-weight:300;line-height:1;transition:transform .15s}details[open] .faq-q:after{transform:rotate(45deg)}.faq-a{color:var(--fg-2);padding:10px 0 2px;font-size:13.5px;line-height:1.6}.faq-a b{color:var(--fg);font-weight:600}.stat-row{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;margin-bottom:16px;display:grid}.stat{border-radius:var(--r-md);background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);padding:15px}.stat .k{letter-spacing:0;color:var(--fg-2);font-family:Plus Jakarta Sans;font-size:12px;font-weight:600}.stat .v{font-variant-numeric:tabular-nums;margin-top:6px;font-family:Bricolage Grotesque;font-size:27px;font-weight:700}.hero-stat{margin-bottom:8px;padding:14px 4px 22px}.hero-num{letter-spacing:-.022em;font-variant-numeric:tabular-nums;color:var(--fg);flex-wrap:wrap;align-items:baseline;gap:6px;font-family:Bricolage Grotesque;font-size:clamp(48px,11.5vw,68px);font-weight:700;line-height:.96;display:flex}.hero-num .hero-unit{color:var(--fg-2);letter-spacing:0;margin-left:4px;font-family:Plus Jakarta Sans;font-size:.34em;font-weight:600}.hero-num .hero-sub{color:var(--fg-3);letter-spacing:-.01em;margin-left:6px;font-family:Bricolage Grotesque;font-size:.5em;font-weight:600}.hero-cap{color:var(--fg-2);max-width:560px;margin-top:10px;font-family:Plus Jakarta Sans;font-size:13.5px;font-weight:500;line-height:1.45}.hero-cap b{color:var(--fg);font-variant-numeric:tabular-nums;font-weight:600}.hero-pills{flex-wrap:wrap;gap:7px;margin-top:14px;display:flex}.hero-pills .pill{background:var(--surface-2);border:1px solid var(--border);color:var(--fg-2);font-variant-numeric:tabular-nums;border-radius:999px;align-items:center;gap:6px;padding:6px 11px;font-size:12px;font-weight:500;line-height:1.2;display:inline-flex}.hero-pills .pill b{color:var(--fg);font-weight:600}.hero-pills .pill svg{width:13px;height:13px;color:var(--fg-3);flex:none}.panel{border-radius:var(--r-lg);background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);margin-bottom:16px;padding:18px}.panel-h{align-items:center;gap:10px;margin-bottom:14px;display:flex}.panel-h h3{flex:1;font-family:Bricolage Grotesque;font-size:17px;font-weight:700}.list-row{border-top:1px solid var(--border);align-items:center;gap:13px;padding:13px 0;display:flex}.list-row:first-child{border-top:none}.list-row .li-ic{background:var(--surface-2);border-radius:11px;flex:none;place-items:center;width:38px;height:38px;display:grid}.list-row .li-ic svg{width:19px;height:19px;color:var(--fg-2)}.list-row .li-main{flex:1;min-width:0}.list-row .li-main b{font-size:14.5px;font-weight:700;display:block}.list-row .li-main small{color:var(--fg-2);font-size:12px}.list-row .li-val{font-variant-numeric:tabular-nums;text-align:right;font-family:JetBrains Mono;font-weight:600}.li-val.pos{color:var(--good)}.exrow{border-radius:var(--r-md);background:var(--surface);border:1px solid var(--border);transition:transform var(--t-fast),border-color var(--t-fast);cursor:pointer;align-items:center;gap:12px;margin-bottom:10px;padding:14px;display:flex}.exrow:hover{border-color:var(--border-2);transform:translate(3px)}.exrow .ex-prog{flex:none;width:46px;height:46px}.exrow .ex-prog .rc-bg{stroke:color-mix(in srgb,var(--train-1) 28%,var(--surface-2))}.exrow .ex-main{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex;overflow:hidden}.exrow .ex-main b{white-space:nowrap;text-overflow:ellipsis;font-size:15px;font-weight:700;line-height:1.2;overflow:hidden}.exrow .ex-main small{color:var(--fg-2);white-space:nowrap;text-overflow:ellipsis;font-family:JetBrains Mono;font-size:11.5px;line-height:1.2;overflow:hidden}.exrow .ex-stats{flex:none;align-items:center;gap:6px;display:flex}.exrow .ex-e1rm{background:color-mix(in srgb,var(--train-1) 18%,var(--surface-2));color:var(--train-1);white-space:nowrap;letter-spacing:.02em;border-radius:9px;padding:3px 8px;font-family:JetBrains Mono;font-size:11px;font-weight:600}.exrow .ex-edit{border:1px solid var(--border);width:30px;height:30px;color:var(--fg-3);cursor:pointer;transition:background var(--t-fast),color var(--t-fast);background:0 0;border-radius:9px;flex:none;place-items:center;display:grid}.exrow .ex-edit:hover{background:var(--surface-2);color:var(--fg)}.exrow .ex-edit svg{width:14px;height:14px}.exrow .ex-go{background:var(--surface-2);width:36px;height:36px;color:var(--fg-2);border-radius:11px;flex:none;place-items:center;display:grid}.exrow .ex-go svg{width:16px;height:16px}@media (width<=480px){.exrow{gap:11px;padding:12px}.exrow .ex-prog{width:40px;height:40px}.exrow .ex-e1rm{padding:2px 6px;font-size:10px}.exrow .ex-edit{border-radius:9px;width:30px;height:30px}.exrow .ex-edit svg{width:12px;height:12px}.exrow .ex-go{display:none}}.setline{border-top:1px solid var(--border);font-variant-numeric:tabular-nums;align-items:center;gap:10px;padding:10px 0;display:flex}.setline:first-child{border-top:none}.setline .si{background:var(--surface-2);border-radius:8px;flex:none;place-items:center;width:26px;height:26px;font-family:JetBrains Mono;font-size:12px;font-weight:600;display:grid}.setline .sv{font-family:JetBrains Mono;font-size:14px;font-weight:600}.setline.done .si{background:linear-gradient(135deg,var(--train-1),var(--train-2));color:#0a0a0e}.empty{text-align:center;color:var(--fg-2);padding:40px 20px}.empty svg{width:42px;height:42px;color:var(--fg-3);margin-bottom:12px}.empty b{color:var(--fg);margin-bottom:4px;font-family:Bricolage Grotesque;font-size:17px;display:block}.cat-dot{border-radius:999px;flex:none;width:10px;height:10px;display:inline-block}.cat-bar{background:var(--surface-2);border-radius:999px;height:14px;margin:8px 0 12px;display:flex;overflow:hidden}.cat-bar i{height:100%;display:block}.cat-bar i+i{box-shadow:inset 1px 0 0 var(--bg-2)}.cat-legend{color:var(--fg-2);flex-wrap:wrap;gap:6px 14px;font-size:12.5px;display:flex}.cat-legend .cat-chip{align-items:center;gap:6px;font-family:Plus Jakarta Sans;display:inline-flex}.cat-legend .cat-chip b{color:var(--fg);font-variant-numeric:tabular-nums;font-family:JetBrains Mono;font-weight:600}.budget-row{transition:transform var(--t-fast)}.budget-row:hover{transform:translate(3px)}.budget-row:hover .cat-dot{transform:scale(1.15)}button.list-row{transition:transform var(--t-fast)}button.list-row:hover{transform:translate(3px)}button.list-row .li-ic svg{color:inherit}.toast{left:50%;bottom:calc(96px + env(safe-area-inset-bottom));z-index:120;background:var(--fg);color:var(--bg);opacity:0;pointer-events:none;transition:transform var(--t) var(--spring),opacity var(--t);box-shadow:var(--shadow-lg);border-radius:14px;align-items:center;gap:9px;padding:12px 20px;font-size:13.5px;font-weight:700;display:flex;position:fixed;transform:translate(-50%)translateY(20px)}.toast svg{width:18px;height:18px}.toast.show{opacity:1;transform:translate(-50%)translateY(0)}@media (width>=1000px){.toast{bottom:34px}}.session-bar{border-radius:var(--r-md);background:linear-gradient(135deg,color-mix(in srgb,var(--train-1) 18%,var(--surface)),var(--surface));border:1px solid color-mix(in srgb,var(--train-1) 30%,var(--border));align-items:center;gap:14px;margin-bottom:14px;padding:14px 16px;display:flex}.session-bar .live-dot{background:var(--train-1);width:11px;height:11px;box-shadow:0 0 0 0 var(--train-1);border-radius:50%;flex:none;animation:1.6s ease-out infinite livePulse}@keyframes livePulse{0%{box-shadow:0 0 0 0 color-mix(in srgb,var(--train-1) 60%,transparent)}to{box-shadow:0 0 0 14px #0000}}.session-bar .sess-content{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.session-bar .sess-label{letter-spacing:0;color:var(--fg-2);font-family:Plus Jakarta Sans;font-size:12px;font-weight:600}.session-bar .sess-time{color:var(--fg);font-variant-numeric:tabular-nums;font-family:JetBrains Mono;font-size:26px;font-weight:700;line-height:1.1}.session-bar .sess-actions{flex:none;gap:8px;display:flex}.session-bar .sess-cancel{border:1px solid var(--border-2);color:var(--fg-3);cursor:pointer;transition:color var(--t-fast),border-color var(--t-fast);background:0 0;border-radius:11px;align-items:center;gap:5px;padding:8px 12px;font-family:Plus Jakarta Sans;font-size:12px;font-weight:600;display:inline-flex}.session-bar .sess-cancel:hover{color:var(--bad);border-color:color-mix(in srgb,var(--bad) 50%,var(--border-2))}.session-bar .sess-end{background:linear-gradient(135deg,var(--train-1),var(--train-2));color:#fff;cursor:pointer;box-shadow:0 8px 22px -10px color-mix(in srgb,var(--train-1) 70%,transparent);transition:transform var(--t-fast);border:0;border-radius:11px;align-items:center;gap:6px;padding:10px 16px;font-family:Plus Jakarta Sans;font-size:13px;font-weight:700;display:inline-flex}.session-bar .sess-end:active{transform:scale(.96)}@media (width<=480px){.session-bar{flex-wrap:wrap;gap:10px;padding:12px 14px}.session-bar .sess-time{font-size:22px}.session-bar .sess-actions{border-top:1px solid color-mix(in srgb,var(--train-1) 22%,var(--border));justify-content:flex-end;width:100%;margin-top:2px;padding-top:10px}.session-bar .sess-end{flex:1;justify-content:center}}.sess-hud-backdrop{z-index:199;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);opacity:0;pointer-events:none;transition:opacity var(--t);background:#0000008c;position:fixed;inset:0}.sess-hud-backdrop.show{opacity:1;pointer-events:auto}.sess-hud{z-index:200;background-color:#0a0a0e;background-color:var(--bg);isolation:isolate;opacity:0;pointer-events:none;transition:transform var(--t) var(--spring),opacity var(--t);-webkit-overflow-scrolling:touch;flex-direction:column;display:flex;position:fixed;inset:0;overflow:auto;transform:translateY(20px)}[data-theme=light] .sess-hud{background-color:#f5f5f7;background-color:var(--bg)}.sess-hud.show{opacity:1;pointer-events:auto;transform:translateY(0)}.sess-hud-head{padding:14px 16px;padding-top:calc(14px + env(safe-area-inset-top));border-bottom:1px solid var(--border);background:linear-gradient(135deg,color-mix(in srgb,var(--train-1) 18%,var(--surface)),var(--surface));flex:none;align-items:center;gap:12px;display:flex}.sess-hud-head .sh-meta{flex:1;min-width:0}.sess-hud-head .sh-label{letter-spacing:0;color:var(--fg-2);white-space:nowrap;text-overflow:ellipsis;font-family:Plus Jakarta Sans;font-size:12px;font-weight:600;overflow:hidden}.sess-hud-head .sh-time{color:var(--fg);font-variant-numeric:tabular-nums;letter-spacing:.02em;font-family:JetBrains Mono;font-size:18px;font-weight:700;line-height:1.1}.sess-hud-head .sh-btn{background:var(--surface-2);width:36px;height:36px;color:var(--fg-2);cursor:pointer;transition:background var(--t-fast);border:0;border-radius:11px;flex:none;place-items:center;display:grid}.sess-hud-head .sh-btn:hover{background:color-mix(in srgb,var(--train-1) 14%,var(--surface-2))}.sess-hud-head .sh-btn.sh-close{border:1px solid var(--border-2);color:var(--fg-3);background:0 0}.sess-hud-progress{justify-content:center;gap:8px;padding:18px 16px 6px;display:flex}.sess-hud-progress .sh-dot{background:var(--surface-2);width:10px;height:10px;transition:width var(--t) var(--spring),background var(--t-fast);border-radius:99px}.sess-hud-progress .sh-dot.done{background:color-mix(in srgb,var(--train-1) 50%,var(--surface-2))}.sess-hud-progress .sh-dot.cur{background:linear-gradient(90deg,var(--train-1),var(--train-2));width:28px}.sess-hud-progress-lbl{text-align:center;color:var(--fg-2);letter-spacing:0;margin-bottom:10px;font-family:Plus Jakarta Sans;font-size:12px;font-weight:600}.sh-card{border-radius:var(--r-lg);background:var(--surface);border:1px solid var(--border-2);margin:8px 16px 18px;padding:22px}.sh-card .sh-name{color:var(--fg);margin-right:8px;font-family:Bricolage Grotesque;font-size:26px;font-weight:800;line-height:1.1}.sh-card .sh-erm{background:color-mix(in srgb,var(--train-1) 18%,var(--surface-2));color:var(--train-1);white-space:nowrap;vertical-align:middle;border-radius:9px;padding:3px 8px;font-family:JetBrains Mono;font-size:11px;font-weight:600;display:inline-block}.sh-card .sh-sub{color:var(--fg-3);margin:6px 0 16px;font-family:JetBrains Mono;font-size:12px}.sh-card .sh-setrow{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:14px;display:flex}.sh-card .sh-setrow .sh-setlbl{letter-spacing:0;color:var(--fg-2);font-family:Plus Jakarta Sans;font-size:12px;font-weight:600}.sh-card .sh-setpill{background:var(--surface-2);width:30px;height:30px;color:var(--fg-3);transition:background var(--t-fast),color var(--t-fast);border-radius:9px;flex:none;place-items:center;font-family:JetBrains Mono;font-size:13px;font-weight:700;display:grid}.sh-card .sh-setpill.done{background:color-mix(in srgb,var(--train-1) 22%,var(--surface-2));color:var(--fg-2)}.sh-card .sh-setpill.cur{background:linear-gradient(135deg,var(--train-1),var(--train-2));color:#fff}.sh-card .sh-target{color:var(--fg-3);align-items:center;gap:4px;margin-left:auto;font-family:JetBrains Mono;font-size:11px;display:inline-flex}.sh-card .sh-target button{background:var(--surface-2);width:22px;height:22px;color:var(--fg-2);cursor:pointer;border:0;border-radius:7px;font-family:JetBrains Mono;font-weight:700;line-height:1}.sh-card .sh-target button:hover{background:color-mix(in srgb,var(--train-1) 16%,var(--surface-2));color:var(--fg)}.sh-card .sh-wheels{background:var(--surface-2);border-radius:var(--r-md);gap:14px;margin-bottom:14px;padding:14px;display:flex}.sh-card .sh-wheels .sh-wcol{text-align:center;flex:1}.sh-card .sh-wheels .sh-wcol.kg{border-right:1px solid var(--border);flex:1.4}.sh-card .sh-wheels .sh-wcap{color:var(--fg-2);letter-spacing:0;margin-bottom:4px;font-family:Plus Jakarta Sans;font-size:11px;font-weight:600}.sh-card .sh-cta{background:linear-gradient(135deg,var(--train-1),var(--train-2));color:#fff;cursor:pointer;width:100%;box-shadow:0 8px 22px -8px color-mix(in srgb,var(--train-1) 70%,transparent);transition:transform var(--t-fast);border:0;border-radius:14px;justify-content:center;align-items:center;gap:8px;padding:14px;font-family:Plus Jakarta Sans;font-size:15px;font-weight:700;display:inline-flex}.sh-card .sh-cta:active{transform:scale(.98)}.sh-card .sh-nav{gap:8px;margin-top:12px;display:flex}.sh-card .sh-nav button{border:1px solid var(--border-2);color:var(--fg-3);cursor:pointer;transition:color var(--t-fast),border-color var(--t-fast);background:0 0;border-radius:10px;flex:1;justify-content:center;align-items:center;gap:5px;padding:9px;font-family:Plus Jakarta Sans;font-size:12px;font-weight:600;display:inline-flex}.sh-card .sh-nav button:hover{color:var(--fg);border-color:color-mix(in srgb,var(--train-1) 40%,var(--border-2))}.sh-card .sh-nav button:disabled{opacity:.4;cursor:not-allowed}.sh-plan{flex-direction:column;gap:8px;margin:0 16px 18px;display:flex}.sh-plan .sh-prow{background:var(--surface);border:1px solid var(--border);border-radius:12px;align-items:center;gap:11px;padding:11px 14px;display:flex}.sh-plan .sh-prow.done{opacity:.55}.sh-plan .sh-prow.cur{border-color:color-mix(in srgb,var(--train-1) 50%,var(--border));background:linear-gradient(135deg,color-mix(in srgb,var(--train-1) 8%,var(--surface)),var(--surface))}.sh-plan .sh-prow .sh-ic{background:var(--surface-2);width:24px;height:24px;color:var(--fg-3);border-radius:8px;flex:none;place-items:center;font-family:JetBrains Mono;font-size:11px;font-weight:700;display:grid}.sh-plan .sh-prow.done .sh-ic{background:color-mix(in srgb,var(--train-1) 28%,var(--surface-2));color:var(--train-1)}.sh-plan .sh-prow.cur .sh-ic{background:linear-gradient(135deg,var(--train-1),var(--train-2));color:#fff}.sh-plan .sh-prow .sh-body{flex:1;min-width:0}.sh-plan .sh-prow .sh-body b{white-space:nowrap;text-overflow:ellipsis;font-size:13.5px;font-weight:700;display:block;overflow:hidden}.sh-plan .sh-prow.done .sh-body b{color:var(--fg-3);text-decoration:line-through}.sh-plan .sh-prow .sh-body small{color:var(--fg-3);font-family:JetBrains Mono;font-size:11px;line-height:1.3;display:block}.sh-foot{padding:14px 16px calc(14px + env(safe-area-inset-bottom));border-top:1px solid var(--border);background:var(--surface);flex:none;gap:10px;margin-top:auto;display:flex}.sh-foot .sh-fcancel{border:1px solid var(--border-2);color:var(--fg-3);cursor:pointer;transition:color var(--t-fast),border-color var(--t-fast);background:0 0;border-radius:11px;flex:1;padding:11px;font-family:Plus Jakarta Sans;font-size:13px;font-weight:600}.sh-foot .sh-fcancel:hover{color:var(--bad);border-color:color-mix(in srgb,var(--bad) 50%,var(--border-2))}.sh-foot .sh-ffinish{background:var(--fg);color:var(--bg);cursor:pointer;transition:transform var(--t-fast);border:0;border-radius:11px;flex:2;justify-content:center;align-items:center;gap:6px;padding:11px;font-family:Plus Jakarta Sans;font-size:13px;font-weight:700;display:inline-flex}.sh-foot .sh-ffinish:active{transform:scale(.98)}.sess-pill{z-index:130;padding:calc(10px + env(safe-area-inset-top)) 14px 10px;cursor:pointer;background:linear-gradient(135deg,color-mix(in srgb,var(--train-1) 26%,var(--surface-solid)),var(--surface-solid));border-bottom:1px solid color-mix(in srgb,var(--train-1) 40%,var(--border));transition:transform var(--t) var(--spring);align-items:center;gap:12px;font-family:Plus Jakarta Sans;display:flex;position:fixed;top:0;left:0;right:0;transform:translateY(-100%);box-shadow:0 10px 30px -10px #0006}.sess-pill.show{transform:translateY(0)}.sess-pill .sp-text{flex:1;align-items:baseline;gap:8px;min-width:0;display:flex;overflow:hidden}.sess-pill .sp-time{color:var(--fg);font-variant-numeric:tabular-nums;flex:none;font-family:JetBrains Mono;font-size:14px;font-weight:700}.sess-pill .sp-meta{color:var(--fg-2);letter-spacing:0;white-space:nowrap;text-overflow:ellipsis;min-width:0;font-family:Plus Jakarta Sans;font-size:12px;font-weight:600;overflow:hidden}.sess-pill .sp-resume{background:linear-gradient(135deg,var(--train-1),var(--train-2));color:#fff;cursor:pointer;border:0;border-radius:9px;flex:none;align-items:center;gap:4px;padding:6px 11px;font-family:Plus Jakarta Sans;font-size:11px;font-weight:700;display:inline-flex}body.session-pinned .top{margin-top:54px}body.session-pinned .rest-pill{top:auto;left:16px;right:auto;bottom:calc(100px + env(safe-area-inset-bottom));transform:translateY(140px)}body.session-pinned .rest-pill.show{transform:translateY(0)}.rest-pill{top:calc(16px + env(safe-area-inset-top));z-index:220;background:linear-gradient(135deg,color-mix(in srgb,var(--train-1) 24%,var(--surface-solid)),var(--surface-solid));border:1px solid color-mix(in srgb,var(--train-1) 40%,var(--border));box-shadow:var(--shadow-lg);opacity:0;transition:transform var(--t) var(--spring),opacity var(--t);border-radius:18px;align-items:center;gap:10px;padding:10px 14px;font-family:JetBrains Mono;display:flex;position:fixed;right:16px;transform:translateY(-100px)}.rest-pill.show{opacity:1;transform:translateY(0)}.rest-pill.done{background:linear-gradient(135deg,color-mix(in srgb,var(--train-1) 38%,var(--surface-solid)),var(--surface-solid));animation:1.2s ease-in-out infinite restPulse}.rest-pill .rest-time{color:var(--fg);letter-spacing:.02em;text-align:center;min-width:46px;font-size:20px;font-weight:700}.rest-pill .rest-lbl{letter-spacing:0;color:var(--fg-2);font-family:Plus Jakarta Sans;font-size:11px;font-weight:600}.rest-pill button{border:1px solid var(--border-2);color:var(--fg-2);cursor:pointer;transition:transform var(--t-fast),background var(--t-fast);background:0 0;border-radius:10px;align-items:center;gap:4px;padding:5px 9px;font-family:Plus Jakarta Sans;font-size:11px;font-weight:600;display:inline-flex}.rest-pill button:hover{background:var(--surface-2);transform:translateY(-1px)}.rest-pill button.rest-close{color:var(--fg-3);border-radius:9px;padding:5px 7px}@keyframes restPulse{0%,to{box-shadow:var(--shadow-lg)}50%{box-shadow:0 0 0 6px color-mix(in srgb,var(--train-1) 22%,transparent),var(--shadow-lg)}}@media (width<=480px){.rest-pill{top:calc(10px + env(safe-area-inset-top));gap:7px;padding:8px 11px;right:10px}.rest-pill .rest-time{min-width:40px;font-size:17px}.rest-pill .rest-lbl{display:none}}.stagger>*{opacity:0;animation:rise var(--t-slow) var(--ease) forwards;animation-delay:calc(min(var(--i,0),10) * 50ms)}@keyframes rise{0%{opacity:0;transform:translateY(16px)scale(.98)}to{opacity:1;transform:none}}.count{font-variant-numeric:tabular-nums}.med-orb{transition:transform var(--t) var(--ease)}.med-orb.breathing{animation:16s ease-in-out infinite breathe}@keyframes breathe{0%{transform:scale(.78)}25%{transform:scale(1.04)}50%{transform:scale(1.04)}75%{transform:scale(.78)}to{transform:scale(.78)}}@keyframes cf{0%{opacity:0;transform:translate(-50%,-50%)rotate(0)}12%{opacity:1}to{opacity:0;transform:translate(calc(-50% + var(--dx)), calc(-50% + var(--dy))) rotate(360deg)}}
