:root{--bg:#09090b;--surface:#151518;--surface-2:#1e1e22;--surface-3:#2a2a30;--hairline:#ffffff14;--text:#f4f4f5;--muted:#a1a1aa;--faint:#71717a;--accent:#d4ff3a;--accent-ink:#0b0d00;--accent-text:#d4ff3a;--accent-soft:#d4ff3a24;--good:#4ade80;--warn:#fbbf24;--bad:#fb7185;--r-sm:10px;--r-md:14px;--r-lg:20px;--r-xl:28px;--tabbar-h:64px;--tabbar-gap:12px;--ease-out:cubic-bezier(.23, 1, .32, 1);--ease-in-out:cubic-bezier(.77, 0, .175, 1);--press:.14s;--edge:0 0 0 1px var(--hairline), 0 1px 2px #0006;--edge-raised:0 0 0 1px #ffffff1a, 0 12px 32px #00000080;--material:color-mix(in srgb, var(--surface) 72%, transparent);--material-edge:inset 0 1px 0 #ffffff14, 0 0 0 1px #ffffff0f, 0 10px 30px #00000073;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-optical-sizing:auto;background:var(--bg);color:var(--text);font:100%/1.5 system-ui,-apple-system,Segoe UI,Roboto,sans-serif}@media (prefers-color-scheme:light){:root{--bg:#f4f4f2;--surface:#fff;--surface-2:#efefec;--surface-3:#e4e4e0;--hairline:#0c0c0d14;--text:#0c0c0d;--muted:#5c5c66;--faint:#8a8a93;--accent-text:#4d7c0f;--accent-soft:#84cc162e;--good:#16a34a;--warn:#d97706;--bad:#e11d48;--edge:0 0 0 1px var(--hairline), 0 1px 2px #0c0c0d0d;--edge-raised:0 0 0 1px #0c0c0d0f, 0 12px 32px #0c0c0d24;--material:color-mix(in srgb, var(--surface) 70%, transparent);--material-edge:inset 0 1px 0 #ffffffb3, 0 0 0 1px #0c0c0d0f, 0 10px 30px #0c0c0d1f;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}}*{box-sizing:border-box}html{-webkit-tap-highlight-color:transparent;-webkit-text-size-adjust:100%;overscroll-behavior:none}html,body,#root{min-height:100%;margin:0}body{background:var(--bg);-webkit-font-smoothing:antialiased}h1,h2,h3{margin:0;font-weight:700}h1{letter-spacing:-.03em;font-size:2rem;font-weight:780;line-height:1.05}h2{letter-spacing:-.015em;font-size:1.2rem;line-height:1.2}h3{letter-spacing:-.005em;font-size:1rem;font-weight:650;line-height:1.3}p{margin:0;line-height:1.5}a{color:var(--accent-text);text-decoration:none}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;padding:0}button:disabled{opacity:.45;cursor:default}input{font:inherit;color:inherit;font-size:max(16px,1em)}svg{flex:none}button,a,summary,[role=button],[role=tab]{touch-action:manipulation;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}:focus-visible{outline:2px solid var(--accent-text);outline-offset:2px;border-radius:6px}.btn,.icon-btn,.chip,.swatch,.pin__key,.picker__item,.tile,.tile-press,.row--link,.hero,.tab,.seg button{transition:transform var(--press) var(--ease-out), background-color .16s ease, box-shadow .16s ease, color .16s ease}.btn:active:not(:disabled),.icon-btn:active:not(:disabled),.chip:active,.pin__key:active:not(:disabled),.seg button:active,.tab:active,.swatch:active{transform:scale(.96)}.picker__item:active,.tile:active,.tile-press:active,.hero:active{transform:scale(.98)}.row--link:active{background:var(--surface-2)}.tnum,.metric b,.ring__text,.stepper__value,.hud__big,.hud__chip{font-variant-numeric:tabular-nums}.muted{color:var(--muted)}.faint{color:var(--faint)}.small{font-size:.85rem}.center{text-align:center}.error{color:var(--bad);font-size:.9rem}.ok{color:var(--good);align-items:center;gap:6px;font-size:.9rem;display:inline-flex}.empty{text-align:center;color:var(--muted);border-radius:var(--r-lg);background:var(--surface);box-shadow:var(--edge);flex-direction:column;align-items:center;gap:10px;padding:28px 20px;display:flex}.empty svg{color:var(--faint)}.empty p{max-width:36ch}.app{min-height:100dvh;padding-bottom:calc(var(--tabbar-h) + var(--tabbar-gap) * 2 + env(safe-area-inset-bottom))}.app--training{padding-bottom:0}.content{max-width:720px;margin:0 auto}.page{padding:calc(24px + env(safe-area-inset-top,0px)) 16px 24px;flex-direction:column;gap:28px;display:flex}.page p{max-width:65ch}.splash{place-items:center;min-height:100dvh;display:grid}.title{flex-direction:column;gap:6px;display:flex}.eyebrow{letter-spacing:.08em;text-transform:uppercase;color:var(--faint);font-size:.72rem;font-weight:700}.lede{color:var(--muted);font-size:.98rem}.back{align-items:center;gap:2px;margin-left:-4px;font-size:.95rem;font-weight:600;display:inline-flex}.section{flex-direction:column;gap:12px;display:flex}.section__head{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.section__head a{font-size:.9rem;font-weight:600}.inline-action{align-items:center;gap:4px;display:inline-flex}.card{background:var(--surface);box-shadow:var(--edge);border-radius:var(--r-lg);flex-direction:column;gap:14px;padding:18px;display:flex}.card--danger{box-shadow:0 0 0 1px color-mix(in srgb, var(--bad) 35%, transparent)}.tabbar{z-index:10;left:50%;bottom:calc(var(--tabbar-gap) + env(safe-area-inset-bottom));width:min(440px,100% - 24px);height:var(--tabbar-h);background:var(--material);-webkit-backdrop-filter:blur(20px)saturate(180%);backdrop-filter:blur(20px)saturate(180%);box-shadow:var(--material-edge);border-radius:999px;gap:2px;padding:6px;display:flex;position:fixed;transform:translate(-50%)}.tab{color:var(--muted);letter-spacing:.01em;border-radius:999px;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:2px;font-size:.66rem;font-weight:600;display:flex}.tab--active{color:var(--text);background:var(--surface-3)}.tab--active svg{color:var(--accent-text)}@media (prefers-color-scheme:light){.tab--active{background:var(--surface);box-shadow:0 1px 3px #0c0c0d1a}}.btn{border-radius:var(--r-md);letter-spacing:-.005em;background:var(--surface-2);min-height:48px;color:var(--text);text-align:center;justify-content:center;align-items:center;gap:8px;padding:12px 20px;font-weight:650;display:inline-flex}.btn--primary{background:var(--accent);color:var(--accent-ink)}.btn--ghost{background:var(--surface-2);box-shadow:inset 0 0 0 1px var(--hairline)}.btn--plain{color:var(--accent-text);background:0 0}.btn--danger{background:color-mix(in srgb, var(--bad) 14%, transparent);color:var(--bad)}.btn--big{border-radius:var(--r-lg);min-height:58px;font-size:1.05rem}.btn--wide{width:100%}.icon-btn{background:var(--surface-2);width:44px;height:44px;color:var(--text);border-radius:999px;flex:none;place-items:center;display:inline-grid}.icon-btn--plain{color:var(--muted);background:0 0}.icon-btn--off{color:var(--faint)}@media (hover:hover) and (pointer:fine){.btn--primary:hover:not(:disabled){background:color-mix(in srgb, var(--accent) 88%, white)}.btn--ghost:hover:not(:disabled),.icon-btn:hover:not(:disabled){background:var(--surface-3)}.icon-btn--plain:hover{color:var(--text);background:var(--surface-2)}.row--link:hover{background:var(--surface-2)}.tile:hover,.tile-press:hover,.picker__item:hover{box-shadow:0 0 0 1px color-mix(in srgb, var(--text) 18%, transparent), 0 1px 2px #0003}.chip:not(.chip--on):hover{background:var(--surface-3)}.tab:not(.tab--active):hover{color:var(--text)}}.form{flex-direction:column;gap:18px;display:flex}.field{border:0;flex-direction:column;flex:1;gap:8px;min-width:0;margin:0;padding:0;display:flex}.field>span,.field>legend{color:var(--muted);margin-bottom:8px;padding:0;font-size:.82rem;font-weight:650}.field>span{margin-bottom:0}.field input:not([type=checkbox]){border-radius:var(--r-md);background:var(--surface-2);width:100%;min-height:48px;color:var(--text);box-shadow:inset 0 0 0 1px var(--hairline);border:0;padding:12px 14px;transition:box-shadow .16s}.field input::placeholder,.field textarea::placeholder{color:var(--faint)}.field input:focus,.field select:focus,.field textarea:focus{box-shadow:inset 0 0 0 2px var(--accent-text);outline:none}.field select,.field textarea{border-radius:var(--r-md);background:var(--surface-2);width:100%;min-height:48px;color:var(--text);font:inherit;box-shadow:inset 0 0 0 1px var(--hairline);border:0;padding:12px 14px}.field select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23888' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;padding-right:38px}.field textarea{resize:vertical;line-height:1.4}.joint-row{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.joint-row select{background-position:right 7px center;padding:12px 26px 12px 10px;font-size:.9rem}.joint-row:has(>:nth-child(2):last-child){grid-template-columns:repeat(2,1fr)}.icon-picker{grid-template-columns:repeat(auto-fill,minmax(44px,1fr));gap:8px;display:grid}.rule{gap:12px}.rule h3{margin:0;font-size:.95rem}.range-bar{gap:8px;display:grid}.range-bar__track{background:var(--surface-3);border-radius:999px;height:6px;margin:8px 6px;position:relative}.range-bar__track i{background:var(--muted);border-radius:50%;width:12px;height:12px;position:absolute;top:50%;transform:translate(-50%,-50%)}.range-bar__track .range-bar__mark{background:var(--faint);border-radius:2px;width:4px;height:14px}.range-bar__track .range-bar__target{background:var(--accent)}.status{gap:8px}.status__head{align-items:center;gap:8px;display:flex}.status__head small{color:var(--muted)}.status--good .status__head{color:var(--good)}.status--ready .status__head{color:var(--accent-text)}.status--draft .status__head{color:var(--warn)}.tag{background:var(--surface-3);color:var(--muted);vertical-align:middle;border-radius:999px;align-items:center;gap:4px;padding:2px 8px;font-size:.72rem;font-weight:700;display:inline-flex}.tag--draft{background:color-mix(in oklab, var(--warn) 18%, transparent);color:var(--warn)}.tag--good{background:var(--accent-soft);color:var(--accent-text)}.tag--bad{background:color-mix(in oklab, var(--bad) 18%, transparent);color:var(--bad)}.hint{color:var(--faint);font-size:.82rem}.pair{gap:12px;display:flex}.pair>.btn{white-space:nowrap;flex:1;min-width:0;padding-inline:12px}.actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}.check{align-items:flex-start;gap:12px;font-size:.93rem;line-height:1.4;display:flex}.check input{width:22px;height:22px;accent-color:var(--accent-text);flex:none;margin:0}.chips{flex-wrap:wrap;gap:8px;display:flex}.chips--scroll{scrollbar-width:none;flex-wrap:nowrap;margin:0 -16px;padding:2px 16px;overflow-x:auto}.chips--scroll::-webkit-scrollbar{display:none}.chip{background:var(--surface-2);white-space:nowrap;min-height:38px;color:var(--muted);border-radius:999px;padding:8px 16px;font-size:.9rem;font-weight:600}.chip--on{background:var(--text);color:var(--bg)}.swatch{border-radius:50%;width:36px;height:36px;box-shadow:inset 0 0 0 1px #00000026}.swatch--on{box-shadow:0 0 0 3px var(--bg), 0 0 0 5px var(--text)}.seg{background:var(--surface-2);border-radius:var(--r-md);gap:4px;padding:4px;display:flex}.seg button{border-radius:var(--r-sm);min-height:40px;color:var(--muted);flex:1;justify-content:center;align-items:center;gap:6px;font-size:.9rem;font-weight:600;display:inline-flex}.seg button.on{background:var(--surface-3);color:var(--text);box-shadow:0 1px 2px #00000040}@media (prefers-color-scheme:light){.seg button.on{background:var(--surface);box-shadow:0 1px 3px #0c0c0d1f}}.spinner{border:3px solid var(--surface-3);border-top-color:var(--accent-text);border-radius:50%;width:28px;height:28px;margin:16px auto;animation:.6s linear infinite spin;display:block}@keyframes spin{to{transform:rotate(360deg)}}.avatar{--tint:var(--muted);background:color-mix(in oklab, var(--tint) 18%, transparent);color:color-mix(in oklab, var(--tint) 72%, var(--text));box-shadow:inset 0 0 0 2px color-mix(in oklab, var(--tint) 40%, transparent);border-radius:50%;flex:none;place-items:center;line-height:1;display:inline-grid}.avatar-picker{gap:14px;display:grid}.avatar-picker__group{gap:8px;display:grid}.avatar-picker__label{color:var(--faint);letter-spacing:.04em;text-transform:uppercase;font-size:.75rem;font-weight:600}.avatar-picker__grid{grid-template-columns:repeat(auto-fill,minmax(48px,1fr));gap:8px;display:grid}.avatar-opt{aspect-ratio:1;border-radius:var(--r-md);background:var(--surface-2);min-height:44px;color:var(--muted);cursor:pointer;transition:transform .16s var(--ease-out), background-color .16s var(--ease-out), color .16s var(--ease-out), box-shadow .16s var(--ease-out);border:0;place-items:center;display:grid}.avatar-opt:active{transform:scale(.94)}@media (hover:hover){.avatar-opt:hover{background:var(--surface-3);color:var(--text)}}.avatar-opt--on,.avatar-opt--on:hover{background:color-mix(in oklab, var(--tint) 20%, transparent);color:color-mix(in oklab, var(--tint) 72%, var(--text));box-shadow:inset 0 0 0 2px color-mix(in oklab, var(--tint) 70%, transparent)}.avatar--add{background:var(--surface-2);color:var(--muted);box-shadow:inset 0 0 0 2px var(--hairline)}.picker{max-width:560px;min-height:100dvh;padding:calc(48px + env(safe-area-inset-top,0px)) 20px calc(32px + env(safe-area-inset-bottom,0px));flex-direction:column;gap:32px;margin:0 auto;display:flex}.picker__head{text-align:center;flex-direction:column;align-items:center;gap:18px;display:flex}.picker__head p{max-width:34ch}.picker__grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px;margin:0;padding:0;list-style:none;display:grid}.picker__item{background:var(--surface);width:100%;box-shadow:var(--edge);border-radius:var(--r-lg);flex-direction:column;align-items:center;gap:10px;min-width:0;padding:22px 10px 18px;display:flex}.picker__item strong{overflow-wrap:anywhere;text-align:center;letter-spacing:-.01em;max-width:100%;font-size:1.02rem;line-height:1.25}.picker__item small{align-items:center;gap:4px;display:inline-flex}.picker__item--add{box-shadow:inset 0 0 0 1.5px var(--hairline);background:0 0}.picker__item--add strong{color:var(--muted);font-weight:600}.logo{letter-spacing:-.02em;align-items:center;gap:10px;font-size:1.25rem;font-weight:500;display:inline-flex}.logo b{font-weight:800}.logo__mark{background:var(--accent);width:36px;height:36px;color:var(--accent-ink);border-radius:11px;place-items:center;display:grid}.modal{z-index:50;padding:16px;padding-bottom:calc(16px + env(safe-area-inset-bottom,0px));background:#0000008c;place-items:center;transition:opacity .2s;display:grid;position:fixed;inset:0}.modal__card{background:var(--surface);box-shadow:var(--edge-raised);border-radius:var(--r-xl);width:min(340px,100%);transition:transform .24s var(--ease-out), opacity .24s var(--ease-out);padding:28px 22px 18px}@starting-style{.modal{opacity:0}.modal__card{opacity:0;transform:scale(.96)translateY(8px)}}.pin{text-align:center;flex-direction:column;align-items:center;gap:16px;display:flex}.pin--shake{animation:shake .32s var(--ease-out)}@keyframes shake{20%,60%{transform:translate(-6px)}40%,80%{transform:translate(6px)}}.pin__dots{align-items:center;gap:12px;height:14px;display:flex}.pin__dot{background:var(--surface-3);width:12px;height:12px;transition:background-color .12s ease, transform .12s var(--ease-out);border-radius:50%}.pin__dot--on{background:var(--text);transform:scale(1.1)}.pin__input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.pin__pad{grid-template-columns:repeat(3,1fr);gap:10px;width:100%;display:grid}.pin__key{background:var(--surface-2);font-variant-numeric:tabular-nums;border-radius:999px;place-items:center;min-height:60px;font-size:1.5rem;font-weight:500;display:grid}.pin__key--ghost{color:var(--muted);background:0 0}.pin__key--go{background:var(--accent);color:var(--accent-ink)}.hello{justify-content:space-between;align-items:center;gap:16px;display:flex}.hello>div{flex-direction:column;gap:4px;min-width:0;display:flex}.hello h1{overflow-wrap:anywhere}.hero{isolation:isolate;border-radius:var(--r-xl);background:var(--accent);color:var(--accent-ink);flex-direction:column;gap:18px;padding:22px;display:flex;position:relative;overflow:hidden}.hero:after{content:"";z-index:-1;background:radial-gradient(closest-side,#ffffff73,#0000);border-radius:50%;width:220px;height:220px;position:absolute;top:-60px;right:-40px}.hero__top{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.hero small{text-transform:uppercase;letter-spacing:.09em;opacity:.7;font-size:.7rem;font-weight:750}.hero h2{letter-spacing:-.03em;margin-top:6px;font-size:1.75rem;font-weight:800;line-height:1.05}.hero p{opacity:.72;font-size:.9rem;font-weight:500}.hero__icon{flex:none;margin:-4px -4px 0 0}.hero__foot{justify-content:space-between;align-items:center;gap:12px;display:flex}.hero__go{background:var(--accent-ink);color:var(--accent);border-radius:999px;flex:none;align-items:center;gap:8px;padding:10px 16px 10px 12px;font-size:.9rem;font-weight:700;display:inline-flex}.metrics{background:var(--surface);box-shadow:var(--edge);border-radius:var(--r-lg);grid-template-columns:repeat(4,1fr);display:grid;overflow:hidden}.metric{flex-direction:column;gap:6px;min-width:0;padding:16px 12px;display:flex}.metric+.metric{box-shadow:-1px 0 0 var(--hairline)}.metric b{letter-spacing:-.03em;font-size:1.6rem;font-weight:750;line-height:1}.metric span{color:var(--muted);font-size:.74rem;line-height:1.25}.metric__icon{color:var(--faint)}.metric--accent .metric__icon{color:var(--accent-text)}@media (width<=440px){.metrics{grid-template-columns:repeat(2,1fr)}.metric:nth-child(3){box-shadow:0 -1px 0 var(--hairline)}.metric:nth-child(4){box-shadow:-1px 0 0 var(--hairline), 0 -1px 0 var(--hairline)}}.scroller{scrollbar-width:none;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;gap:10px;margin:0 -16px;padding:2px 16px 6px;scroll-padding-inline:16px;display:flex;overflow-x:auto}.scroller::-webkit-scrollbar{display:none}.scroller>*{scroll-snap-align:start}.tile{background:var(--surface);width:128px;box-shadow:var(--edge);border-radius:var(--r-lg);color:var(--text);flex-direction:column;flex:none;gap:12px;padding:14px;display:flex}.tile b{letter-spacing:-.01em;font-size:.92rem;line-height:1.25}.tile small{color:var(--muted);font-size:.76rem}.tile>div{flex-direction:column;gap:2px;display:flex}.ex-icon{border-radius:var(--r-md);background:var(--surface-2);width:48px;height:48px;color:var(--text);flex:none;place-items:center;display:grid}.ex-icon--lg{width:56px;height:56px}.tile .ex-icon{background:var(--accent-soft);color:var(--accent-text)}.group{background:var(--surface);box-shadow:var(--edge);border-radius:var(--r-lg);margin:0;padding:0;list-style:none;overflow:hidden}.group>li+li .row{box-shadow:inset 0 1px 0 var(--hairline)}.row{min-height:64px;color:var(--text);text-align:left;align-items:center;gap:14px;width:100%;padding:12px 14px;display:flex}.row__main{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.row__main b{letter-spacing:-.01em;overflow-wrap:anywhere;font-weight:650}.row__main small{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:.82rem;overflow:hidden}.row__meta{color:var(--muted);flex-wrap:wrap;gap:4px 12px;margin-top:2px;font-size:.8rem;display:flex}.row__meta span{align-items:center;gap:4px;display:inline-flex}.row__chev{color:var(--faint)}.row__by{color:var(--accent-text);align-items:center;gap:4px;margin-top:2px;font-size:.78rem;font-weight:600;display:inline-flex}.record-for{border-radius:var(--r-lg);background:var(--accent-soft);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--accent-text) 35%, transparent);align-items:center;gap:12px;padding:10px 10px 10px 12px;display:flex}.record-for>div{flex-direction:column;flex:1;min-width:0;display:flex}.record-for b{letter-spacing:-.01em;overflow-wrap:anywhere}.record-for small{color:var(--muted);font-size:.8rem}.record-for__icon{background:var(--surface-2);width:36px;height:36px;color:var(--accent-text);border-radius:50%;flex:none;place-items:center;display:grid}.row__note{color:var(--muted);align-items:flex-start;gap:6px;margin-top:4px;font-size:.82rem;display:flex}.row__note svg{color:var(--warn);margin-top:2px}.clamp-2{-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden;white-space:normal!important}.ex-icon--done{background:color-mix(in srgb, var(--good) 16%, transparent);color:var(--good)}.routine-card{border-radius:var(--r-lg);background:var(--surface);box-shadow:var(--edge);color:var(--text);flex-direction:column;gap:14px;padding:18px;display:flex}.routine-card__head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.routine-card__head>div{flex-direction:column;gap:2px;min-width:0;display:flex}.routine-card h3{overflow-wrap:anywhere}.routine-card small{color:var(--muted);font-size:.82rem}.routine-card__icons{flex-wrap:wrap;gap:6px;display:flex}.routine-card__icons span{border-radius:var(--r-sm);background:var(--surface-2);place-items:center;width:36px;height:36px;display:grid}.routine-card__bar{background:var(--surface-3);border-radius:999px;height:6px;overflow:hidden}.routine-card__bar i{background:var(--accent-text);height:100%;transition:width .3s var(--ease-out);border-radius:999px;display:block}.routine-card__foot{color:var(--muted);justify-content:space-between;align-items:center;gap:12px;font-size:.85rem;display:flex}.routine-list{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.routine-item{flex-direction:column;align-items:stretch;gap:12px}.routine-item__head{align-items:center;gap:12px;display:flex}.routine-item__tools{margin-right:-8px;display:flex}.routine-item__tools .icon-btn{width:36px;height:36px}.routine-item__steppers{grid-template-columns:1fr 1fr;gap:10px;display:grid}.mini-stepper{border-radius:var(--r-md);background:var(--surface-2);flex-direction:column;gap:6px;min-width:0;padding:10px;display:flex}.mini-stepper>span{color:var(--muted);font-size:.75rem;font-weight:650}.mini-stepper>div{justify-content:space-between;align-items:center;gap:6px;display:flex}.mini-stepper b{letter-spacing:-.02em;text-align:center;white-space:nowrap;flex:1;font-size:1.15rem;font-weight:750}.mini-stepper .icon-btn{background:var(--surface-3);width:34px;height:34px}.picker-list ul{margin:0;padding:0;list-style:none}.chip--icon{color:var(--text);align-items:center;gap:8px;display:inline-flex}.check-row{cursor:pointer}.check-row input{width:22px;height:22px;accent-color:var(--accent-text);flex:none;margin:0}.ring{--tone:var(--faint);flex:none;place-items:center;display:inline-grid;position:relative}.ring--good{--tone:var(--good)}.ring--warn{--tone:var(--warn)}.ring--bad{--tone:var(--bad)}.ring svg{position:absolute;inset:0}.ring__track{fill:none;stroke:var(--surface-3)}.ring__value{fill:none;stroke:var(--tone);stroke-linecap:round;transition:stroke-dasharray .3s var(--ease-out)}.ring__text{letter-spacing:-.02em;font-weight:750}.train{flex-direction:column;min-height:100dvh;display:flex}.train__bar{z-index:5;padding:calc(10px + env(safe-area-inset-top,0px)) 12px 10px;background:color-mix(in srgb, var(--bg) 80%, transparent);-webkit-backdrop-filter:blur(16px)saturate(180%);backdrop-filter:blur(16px)saturate(180%);align-items:center;gap:12px;display:flex;position:sticky;top:0}.train--running .train__bar{color:#fff;background:#000}.train--running .train__bar .icon-btn{color:#fff;background:#ffffff1f}.train .page{padding-top:8px}.train__title{flex-direction:column;flex:1;min-width:0;display:flex}.train__title b{letter-spacing:-.015em;white-space:nowrap;text-overflow:ellipsis;font-size:1.05rem;overflow:hidden}.train__title small{color:var(--muted);font-size:.75rem}.train--running .train__title small{color:#fff9}.stage{background:#000;flex:1;justify-content:center;align-items:center;min-height:0;display:flex;position:relative;overflow:hidden}.stage--hidden,.stage__video{display:none}.stage__canvas{width:auto;max-width:100%;height:auto;max-height:calc(100dvh - 150px);display:block}.hud{pointer-events:none;color:#fff;flex-direction:column;padding:14px;display:flex;position:absolute;inset:0}.hud__top{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.hud__glass{-webkit-backdrop-filter:blur(14px)saturate(160%);backdrop-filter:blur(14px)saturate(160%);background:#0a0a0c8c;box-shadow:inset 0 1px #ffffff1a,0 0 0 1px #ffffff0f}.hud__count{border-radius:var(--r-lg);flex-direction:column;gap:4px;padding:10px 16px 12px;display:flex}.hud__big{letter-spacing:-.04em;font-size:3.4rem;font-weight:800;line-height:.95;display:inline-block}.hud__count small{color:#ffffffbf;letter-spacing:.01em;font-size:.78rem;font-weight:600}.hud__missed{color:#fda4af}.hud__right{flex-direction:column;align-items:flex-end;gap:6px;display:flex}.hud__chip{border-radius:999px;align-items:center;gap:6px;padding:6px 12px;font-size:.85rem;font-weight:650;display:inline-flex}.hud__chip i{background:var(--tone,#a1a1aa);border-radius:50%;width:8px;height:8px}.hud__chip--good{--tone:#4ade80}.hud__chip--warn{--tone:#fbbf24}.hud__chip--bad,.rec{--tone:#fb7185}.rec i{animation:1.2s ease-in-out infinite blink}@keyframes blink{50%{opacity:.3}}.hud__meter{background:#ffffff2e;border-radius:999px;width:8px;height:38%;position:absolute;top:50%;right:14px;overflow:hidden;transform:translateY(-50%)}.hud__meter-fill{background:#d4ff3a;border-radius:999px;transition:height 80ms linear;position:absolute;bottom:0;left:0;right:0}.hud__center{border-radius:999px;align-self:center;align-items:center;gap:8px;margin-top:18px;padding:10px 18px;font-weight:700;display:inline-flex}.hud__goal{color:#0b0d00;transition:transform .3s var(--ease-out), opacity .3s var(--ease-out);background:#d4ff3a}@starting-style{.hud__goal{opacity:0;transform:translateY(-8px)scale(.96)}}.hud__big.bump{animation:bump .22s var(--ease-out)}@keyframes bump{40%{transform:scale(1.08)}}.banner{text-align:center;border-radius:var(--r-lg);align-self:center;align-items:center;gap:10px;max-width:min(92%,520px);margin-top:auto;padding:14px 20px;font-size:1.08rem;font-weight:700;line-height:1.3;transition:background-color .15s;display:inline-flex}.banner svg{flex:none}.banner--bad{background:#e11d48d1}.banner--good{background:#0a0a0c99}.banner--good svg{color:#4ade80}.controls{padding:12px 16px calc(14px + env(safe-area-inset-bottom,0px));background:#000;justify-content:center;gap:10px;display:flex}.controls .btn{flex:1;max-width:220px}.controls .btn--ghost{color:#fff;box-shadow:none;background:#ffffff1f}.loading{color:var(--muted);text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:4px;padding:24px;display:flex}.view-hint{border-radius:var(--r-md);background:var(--accent-soft);align-items:center;gap:12px;padding:12px 14px;font-size:.93rem;font-weight:600;display:flex}.view-hint svg{color:var(--accent-text)}.tips{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.tips li{align-items:flex-start;gap:10px;font-size:.95rem;line-height:1.45;display:flex}.tips li svg{color:var(--accent-text);margin-top:3px}.checks{flex-wrap:wrap;gap:6px;display:flex}.checks span{background:var(--surface-2);color:var(--muted);border-radius:999px;padding:4px 10px;font-size:.78rem;font-weight:600}.stepper{justify-content:space-between;align-items:center;gap:16px;display:flex}.stepper__value{flex-direction:column;align-items:center;display:flex}.stepper__value b{letter-spacing:-.04em;font-size:2.4rem;font-weight:800;line-height:1}.stepper__value small{color:var(--muted);font-size:.82rem;font-weight:600}.stepper .icon-btn{width:52px;height:52px}.advanced{border-top:1px solid var(--hairline);padding-top:14px}.advanced summary{cursor:pointer;color:var(--muted);align-items:center;gap:6px;font-weight:650;list-style:none;display:flex}.advanced summary::-webkit-details-marker{display:none}.advanced summary svg{transition:transform .2s var(--ease-out)}.advanced[open] summary svg{transform:rotate(90deg)}.advanced[open]{flex-direction:column;gap:16px;display:flex}.stack{flex-direction:column;gap:10px;display:flex}.privacy{color:var(--faint);text-align:center;text-wrap:balance;margin-inline:auto;font-size:.82rem}.privacy svg{vertical-align:-2px;margin-right:6px}.verdict{text-align:center;align-items:center;gap:16px;padding:28px 18px 22px}.verdict h2{letter-spacing:-.03em;font-size:1.6rem;font-weight:800}.verdict p{color:var(--muted)}.summary__video{border-radius:var(--r-md);background:#000;width:100%}.reps{align-items:flex-end;gap:4px;height:104px;margin:0;padding:0;list-style:none;display:flex;overflow-x:auto}.rep{--tone:var(--faint);flex-direction:column;flex:1 0 18px;justify-content:flex-end;align-items:center;gap:6px;max-width:32px;height:100%;display:flex}.rep--good{--tone:var(--good)}.rep--warn{--tone:var(--warn)}.rep--bad{--tone:var(--bad)}.rep__bar{background:var(--tone);border-radius:6px;width:100%}.rep small{color:var(--faint);font-variant-numeric:tabular-nums;font-size:.7rem}.issues{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.issues li{justify-content:space-between;align-items:center;gap:12px;padding:12px 0;display:flex}.issues li+li{box-shadow:inset 0 1px 0 var(--hairline)}.issues b{color:var(--warn);font-variant-numeric:tabular-nums;flex:none}.success{color:var(--muted);align-items:center;gap:10px;display:flex}.success svg{color:var(--good)}.chart{flex-direction:column;gap:12px;margin:0;display:flex}.chart figcaption{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.chart figcaption b{letter-spacing:-.01em;font-weight:700}.chart figcaption span{color:var(--faint);font-size:.8rem}.chart__wrap{position:relative}.chart svg{width:100%;height:auto;display:block;overflow:visible}.chart__axis{stroke:var(--hairline);stroke-width:1px}.chart__bar{fill:var(--accent-text);opacity:.8;transition:opacity .12s}.chart__bar--on{opacity:1}.chart__tick{fill:var(--faint);font-size:9px;font-weight:600}.chart__tip{pointer-events:none;white-space:nowrap;background:var(--surface-3);border-radius:var(--r-sm);box-shadow:var(--edge-raised);flex-direction:column;gap:1px;padding:8px 12px;font-size:.8rem;display:flex;position:absolute;top:-6px;transform:translate(-50%,-100%)}.chart__tip small,.chart__tip span{color:var(--muted)}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;animation-duration:1ms!important;animation-iteration-count:1!important}.btn:active,.icon-btn:active,.chip:active,.pin__key:active,.seg button:active,.tab:active,.picker__item:active,.tile:active,.tile-press:active,.hero:active,.swatch:active,.avatar-opt:active{transform:none!important}.modal__card,.hud__goal{transition-property:opacity}.spinner{animation:1.2s linear infinite spin!important}}@media (prefers-reduced-transparency:reduce){.tabbar,.train__bar{background:var(--surface);-webkit-backdrop-filter:none;backdrop-filter:none}.hud__glass{-webkit-backdrop-filter:none;backdrop-filter:none;background:#0a0a0ce6}}@media (prefers-contrast:more){:root{--hairline:color-mix(in srgb, var(--text) 35%, transparent);--muted:var(--text)}}.calib__stage{aspect-ratio:3/4;border-radius:var(--r-lg);background:#000;max-height:60vh;position:relative;overflow:hidden}.calib__stage video,.calib__stage canvas{object-fit:contain;width:100%;height:100%;position:absolute;inset:0}.calib__stage video{opacity:0}.calib__overlay{pointer-events:none;justify-content:space-between;gap:8px;display:flex;position:absolute;top:12px;left:12px;right:12px}.calib__countdown{color:#fff;text-shadow:0 2px 12px #0009;place-items:center;font-size:5rem;font-weight:800;display:grid;position:absolute;inset:0}.proposal-rule{gap:10px}.proposal-rule__head{align-items:flex-start;gap:12px;display:flex}.proposal-rule__head input{margin-top:4px}.proposal-rule__head b{display:block}.proposal-rule__head small{color:var(--muted)}.proposal-rule--off>:not(.proposal-rule__head){display:none}.proposal-rule--off .proposal-rule__head b{color:var(--muted)}.kv{grid-template-columns:auto 1fr;gap:6px 14px;font-size:.93rem;display:grid}.kv dt{color:var(--muted)}.kv dd{margin:0;font-weight:600}.sim{align-items:center;gap:12px;display:flex}.sim__num{letter-spacing:-.02em;font-size:1.6rem;font-weight:800}.frame-pick{flex-direction:column;gap:6px;margin-top:8px;display:flex}.frame-pick input[type=range]{width:100%;accent-color:var(--accent-text);margin:0}.row.card{flex-direction:row;padding:14px 16px}.row.card .row__main small{white-space:normal}html{scroll-padding-bottom:calc(var(--tabbar-h) + var(--tabbar-gap) * 2 + env(safe-area-inset-bottom,0px))}
