:root{--primary:#06c;--primary-strong:#0a5bb8;--primary-focus:#0071e3;--primary-on-dark:#2997ff;--primary-tint:rgba(0,102,204,.1);--canvas:#f2f2f7;--canvas-2:#fff;--surface-elevated:#fff;--surface-raised:#fff;--canvas-parchment:#fff;--surface-pearl:#fff;--surface-chip:hsla(240,3%,49%,.12);--surface-chip-strong:hsla(240,3%,49%,.2);--fill-track:hsla(240,3%,49%,.16);--ink:#1c1c1e;--body:#1c1c1e;--ink-muted-80:#3a3a3c;--ink-muted-48:#8a8a8e;--ink-muted-30:#c4c4c8;--divider-soft:rgba(60,60,67,.08);--hairline:rgba(60,60,67,.13);--pr-gold:#c9920b;--pr-gold-tint:rgba(201,146,11,.13);--danger:#ff3b30;--good:#34c759;--good-tint:rgba(52,199,89,.14);--ring-move:#ff375f;--ring-exercise:#a6ff00;--ring-stand:#00e5ff;--card-shadow:0 1px 2px rgba(0,0,0,.04),0 6px 20px rgba(0,0,0,.05);--card-shadow-lifted:0 2px 6px rgba(0,0,0,.06),0 14px 40px rgba(0,0,0,.08);--product-shadow:rgba(0,0,0,.18) 0 8px 30px;--xxs:4px;--xs:8px;--sm:12px;--md:16px;--lg:22px;--xl:32px;--xxl:48px;--r-sm:9px;--r-md:12px;--r-lg:20px;--r-xl:26px;--r-pill:9999px;--tabbar-h:56px;--topbar-h:50px;--safe-bottom:env(safe-area-inset-bottom,0px);--safe-top:env(safe-area-inset-top,0px);--spring:cubic-bezier(0.32,0.72,0,1);--ease-out:cubic-bezier(0.22,1,0.36,1);--font:-apple-system,BlinkMacSystemFont,"SF Pro Text","SF Pro Display",system-ui,"Segoe UI",Roboto,sans-serif}@media (prefers-color-scheme:dark){:root{--canvas:#000;--canvas-2:#1c1c1e;--surface-elevated:#1c1c1e;--surface-raised:#2c2c2e;--canvas-parchment:#1c1c1e;--surface-pearl:#2c2c2e;--surface-chip:hsla(240,3%,49%,.24);--surface-chip-strong:hsla(240,3%,49%,.36);--fill-track:hsla(240,3%,49%,.28);--ink:#fff;--body:#f5f5f7;--ink-muted-80:#ebebf0;--ink-muted-48:#98989f;--ink-muted-30:#5b5b60;--divider-soft:rgba(84,84,88,.4);--hairline:rgba(84,84,88,.55);--primary:#0a84ff;--primary-strong:#0a84ff;--primary-focus:#409cff;--primary-on-dark:#2997ff;--primary-tint:rgba(10,132,255,.18);--pr-gold:#ffd60a;--pr-gold-tint:rgba(255,214,10,.16);--card-shadow:0 1px 2px rgba(0,0,0,.5);--card-shadow-lifted:0 10px 40px rgba(0,0,0,.6);--product-shadow:rgba(0,0,0,.6) 0 10px 40px}}:root[data-theme=light]{color-scheme:light;--canvas:#f2f2f7;--canvas-2:#fff;--surface-elevated:#fff;--surface-raised:#fff;--canvas-parchment:#fff;--surface-pearl:#fff;--surface-chip:hsla(240,3%,49%,.12);--surface-chip-strong:hsla(240,3%,49%,.2);--fill-track:hsla(240,3%,49%,.16);--ink:#1c1c1e;--body:#1c1c1e;--ink-muted-80:#3a3a3c;--ink-muted-48:#8a8a8e;--ink-muted-30:#c4c4c8;--divider-soft:rgba(60,60,67,.08);--hairline:rgba(60,60,67,.13);--primary:#06c;--primary-focus:#0071e3;--primary-tint:rgba(0,102,204,.1);--pr-gold:#c9920b;--pr-gold-tint:rgba(201,146,11,.13);--card-shadow:0 1px 2px rgba(0,0,0,.04),0 6px 20px rgba(0,0,0,.05);--card-shadow-lifted:0 2px 6px rgba(0,0,0,.06),0 14px 40px rgba(0,0,0,.08);--product-shadow:rgba(0,0,0,.18) 0 8px 30px}:root[data-theme=dark]{color-scheme:dark;--canvas:#000;--canvas-2:#1c1c1e;--surface-elevated:#1c1c1e;--surface-raised:#2c2c2e;--canvas-parchment:#1c1c1e;--surface-pearl:#2c2c2e;--surface-chip:hsla(240,3%,49%,.24);--surface-chip-strong:hsla(240,3%,49%,.36);--fill-track:hsla(240,3%,49%,.28);--ink:#fff;--body:#f5f5f7;--ink-muted-80:#ebebf0;--ink-muted-48:#98989f;--ink-muted-30:#5b5b60;--divider-soft:rgba(84,84,88,.4);--hairline:rgba(84,84,88,.55);--primary:#0a84ff;--primary-focus:#409cff;--primary-tint:rgba(10,132,255,.18);--pr-gold:#ffd60a;--pr-gold-tint:rgba(255,214,10,.16);--card-shadow:0 1px 2px rgba(0,0,0,.5);--card-shadow-lifted:0 10px 40px rgba(0,0,0,.6);--product-shadow:rgba(0,0,0,.6) 0 10px 40px}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}body,html{margin:0;padding:0;height:100%}body{font-family:var(--font);font-size:17px;line-height:1.47;letter-spacing:-.4px;color:var(--body);background:var(--canvas);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overscroll-behavior-y:none}.no-select,button{-moz-user-select:none;user-select:none;-webkit-user-select:none}input,textarea{font-family:inherit}h1,h2,h3,h4{margin:0;font-weight:600;letter-spacing:-.4px;color:var(--ink)}a{color:var(--primary);text-decoration:none}.t-hero{font-size:34px;font-weight:700;line-height:1.06;letter-spacing:-.9px}.t-display{font-size:28px;font-weight:700;line-height:1.1;letter-spacing:-.6px}.t-title{font-size:22px;font-weight:700;line-height:1.18;letter-spacing:-.5px}.t-headline{font-size:17px;font-weight:600;letter-spacing:-.43px}.t-body{font-size:17px;font-weight:400;letter-spacing:-.4px}.t-caption{font-size:14px;font-weight:400;letter-spacing:-.2px;color:var(--ink-muted-48)}.t-caption-strong{font-size:13px;font-weight:600;letter-spacing:.06px;text-transform:uppercase;color:var(--ink-muted-48)}.t-mono-num,.tnum{font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1,"tnum"}.app-scroll{min-height:100%;padding-top:var(--safe-top);padding-bottom:calc(var(--tabbar-h) + var(--safe-bottom) + 28px)}.page{padding:0 var(--md);max-width:720px;margin:0 auto}.section-gap{height:var(--lg)}.large-title{font-size:34px;font-weight:700;letter-spacing:-.9px;line-height:1.05;color:var(--ink)}.btn{font-family:inherit;font-size:17px;font-weight:600;letter-spacing:-.43px;border:none;cursor:pointer;transition:transform .14s var(--spring),opacity .14s ease,background .16s ease,box-shadow .16s ease;display:inline-flex;align-items:center;justify-content:center;gap:8px}.btn:active{transform:scale(.95)}.btn:focus-visible{outline:2px solid var(--primary-focus);outline-offset:2px}.btn:disabled{opacity:.38;pointer-events:none}.btn-primary{background:var(--primary);color:#fff;border-radius:var(--r-pill);padding:13px 24px;min-height:48px;box-shadow:0 4px 16px var(--primary-tint)}.btn-primary:active{background:var(--primary-strong)}.btn-secondary{background:var(--primary-tint);color:var(--primary);border:none;padding:13px 24px;min-height:48px}.btn-ghost,.btn-secondary{border-radius:var(--r-pill)}.btn-ghost{background:var(--surface-chip);color:var(--ink);padding:12px 20px;min-height:46px;font-weight:600}.btn-text{background:transparent;color:var(--primary);padding:8px 4px;min-height:36px;font-weight:400}.btn-block{width:100%}.btn-danger{color:var(--danger)}.btn-ghost.btn-danger{background:rgba(255,59,48,.1)}.card,.card-parchment{background:var(--surface-elevated);border-radius:var(--r-lg);padding:var(--lg);box-shadow:var(--card-shadow)}.card-tight{padding:var(--sm) var(--md)}.card-tap{transition:transform .16s var(--spring);-webkit-user-select:none;-moz-user-select:none;user-select:none}.card-tap:active{transform:scale(.975)}.list-group{background:var(--surface-elevated);border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--card-shadow)}.list-row{display:flex;align-items:center;gap:var(--sm);padding:13px var(--md);min-height:52px;border-bottom:.5px solid var(--hairline);position:relative}.list-row:last-child{border-bottom:none}.list-row-tap{cursor:pointer;transition:background .12s ease}.input,.list-row-tap:active{background:var(--surface-chip)}.input{width:100%;font-size:17px;letter-spacing:-.4px;color:var(--ink);border:1px solid transparent;border-radius:var(--r-md);padding:13px 15px;outline:none;transition:border-color .15s ease,background .15s ease}.input:focus{border-color:var(--primary);background:var(--surface-elevated)}.input::placeholder{color:var(--ink-muted-48)}.input-pill{border-radius:var(--r-pill);padding:13px 18px}.num-cell{width:100%;text-align:center;font-size:20px;font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--ink);background:var(--surface-chip);border:1.5px solid transparent;border-radius:var(--r-sm);padding:11px 4px;outline:none;-moz-appearance:textfield;transition:border-color .14s ease,background .14s ease}.num-cell::-webkit-inner-spin-button,.num-cell::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.num-cell:focus{border-color:var(--primary)}.chip,.num-cell:focus{background:var(--surface-elevated)}.chip{display:inline-flex;align-items:center;gap:6px;font-size:14px;font-weight:600;letter-spacing:-.2px;padding:9px 15px;border-radius:var(--r-pill);color:var(--ink);border:none;box-shadow:var(--card-shadow);cursor:pointer;white-space:nowrap;transition:transform .14s var(--spring),background .16s ease,color .16s ease}.chip:active{transform:scale(.94)}.chip-active{background:var(--primary);color:#fff;box-shadow:0 4px 14px var(--primary-tint)}.chip-row{display:flex;gap:8px;overflow-x:auto;padding:6px 2px;margin:0 -2px;scrollbar-width:none;-webkit-overflow-scrolling:touch}.chip-row::-webkit-scrollbar{display:none}.pr-badge{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:700;letter-spacing:.3px;text-transform:uppercase;color:var(--pr-gold);background:var(--pr-gold-tint);padding:4px 8px;border-radius:var(--r-pill)}.img-surface{border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--product-shadow);background:var(--surface-chip)}.topbar{position:-webkit-sticky;position:sticky;top:0;z-index:20;padding-top:var(--safe-top);background:color-mix(in srgb,var(--canvas) 72%,transparent);backdrop-filter:saturate(180%) blur(24px);-webkit-backdrop-filter:saturate(180%) blur(24px);transition:box-shadow .2s ease,border-color .2s ease;border-bottom:.5px solid transparent}.topbar-scrolled{border-bottom-color:var(--hairline)}.topbar-inner{display:flex;align-items:center;justify-content:space-between;gap:var(--sm);height:var(--topbar-h);padding:0 var(--md);max-width:720px;margin:0 auto}.topbar-title{font-size:17px;font-weight:600;letter-spacing:-.43px}.tabbar{position:fixed;left:0;right:0;bottom:0;z-index:30;display:flex;justify-content:space-around;align-items:stretch;height:calc(var(--tabbar-h) + var(--safe-bottom));padding-bottom:var(--safe-bottom);background:color-mix(in srgb,var(--canvas) 78%,transparent);backdrop-filter:saturate(180%) blur(24px);-webkit-backdrop-filter:saturate(180%) blur(24px);border-top:.5px solid var(--hairline)}.tab{flex:1 1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;color:var(--ink-muted-48);font-size:10px;font-weight:500;letter-spacing:0;background:none;border:none;cursor:pointer;transition:transform .16s var(--spring),color .2s ease}.tab:active{transform:scale(.88)}.tab-active{color:var(--primary)}.tab svg{width:26px;height:26px;transition:transform .2s var(--spring)}.tab-active svg{transform:translateY(-1px) scale(1.04)}.row,.row-between{display:flex;align-items:center}.row-between{justify-content:space-between}.col{display:flex;flex-direction:column}.gap-xs{gap:var(--xs)}.gap-sm{gap:var(--sm)}.gap-md{gap:var(--md)}.grow{flex:1 1;min-width:0}.muted{color:var(--ink-muted-48)}.center{text-align:center}.stat-value{font-size:32px;font-weight:700;letter-spacing:-1px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--ink);line-height:1}.dash-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:var(--sm);gap:var(--sm)}.dash-grid .span-2{grid-column:span 2}.ring-wrap{position:relative}.ring-center,.ring-wrap{display:flex;align-items:center;justify-content:center}.ring-center{position:absolute;inset:0;flex-direction:column;text-align:center}.freq-bars{display:flex;align-items:flex-end;gap:6px;height:52px}.freq-col{flex:1 1;display:flex;flex-direction:column;align-items:center;gap:5px}.freq-bar{width:100%;background:var(--fill-track);border-radius:5px;min-height:5px;transition:height .5s var(--spring),background .3s ease}.freq-bar-on{background:linear-gradient(to top,var(--primary),color-mix(in srgb,var(--primary) 70%,#fff))}.freq-day{font-size:10px;font-weight:600;color:var(--ink-muted-48)}.freq-day-today{color:var(--primary)}.muscle-badge{display:flex;align-items:center;justify-content:center;background:var(--surface-chip);border-radius:var(--r-md);flex-shrink:0;overflow:hidden}.set-grid{display:grid;grid-template-columns:26px 1fr 1fr 44px;grid-gap:8px;gap:8px;align-items:center}.set-grid-done{background:var(--good-tint);border-radius:var(--r-sm);margin:0 -6px;padding:4px 6px;transition:background .2s ease}.set-grid-head{font-size:11px;font-weight:600;letter-spacing:.3px;text-transform:uppercase;color:var(--ink-muted-48);padding:0 4px 2px}.set-check{width:38px;height:38px;border-radius:var(--r-sm);border:1.5px solid var(--ink-muted-30);background:transparent;color:transparent;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:transform .16s var(--spring),background .16s ease,border-color .16s ease}.set-check:active{transform:scale(.86)}.set-check-on{background:var(--good);border-color:var(--good);color:#fff}.set-index{text-align:center;font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--ink-muted-48)}.photo-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:6px;gap:6px}.photo-cell{aspect-ratio:3/4;border-radius:var(--r-md);overflow:hidden;background:var(--surface-chip);position:relative;cursor:pointer;box-shadow:var(--card-shadow);transition:transform .16s var(--spring)}.photo-cell:active{transform:scale(.96)}.photo-cell img{width:100%;height:100%;object-fit:cover;display:block}.photo-cell:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.5) 0,transparent 38%);pointer-events:none}.photo-cell-date{position:absolute;left:8px;bottom:7px;z-index:1;font-size:11px;font-weight:700;letter-spacing:-.1px;color:#fff}.camera-stage{position:fixed;inset:0;z-index:70;background:#000;display:flex;flex-direction:column;animation:fade-in .25s ease}.camera-video-wrap{position:relative;flex:1 1;overflow:hidden}.camera-ghost,.camera-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.camera-ghost{opacity:.32;pointer-events:none;mix-blend-mode:screen}.camera-guide{position:absolute;inset:0;pointer-events:none}.camera-countdown{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:140px;font-weight:700;color:#fff;text-shadow:0 2px 30px rgba(0,0,0,.5);animation:count-pop .8s var(--ease-out)}@keyframes count-pop{0%{transform:scale(1.6);opacity:0}30%{opacity:1}to{transform:scale(1);opacity:.9}}.camera-controls{display:flex;align-items:center;justify-content:space-around;padding:22px 24px calc(26px + var(--safe-bottom));background:#000}.shutter{width:74px;height:74px;border-radius:50%;background:#fff;border:4px solid hsla(0,0%,100%,.35);cursor:pointer;transition:transform .12s var(--spring)}.shutter:active{transform:scale(.9)}.camera-cat{display:flex;gap:8px;justify-content:center;padding:14px}.compare-wrap{position:relative;aspect-ratio:3/4;border-radius:var(--r-lg);overflow:hidden;background:#000;box-shadow:var(--product-shadow)}.compare-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.compare-top{-webkit-clip-path:inset(0 0 0 var(--split));clip-path:inset(0 0 0 var(--split))}.compare-handle{top:0;bottom:0;width:2px;box-shadow:0 0 10px rgba(0,0,0,.5)}.compare-handle,.compare-knob{position:absolute;left:var(--split);background:#fff}.compare-knob{top:50%;transform:translate(-50%,-50%);width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#000;box-shadow:0 2px 10px rgba(0,0,0,.4)}.compare-range{position:absolute;inset:0;width:100%;opacity:0;cursor:ew-resize}.segmented{display:flex;background:var(--surface-chip);border-radius:var(--r-sm);padding:2px;gap:2px}.segmented button{flex:1 1;border:none;background:transparent;color:var(--ink);font-size:14px;font-weight:600;letter-spacing:-.2px;padding:8px;border-radius:7px;cursor:pointer;transition:background .18s var(--spring),box-shadow .18s ease}.segmented button.on{background:var(--surface-elevated);box-shadow:0 1px 4px rgba(0,0,0,.12)}.fab{position:fixed;right:var(--md);bottom:calc(var(--tabbar-h) + var(--safe-bottom) + 18px);z-index:25;width:58px;height:58px;border-radius:var(--r-pill);background:var(--primary);color:#fff;border:none;display:flex;align-items:center;justify-content:center;box-shadow:0 8px 24px var(--primary-tint);cursor:pointer;transition:transform .14s var(--spring)}.fab:active{transform:scale(.9)}.sheet-backdrop{position:fixed;inset:0;z-index:50;background:rgba(0,0,0,.42);display:flex;align-items:flex-end;justify-content:center;animation:fade-in .24s ease;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.sheet{width:100%;max-width:720px;max-height:92vh;background:var(--canvas);border-radius:var(--r-xl) var(--r-xl) 0 0;padding:var(--xs) var(--md) calc(var(--lg) + var(--safe-bottom));overflow-y:auto;animation:slide-up .4s var(--spring);box-shadow:0 -10px 40px rgba(0,0,0,.16)}.sheet-grabber{width:36px;height:5px;border-radius:3px;background:var(--ink-muted-30);margin:8px auto 14px}.sheet-header{display:flex;align-items:center;justify-content:space-between;padding:2px 0 14px}@keyframes fade-in{0%{opacity:0}}@keyframes slide-up{0%{transform:translateY(100%)}}.enter,.stagger>*{animation:enter-up .5s var(--ease-out) both}.stagger>:first-child{animation-delay:.02s}.stagger>:nth-child(2){animation-delay:.06s}.stagger>:nth-child(3){animation-delay:.1s}.stagger>:nth-child(4){animation-delay:.14s}.stagger>:nth-child(5){animation-delay:.18s}.stagger>:nth-child(6){animation-delay:.22s}.stagger>:nth-child(7){animation-delay:.26s}.stagger>:nth-child(8){animation-delay:.3s}@keyframes enter-up{0%{opacity:0;transform:translateY(12px)}}.empty{text-align:center;padding:var(--xxl) var(--lg);color:var(--ink-muted-48)}.empty-icon{width:60px;height:60px;margin:0 auto var(--md);color:var(--ink-muted-30)}.divider{height:.5px;background:var(--hairline);margin:var(--md) 0}.spinner{width:30px;height:30px;border-radius:50%;border:3px solid var(--surface-chip);border-top-color:var(--primary);animation:spin .8s linear infinite;margin:var(--xxl) auto}@keyframes spin{to{transform:rotate(1turn)}}.toast-stack{position:fixed;left:0;right:0;bottom:calc(var(--tabbar-h) + var(--safe-bottom) + 16px);z-index:60;display:flex;flex-direction:column;align-items:center;gap:8px;pointer-events:none}.toast{background:color-mix(in srgb,var(--ink) 92%,transparent);color:var(--canvas-2);font-size:15px;font-weight:600;letter-spacing:-.2px;padding:13px 22px;border-radius:var(--r-pill);max-width:88%;text-align:center;box-shadow:var(--card-shadow-lifted);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);animation:toast-in .4s var(--spring)}@keyframes toast-in{0%{opacity:0;transform:translateY(16px) scale(.96)}}.lock-screen{position:fixed;inset:0;z-index:80;background:var(--canvas);display:flex;align-items:center;justify-content:center;padding:var(--lg)}.lock-inner{text-align:center;max-width:320px;animation:enter-up .5s var(--ease-out) both}.lock-icon{color:var(--primary);margin-bottom:var(--lg);display:flex;justify-content:center}@media (prefers-reduced-motion:reduce){*,.stagger>*{animation-duration:.01ms!important;animation-delay:0s!important;transition-duration:.01ms!important}}.wiz-shell{--canvas:#000;--canvas-2:#111;--surface-elevated:#1c1c1e;--surface-raised:#2c2c2e;--surface-chip:hsla(0,0%,100%,.09);--surface-chip-strong:hsla(0,0%,100%,.15);--fill-track:hsla(0,0%,100%,.14);--ink:#fff;--body:#f5f5f7;--ink-muted-80:hsla(0,0%,100%,.88);--ink-muted-48:hsla(0,0%,100%,.5);--ink-muted-30:hsla(0,0%,100%,.28);--hairline:hsla(0,0%,100%,.1);--divider-soft:hsla(0,0%,100%,.06);--card-shadow:none;--card-shadow-lifted:0 10px 40px rgba(0,0,0,.7);--primary:#0a84ff;--primary-strong:#409cff;--primary-focus:#409cff;--primary-on-dark:#2997ff;--primary-tint:rgba(10,132,255,.2);--danger:#ff453a;--good:#30d158;--good-tint:rgba(48,209,88,.18);--pr-gold:#ffd60a;color-scheme:dark;position:fixed;inset:0;z-index:100;background:var(--canvas);display:flex;flex-direction:column;align-items:center;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;padding:calc(var(--safe-top) + 16px) var(--md) calc(var(--safe-bottom) + 32px)}.wiz-shell:before{content:"";position:fixed;inset:0;background:radial-gradient(ellipse 70% 45% at 50% 0,rgba(10,132,255,.07) 0,transparent 100%);pointer-events:none;z-index:0}.wiz-shell>*{position:relative;z-index:1}.wiz-step{width:100%;max-width:400px;display:flex;flex-direction:column;align-items:center;gap:20px;min-height:calc(100dvh - var(--safe-top) - var(--safe-bottom) - 48px);justify-content:center}@keyframes wiz-fwd{0%{opacity:0;transform:translateX(28px) scale(.98)}}@keyframes wiz-back{0%{opacity:0;transform:translateX(-28px) scale(.98)}}.wiz-enter-forward{animation:wiz-fwd .34s var(--ease-out) both}.wiz-enter-back{animation:wiz-back .34s var(--ease-out) both}.wiz-dots{position:fixed;top:calc(var(--safe-top) + 16px);left:50%;transform:translateX(-50%);display:flex;gap:6px;z-index:101}.wiz-dot{width:6px;height:6px;border-radius:3px;background:var(--fill-track);transition:width .3s var(--spring),background .3s ease}.wiz-dot-active{width:20px;background:var(--primary)}.wiz-dot-done{background:var(--primary);opacity:.45}.wiz-hero{gap:16px;text-align:center}.wiz-hero,.wiz-splash-top{display:flex;flex-direction:column;align-items:center}.wiz-splash-top{gap:28px;animation:enter-up .55s var(--ease-out) .05s both}.wiz-splash-brand{display:flex;flex-direction:column;align-items:center;gap:8px}.wiz-headline{font-size:44px;font-weight:800;letter-spacing:-1.6px;color:var(--ink);line-height:1;margin:0}.wiz-sub{font-size:17px;color:var(--ink-muted-48);line-height:1.5;margin:0}.wiz-rings-wrap{position:relative;width:224px;height:224px;flex-shrink:0;animation:wiz-ring-in .8s var(--ease-out) both}@keyframes wiz-ring-in{0%{opacity:0;transform:scale(.7) rotate(-15deg)}}.wiz-rings-svg{width:224px;height:224px}.wiz-features{display:flex;flex-direction:column;gap:8px;width:100%}.wiz-feature{display:flex;align-items:center;gap:14px;background:hsla(0,0%,100%,.055);border:.5px solid hsla(0,0%,100%,.1);border-radius:var(--r-md);padding:13px 16px;transition:transform .14s var(--spring),background .14s ease}.wiz-feature:active{transform:scale(.97);background:hsla(0,0%,100%,.09)}.wiz-feature-icon{width:36px;height:36px;display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--ink);opacity:.85}.wiz-feature-emoji{font-size:24px;flex-shrink:0;width:36px;text-align:center}.wiz-actions{width:100%;display:flex;flex-direction:column;gap:10px}.wiz-hint{color:var(--ink-muted-48)}.wiz-back{align-self:flex-start;color:var(--primary);background:none;border:none;cursor:pointer;padding:2px;margin-bottom:-4px;display:flex;align-items:center;transition:opacity .14s ease,transform .14s var(--spring)}.wiz-back:active{transform:scale(.86);opacity:.6}.wiz-choice-card{width:100%;display:flex;align-items:center;gap:14px;background:hsla(0,0%,100%,.065);border:.5px solid hsla(0,0%,100%,.12);border-radius:var(--r-lg);padding:16px 18px;cursor:pointer;transition:transform .15s var(--spring),background .15s ease,border-color .15s ease}.wiz-choice-card:hover{background:hsla(0,0%,100%,.1);border-color:hsla(0,0%,100%,.18)}.wiz-choice-card:active{transform:scale(.97);background:hsla(0,0%,100%,.13)}.wiz-choice-card:disabled{opacity:.4;pointer-events:none}.wiz-choice-badge{width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.wiz-choice-badge-blue{background:var(--primary)}.wiz-choice-badge-white{background:hsla(0,0%,100%,.14)}.wiz-choice-emoji{font-size:28px;flex-shrink:0}.wiz-input-group{width:100%;display:flex;flex-direction:column;gap:6px}.wiz-label{font-size:13px;font-weight:600;color:var(--ink-muted-48);letter-spacing:.1px;padding-left:4px}.wiz-error{color:var(--danger);font-size:14px;margin:0;padding:0 4px;animation:enter-up .28s var(--ease-out)}.wiz-avatar-preview{width:112px;height:112px;border-radius:50%;background:var(--surface-chip);display:flex;align-items:center;justify-content:center;overflow:hidden;box-shadow:var(--card-shadow-lifted);animation:wiz-avatar-pop .5s var(--spring) both}@keyframes wiz-avatar-pop{0%{transform:scale(.55);opacity:0}}.wiz-avatar-img{width:100%;height:100%;object-fit:cover}.wiz-emoji-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:10px;gap:10px;width:100%}.wiz-emoji-btn{font-size:30px;aspect-ratio:1;background:var(--surface-chip);border:2px solid transparent;border-radius:var(--r-md);cursor:pointer;transition:transform .14s var(--spring),border-color .14s ease,background .14s ease;display:flex;align-items:center;justify-content:center}.wiz-emoji-btn:active{transform:scale(.84)}.wiz-emoji-active{border-color:var(--primary);background:var(--primary-tint)}.wiz-step-done{justify-content:center;gap:24px}.wiz-done-rings-wrap{position:relative;display:inline-flex}.wiz-done-check,.wiz-done-rings-wrap{align-items:center;justify-content:center}.wiz-done-check{position:absolute;inset:0;display:flex;font-size:54px;font-weight:700;color:var(--ink);animation:wiz-check-in .55s var(--spring) .85s both;pointer-events:none}@keyframes wiz-check-in{0%{transform:scale(.3) rotate(-20deg);opacity:0}}.wiz-logo-ring{width:100px;height:100px;border-radius:28px;background:linear-gradient(145deg,var(--primary),#5e5ce6);display:flex;align-items:center;justify-content:center;box-shadow:0 12px 40px rgba(0,102,204,.4);animation:enter-up .6s var(--ease-out) both}.wiz-done{justify-content:center;gap:20px}.wiz-done-icon{font-size:80px;animation:wiz-pop .6s var(--spring) both}@keyframes wiz-pop{0%{transform:scale(.4);opacity:0}}.auth-logo{width:80px;height:80px;border-radius:var(--r-xl);background:linear-gradient(145deg,var(--primary),#5e5ce6);justify-content:center;box-shadow:0 8px 32px rgba(0,102,204,.35)}.auth-divider,.auth-logo{display:flex;align-items:center}.auth-divider{gap:12px;margin:20px 0;color:var(--ink-muted-48);font-size:14px}.auth-divider:after,.auth-divider:before{content:"";flex:1 1;height:.5px;background:var(--hairline)}.spinner-sm{width:18px;height:18px;border-width:2px;margin:0}.toggle{width:51px;height:31px;border-radius:16px;background:var(--fill-track);border:none;cursor:pointer;position:relative;transition:background .2s ease;flex-shrink:0}.toggle:after{content:"";position:absolute;top:2px;left:2px;width:27px;height:27px;border-radius:50%;background:#fff;box-shadow:0 2px 6px rgba(0,0,0,.22);transition:transform .22s var(--spring)}.toggle-on{background:var(--good)}.toggle-on:after{transform:translateX(20px)}.xp-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:8px;gap:8px}.xp-stat{background:var(--surface-elevated);border-radius:var(--r-md);padding:14px 8px;flex-direction:column;gap:4px;box-shadow:var(--card-shadow);text-align:center}.avatar-btn,.xp-stat{display:flex;align-items:center}.avatar-btn{width:88px;height:88px;border-radius:50%;background:var(--surface-chip);border:none;cursor:pointer;justify-content:center;position:relative;transition:transform .14s var(--spring)}.avatar-btn:active{transform:scale(.94)}.avatar-img{width:100%;height:100%;border-radius:50%;object-fit:cover}.avatar-edit-badge{position:absolute;bottom:0;right:0;width:26px;height:26px;border-radius:50%;background:var(--primary);color:#fff;display:flex;align-items:center;justify-content:center;border:2px solid var(--canvas)}.avatar-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:10px;gap:10px}.avatar-preset{font-size:32px;width:100%;aspect-ratio:1;background:var(--surface-chip);border:none;border-radius:var(--r-md);cursor:pointer;transition:transform .14s var(--spring),background .14s ease;display:flex;align-items:center;justify-content:center}.avatar-preset:active{transform:scale(.88);background:var(--primary-tint)}.lb-row{animation:enter-up .4s var(--ease-out) both}.lb-row-me{background:var(--primary-tint)!important}.lb-avatar{width:44px;height:44px;border-radius:50%;background:var(--surface-chip);display:flex;align-items:center;justify-content:center;flex-shrink:0;overflow:hidden}.lb-avatar-img{width:100%;height:100%;object-fit:cover}.rank-num{font-size:16px;font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.my-rank-sticky{position:-webkit-sticky;position:sticky;bottom:calc(var(--tabbar-h) + var(--safe-bottom) + 8px);background:color-mix(in srgb,var(--canvas) 85%,transparent);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-radius:var(--r-pill);padding:12px 20px;gap:12px;box-shadow:var(--card-shadow-lifted);margin-top:12px}.my-rank-sticky,.opt-in-banner{display:flex;align-items:center}.opt-in-banner{justify-content:space-between;background:var(--primary-tint);border-radius:var(--r-md);padding:12px 16px;margin-bottom:16px;font-size:14px;color:var(--ink);text-decoration:none;transition:opacity .14s ease}.opt-in-banner:active{opacity:.7}.install-sheet-backdrop{position:fixed;inset:0;z-index:200;background:rgba(0,0,0,.55);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;align-items:flex-end;justify-content:center;animation:fade-in .22s ease}.install-sheet{width:100%;max-width:480px;background:var(--surface-elevated);border-radius:var(--r-xl) var(--r-xl) 0 0;padding:0 var(--md) calc(var(--xl) + var(--safe-bottom));animation:slide-up .42s var(--spring);box-shadow:0 -10px 50px rgba(0,0,0,.28)}.install-sheet-inner{padding:var(--md) 0 0;display:flex;flex-direction:column;align-items:center;gap:var(--lg)}.install-app-icon{width:72px;height:72px;border-radius:18px;background:linear-gradient(145deg,#0a84ff,#5e5ce6);display:flex;align-items:center;justify-content:center;box-shadow:0 8px 28px rgba(10,132,255,.38)}.install-steps{width:100%;display:flex;flex-direction:column;gap:var(--sm)}.install-step-row{display:flex;align-items:center;gap:var(--sm);background:var(--surface-chip);border-radius:var(--r-md);padding:12px 14px;text-align:left}.install-step-num{width:24px;height:24px;border-radius:50%;background:var(--primary);color:#fff;font-size:13px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}.install-actions{width:100%;display:flex;flex-direction:column;gap:8px}.color-avatar{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-weight:700;color:#fff;letter-spacing:-.5px;text-shadow:0 1px 4px rgba(0,0,0,.25);border-radius:inherit}.color-swatch-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:12px;gap:12px;width:100%;padding:4px 0}.color-swatch-btn{aspect-ratio:1;border-radius:50%;border:3px solid transparent;cursor:pointer;transition:transform .14s var(--spring),box-shadow .14s ease;outline:none}.color-swatch-btn:active{transform:scale(.82)}.color-swatch-active{box-shadow:0 0 0 2px var(--canvas),0 0 0 4px var(--ink)}.rank-badge{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;font-size:11px;font-weight:800;line-height:1}