.bottom-nav{z-index:10;height:calc(var(--nav-h) + env(safe-area-inset-bottom));padding:0 4px env(safe-area-inset-bottom);-webkit-backdrop-filter:blur(16px)saturate(1.2);border-top:1px solid var(--border);background:#08100ce6;grid-template-columns:repeat(5,1fr);display:grid;position:fixed;bottom:0;left:0;right:0}.bottom-nav .tab{letter-spacing:.01em;color:var(--muted);align-content:center;place-items:center;gap:3px;font-size:.68rem;font-weight:700;transition:color .15s;display:grid}.bottom-nav .tab-icon{border-radius:var(--radius-sm);width:52px;height:30px;transition:background .2s ease, transform .2s var(--ease);place-items:center;display:grid}.bottom-nav .tab-icon .ico{width:22px;height:22px}.bottom-nav .tab.active{color:var(--accent)}.bottom-nav .tab.active .tab-icon{background:var(--accent-soft)}.bottom-nav .tab:active .tab-icon{transform:scale(.92)}@media (width>=600px){.bottom-nav{border:1px solid var(--border);width:auto;max-width:560px;height:var(--nav-h);box-shadow:var(--shadow);border-radius:20px;margin-inline:auto;padding-bottom:0;bottom:12px}}.camera-lab{width:min(1180px,100vw - 32px);margin-inline:calc(50% + min(1180px,100vw - 32px)/-2)}.camera-grid{align-items:start;gap:16px;display:grid}@media (width>=900px){.camera-grid{grid-template-columns:minmax(0,1fr) 340px}}.camera-view{border-radius:var(--radius-sm,10px);background:#000;min-height:200px;position:relative;overflow:hidden}.camera-stage{width:100%;max-width:100%;margin-inline:auto;position:relative}.camera-stage.camera-big{width:min(100%, calc(75vh * var(--aspect,1.78)))}.camera-test>summary{cursor:pointer;list-style:none}.camera-test[open]>summary{margin-bottom:4px}.camera-stage video,.camera-stage canvas{width:100%;height:100%;display:block;position:absolute;inset:0}.camera-stage canvas.tapping{cursor:crosshair}.camera-stats{color:#ffffff9e;font-variant-numeric:tabular-nums;gap:2px;padding:8px 12px 10px;font-size:.78rem;display:grid}.camera-stats p{margin:0}.camera-stats .camera-stats-problem{color:var(--danger);font-size:.85rem;font-weight:600}.camera-empty{place-items:center;display:grid;position:absolute;inset:0}.camera-lab select{border-radius:var(--radius-sm,10px);background:var(--surface);border:1px solid var(--border);width:100%;min-height:44px;padding:0 12px}.setup-ready{color:var(--accent);font-weight:700}.shot-log{gap:6px;margin:0;padding-left:20px;font-size:.9rem;display:grid}.bad-text{color:var(--danger)}.choice{border:0;gap:8px;min-width:0;margin:0;padding:0;display:grid}.choice legend{margin-bottom:6px;padding:0}.choice label{border:1px solid var(--border);border-radius:var(--radius-sm,10px);cursor:pointer;align-items:center;gap:12px;min-height:44px;padding:10px 12px;display:flex}.choice label:has(input:checked){border-color:var(--accent);background:var(--accent-soft)}.choice input{width:20px;height:20px;accent-color:var(--accent);flex:none;margin:0}.choice label>span{gap:2px;display:grid}.pair-code{text-align:center;color:var(--text);justify-items:center;padding:16px}.pair-code p{margin:0}.qr{border-radius:var(--radius-xs,6px);width:min(300px,70vw);height:auto;display:block}.pair-steps{gap:4px;margin:0;padding-left:20px;display:grid}.phone-cam{background:#000;grid-template-rows:minmax(0,1fr) auto;min-height:100dvh;display:grid}.phone-cam video{object-fit:contain;background:#000;width:100%;height:100%;max-height:62dvh;display:block}.phone-cam.sending{grid-template-rows:minmax(0,1fr)}.phone-cam.sending video{max-height:100dvh}.phone-cam-panel{padding:16px 16px max(16px, env(safe-area-inset-bottom));background:var(--bg)}.phone-cam-panel p{margin:0}.phone-cam-status{font-weight:700}.phone-cam-status.ok{color:var(--accent)}.camera-view:has(.pair-code){min-height:440px}.camera-badge{z-index:20;border-radius:var(--radius-sm,10px);background:var(--surface-2);border:1px solid var(--border);color:var(--text);align-items:center;gap:6px;padding:6px 12px;font-size:.8rem;font-weight:600;text-decoration:none;display:inline-flex;position:fixed;top:10px;right:12px}.camera-badge .dot{background:var(--muted);border-radius:50%;width:8px;height:8px}.camera-badge.on .dot{background:var(--accent)}.camera-badge.lost{border-color:var(--danger)}.camera-badge.lost .dot{background:var(--danger)}.camera-shot{grid-template-columns:minmax(0,46%) minmax(0,1fr);align-items:center;gap:12px;display:grid}.camera-shot .camera-stage{border-radius:var(--radius-sm,10px);background:#000;overflow:hidden}.camera-shot-text{justify-items:start;gap:6px;display:grid}.camera-shot-say{margin:0;font-size:.92rem;font-weight:600;line-height:1.35}.camera-shot-say.ready{color:var(--accent)}.camera-shot-say.shot{color:var(--text-2)}.camera-shot-note{color:var(--text-2);margin:0;font-size:.82rem}.camera-crop{border-radius:var(--radius-sm,10px);background:#000;width:100%;position:relative;overflow:hidden}.camera-crop .camera-stage{transform-origin:0 0;border-radius:0;max-width:none;margin:0;position:absolute;top:0;left:0}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#09090b;--surface:#18181b;--surface-2:#27272a;--surface-3:#3f3f46;--border:#2e2e33;--border-strong:#52525b;--text:#fafafa;--text-2:#d4d4d8;--muted:#a1a1aa;--accent:#a3e4bb;--accent-2:#8dd6a8;--accent-soft:#a3e4bb1f;--accent-ink:#0d1a12;--gold:#f1dc84;--gold-soft:#f1dc841f;--danger:#f09a9a;--info:#a9d3f2;--radius:14px;--radius-sm:10px;--radius-xs:6px;--shadow:0 12px 32px #00000061;--shadow-sm:0 2px 8px #00000040;--highlight:none;--nav-h:64px;--ease:cubic-bezier(.2, .7, .2, 1);--mint:#a3e4bb;--butter:#f1dc84;--lilac:#cbbaf3;--peach:#f4b896;--sky:#a9d3f2;--rose:#f0a3ad;--ink:#09090b;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;font-family:Outfit,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:16px;line-height:1.45}*{box-sizing:border-box}html,body{margin:0}html{overflow-x:hidden}#root{width:100%}body{background:var(--bg);color:var(--text);min-height:100dvh}button,input,textarea,select{font:inherit;color:inherit}a{color:inherit;text-decoration:none}h1,h2,h3{letter-spacing:-.015em;text-wrap:balance;margin:0;line-height:1.2}h1{letter-spacing:-.025em;font-size:1.75rem;font-weight:800}h2{font-size:1.125rem;font-weight:750}h3{font-size:1rem;font-weight:700}p{text-wrap:pretty;margin:0}ul,ol{margin:0;padding-left:1.2em}li+li{margin-top:.35em}li::marker{color:var(--muted)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.ico{vertical-align:-.2em;flex:none;display:inline-block}.app{width:100%;max-width:560px;padding:16px 16px calc(var(--nav-h) + 24px + env(safe-area-inset-bottom));margin-inline:auto}.page{animation:page-in .25s var(--ease);gap:20px;display:grid}@keyframes page-in{0%{opacity:0;transform:translateY(6px)}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.page-head{gap:6px;padding-top:8px;display:grid}.page-head>p.muted{font-size:.95rem}.eyebrow{letter-spacing:.1em;text-transform:uppercase;color:var(--muted);align-items:center;gap:6px;font-size:.72rem;font-weight:750;display:inline-flex}.eyebrow .ico{width:14px;height:14px}.muted{color:var(--muted)}.small{font-size:.85rem}.stack{gap:12px;display:grid}.row{align-items:center;gap:8px;display:flex}.row.between{justify-content:space-between}.row.wrap{flex-wrap:wrap}.grow{flex:1;min-width:0}.card{background:linear-gradient(180deg, #ffffff05, transparent 40%), var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--highlight);gap:12px;padding:16px;display:grid}.card.hero{box-shadow:var(--shadow), inset 0 1px 0 #ffffff0f;background:radial-gradient(420px 200px at 100% 0,#2fd07f29,#0000 70%),linear-gradient(160deg,#15472f 0%,#0e2a1e 58%,#0d1f18 100%);border-color:#2a5c43;position:relative;overflow:hidden}.card-head{align-items:center;gap:10px;display:flex}.card-head h2{flex:1;min-width:0}.btn{border-radius:var(--radius-sm);border:1px solid var(--border-strong);background:var(--surface-2);cursor:pointer;text-align:center;min-height:50px;transition:transform .1s var(--ease), background .15s ease, border-color .15s ease, box-shadow .15s ease;justify-content:center;align-items:center;gap:8px;padding:0 20px;font-weight:700;line-height:1.2;display:inline-flex}.btn .ico{width:20px;height:20px}.btn:hover:not(:disabled){border-color:#3d6150}.btn:active:not(:disabled){transform:scale(.97)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn.primary{color:var(--accent-ink);background:linear-gradient(#36d986,#21b566);border-color:#0000;box-shadow:0 6px 20px #2fd07f38,inset 0 1px #ffffff38}.btn.primary:hover:not(:disabled){border-color:#0000}.btn.ghost{border-color:var(--border);background:0 0}.btn.block{width:100%}.btn.sm{gap:6px;min-height:44px;padding:0 14px;font-size:.9rem}.btn.sm .ico{width:18px;height:18px}.btn.icon-only{width:44px;min-width:44px;padding:0}.btn[aria-pressed=true]{background:var(--accent-soft);color:#9ff0c4;border-color:#2fd07f80}.seg{background:var(--surface);border-radius:var(--radius-sm);border:1px solid var(--border);grid-auto-columns:1fr;grid-auto-flow:column;gap:4px;padding:4px;display:grid}.seg button{border-radius:var(--radius-xs);cursor:pointer;min-height:44px;color:var(--muted);background:0 0;border:0;justify-content:center;align-items:center;gap:6px;font-weight:700;transition:background .15s,color .15s;display:inline-flex}.seg button .ico{width:18px;height:18px}.chip{border-radius:var(--radius-xs);background:var(--surface-2);border:1px solid var(--border);min-height:26px;color:var(--text-2);white-space:nowrap;align-items:center;gap:6px;padding:4px 10px;font-size:.75rem;font-weight:700;display:inline-flex}.chip .ico{width:14px;height:14px}.chip .dot{border-radius:50%;flex:none;width:8px;height:8px}.chip.flame .ico{color:#ffa24d}.list{gap:8px;display:grid}.item{border-radius:var(--radius-sm);background:var(--surface);border:1px solid var(--border);min-height:60px;box-shadow:var(--highlight);transition:background .15s ease, border-color .15s ease, transform .1s var(--ease);align-items:center;gap:12px;padding:14px;display:flex}a.item,button.item{cursor:pointer}a.item:hover,button.item:hover{border-color:var(--border-strong)}a.item:active,button.item:active{background:var(--surface-2);transform:scale(.99)}button.item{text-align:left;width:100%}.item .icon{font-variant-numeric:tabular-nums;background:var(--surface-2);border:1px solid var(--border);width:42px;height:42px;color:var(--text-2);border-radius:12px;flex:none;place-items:center;font-size:1rem;font-weight:800;display:grid}.item .icon .ico{width:22px;height:22px}.icon.accent{color:var(--accent);background:var(--accent-soft);border-color:#2fd07f40}.icon.gold{color:var(--gold);background:var(--gold-soft);border-color:#f6c51540}.item.done{opacity:.62}.item.done .icon{color:var(--accent);background:var(--accent-soft);border-color:#2fd07f40}.chev{color:var(--muted);flex:none;place-items:center;display:grid}.chev .ico{width:20px;height:20px}.rating{--tone:var(--muted);flex:none;align-items:center;gap:8px;display:inline-flex}.rating-ring{flex:none;place-items:center;width:42px;height:42px;display:grid;position:relative}.rating-ring svg{width:100%;height:100%;position:absolute;inset:0;transform:rotate(-90deg)}.rating-track{fill:#ffffff05;stroke:#ffffff1a;stroke-width:3px}.rating-arc{fill:none;stroke:var(--tone);stroke-width:3px;stroke-linecap:round;transition:stroke-dasharray .5s var(--ease)}.rating-num{font-variant-numeric:tabular-nums;letter-spacing:-.02em;color:var(--text);font-size:.9rem;font-weight:800;position:relative}.rating-label{color:var(--tone);white-space:nowrap;font-size:.78rem;font-weight:750}.rating-lg .rating-ring{width:58px;height:58px}.rating-lg .rating-num{font-size:1.2rem}.rating.tone-none .rating-track{stroke-dasharray:2 3.5;stroke:#ffffff29;fill:none}.rating.tone-none .rating-num{color:var(--muted);font-weight:700}.rating.tone-none .rating-label{color:var(--muted);font-weight:600}.rating.tone-great .rating-ring:after{content:"";pointer-events:none;border-radius:50%;position:absolute;inset:3px;box-shadow:0 0 14px #3fdc8c2e}.stat-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.stat{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);text-align:center;align-content:center;gap:2px;padding:12px 8px;display:grid}.stat b{font-variant-numeric:tabular-nums;justify-content:center;align-items:center;gap:4px;font-size:1.35rem;font-weight:800;line-height:1.15;display:flex}.stat b .ico{color:#ffa24d;width:18px;height:18px}.stat span{color:var(--muted);letter-spacing:.01em;font-size:.72rem;font-weight:650}.card.hero .stat{background:#00000038;border-color:#ffffff12}.banner{border-radius:var(--radius-sm);align-items:flex-start;gap:10px;padding:12px 14px;font-weight:600;line-height:1.4;display:flex}.banner>.ico{flex:none;width:20px;height:20px;margin-top:0}.banner.good{color:#8dffbb;background:#0f2e1d;border:1px solid #1f5c3a}.banner.info{color:#a8ebff;background:#0f2229;border:1px solid #1f4a5c}.banner.bad{color:#ffa5a5;background:#341515;border:1px solid #5c2020}a.banner{transition:transform .1s var(--ease), filter .15s ease;align-items:center}a.banner:active{transform:scale(.99)}.banner .banner-text{flex:1;min-width:0}.banner .chev{color:inherit;opacity:.7}.banner-icon{background:#ffffff0f;border-radius:10px;flex:none;place-items:center;width:36px;height:36px;display:grid}.banner-icon .ico{width:20px;height:20px}.update-banner{z-index:11;max-width:536px;left:12px;right:12px;top:calc(env(safe-area-inset-top) + 10px);font:inherit;text-align:left;cursor:pointer;box-shadow:var(--shadow);align-items:center;margin-inline:auto;font-weight:700;position:fixed}textarea,input[type=number],input[type=text],input[type=search]{border-radius:var(--radius-sm);background:var(--surface-2);border:1px solid var(--border-strong);width:100%;min-height:48px;padding:12px 14px;transition:border-color .15s,box-shadow .15s}textarea:focus,input:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 3px #2fd07f33}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.back{color:var(--muted);justify-self:start;align-items:center;gap:2px;min-height:44px;margin-left:-6px;padding-right:8px;font-weight:650;display:inline-flex}.back .ico{width:22px;height:22px}.back:active{color:var(--text)}details summary{cursor:pointer;font-weight:700}.loading{gap:16px;padding-top:8px;display:grid}.loading-spinner{color:var(--muted);place-items:center;gap:12px;padding:24px 0 8px;font-size:.85rem;font-weight:600;display:grid}.spinner{border:3px solid var(--surface-3);border-top-color:var(--accent);border-radius:50%;width:32px;height:32px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.skel{border-radius:var(--radius);background:linear-gradient(90deg, var(--surface) 0%, var(--surface-2) 50%, var(--surface) 100%);background-size:200% 100%;animation:1.4s ease-in-out infinite shimmer}.skel.line{border-radius:2px;height:14px}@keyframes shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}.empty{text-align:center;border-radius:var(--radius);border:1px dashed var(--border-strong);color:var(--muted);justify-items:center;gap:8px;padding:20px 16px;display:grid}.empty .empty-icon{background:var(--surface-2);width:44px;height:44px;color:var(--text-2);border-radius:50%;place-items:center;display:grid}.empty .empty-icon .ico{width:22px;height:22px}.empty p{max-width:32ch;font-size:.9rem}body.logging{--nav-h:0px}body.logging .bottom-nav{display:none}.sticky-cta{bottom:calc(var(--nav-h) + env(safe-area-inset-bottom) + 8px);z-index:4;border-radius:calc(var(--radius) + 8px);-webkit-backdrop-filter:blur(12px);background:#08110ddb;gap:8px;margin:0 -8px;padding:8px;display:grid;position:sticky}.toggle-row{cursor:pointer;align-items:flex-start;gap:12px;min-height:44px;padding:4px 0;display:flex}.toggle-row input{width:22px;height:22px;accent-color:var(--accent);flex:none;margin-top:1px}.toggle-row b .ico{color:#ffa24d;margin-right:4px}.starter-ratings .row{align-items:center;gap:12px}.starter-area{gap:2px;min-width:0;display:grid}.starter-area .small{padding-left:18px}.pool-score-total{font-variant-numeric:tabular-nums;color:var(--gold);letter-spacing:-.03em;font-size:3rem;font-weight:800;line-height:1}.pool-score-total small{color:var(--muted);letter-spacing:0;font-size:1.1rem;font-weight:700}.trend-up{color:var(--accent);font-weight:800}.trend-down{color:var(--danger);font-weight:800}.cat-dot{vertical-align:.05em;border-radius:50%;width:10px;height:10px;margin-right:8px;display:inline-block;box-shadow:0 0 0 3px #ffffff0f}.divided>*+*{border-top:1px solid var(--border);padding-top:10px}.divided{gap:10px}.icon-badge{background:var(--surface-2);border:1px solid var(--border);width:36px;height:36px;color:var(--text-2);border-radius:11px;flex:none;place-items:center;display:grid}.icon-badge .ico{width:20px;height:20px}.icon-badge.accent{color:var(--accent);background:var(--accent-soft);border-color:#2fd07f40}.icon-badge.gold{color:var(--gold);background:var(--gold-soft);border-color:#f6c51540}.tip{color:var(--text-2);border-radius:var(--radius-sm);background:var(--gold-soft);border:1px solid #f6c51533;align-items:flex-start;gap:10px;padding:10px 12px;font-size:.88rem;display:flex}.tip .ico{color:var(--gold);width:18px;height:18px;margin-top:1px}.info-h{letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-size:.72rem;font-weight:750}.progress-line{gap:6px;margin-top:4px;display:grid}.progress-track{background:var(--surface-2);border-radius:2px;height:6px;overflow:hidden}.progress-fill{background:var(--accent);height:100%;transition:width .5s var(--ease);border-radius:2px}.storage-line{align-items:flex-start;gap:12px;display:flex}details.check-detail summary{align-items:center;gap:8px;list-style:none;display:flex}details.check-detail summary::-webkit-details-marker{display:none}details.check-detail summary .ico{color:var(--accent);width:18px;height:18px}@media (width>=600px){.app{padding-bottom:calc(var(--nav-h) + 40px)}.sticky-cta{bottom:calc(var(--nav-h) + 20px)}}.list .rating-label,.card .rating-label{min-width:5.6em}details.check-detail .summary-chev .ico{color:var(--muted);transition:transform .2s var(--ease)}details.check-detail[open] .summary-chev .ico{transform:rotate(180deg)}.rating-sm .rating-ring{width:34px;height:34px}.rating-sm .rating-num{font-size:.78rem}.btn.tight{white-space:nowrap;padding:0 12px}.page>.back{margin-top:-4px;margin-bottom:-12px}.sheet-backdrop{z-index:30;-webkit-backdrop-filter:blur(2px);width:auto;max-width:none;height:auto;max-height:none;color:inherit;padding:12px 12px calc(12px + env(safe-area-inset-bottom));background:#0000008c;border:0;justify-content:center;align-items:flex-end;margin:0;animation:.2s ease-out sheet-fade;position:fixed;inset:0}@keyframes sheet-fade{0%{opacity:0}}.sheet-backdrop[open]{display:flex}.sheet-backdrop::backdrop{background:0 0}.sheet-backdrop.centred{align-items:center}.sheet{width:100%;max-width:536px;max-height:calc(85dvh - env(safe-area-inset-bottom));background:var(--surface);border:1px solid var(--border-strong);animation:sheet-rise .25s var(--ease);border-radius:22px;flex-direction:column;display:flex;overflow:hidden;box-shadow:0 20px 50px #0000008c,inset 0 1px #ffffff0d}@keyframes sheet-rise{0%{opacity:0;transform:translateY(30px)}}.sheet-head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;padding:12px 12px 8px 18px;display:flex}.sheet-body{overscroll-behavior:contain;gap:14px;padding:14px 18px 18px;display:grid;overflow-y:auto}.detail-head{padding-top:0}.page>.row:first-child .back{margin-bottom:0}.more-btn{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface);text-align:left;cursor:pointer;min-height:52px;box-shadow:var(--highlight);transition:border-color .15s ease, background .15s ease, transform .1s var(--ease);align-items:center;gap:10px;padding:8px 12px;font-size:.9rem;font-weight:700;display:flex}.more-btn:active{background:var(--surface-2);transform:scale(.98)}.more-btn[aria-pressed=true]{background:var(--accent-soft);color:#9ff0c4;border-color:#2fd07f80}.more-btn .icon-badge{border-radius:9px;width:32px;height:32px}.more-btn .icon-badge .ico{width:18px;height:18px}.more-btn .more-sub{color:var(--muted);font-size:.72rem;font-weight:600;display:block}.table-diagram.detail{height:min(42dvh,420px);min-height:240px}.summary{color:var(--text-2)}.stat-grid.compact .stat{padding:8px 6px}.stat-grid.compact .stat b{font-size:1.15rem}.sheet:focus{outline:none}.table-diagram.detail.intro{height:min(38dvh,400px)}.drill-done{gap:16px;display:grid}.drill-done-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.drill-done-head h2{font-size:1.5rem}.attempt-bars{gap:10px;display:grid}.attempt-bar{grid-template-columns:76px 1fr 52px;align-items:center;gap:10px;display:grid}.attempt-bar b{text-align:right;font-variant-numeric:tabular-nums}.attempt-bar .bar{background:#0000004d;border-radius:2px;height:10px;overflow:hidden}.attempt-bar .bar i{border-radius:inherit;background:linear-gradient(90deg,#25b56c,#36d986);height:100%;display:block}.compact-row{gap:10px;min-height:64px;padding:10px 10px 10px 14px}.row-meta{color:var(--muted);margin-top:2px;font-size:.8rem;line-height:1.35;display:block}.routine-row-text{gap:4px;display:grid}.routine-row-name{font-size:.98rem;line-height:1.25}.routine-meta{flex-wrap:wrap;align-items:center;gap:4px 12px;margin-top:0;display:flex}.meta-item{white-space:nowrap;font-variant-numeric:tabular-nums;align-items:center;gap:5px;display:inline-flex}.meta-item .ico{width:13px;height:13px}.meta-dot{border-radius:50%;flex:none;width:8px;height:8px}.level-pips{align-items:flex-end;gap:2px;display:inline-flex}.level-pips i{background:var(--surface-3);border-radius:2px;width:4px;height:9px}.level-pips i.on{background:var(--muted)}.level-num{color:var(--text-2);min-width:1.2em;font-weight:700}.chip.mini{min-height:20px;padding:1px 7px;font-size:.68rem}.item-text{gap:2px;display:grid}.item-text .small{line-height:1.4}.item-stat{text-align:right;flex:none;justify-items:end;min-width:68px;line-height:1.3;display:grid}.item-stat b{white-space:nowrap;font-variant-numeric:tabular-nums;font-size:.9rem}.item-stat span{color:var(--muted);font-size:.75rem}button.back{cursor:pointer;background:0 0;border:0;padding:0 8px 0 0;font-size:1rem}.toggle-row>span{gap:2px;display:grid}.toggle-row .small{line-height:1.4}.btn-pair{grid-template-columns:1fr 1fr;gap:8px;display:grid}.btn-pair .btn{padding-inline:10px}.stat b{white-space:nowrap}.stat .score-list{font-size:inherit;font-weight:inherit;color:inherit;letter-spacing:normal;align-items:baseline;display:inline-flex}.score-list i{font-style:normal}.score-list i+i:before{content:"·";color:var(--muted);margin:0 .12em;font-weight:600}.stat-grid .stat b.scores{letter-spacing:-.01em;font-size:1rem}button.stat{font:inherit;color:inherit;cursor:pointer}.page>.answer-bar{margin-inline:0}.item-stat b{text-overflow:ellipsis;max-width:104px;overflow:hidden}.btn.undo-link{color:var(--muted);border-color:#0000;justify-self:center}.chip.good{background:var(--accent-soft);color:#9ff0c4;border-color:#2fd07f66}.stat-grid .stat b.none{color:var(--muted);white-space:normal;min-height:1.55rem;font-size:.78rem;font-weight:650;line-height:1.2}.item-stat b.none{color:var(--muted);font-size:.78rem;font-weight:650}.rating-change.none{color:var(--muted);font-size:.8rem;font-weight:650}.explain-btn{width:32px;height:32px;color:var(--muted);cursor:pointer;vertical-align:middle;background:0 0;border:0;border-radius:50%;flex:none;place-items:center;margin:-6px -4px;padding:0;display:inline-grid}.explain-btn svg{width:18px;height:18px}.explain-ico{place-items:center;display:inline-grid}.explain-with{min-height:44px;color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;border-radius:12px;align-items:center;gap:4px;margin:0 -4px;padding:0 4px;display:inline-flex}.explain-with .explain-ico{color:var(--muted)}.explain-with .explain-ico svg{width:18px;height:18px}.explain-with:hover .explain-ico,.explain-with:focus-visible .explain-ico{color:var(--text)}.explain-with:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.explain-btn:hover,.explain-btn:focus-visible{color:var(--text);background:var(--surface-3)}.explain-body p{margin:0}.guide-list{gap:12px}.guide-row{grid-template-columns:auto 1fr;align-items:start;gap:12px;display:grid}.guide-row>span:last-child{gap:2px;display:grid}.compact-scores .row{min-height:40px}h1{letter-spacing:-.02em;font-weight:600}h2{letter-spacing:-.01em;font-size:1.15rem;font-weight:500}h3{font-weight:500}.eyebrow,.info-h{letter-spacing:.04em;text-transform:none;font-size:.8rem;font-weight:500}::selection{background:#a3e4bb59}.card{background:var(--surface);border-color:var(--border)}.card.hero{background:var(--surface);border-color:var(--border);box-shadow:none}.item,.more-btn{background:var(--surface);border-color:var(--border)}a.item:hover,button.item:hover{border-color:var(--border-strong);background:var(--surface-2)}.stat,.card.hero .stat{background:0 0;border-color:#0000}.btn{border-color:var(--border-strong);background:0 0;font-weight:500}.btn.primary{background:var(--mint);color:var(--ink);box-shadow:none;font-weight:600}.btn.primary:hover:not(:disabled){background:#b3ebc7}.btn[aria-pressed=true]{background:var(--surface-3);border-color:var(--text-2);color:var(--text)}.btn.icon-only,.round-btn{border-radius:var(--radius-sm);border:1px solid var(--border-strong);width:44px;min-width:44px;height:44px;min-height:44px;color:var(--text-2);cursor:pointer;background:0 0;place-items:center;padding:0;display:inline-grid}.round-btn .ico{width:18px;height:18px}.seg{background:var(--surface);border-color:var(--border)}.seg button{font-weight:500}.seg button[aria-pressed=true],.seg button[aria-selected=true]{background:var(--surface-3);color:var(--text);box-shadow:inset 0 0 0 1px var(--border-strong)}.chip{background:var(--surface-2);border-color:#0000;font-weight:500}.sticky-cta{background:var(--bg);box-shadow:0 12px 0 var(--bg)}.banner{border:0;font-weight:500}.banner.good{background:var(--mint);color:var(--ink)}.banner.info{background:var(--lilac);color:var(--ink)}.banner.bad{background:var(--rose);color:var(--ink)}.banner .banner-icon{border-radius:var(--radius-xs);background:#00000014}.banner-sub{opacity:.7;font-size:.82rem;font-weight:400;display:block}.tab-card{border-top-left-radius:0;margin-top:40px;position:relative}.tab-card>.tab{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm) var(--radius-sm) 0 0;height:41px;color:var(--text-2);white-space:nowrap;border-bottom:0;padding:11px 20px 0;font-size:.95rem;font-weight:500;position:absolute;bottom:calc(100% - 1px);left:-1px}.big-num{letter-spacing:-.05em;font-variant-numeric:proportional-nums;color:var(--text);font-size:5.2rem;font-weight:200;line-height:.9}.big-num .num-soft{color:var(--muted);letter-spacing:-.02em;margin-left:4px;font-size:.45em}.mid-num{letter-spacing:-.03em;font-variant-numeric:proportional-nums;font-size:2.1rem;font-weight:200;line-height:1}.num-label{color:var(--muted);font-size:.8rem}.pool-score-total{font-weight:200}.stat b{font-size:1.6rem;font-weight:300}.focus-card{gap:18px;padding:20px}.focus-name{align-items:center;gap:10px;font-size:1.6rem;font-weight:500;display:flex}.focus-name .cat-dot{width:12px;height:12px;box-shadow:none;margin:0}.focus-figures{justify-content:space-between;align-items:flex-end;gap:12px;display:flex}.item .icon{border-color:var(--border-strong);background:0 0;border-radius:50%;font-weight:400}.item .icon.gold{color:var(--butter);background:0 0;border-color:#f1dc8466}.banner.good,.banner.info,.banner.bad{border:0}.bottom-nav{background:#0c0c0deb}.cat-dot,.meta-dot,.chip .dot{box-shadow:none;background-image:radial-gradient(circle at 34% 30%,#fff9 0 16%,#0000 22%)}.routine-row-name{font-weight:500}.tone-low{--tone:var(--rose)}.tone-mid{--tone:var(--peach)}.tone-good{--tone:var(--butter)}.tone-great{--tone:var(--mint)}.tone-top{--tone:var(--sky)}.rating-num{font-weight:500}.rating.tone-great .rating-ring:after{box-shadow:none}h1{font-size:2rem}.page-head h1{font-weight:500}.back{font-weight:400}.chip.warn{color:var(--peach);background:#f4b89624;border-color:#0000}.chip.easy{color:var(--sky);background:#a9d3f224;border-color:#0000}.chip.good{color:var(--mint);background:#a3e4bb24;border-color:#0000}.chip.gold{color:var(--butter);background:#f1dc8424;border-color:#0000}.chip.flame .ico,.toggle-row b .ico,.stat b .ico{color:var(--peach)}details.check-detail summary .ico{color:var(--mint)}.btn.danger{color:var(--rose);background:0 0;border-color:#f0a3ad80}.more-btn[aria-pressed=true]{color:var(--mint);background:#a3e4bb1f;border-color:#0000}.icon-badge,.item .icon{border-color:var(--border-strong);background:0 0;border-radius:50%}.icon-badge.accent,.icon.accent,.item.done .icon{color:var(--mint);background:0 0;border-color:#a3e4bb66}.icon-badge.gold,.icon.gold{color:var(--butter);background:0 0;border-color:#f1dc8466}.icon.info{color:var(--sky);background:0 0;border-color:#a9d3f266}.icon.danger{color:var(--rose);background:0 0;border-color:#f0a3ad66}.tip{background:#f1dc841a;border-color:#0000}.tip .ico{color:var(--butter)}.progress-fill{background:var(--mint)}.spinner{border-top-color:var(--mint)}.empty{border-color:var(--border-strong)}.sheet{border-color:var(--border-strong);box-shadow:0 20px 50px #0000008c}.sheet-head{border-bottom-color:var(--border)}textarea:focus,input:focus{border-color:var(--mint);box-shadow:0 0 0 3px #a3e4bb2e}textarea,input[type=number],input[type=text],input[type=search]{border-color:#0000}::placeholder{color:#6d6c68}.toggle-row input{accent-color:var(--mint)}.trend-up,.rating-change .up{color:var(--mint)}.trend-down,.rating-change .down{color:var(--rose)}.pool-score-total{color:var(--butter)}.attempt-bar .bar{background:var(--surface-2)}.attempt-bar .bar i,:root .skill-fill{background:var(--mint)}:root .routine-tools{background:#0c0c0deb}:root .section-head{background:var(--surface);border-color:#0000}:root .section-head[aria-expanded=true]:not(:disabled){background:var(--surface-2);border-color:#0000}:root .section-head b{font-weight:500}:root .section-head .dot{box-shadow:none;background-image:radial-gradient(circle at 34% 30%,#fff9 0 16%,#0000 22%)}:root .count-pill{font-weight:500}:root .win-trophy{background:var(--butter);color:var(--ink);box-shadow:none}:root .killer-player{border-color:#0000}:root .killer-player.current{outline-color:var(--mint)}:root .player-num{font-weight:500}:root .chip.gold{color:var(--butter);background:#f1dc8424;border-color:#0000}:root .draw-hint,:root .draw-owner{font-weight:500}:root .check-detail{background:var(--surface-2);border-color:#0000}:root .rating-change{font-weight:500}:root .rating-change .up{color:var(--mint)}:root .rating-change .down{color:var(--rose)}:root .demo-spin,.more-btn,.item b,.item-stat b,.card b,.toggle-row b{font-weight:500}.more-btn .icon-badge{border-radius:50%}.stat span,.stat-grid .stat b.none,.item-stat b.none{font-weight:400}:root .table-diagram .trail.ok{fill:var(--mint)}:root .table-diagram .trail.bad{fill:var(--peach)}:root .table-diagram.miss-map .trail{opacity:.9}.table-diagram .heat circle{fill:#f6e27a;opacity:.22}.sheet-body{grid-auto-rows:max-content}.then-now-row{font-variant-numeric:tabular-nums;grid-template-columns:1fr 3.2em 1em 3.2em 2.6em;align-items:center;gap:6px;min-height:32px;display:grid}.then-now-row>:nth-child(n+2){text-align:right}.then-now-arrow{color:var(--muted);text-align:center!important}.card .seg,.sheet .seg{background:var(--surface-2)}.explain-btn{position:relative}.explain-btn:after{content:"";position:absolute;inset:-6px}:root .drill-bar .back{min-width:44px;min-height:44px;margin:-2px -6px -2px -12px}:root .builder-areas .chip{gap:5px;font-size:clamp(.72rem,3.3vw,.85rem)}.then-now-row>:first-child{align-items:center;min-width:0;display:flex}.then-now-row .cat-dot{flex:none}:root .seg.compact button,:root .search-field input[type=search]{min-height:44px}.custom-row{align-items:center;gap:8px;display:flex}.custom-row>.item{min-width:0}.stat-grid .stat b,.card .stat b{font-weight:300}.stat-grid .stat b.none,.card .stat b.none{font-weight:400}@media (width>=700px){.sheet-backdrop{align-items:center}}body{font-variant-numeric:tabular-nums}:root .stat b,:root .pool-score-total{font-variant-numeric:proportional-nums}.stat-grid .stat{grid-template-rows:minmax(1.6rem,auto) auto}.stat-grid .stat>b{align-self:center}:root .focus-figures{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:8px;display:grid}.focus-fig{text-align:left;color:inherit;font:inherit;background:0 0;border:0;justify-items:start;gap:4px;min-width:0;padding:0;display:grid}button.focus-fig{cursor:pointer}.focus-fig .mid-num{white-space:nowrap;font-size:clamp(2rem,9vw,2.6rem)}.focus-fig .num-soft{color:var(--muted);letter-spacing:-.02em;margin-left:2px;font-size:.5em}.focus-fig .num-label{white-space:nowrap}.demo .seg.compact{scrollbar-width:none;grid-auto-columns:minmax(44px,1fr);overflow-x:auto}:root .tab-card .list .item{background:var(--surface-2);padding:12px}:root .tab-card .list a.item:hover,:root .tab-card .list button.item:hover{background:var(--surface-3)}:root .tab-card>h2.tab{margin:0}:root .tab-card>.tab.tab-with-btn{align-items:center;gap:2px;padding-top:0;padding-right:10px;display:flex}:root .tab-card>.tab-with-btn h2{font:inherit;color:inherit;margin:0}:root .tab-card>.tab-with-btn .explain-btn{margin:0}:root .btn.card-end-btn{color:var(--text-2);border-color:#0000;justify-self:start;padding:0 10px 0 0}:root .sheet .list .more-btn{background:var(--surface-2);min-height:52px}.week{gap:8px;margin-top:4px;display:grid}.week-track{background:var(--surface-3);border-radius:2px;height:6px;overflow:hidden}.week-track>span{background:var(--mint);border-radius:2px;height:100%;display:block}:root .day-picker button{min-width:0;padding-inline:0;font-size:.85rem}:root .day-picker button:disabled{opacity:.3;cursor:not-allowed}.then-area{color:var(--text);font-weight:500}:root .toggle-row input.switch{appearance:none;border-radius:var(--radius-xs);background:var(--surface-3);cursor:pointer;order:2;width:44px;height:26px;margin:2px 0 0 auto;transition:background .15s;position:relative}:root .toggle-row input.switch:after{content:"";background:var(--text-2);border-radius:4px;width:20px;height:20px;transition:transform .15s,background .15s;position:absolute;top:3px;left:3px}:root .toggle-row input.switch:checked{background:var(--mint)}:root .toggle-row input.switch:checked:after{background:var(--ink);transform:translate(18px)}:root .toggle-row input.switch:focus-visible{outline:2px solid var(--mint);outline-offset:2px}.loading{animation:.15s .2s both loading-in}@keyframes loading-in{0%{opacity:0}}:root .btn.primary:disabled{opacity:1;background:var(--surface-2);color:var(--muted);border-color:#0000}.focus-fig .num-label .ico{vertical-align:-1px;opacity:.8;width:12px;height:12px;margin-left:4px}.tip-line{color:var(--text-2);align-items:flex-start;gap:8px;margin:0;font-size:.88rem;display:flex}.tip-line .ico{width:16px;height:16px;color:var(--butter);flex:none;margin-top:2px}:root .score-list i+i:before{margin:0 .4em;font-weight:400}.demo-caption{text-align:center;white-space:nowrap;text-overflow:ellipsis;margin:0;overflow:hidden}:root .bottom-nav .tab,:root .stat span,:root .stat .num-soft,:root .chip,:root .count-pill{font-size:.8rem}:root .count-pill{color:var(--text-2)}:root .seg.compact button{font-size:.85rem}:root .miss-label,:root .rating-label{font-size:.8rem}:root .spin-hint-text small,:root .shot-title small{white-space:nowrap;font-size:.82rem}:root .badge-grid{grid-template-columns:repeat(auto-fill,minmax(68px,1fr))}:root .badge-name{font-size:.8rem}:root details.check-detail summary{min-height:44px}:root .item-stat span{font-size:.8rem}:root button.chip{min-height:44px;padding-inline:14px;font-size:.85rem}:root .drill-bar .drill-name{white-space:normal;-webkit-line-clamp:2;-webkit-box-orient:vertical;min-width:0;line-height:1.2;display:-webkit-box;overflow:hidden}:root .drill-bar .chip{flex:none}@media (width<=400px){:root .focus-fig .num-label{white-space:normal;line-height:1.25}}:root .focus-card .list .rating-label{min-width:6.6em}.focus-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.focus-head .focus-name{min-width:0}.focus-head .focus-fig{text-align:right;flex:none;justify-items:end}.stand-strip{grid-template-columns:repeat(auto-fit,minmax(0,1fr));gap:8px;padding:14px 16px;display:grid}.stand{text-align:left;color:inherit;font:inherit;background:0 0;border:0;align-content:start;justify-items:start;gap:4px;min-width:0;padding:0;display:grid}button.stand{cursor:pointer}.stand-num{white-space:nowrap;font-size:1.5rem;font-weight:600;line-height:1.1}.stand .num-soft{color:var(--muted);margin-left:2px;font-size:.6em}.stand .num-label .ico{vertical-align:-1px;opacity:.8;width:12px;height:12px;margin-left:4px}.stand .week-track{width:100%;height:4px;margin-top:2px}.chip.in-hand{color:var(--sky);background:#a9d3f224}:root[data-contrast=high]{--text-2:#f4f4f5;--muted:#d4d4d8;--border:#71717a;--border-strong:#a1a1aa;--surface:#111113}
