:root{--bg:#eff3f2;--surface:#fff;--ink:#14232a;--ink2:#5b6b70;--ink3:#66767b;--line:#dce3e2;--div:#e6ebea;--tile:#eff3f2;--seg-off:#dce3e2;--tick-off:#d5dddc;--track:#e1e8e7;--good:#2f8f63;--good-t:#e0f1e8;--good-tx:#23774f;--warn:#c98a1e;--warn-t:#f7edd8;--warn-tx:#8a5a0e;--warn-line:#ead6ac;--bad:#c2553f;--bad-t:#f8e3de;--bad-tx:#b04a36;--link:#2c6e9e;--primary:#14232a;--on-primary:#fff;--tabbar:#fff;--shadow:0 1px 2px #14232a14;--card-line:#14232a0f;--card-shadow:0 1px 2px #14232a0a, 0 8px 24px -12px #14232a24;--glass:#fffc;--glass-line:#14232a14;--glass-bg:#eff3f2d6;--float-shadow:0 12px 32px -10px #14232a47;--display:"Bricolage Grotesque Variable", "Figtree Variable", -apple-system, system-ui, sans-serif;--body:"Figtree Variable", -apple-system, "Segoe UI", system-ui, sans-serif;--lightningcss-light:initial;--lightningcss-dark: ;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#0e1618;--surface:#172226;--ink:#e6eeec;--ink2:#9aabae;--ink3:#8a9b9e;--line:#26343a;--div:#223036;--tile:#1f2c31;--seg-off:#2a393f;--tick-off:#2a393f;--track:#1f2c31;--good:#4fb889;--good-t:#16302a;--good-tx:#7ed3aa;--warn:#e0a745;--warn-t:#33291a;--warn-tx:#efc27a;--warn-line:#4a3c22;--bad:#e07a63;--bad-t:#3a211c;--bad-tx:#f0a08e;--link:#7db6e3;--primary:#e6eeec;--on-primary:#0e1618;--tabbar:#121c1f;--shadow:0 1px 2px #0006;--card-line:#26343a;--card-shadow:none;--glass:#172226cc;--glass-line:#ffffff14;--glass-bg:#0e1618d6;--float-shadow:0 12px 32px -10px #000000b3;--lightningcss-light: ;--lightningcss-dark:initial;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=dark]{--bg:#0e1618;--surface:#172226;--ink:#e6eeec;--ink2:#9aabae;--ink3:#8a9b9e;--line:#26343a;--div:#223036;--tile:#1f2c31;--seg-off:#2a393f;--tick-off:#2a393f;--track:#1f2c31;--good:#4fb889;--good-t:#16302a;--good-tx:#7ed3aa;--warn:#e0a745;--warn-t:#33291a;--warn-tx:#efc27a;--warn-line:#4a3c22;--bad:#e07a63;--bad-t:#3a211c;--bad-tx:#f0a08e;--link:#7db6e3;--primary:#e6eeec;--on-primary:#0e1618;--tabbar:#121c1f;--shadow:0 1px 2px #0006;--card-line:#26343a;--card-shadow:none;--glass:#172226cc;--glass-line:#ffffff14;--glass-bg:#0e1618d6;--float-shadow:0 12px 32px -10px #000000b3;--lightningcss-light: ;--lightningcss-dark:initial;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body,#root{height:100%}body{background:var(--bg);color:var(--ink);font-family:var(--body);-webkit-font-smoothing:antialiased;overscroll-behavior:none;margin:0;font-size:15px}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;padding:0}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid var(--link);outline-offset:2px}a{color:var(--link);text-decoration:none}svg{flex-shrink:0;display:block}input[type=range]{width:100%;accent-color:var(--good);height:44px}.shell{background:var(--bg);flex-direction:column;max-width:480px;height:100%;margin:0 auto;display:flex;position:relative;overflow:hidden}@media (width>=560px){body{background:var(--track)}.shell{border:1px solid var(--line);border-radius:28px;height:min(100%,900px);margin-top:max(0px,50vh - 450px);box-shadow:0 20px 60px #0000002e}}.screen{-webkit-overflow-scrolling:touch;flex:1;overflow-y:auto}.screen:not([hidden]){animation:.22s both fade-in}.screen.pushed{animation:.32s cubic-bezier(.2,.8,.2,1) both slide-in}@keyframes fade-in{0%{opacity:0;transform:translateY(6px)}}@keyframes slide-in{0%{opacity:.4;transform:translate(28px)}}.page{padding:calc(env(safe-area-inset-top,0px) + 16px) 20px 112px;flex-direction:column;gap:18px;display:flex}.page.tight{gap:12px}.display{font-family:var(--display);letter-spacing:-.02em;font-weight:600;line-height:1.1}.h-hero{font-family:var(--display);letter-spacing:-.025em;text-wrap:balance;margin:0;font-size:36px;font-weight:600;line-height:1.05}.h-title{font-family:var(--display);letter-spacing:-.02em;margin:0;font-size:30px;font-weight:600;line-height:1.1}.h-2{font-family:var(--display);letter-spacing:-.02em;text-wrap:balance;margin:0;font-size:27px;font-weight:600;line-height:1.12}.label{letter-spacing:.07em;text-transform:uppercase;color:var(--ink2);font-size:12.5px;font-weight:700}.muted{color:var(--ink2)}.small{font-size:13px}.num{font-variant-numeric:tabular-nums}.center{text-align:center}.row{align-items:center;gap:12px;display:flex}.col{flex-direction:column;display:flex}.grow{flex:1;min-width:0}.stack-8{flex-direction:column;gap:8px;display:flex}.stack-10{flex-direction:column;gap:10px;display:flex}.between{justify-content:space-between;align-items:center;gap:12px;display:flex}.ellipsis{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.card{background:var(--surface);border:1px solid var(--card-line);box-shadow:var(--card-shadow);border-radius:20px}.card.pad{padding:16px}.list{padding:0 16px}.list>*+*{border-top:1px solid var(--div)}.list-row{text-align:left;align-items:center;gap:12px;width:100%;min-height:60px;padding:8px 0;display:flex}.icon-tile{background:var(--tile);width:38px;height:38px;color:var(--ink);border-radius:11px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.row-title{font-size:15px;font-weight:600}.row-sub{color:var(--ink2);font-size:13px}.chip{white-space:nowrap;border-radius:999px;align-items:center;gap:7px;height:26px;padding:0 11px;font-size:13px;font-weight:700;display:inline-flex}.chip.sm{height:22px;padding:0 8px;font-size:12px}.chip .dot{border-radius:50%;width:7px;height:7px}.tone-good{background:var(--good-t);color:var(--good-tx)}.tone-good .dot{background:var(--good)}.tone-warn{background:var(--warn-t);color:var(--warn-tx)}.tone-warn .dot{background:var(--warn)}.tone-bad{background:var(--bad-t);color:var(--bad-tx)}.tone-bad .dot{background:var(--bad)}.tone-neutral{background:var(--tile);color:var(--ink2)}.tone-neutral .dot{background:var(--ink3)}.tx-good{color:var(--good-tx)}.tx-warn{color:var(--warn-tx)}.tx-bad{color:var(--bad-tx)}.tx-neutral{color:var(--ink2)}.btn{white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;gap:8px;height:44px;padding:0 16px;font-size:14.5px;font-weight:600;display:inline-flex}.btn.primary{background:var(--primary);color:var(--on-primary)}.btn.secondary{background:var(--surface);border:1px solid var(--line);color:var(--ink)}.btn.block{border-radius:16px;width:100%;height:52px;font-size:16px}.btn.square{border-radius:12px}.btn:disabled{opacity:.5}.link-btn{color:var(--link);align-items:center;min-height:44px;font-size:14px;font-weight:600;display:inline-flex}.icon-btn{width:44px;height:44px;color:var(--ink);border-radius:12px;justify-content:center;align-items:center;display:flex}.seg{grid-template-columns:repeat(var(--n,2), minmax(0, 1fr));background:var(--track);border-radius:13px;gap:4px;height:44px;padding:4px;display:grid}.seg button{color:var(--ink2);border-radius:10px;font-size:14px;font-weight:500}.seg button[aria-pressed=true]{background:var(--surface);color:var(--ink);box-shadow:var(--shadow);font-weight:600}.filters{scrollbar-width:none;gap:8px;margin:0 -20px;padding:0 20px;display:flex;overflow-x:auto}.filters::-webkit-scrollbar{display:none}.filters button{background:var(--surface);border:1px solid var(--line);white-space:nowrap;border-radius:999px;flex-shrink:0;height:44px;padding:0 16px;font-size:14px;font-weight:500}.filters button[aria-pressed=true]{background:var(--primary);border-color:var(--primary);color:var(--on-primary);font-weight:600}.meter{grid-template-columns:repeat(5,minmax(0,1fr));gap:3px;display:grid}.meter span{background:var(--seg-off);border-radius:3px;height:6px}.meter span.on{background:var(--good)}.meter.warn span.on{background:var(--warn)}.meter.bad span.on{background:var(--bad)}.topbar{z-index:20;height:calc(56px + env(safe-area-inset-top,0px));margin:calc(-16px - env(safe-area-inset-top,0px)) -20px 0;padding:calc(6px + env(safe-area-inset-top,0px)) 10px 0;background:var(--glass-bg);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);justify-content:space-between;align-items:center;display:flex;position:sticky;top:0}.topbar-title{font-size:17px;font-weight:600}.tabbar{left:12px;right:12px;bottom:calc(env(safe-area-inset-bottom,0px) + 10px);z-index:30;background:var(--glass);border:1px solid var(--glass-line);box-shadow:var(--float-shadow);-webkit-backdrop-filter:blur(22px)saturate(1.5);backdrop-filter:blur(22px)saturate(1.5);border-radius:28px;grid-template-columns:repeat(5,minmax(0,1fr));padding:6px;display:grid;position:absolute}.tab-indicator{background:var(--good-t);width:calc(20% - 2.4px);transform:translateX(calc(var(--active,0) * 100%));border-radius:22px;transition:transform .35s cubic-bezier(.3,1.3,.5,1);position:absolute;top:6px;bottom:6px;left:6px}.tab{min-height:56px;color:var(--ink3);flex-direction:column;justify-content:center;align-items:center;gap:3px;font-size:11px;font-weight:500;transition:color .2s;display:flex;position:relative}.tab[aria-current=page]{color:var(--good-tx);font-weight:700}.tab-icon{transition:transform .25s cubic-bezier(.3,1.4,.5,1);display:flex;position:relative}.tab[aria-current=page] .tab-icon{transform:translateY(-1px)scale(1.08)}.tab .badge{background:var(--warn);border:2px solid var(--surface);border-radius:50%;width:9px;height:9px;position:absolute;top:-3px;right:-6px}@media (prefers-reduced-motion:reduce){.tab-indicator,.tab-icon{transition:none}}.tiles{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.tile{text-align:left;flex-direction:column;justify-content:space-between;height:98px;padding:14px;display:flex}.notice{border-radius:18px;align-items:flex-start;gap:12px;padding:16px;display:flex}.notice.warn{background:var(--warn-t);border:1px solid var(--warn-line)}.notice.good{background:var(--good-t)}.notice.info{background:var(--surface);border:1px solid var(--line)}.sheet-backdrop{z-index:40;background:#080e1073;align-items:flex-end;display:flex;position:absolute;inset:0}.sheet{background:var(--surface);width:100%;padding:20px 20px calc(env(safe-area-inset-bottom,0px) + 20px);border-radius:22px 22px 0 0;flex-direction:column;gap:12px;display:flex}.progress{background:var(--seg-off);border-radius:3px;height:6px;overflow:hidden}.progress>div{background:var(--primary);border-radius:3px;height:100%;transition:width .25s linear}.demo-badge{z-index:50;background:var(--primary);color:var(--on-primary);pointer-events:none;border-radius:999px;padding:4px 10px;font-size:11.5px;font-weight:700;position:absolute;top:8px;left:50%;transform:translate(-50%)}.shell.shots{max-width:412px;box-shadow:none;border:0;border-radius:0;margin:0 auto}.btn,.card,.tile,.icon-btn,.filters button,.seg button{transition:transform .14s,background-color .2s,box-shadow .2s}.btn:active:not(:disabled),button.card:active,.tile:active,.icon-btn:active,.filters button:active{transform:scale(.97)}.list-row{transition:opacity .14s}button.list-row:active{opacity:.6}.skeleton{background:linear-gradient(90deg, var(--tile) 25%, var(--seg-off) 45%, var(--tile) 65%);background-size:300% 100%;border-radius:10px;animation:1.3s ease-in-out infinite shimmer;display:block}@keyframes shimmer{0%{background-position:100% 0}to{background-position:0 0}}.live-dot{animation:1.6s ease-in-out infinite live}@keyframes live{50%{opacity:.35;transform:scale(.8)}}.live-ring{transform-box:fill-box;transform-origin:50%;animation:1.8s ease-out infinite ring}@keyframes ring{0%{opacity:.35;transform:scale(.6)}to{opacity:0;transform:scale(2)}}@media (prefers-reduced-motion:reduce){.screen:not([hidden]),.screen.pushed,.skeleton,.live-dot,.live-ring{animation:none}.btn,.card,.tile,.icon-btn,.list-row{transition:none}}.spin{animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.pulse{animation:1.4s ease-in-out infinite pulse}@keyframes pulse{50%{opacity:.45}}@media (prefers-reduced-motion:reduce){.spin,.pulse{animation:none}.progress>div{transition:none}}
