@font-face{font-family:Big Shoulders Display;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/big-shoulders-display-vietnamese-600-normal-DFOHoAUN.woff2)format("woff2"),url(/assets/big-shoulders-display-vietnamese-600-normal-CBD8Wfz0.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Big Shoulders Display;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/big-shoulders-display-latin-ext-600-normal-D59XNmBM.woff2)format("woff2"),url(/assets/big-shoulders-display-latin-ext-600-normal-BQAez9cc.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Big Shoulders Display;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/big-shoulders-display-latin-600-normal-DBjJvcBA.woff2)format("woff2"),url(/assets/big-shoulders-display-latin-600-normal-DVaYP2lT.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Big Shoulders Display;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/big-shoulders-display-vietnamese-700-normal-DCH5bIkD.woff2)format("woff2"),url(/assets/big-shoulders-display-vietnamese-700-normal-D5dmK5Ek.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Big Shoulders Display;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/big-shoulders-display-latin-ext-700-normal-C8xZtiKd.woff2)format("woff2"),url(/assets/big-shoulders-display-latin-ext-700-normal-D98SaizC.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Big Shoulders Display;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/big-shoulders-display-latin-700-normal-KM2fueoL.woff2)format("woff2"),url(/assets/big-shoulders-display-latin-700-normal-CMi6UoP4.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Big Shoulders Display;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/big-shoulders-display-vietnamese-800-normal-TfqTMNKp.woff2)format("woff2"),url(/assets/big-shoulders-display-vietnamese-800-normal-zHzF0To4.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Big Shoulders Display;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/big-shoulders-display-latin-ext-800-normal-fpv_pHPA.woff2)format("woff2"),url(/assets/big-shoulders-display-latin-ext-800-normal-BQnXNQRw.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Big Shoulders Display;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/big-shoulders-display-latin-800-normal-DDUD9Xuh.woff2)format("woff2"),url(/assets/big-shoulders-display-latin-800-normal-CI0lhnTM.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Archivo Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/archivo-vietnamese-wght-normal-XAtsl5Q_.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Archivo Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/archivo-latin-ext-wght-normal-C4zznr8T.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Archivo Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/archivo-latin-wght-normal-E0tuGl4L.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Chivo Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/chivo-mono-vietnamese-400-normal-Drvd1ekh.woff2)format("woff2"),url(/assets/chivo-mono-vietnamese-400-normal-Dm4OwksM.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Chivo Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/chivo-mono-latin-ext-400-normal-UHfHOjZK.woff2)format("woff2"),url(/assets/chivo-mono-latin-ext-400-normal-D2sLLYA-.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Chivo Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/chivo-mono-latin-400-normal-DZ3T-ph7.woff2)format("woff2"),url(/assets/chivo-mono-latin-400-normal-BIF4JAKS.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Chivo Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/chivo-mono-vietnamese-500-normal-xwWRnSK6.woff2)format("woff2"),url(/assets/chivo-mono-vietnamese-500-normal-XrHUrQoZ.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Chivo Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/chivo-mono-latin-ext-500-normal-D1z6GQOH.woff2)format("woff2"),url(/assets/chivo-mono-latin-ext-500-normal-WNoP_gXg.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Chivo Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/chivo-mono-latin-500-normal-yaIk6wkS.woff2)format("woff2"),url(/assets/chivo-mono-latin-500-normal-BJB2L2Ln.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Chivo Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/chivo-mono-vietnamese-600-normal-CmYQG3WF.woff2)format("woff2"),url(/assets/chivo-mono-vietnamese-600-normal-DSP6tK2J.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Chivo Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/chivo-mono-latin-ext-600-normal-BdTF6ibp.woff2)format("woff2"),url(/assets/chivo-mono-latin-ext-600-normal-C86iOssW.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Chivo Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/chivo-mono-latin-600-normal-RpBPN2_R.woff2)format("woff2"),url(/assets/chivo-mono-latin-600-normal-D8ZcYpdM.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg:#0b0c0e;--surface:#16181c;--surface-2:#1e2126;--line:#ece9e314;--line-strong:#ece9e329;--text:#ece9e3;--text-muted:#8b9099;--text-faint:#50545c;--accent:#ff4a1c;--accent-ink:#0b0c0e;--accent-soft:#ff4a1c29;--chalk:#ece9e3;--glass:#0b0c0e94;--font-display:"Big Shoulders Display", "Arial Narrow", sans-serif;--font-body:"Archivo Variable", "Archivo", system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono:"Chivo Mono", ui-monospace, "Cascadia Mono", Consolas, monospace;--fs-label:.72rem;--fs-body:1rem;--fs-lead:1.2rem;--fs-h2:clamp(2rem, 4vw, 3rem);--fs-display:clamp(4.5rem, 12vw, 10.5rem);--tracking-label:.12em;--s-1:4px;--s-2:8px;--s-3:12px;--s-4:16px;--s-5:24px;--s-6:32px;--s-7:48px;--s-8:72px;--gutter:clamp(20px, 4vw, 56px);--radius-sm:6px;--radius:10px;--shadow-lift:0 18px 40px -18px #000000b3;--ease-out:cubic-bezier(.2, .7, .2, 1);--t-fast:.14s;--t-med:.32s;--t-slow:.6s}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%}body{background:radial-gradient(110% 70% at 50% -12%, #ece9e30f, transparent 60%), url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0.035 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E"), var(--bg);color:var(--text);font-family:var(--font-body);font-size:var(--fs-body);-webkit-font-smoothing:antialiased;line-height:1.5;overflow:hidden}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:none}.label{font-family:var(--font-mono);font-size:var(--fs-label);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--text-muted);font-weight:500}.mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.display{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.005em;font-weight:800;line-height:.86}.h2{font-family:var(--font-display);font-weight:700;font-size:var(--fs-h2);text-transform:uppercase;line-height:.95}.muted{color:var(--text-muted)}.btn{justify-content:center;align-items:center;gap:var(--s-3);height:54px;padding:0 var(--s-6);border-radius:var(--radius-sm);font-family:var(--font-display);letter-spacing:.07em;text-transform:uppercase;transition:transform var(--t-fast) var(--ease-out), background-color var(--t-med) var(--ease-out), color var(--t-med) var(--ease-out), opacity var(--t-med) var(--ease-out);font-size:1.2rem;font-weight:700;display:inline-flex}.btn:active:not(:disabled){transform:scale(.98)}.btn:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.btn-primary{background:linear-gradient(180deg, #ff5a2e, var(--accent));color:var(--accent-ink);box-shadow:inset 0 1px #ffffff47,0 10px 28px -12px #ff4a1ca6}.btn-primary:hover:not(:disabled){background:linear-gradient(#ff6a40,#ff5426);box-shadow:inset 0 1px #ffffff52,0 14px 34px -12px #ff4a1ccc}.btn-primary:disabled{background:var(--surface-2);color:var(--text-faint);box-shadow:none;cursor:default}.btn-ghost{color:var(--text);padding:0 var(--s-2)}.btn-ghost:hover{color:var(--accent)}.btn .icon{transition:transform var(--t-med) var(--ease-out)}.btn:hover:not(:disabled) .icon-arrowRight{transform:translate(4px)}.icon{flex:none;width:20px;height:20px}.screen{animation:screen-in var(--t-slow) var(--ease-out) both;position:fixed;inset:0}@keyframes screen-in{0%{opacity:0;transform:translateY(12px)}}.reveal{animation:screen-in var(--t-slow) var(--ease-out) both}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:1ms!important;animation-duration:1ms!important}}::view-transition-old(root){animation:.28s cubic-bezier(.4,0,1,1) both vt-out}::view-transition-new(root){animation:.52s cubic-bezier(.2,.7,.2,1) 60ms both vt-in}@keyframes vt-out{to{opacity:0;filter:blur(6px);transform:scale(.985)}}@keyframes vt-in{0%{opacity:0;filter:blur(8px);transform:scale(1.015)}}.btn-primary{isolation:isolate;position:relative;overflow:hidden}.btn-primary:after{content:"";z-index:-1;background:linear-gradient(105deg,#0000 30%,#ffffff61 48%,#0000 66%);position:absolute;inset:0;transform:translate(-120%)}.btn-primary:hover:not(:disabled):after{transition:transform .7s var(--ease-out);transform:translate(120%)}.btn-ghost{position:relative}.btn-ghost:before{content:"";left:var(--s-2);right:var(--s-2);transform-origin:0;height:1px;transition:transform var(--t-med) var(--ease-out);background:currentColor;position:absolute;bottom:12px;transform:scaleX(0)}.btn-ghost:hover:not(:disabled):before{transform:scaleX(1)}.btn-ghost[aria-label]:before{display:none}.reveal-lines>span{padding-bottom:.04em;display:block;overflow:hidden}.reveal-lines>span>span{animation:.9s cubic-bezier(.2,.8,.1,1) both line-rise;display:inline-block}.reveal-lines>span:nth-child(2)>span{animation-delay:90ms}.reveal-lines>span:nth-child(3)>span{animation-delay:.18s}@keyframes line-rise{0%{transform:translateY(105%)}}.app.is-intro *,.app.is-intro :before,.app.is-intro :after{animation-play-state:paused!important}.page{padding:var(--s-5) var(--gutter) var(--gutter);grid-template-rows:auto 1fr auto;display:grid;overflow:hidden}.page-top{align-items:center;gap:var(--s-5);margin-left:calc(-1 * var(--s-2));min-height:56px;display:flex}.page-bottom{justify-content:space-between;align-items:center;gap:var(--s-4);display:flex}.page-bottom-end{margin-left:auto}.page-body{align-self:center;width:100%;max-width:1080px;min-height:0;margin:0 auto}.demo-stage{grid-template-rows:1fr auto;align-items:center;min-height:0;display:grid;position:relative}.demo-stage .demo-svg{min-height:0;max-height:100%}.demo-caption{align-items:center;gap:var(--s-2);min-height:108px;padding-bottom:var(--s-4);animation:screen-in var(--t-med) var(--ease-out) both;flex-direction:column;display:flex}.demo-title{align-items:center;gap:var(--s-4);font-size:clamp(2.75rem,6vw,4.75rem);display:flex}.demo-title-icon{width:.65em;height:.65em;color:var(--accent);stroke-width:2.25px}@media (width<=700px){.page-top{flex-wrap:wrap}}.levels{flex-direction:column;display:flex}.level{align-items:center;gap:var(--s-5);padding:var(--s-5) var(--s-4);text-align:left;border-top:1px solid var(--line);animation:screen-in var(--t-slow) var(--ease-out) both;transition:background-color var(--t-med) var(--ease-out);grid-template-columns:56px minmax(220px,1fr) auto;display:grid;position:relative}.level:last-child{border-bottom:1px solid var(--line)}.level:before{content:"";background:var(--accent);width:3px;transition:transform var(--t-med) var(--ease-out);position:absolute;top:18%;bottom:18%;left:0;transform:scaleY(0)}.level:hover{background:#ffffff05}.level.is-selected:before{transform:scaleY(1)}.level-index{font-family:var(--font-display);color:var(--text-faint);font-size:1.1rem;font-weight:600}.level.is-selected .level-index{color:var(--accent)}.level-name{gap:var(--s-1);flex-direction:column;display:flex}.level-name .display{color:var(--text-muted);transition:color var(--t-med) var(--ease-out);font-size:clamp(2rem,4vw,3rem)}.level.is-selected .level-name .display{color:var(--text)}.level .seq{justify-content:flex-end;max-width:520px}.builder{gap:var(--s-8);grid-template-columns:1.1fr 1fr;align-items:start;display:grid}.builder-heading{margin-bottom:var(--s-4);gap:var(--s-2);display:flex}.builder-moves{gap:var(--s-2);grid-template-columns:repeat(2,1fr);display:grid}.move-tile{align-items:center;gap:var(--s-3);height:64px;padding:0 var(--s-4);background:var(--surface);border-radius:var(--radius-sm);font-family:var(--font-display);letter-spacing:.04em;text-transform:uppercase;text-align:left;transition:background-color var(--t-med) var(--ease-out), opacity var(--t-med) var(--ease-out), transform var(--t-fast) var(--ease-out);grid-template-columns:24px 1fr 20px;font-size:1.15rem;font-weight:600;display:grid}.move-tile:hover:not(:disabled){background:var(--surface-2)}.move-tile:active:not(:disabled){transform:scale(.98)}.move-tile:disabled{opacity:.3;cursor:default}.move-tile-icon{color:var(--accent)}.move-tile-plus{width:16px;height:16px;color:var(--text-faint)}.builder-hint{margin-top:var(--s-4);font-size:.85rem}.builder-empty{padding:var(--s-6) 0;border-top:1px solid var(--line)}.builder-seq,.results-list{list-style:none}.builder-seq li,.results-list li{align-items:center;gap:var(--s-3);border-top:1px solid var(--line);height:52px;animation:screen-in var(--t-med) var(--ease-out) both;grid-template-columns:36px 20px 1fr auto;display:grid}.builder-num{font-family:var(--font-display);color:var(--text-faint);font-weight:600}.builder-name,.results-name{font-family:var(--font-display);letter-spacing:.04em;text-transform:uppercase;font-size:1.2rem;font-weight:600}.builder-remove{width:32px;height:32px;color:var(--text-muted);transition:color var(--t-fast) linear;place-items:center;display:grid}.builder-remove:hover{color:var(--accent)}.btn:disabled.btn-ghost{opacity:.35;cursor:default}.results{gap:var(--s-8);grid-template-columns:.9fr 1.3fr;align-items:center;display:grid}.results-hero{gap:var(--s-2);flex-direction:column;display:flex}.results-score{align-items:flex-start;font-size:clamp(5.5rem,12vw,9.5rem);display:flex}.results-pct{color:var(--accent);margin-top:.25em;font-size:.35em}.results-meta{gap:var(--s-6);margin-top:var(--s-5);animation-delay:.2s;display:flex}.results-meta dd{font-family:var(--font-display);text-transform:uppercase;font-size:1.4rem;font-weight:600}.results-list li{grid-template-columns:36px 20px 1fr minmax(80px,160px) 48px;height:56px}.results-name{align-items:baseline;gap:var(--s-3);display:flex}.results-status{font-family:var(--font-body);letter-spacing:0;text-transform:none;color:var(--text-muted);font-size:.8rem;font-weight:500}.results-bar{background:var(--line-strong);border-radius:2px;height:4px;overflow:hidden}.results-bar i{background:var(--text);transform-origin:0;height:100%;animation:bar-grow var(--t-slow) var(--ease-out) both;animation-delay:inherit;display:block}.results-list li.is-correct .results-bar i{background:var(--accent)}@keyframes bar-grow{0%{transform:scaleX(0)}}.results-pctval{font-family:var(--font-display);text-align:right;font-variant-numeric:tabular-nums;font-size:1.25rem;font-weight:600}.results-list li.is-wrong,.results-list li.is-missed{color:var(--text-muted)}.results-feedback{margin-top:var(--s-6);gap:var(--s-3);flex-direction:column;display:flex}.results-feedback ul{gap:var(--s-2);flex-direction:column;list-style:none;display:flex}.results-feedback li{padding-left:var(--s-4);border-left:2px solid var(--line-strong);animation:screen-in var(--t-med) var(--ease-out) both;line-height:1.45}.results-feedback li.is-issue{border-left-color:var(--accent)}.results-feedback li.is-positive{color:var(--text-muted)}@media (width<=900px){.builder,.results{gap:var(--s-6);grid-template-columns:1fr}.page{display:block;overflow-y:auto}.page-body{margin:var(--s-6) 0}.page-bottom{bottom:calc(-1 * var(--gutter));padding:var(--s-4) 0 var(--gutter);background:linear-gradient(to top, var(--bg) 70%, transparent);position:sticky}.level{grid-template-columns:40px 1fr}.level .seq{grid-column:2;justify-content:flex-start}}.level.is-selected .seq-item{color:var(--text-muted)}.tabs{gap:var(--s-5);display:flex}.tab{padding:var(--s-2) 0;font-family:var(--font-display);letter-spacing:.08em;text-transform:uppercase;color:var(--text-faint);transition:color var(--t-med) var(--ease-out);font-size:1.25rem;font-weight:600;position:relative}.tab:after{content:"";background:var(--accent);transform-origin:0;height:2px;transition:transform var(--t-med) var(--ease-out);position:absolute;bottom:0;left:0;right:0;transform:scaleX(0)}.tab:hover,.tab.is-active{color:var(--text)}.tab.is-active:after{transform:scaleX(1)}.level-drill{padding-top:var(--s-4);padding-bottom:var(--s-4)}.level-drill .level-name .display{font-size:clamp(1.6rem,3vw,2.25rem)}.level-drill .level-name .muted{max-width:44ch;font-size:.9rem}.builder-moves{grid-template-columns:repeat(3,1fr)}.move-tile{height:58px;font-size:1rem}.page-body.levels{scrollbar-width:thin;scrollbar-color:var(--line-strong) transparent;padding-right:var(--s-2);align-self:stretch;overflow-y:auto}.page>.page-body.levels{margin-top:var(--s-4);margin-bottom:var(--s-4)}.drill-group+.drill-group{margin-top:var(--s-6)}.drill-heading{margin-bottom:var(--s-2)}.level-drill .seq{max-width:560px}.results-delta{margin-left:var(--s-3);letter-spacing:.06em}.results-delta.is-up{color:var(--accent)}.results-traj{margin-top:var(--s-6);animation-delay:.35s}.results-list li{cursor:default;transition:background-color var(--t-fast) linear}.results-list li.is-selected{background:#ffffff08}.page-body.results{scrollbar-width:thin;scrollbar-color:var(--line-strong) transparent;align-self:stretch;overflow-y:auto}@media (width<=900px){.page-body.results,.page-body.levels{overflow:visible}.page-body.results{padding-bottom:var(--s-8)}}.wr-stats{gap:var(--s-4) var(--s-6);margin-top:var(--s-5);grid-template-columns:repeat(3,auto);animation-delay:.2s;display:grid}.wr-stats dd{font-family:var(--font-display);font-variant-numeric:tabular-nums;font-size:1.75rem;font-weight:600}.wr-stats small{color:var(--text-muted);margin-left:2px;font-size:.55em}.wr-heading{margin:var(--s-5) 0 var(--s-2)}.wr-heading:first-child{margin-top:0}.wr-moves{margin-top:var(--s-3);font-size:.85rem}.level-source{color:var(--text-faint);font-size:.75rem}.level-blocks{font-family:var(--font-display);letter-spacing:.06em;text-transform:uppercase;color:var(--text-faint);flex-direction:column;align-items:flex-end;gap:2px;font-size:.85rem;font-weight:600;display:flex}.level.is-selected .level-blocks{color:var(--text-muted)}.wk-hint{font-size:.85rem}@media (width<=900px){.level-blocks{grid-column:2;align-items:flex-start}}.results-list.wr-list li{height:auto;min-height:56px;padding:var(--s-2) 0;grid-template-columns:36px 1fr minmax(80px,140px) 64px}.wr-list .results-name{flex-direction:column;align-items:flex-start;gap:2px}.level-thumb{width:132px;height:104px;padding:var(--s-2);border-radius:var(--radius-sm);background:radial-gradient(70% 70% at 50% 45%, #ece9e30f, transparent 75%), var(--surface);border:1px solid var(--line);transition:border-color var(--t-med) var(--ease-out);place-items:center;display:grid}.level-thumb .fd{max-height:88px}.level.is-selected .level-thumb{border-color:#ff4a1c59}.level-name .seq{margin-top:var(--s-2);justify-content:flex-start}.level{grid-template-columns:56px minmax(220px,1fr) 132px}.page-body.results{padding-bottom:var(--s-5);align-items:start}.results-pctval,.wr-stats dd,.results-meta dd{font-family:var(--font-mono);letter-spacing:-.02em;font-weight:600}.results-pctval{font-size:1.05rem}.results-page .page-body{animation:screen-in .7s var(--ease-out) .65s both}.level{transition:background-color var(--t-med) var(--ease-out), transform var(--t-med) var(--ease-out)}.level:hover{transform:translate(4px)}.level:hover .level-thumb{border-color:var(--line-strong)}.level .level-thumb{transition:border-color var(--t-med) var(--ease-out), transform var(--t-med) var(--ease-out)}.level:hover .level-thumb{transform:scale(1.04)}.tab:after{transition:transform .45s cubic-bezier(.2,.8,.1,1)}.demo-svg{width:100%;height:100%;display:block;overflow:visible}.demo-floor line{stroke:#ece9e30f;stroke-width:1px}.demo-tape line{stroke:#ece9e352;stroke-width:4px}.demo-camera rect{fill:none;stroke:var(--text-faint);stroke-width:1.5px}.demo-camera text{fill:var(--text-faint);font:600 11px var(--font-body);letter-spacing:.16em;text-anchor:middle}.fighter-shadow{fill:#00000073;filter:blur(3px)}.fighter-skin{fill:url(#fighter-skin)}.fighter-top{fill:url(#fighter-kit);stroke:#ffffff3d;stroke-width:1.2px;stroke-linejoin:round}.fighter-shorts{fill:url(#fighter-kit);stroke:#ffffff38;stroke-width:1.2px;stroke-linejoin:round}.fighter-waistband{fill:none;stroke:var(--accent);stroke-width:4px;stroke-linecap:round}.fighter-glove{fill:url(#fighter-glove);stroke:#0000004d;stroke-width:1px}.fighter-shoe{fill:var(--text);transition:fill var(--t-fast) linear}.fighter-shoe.is-moving{fill:var(--accent)}.demo-marker-start{stroke:#ffffff29;stroke-linecap:round}.demo-marker-end{stroke:var(--accent-soft);stroke-linecap:round}.demo-trail{stroke:var(--accent);stroke-width:2px;stroke-dasharray:2 6;stroke-linecap:round;opacity:.7}.demo-arrow{fill:none;stroke:var(--accent);stroke-width:3px;stroke-linecap:round;stroke-linejoin:round}.demo-pivot{fill:var(--accent)}.fighter-glove.is-moving{fill:url(#fighter-glove-live)}.seq{align-items:center;gap:var(--s-2) var(--s-5);flex-wrap:wrap;list-style:none;display:flex}.seq-item{align-items:center;gap:var(--s-2);color:var(--text-faint);transition:color var(--t-med) var(--ease-out), opacity var(--t-med) var(--ease-out);display:flex}.seq-mark{width:26px;height:26px;transition:background-color var(--t-med) var(--ease-out), border-color var(--t-med) var(--ease-out), transform var(--t-med) var(--ease-out);border:1.5px solid;border-radius:50%;place-items:center;display:grid}.seq-mark .icon{width:14px;height:14px}.seq-label{font-family:var(--font-display);letter-spacing:.06em;text-transform:uppercase;font-size:1.05rem;font-weight:600}.seq-item.is-current{color:var(--text)}.seq-item.is-current .seq-mark{background:var(--accent);border-color:var(--accent);color:var(--accent-ink);transform:scale(1.12)}.seq-item.is-done,.seq-item.is-correct{color:var(--text-muted)}.seq-item.is-correct .seq-mark{color:var(--accent)}.seq-item.is-wrong{color:var(--text-muted)}.seq-item.is-wrong .seq-label{text-decoration:line-through;-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent)}.seq-sm{gap:var(--s-1) var(--s-3)}.seq-sm .seq-mark{border-width:1px;width:20px;height:20px}.seq-sm .seq-mark .icon{width:11px;height:11px}.seq-sm .seq-label{font-size:.85rem}.fd{width:100%;height:auto;display:block;overflow:visible}.fd-tape line{stroke:#ece9e32e;stroke-width:3px;stroke-linecap:butt}.fd-foot{vector-effect:non-scaling-stroke;stroke-width:1.4px;stroke-linejoin:round}.fd-foot.is-start{fill:#ece9e324;stroke:#ece9e359}.fd-foot.is-past{fill:#ece9e30d;stroke:#ece9e36b;stroke-dasharray:2 2.5}.fd-foot.is-live{fill:var(--accent-soft);stroke:var(--accent);stroke-width:1.8px}.fd-arrow{fill:none;stroke:#ece9e380;stroke-width:1.5px;stroke-dasharray:1 5;stroke-linecap:round}.fd-mark.is-live .fd-arrow{stroke:var(--accent);stroke-width:2px}.fd-head{fill:none;stroke:#ece9e399;stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round}.fd-head.is-live{stroke:var(--accent)}.fd-dot{fill:#ece9e38c}.fd-num-bg{fill:var(--bg);stroke:#ece9e359;stroke-width:1px}.fd-mark.is-live .fd-num-bg{fill:var(--accent);stroke:var(--accent)}.fd-num{font:600 10px var(--font-mono);fill:var(--text);text-anchor:middle}.fd-mark.is-live .fd-num{fill:var(--accent-ink)}.fd-punch{fill:none;stroke:var(--text-muted);stroke-width:1.4px}.fd-mark.is-live .fd-punch{stroke:var(--accent)}.fd-punch-label{font:600 10px var(--font-mono);fill:var(--text);text-anchor:middle}.fd-mark{animation:fd-in .42s var(--ease-out) both}@keyframes fd-in{0%{opacity:0;transform:translateY(4px)}}.fd-mark .fd-arrow{animation:fd-draw .52s var(--ease-out) both}@keyframes fd-draw{0%{opacity:0}}.fd.is-compact .fd-foot{stroke-width:1px}.fd.is-compact .fd-arrow{stroke-width:1.2px}.fd.is-compact .fd-tape line{stroke-width:2px}.home{padding:var(--s-5) var(--gutter) var(--s-5);grid-template-rows:auto 1fr auto;display:grid;overflow:hidden}.home-top,.home-foot{justify-content:space-between;align-items:center;display:flex}.home-brand{align-items:center;gap:var(--s-3);color:var(--text);display:inline-flex}.home-brand .label{color:var(--text)}.home-link{transition:color var(--t-med) var(--ease-out)}.home-link:hover{color:var(--accent)}.home-hero{grid-template-columns:minmax(0,1fr) minmax(320px,.95fr);align-self:center;align-items:center;gap:clamp(32px,6vw,96px);width:100%;max-width:1320px;margin:0 auto;display:grid}.home-copy{gap:var(--s-5);flex-direction:column;display:flex}.home-eyebrow{color:var(--accent)}.home-title{font-size:clamp(4.25rem,9.5vw,9.5rem);line-height:.82}.home-dot{color:var(--accent)}.home-lead{max-width:40ch;font-size:var(--fs-lead);color:var(--text-muted);line-height:1.45}.home-actions{align-items:center;gap:var(--s-5);margin-top:var(--s-2);flex-wrap:wrap;display:flex}.home-recent{align-items:end;gap:var(--s-1) var(--s-5);margin-top:var(--s-5);padding-top:var(--s-4);border-top:1px solid var(--line);grid-template-rows:auto auto;grid-template-columns:auto 1fr;max-width:460px;display:grid}.home-recent .label{grid-column:1/-1}.home-recent-row{align-items:baseline;gap:var(--s-3);font-size:.9rem;display:flex}.home-recent-score{color:var(--text);font-size:1.6rem;font-weight:600}.home-spark{justify-content:flex-end;align-items:flex-end;gap:3px;height:28px;display:flex}.home-spark i{background:var(--line-strong);border-radius:1px;width:5px}.home-spark i.is-last{background:var(--accent)}.home-mat{gap:var(--s-4);padding:var(--s-5);border:1px solid var(--line);background:radial-gradient(80% 70% at 50% 42%,#ece9e312,#0000 70%),linear-gradient(#17191d,#111316);border-radius:14px;flex-direction:column;display:flex;position:relative;box-shadow:inset 0 1px #ece9e30d,0 40px 80px -40px #000000e6}.home-mat:before{content:"";pointer-events:none;border:1px dashed #ece9e312;border-radius:8px;position:absolute;inset:10px}.home-mat-head{justify-content:space-between;display:flex}.home-mat-count{color:var(--text)}.home-mat-stage{padding:var(--s-2) var(--s-4);place-items:center;min-height:300px;display:grid}.home-mat-stage .fd{max-height:340px}.home-mat-caption{justify-content:space-between;align-items:flex-end;gap:var(--s-4);padding-top:var(--s-4);border-top:1px solid var(--line);display:flex}.home-mat-name{animation:screen-in var(--t-slow) var(--ease-out) both;font-size:2rem}.home-mat-steps{justify-content:flex-end;gap:var(--s-1) var(--s-3);font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--text-faint);flex-wrap:wrap;font-size:.72rem;list-style:none;display:flex}.home-mat-steps li{transition:color var(--t-med) var(--ease-out)}.home-mat-steps .is-done{color:var(--text-muted)}.home-mat-steps .is-live{color:var(--accent)}.home-copy>*{animation:screen-in var(--t-slow) var(--ease-out) both}.home-copy>:nth-child(2){animation-delay:60ms}.home-copy>:nth-child(3){animation-delay:.12s}.home-copy>:nth-child(4){animation-delay:.18s}.home-mat{animation:screen-in .8s var(--ease-out) .2s both}@media (width<=960px){.home{overflow-y:auto}.home-hero{margin:var(--s-6) 0;grid-template-columns:1fr}.home-mat-stage{min-height:200px}}.home-hero{perspective:1400px}.home-mat{--rx:0deg;--ry:0deg;--mx:50%;--my:40%;transform:rotateX(var(--rx)) rotateY(var(--ry));transform-style:preserve-3d;transition:transform .5s var(--ease-out), box-shadow .5s var(--ease-out);animation:1.1s cubic-bezier(.2,.8,.1,1) .25s both mat-in}.home-mat:hover{box-shadow:inset 0 1px #ece9e30f,0 50px 90px -40px #000000f2,0 0 0 1px #ff4a1c1f}@keyframes mat-in{0%{opacity:0;filter:blur(10px);transform:perspective(1400px)rotateX(18deg)translateY(40px)scale(.96)}}.home-mat-light{border-radius:inherit;pointer-events:none;background:radial-gradient(420px circle at var(--mx) var(--my), #ece9e314, transparent 60%);opacity:0;transition:opacity .4s var(--ease-out);position:absolute;inset:0}.home-mat:hover .home-mat-light{opacity:1}.home-title{animation:none}.home-copy>.home-eyebrow{animation:eyebrow-in .7s var(--ease-out) both}@keyframes eyebrow-in{0%{opacity:0;letter-spacing:.4em}}.home-dot{animation:.6s cubic-bezier(.3,1.6,.5,1) .9s both dot-pop;display:inline-block}@keyframes dot-pop{0%{transform:scale(0)}}.brand-mark path:last-child{transform-box:fill-box;transform-origin:50%;animation:brand-step 2.8s var(--ease-out) 1.2s infinite}@keyframes brand-step{0%,70%,to{translate:0}80%{translate:1px -2px}}.stinger{z-index:100;pointer-events:none;position:fixed;inset:0;overflow:hidden}.stinger-band{width:70vw;animation:1.15s cubic-bezier(.7,0,.2,1) both stinger-sweep;position:absolute;top:-20%;bottom:-20%;left:0;transform:translate(-130%)skew(-16deg)}.stinger-band-a{background:var(--accent);box-shadow:0 0 80px #ff4a1c73}.stinger-band-b{background:var(--chalk);width:9vw;animation-delay:70ms}.stinger-band-c{background:#121418;width:82vw;animation-delay:.12s}@keyframes stinger-sweep{0%{transform:translate(-130%)skew(-16deg)}42%,52%{transform:translate(28vw)skew(-16deg)}to{transform:translate(190vw)skew(-16deg)}}.stinger-title{justify-content:center;align-items:center;gap:var(--s-4);color:var(--text);animation:stinger-title 1.15s var(--ease-out) both;display:flex;position:absolute;inset:0}.stinger-text{gap:var(--s-1);flex-direction:column;display:flex}.stinger-text .display{font-size:clamp(3rem,8vw,6.5rem);line-height:.85}.stinger-kicker{color:var(--accent)}@keyframes stinger-title{0%,28%{opacity:0;clip-path:inset(0 100% 0 0);transform:translate(-40px)}45%,62%{opacity:1;clip-path:inset(0);transform:none}80%,to{opacity:0;clip-path:inset(0 0 0 100%);transform:translate(40px)}}.traj{gap:var(--s-3);flex-direction:column;display:flex}.traj svg{border-radius:var(--radius);background:linear-gradient(#ffffff09 1px,#0000 1px) 0 0/24px 24px,linear-gradient(90deg,#ffffff09 1px,#0000 1px) 0 0/24px 24px;width:100%;max-height:280px}.traj-camera{fill:var(--text-faint);font:600 9px var(--font-body);letter-spacing:.16em;text-anchor:middle}.traj-seg{transition:opacity var(--t-med) var(--ease-out)}.traj-seg.is-dim{opacity:.25}.traj-left,.traj-right{fill:none;stroke-width:2.25px;stroke-linecap:round;stroke-linejoin:round}.traj-left{stroke:var(--text)}.traj-right{stroke:var(--text-muted);stroke-dasharray:5 4}.traj-expected{fill:none;stroke:var(--accent);stroke-width:1.5px;stroke-dasharray:3 4;opacity:.8}.traj-arrowhead{fill:var(--accent)}.traj-start{fill:var(--bg);stroke:var(--text-muted);stroke-width:1.5px}.traj-end{fill:var(--text)}.traj-seg.is-wrong .traj-end,.traj-seg.is-missed .traj-start{fill:var(--bg);stroke:var(--accent);stroke-width:1.5px}.traj-num{fill:var(--text-muted);font:600 10px var(--font-display)}.traj-seg.is-on .traj-num{fill:var(--accent)}.traj-legend{gap:var(--s-5);color:var(--text-muted);font-size:.75rem;display:flex}.traj-legend span{align-items:center;gap:var(--s-2);display:inline-flex}.traj-legend i{border-top:2px solid var(--text);width:16px;height:0}.traj-legend i.is-right{border-top:2px dashed var(--text-muted)}.traj-legend i.is-expected{border-top:1.5px dashed var(--accent)}.camera{background:#000;position:absolute;inset:0;overflow:hidden}.camera-feed{position:absolute;inset:0}.camera-feed.mirror{transform:scaleX(-1)}.camera-feed video,.camera-feed canvas{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.camera-feed video{filter:saturate(.85)brightness(.92)}.camera-vignette{pointer-events:none;background:linear-gradient(#0a0a0bbf,#0000 22%),linear-gradient(#0000 66%,#0a0a0be6);position:absolute;inset:0}.camera-state{justify-content:center;align-items:center;gap:var(--s-4);padding:var(--gutter);text-align:center;background:var(--bg);flex-direction:column;display:flex;position:absolute;inset:0}.camera-state p{max-width:34ch;margin-bottom:var(--s-4)}.camera-state-icon{width:40px;height:40px;color:var(--accent);margin-bottom:var(--s-2)}.loader{background:var(--line-strong);width:120px;height:2px;margin-bottom:var(--s-4);position:relative;overflow:hidden}.loader:after{content:"";background:var(--accent);width:40%;animation:loader 1.1s var(--ease-out) infinite;position:absolute;inset:0}@keyframes loader{0%{transform:translate(-100%)}to{transform:translate(260%)}}.wk{flex-direction:column;flex:1;min-height:0;display:flex}.wk-top{justify-content:space-between;align-items:flex-start;gap:var(--s-5);margin-top:var(--s-4);display:flex}.wk-round{gap:var(--s-1);flex-direction:column;display:flex}.wk-block{font-size:clamp(1.75rem,3.5vw,2.75rem)}.wk-blocks{gap:var(--s-4);font-family:var(--font-display);letter-spacing:.06em;text-transform:uppercase;color:var(--text-faint);font-size:.95rem;font-weight:600;list-style:none;display:flex}.wk-blocks li{padding-bottom:var(--s-1);transition:color var(--t-med) var(--ease-out), border-color var(--t-med) var(--ease-out);border-bottom:2px solid #0000}.wk-blocks .is-done{color:var(--text-muted)}.wk-blocks .is-on{color:var(--text);border-bottom-color:var(--accent)}.wk-center{flex:1;place-items:center;display:grid}.wk-move{align-items:center;gap:var(--s-2);padding:var(--s-4) var(--s-6);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border-radius:var(--radius);animation:hit-in var(--t-fast) var(--ease-out) both;background:#0a0a0b73;flex-direction:column;display:flex;position:relative}.wk-move-name{align-items:center;gap:var(--s-4);font-size:clamp(3.5rem,9vw,7.5rem);display:flex}.wk-move-icon{width:.7em;height:.7em;color:var(--accent);stroke-width:2.25px}.wk-next{color:var(--text-muted)}.wk-rep{top:calc(-1 * var(--s-4));right:calc(-1 * var(--s-4));width:40px;height:40px;animation:hit-in var(--t-med) var(--ease-out) both;border-radius:50%;place-items:center;display:grid;position:absolute}.wk-rep .icon{stroke-width:2.5px;width:22px;height:22px}.wk-rep.is-correct{background:var(--accent);color:var(--accent-ink)}.wk-rep.is-wrong{background:var(--surface-2);color:var(--text)}.wk-hud{align-items:end;gap:var(--s-7);padding-top:var(--s-4);border-top:1px solid var(--line-strong);grid-template-columns:1fr auto auto auto;display:grid}.wk-clock{gap:var(--s-2);flex-direction:column;max-width:420px;display:flex}.wk-time{font-variant-numeric:tabular-nums;font-size:clamp(3.5rem,7vw,5.5rem);line-height:.9}.wk-bar{background:var(--line-strong);border-radius:2px;height:4px;overflow:hidden}.wk-bar i{background:var(--accent);transform-origin:0;height:100%;display:block;transform:scaleX(0)}.wk-actions{gap:var(--s-2);pointer-events:auto;display:flex}.wk .hud-stat .display{font-variant-numeric:tabular-nums;font-size:clamp(2rem,3.5vw,2.75rem)}.wk-overlay{z-index:5;justify-content:center;align-items:center;gap:var(--s-3);text-align:center;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0a0a0bd1;flex-direction:column;display:flex;position:absolute;inset:0}.wk-overlay-label{color:var(--accent);font-size:.9rem}.wk-overlay-time{font-variant-numeric:tabular-nums;font-size:clamp(7rem,22vw,15rem);line-height:.85}.wk-overlay .seq{margin-top:var(--s-2);justify-content:center}.wk-overlay p{margin-top:var(--s-3)}.wk.is-rest .wk-overlay-label{color:var(--text-muted)}@media (width<=900px){.wk-hud{gap:var(--s-4);grid-template-columns:1fr 1fr}.wk-clock{grid-column:1/-1}.wk-blocks{display:none}}.wk-round{padding-left:var(--s-3);border-left:3px solid var(--accent)}.wk-move{background:var(--glass);border:1px solid var(--line);-webkit-backdrop-filter:blur(14px)saturate(120%);backdrop-filter:blur(14px)saturate(120%);box-shadow:var(--shadow-lift);padding:var(--s-5) var(--s-7)}.wk-hud{border-top-color:var(--line);position:relative}.wk-time,.wk-overlay-time{font-family:var(--font-mono);letter-spacing:-.04em;font-weight:600}.wk-time{font-size:clamp(3rem,6vw,4.75rem)}.wk-overlay-time{font-size:clamp(6rem,18vw,12rem)}.wk-overlay{background:radial-gradient(70% 70% at 50% 45%,#16181cd1,#0b0c0ef0)}.wk.is-rest .wk-overlay-time{color:var(--text-muted)}.session-overlay{padding:var(--s-5) var(--gutter) var(--gutter);pointer-events:none;flex-direction:column;justify-content:space-between;display:flex;position:absolute;inset:0}.session-overlay button{pointer-events:auto}.session-top{align-items:center;gap:var(--s-3);margin-left:calc(-1 * var(--s-2));display:flex}.session-bottom{align-items:end;gap:var(--s-7);grid-template-columns:1fr auto auto;display:grid}.session-guidance{gap:var(--s-2);animation:screen-in var(--t-med) var(--ease-out) both;flex-direction:column;display:flex}.setup-checks{gap:var(--s-5);padding-bottom:var(--s-4);list-style:none;display:flex}.setup-checks li{align-items:center;gap:var(--s-2);flex-direction:column;display:flex}.setup-checks i{background:var(--line-strong);width:28px;height:3px;transition:background-color var(--t-med) var(--ease-out);border-radius:2px}.setup-checks .label{color:var(--text-faint);transition:color var(--t-med) var(--ease-out)}.setup-checks .is-on i{background:var(--accent)}.setup-checks .is-on .label{color:var(--text)}.session-cta{isolation:isolate;position:relative;overflow:hidden}.session-cta-fill{z-index:-1;transform-origin:0;background:#0a0a0b38;position:absolute;inset:0;transform:scaleX(0)}.session-cta.is-counting .session-cta-fill{animation:cta-fill var(--auto-ms) linear forwards}@keyframes cta-fill{to{transform:scaleX(1)}}.setup-frame{aspect-ratio:.5;pointer-events:none;position:absolute;top:12%;bottom:18%;left:50%;transform:translate(-50%)}.setup-frame span{border:0 solid var(--line-strong);width:28px;height:28px;transition:border-color var(--t-med) var(--ease-out);position:absolute}.setup-frame span:first-child{border-top-width:2px;border-left-width:2px;top:0;left:0}.setup-frame span:nth-child(2){border-top-width:2px;border-right-width:2px;top:0;right:0}.setup-frame span:nth-child(3){border-bottom-width:2px;border-left-width:2px;bottom:0;left:0}.setup-frame span:nth-child(4){border-bottom-width:2px;border-right-width:2px;bottom:0;right:0}.setup-frame.is-ready span{border-color:var(--accent)}@media (width<=900px){.session-bottom{gap:var(--s-5);grid-template-columns:1fr}.setup-checks{justify-content:space-between;padding-bottom:0}.session-cta{width:100%}}.session-steps{gap:var(--s-5);list-style:none;display:flex}.session-steps li{align-items:baseline;gap:var(--s-2);opacity:.4;transition:opacity var(--t-med) var(--ease-out);display:flex}.session-steps li.is-active,.session-steps li.is-done{opacity:1}.session-step-num{font-family:var(--font-display);color:var(--text-muted);font-size:.95rem;font-weight:600}.session-steps .is-active .session-step-num{color:var(--accent)}.session-steps .is-active .label{color:var(--text)}.calib-track{width:min(360px,100%);height:3px;margin-top:var(--s-4);background:var(--line-strong);border-radius:2px;overflow:hidden}.calib-bar{background:var(--accent);transform-origin:0;height:100%;transition:transform .12s linear;transform:scaleX(0)}.session-actions{gap:var(--s-4);align-items:center;display:flex}@media (width<=900px){.session-actions{justify-content:space-between}}.practice-callout{align-items:flex-end;min-height:150px;display:flex}.practice-callout>div{gap:var(--s-2);flex-direction:column;display:flex}.practice-hit{animation:hit-in var(--t-med) var(--ease-out) both}@keyframes hit-in{0%{opacity:0;transform:translateY(8px)scale(.98)}}.practice-move{align-items:center;gap:var(--s-4);font-size:clamp(3.5rem,8vw,6.5rem);display:flex}.practice-icon{width:.7em;height:.7em;color:var(--accent);stroke-width:2.25px}.practice-detected{color:var(--accent)}.practice-listening{align-items:center;gap:var(--s-2);display:inline-flex}.practice-listening i{background:var(--accent);border-radius:50%;width:6px;height:6px;animation:1.4s ease-in-out infinite pulse}@keyframes pulse{50%{opacity:.25}}.practice-recent{gap:var(--s-2);padding-bottom:var(--s-3);flex-direction:column;min-width:180px;list-style:none;display:flex}.practice-recent li{align-items:center;gap:var(--s-3);opacity:.7;animation:screen-in var(--t-med) var(--ease-out) both;grid-template-columns:20px 1fr auto;font-size:.9rem;display:grid}.practice-recent li:first-child{opacity:1}.practice-recent .icon{width:16px;height:16px;color:var(--text-muted)}.countdown{pointer-events:none;background:#0a0a0b80;place-items:center;display:grid;position:absolute;inset:0}.countdown-beat{animation:beat-in .9s var(--ease-out) both;font-size:clamp(3.5rem,9vw,7rem)}.countdown-beat.is-number{font-size:clamp(8rem,26vw,18rem)}.countdown-beat.is-go{color:var(--accent);font-size:clamp(8rem,26vw,18rem)}@keyframes beat-in{0%{opacity:0;transform:scale(1.25)}25%{opacity:1;transform:scale(1)}80%{opacity:1}to{opacity:.15;transform:scale(.96)}}.training-top{margin-top:var(--s-4)}.training-feedback{flex:1;place-items:center;display:grid}.training-toast{align-items:center;gap:var(--s-2);padding:var(--s-4) var(--s-6);border-radius:var(--radius);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);animation:hit-in var(--t-med) var(--ease-out) both;background:#0a0a0b8c;flex-direction:column;display:flex}.training-toast.is-correct{gap:var(--s-3);flex-direction:row}.toast-icon{width:36px;height:36px;color:var(--accent);stroke-width:2.5px}.training-toast.is-wrong{border-left:3px solid var(--accent)}.training-hud{align-items:end;gap:var(--s-7);padding-top:var(--s-4);border-top:1px solid var(--line-strong);grid-template-columns:1fr auto auto;display:grid}.hud-current,.hud-stat{gap:var(--s-1);flex-direction:column;display:flex}.hud-move{align-items:center;gap:var(--s-3);animation:hit-in var(--t-med) var(--ease-out) both;font-size:clamp(2.5rem,5vw,4rem);display:flex}.hud-move-icon{width:.7em;height:.7em;color:var(--accent);stroke-width:2.25px}.hud-stat .display{font-variant-numeric:tabular-nums;font-size:clamp(2rem,3.5vw,2.75rem)}@media (width<=900px){.training-hud{gap:var(--s-5)}}.practice{position:relative}.practice-gauge{right:0;bottom:calc(100% + var(--s-6));align-items:baseline;gap:var(--s-1) var(--s-3);width:220px;padding:var(--s-3) var(--s-4);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-radius:var(--radius);opacity:0;transition:opacity var(--t-med) var(--ease-out), transform var(--t-med) var(--ease-out);background:#0a0a0b99;grid-template-columns:1fr auto;display:grid;position:absolute;transform:translateY(6px)}.practice-gauge.is-on{opacity:1;transform:none}.practice-gauge-value{font-variant-numeric:tabular-nums;font-size:2.25rem}.practice-gauge.is-over .practice-gauge-value{color:var(--accent)}.practice-gauge-track{background:var(--line-strong);border-radius:2px;grid-column:1/-1;height:4px;position:relative}.practice-gauge-fill{background:var(--text);transform-origin:0;border-radius:2px;transition:transform 80ms linear;position:absolute;inset:0;transform:scaleX(0)}.practice-gauge.is-over .practice-gauge-fill{background:var(--accent)}.practice-gauge-mark{background:var(--text-muted);width:2px;height:12px;position:absolute;top:-4px}.training-toast,.practice-gauge{background:var(--glass);border:1px solid var(--line);-webkit-backdrop-filter:blur(14px)saturate(120%);backdrop-filter:blur(14px)saturate(120%);box-shadow:var(--shadow-lift)}.training-hud,.session-bottom{position:relative}.training-hud{border-top-color:var(--line)}.training-hud:before,.wk-hud:before{content:"";left:calc(-1 * var(--gutter));right:calc(-1 * var(--gutter));bottom:calc(-1 * var(--gutter));height:calc(100% + var(--gutter) + 40px);z-index:-1;pointer-events:none;background:linear-gradient(#0000,#0b0c0ed9);position:absolute}.hud-stat .display,.practice-gauge-value,.countdown-beat.is-number{font-family:var(--font-mono);letter-spacing:-.02em;font-weight:600}.session-step-num{font-family:var(--font-mono);font-size:.8rem}.countdown{background:radial-gradient(60% 60%,#0b0c0e59,#0b0c0ebf)}.setup-frame span{border-color:#ece9e34d}.countdown-beat{animation:.95s cubic-bezier(.2,.8,.1,1) both beat-land;position:relative}.countdown-beat.is-number:before,.countdown-beat.is-go:before{content:"";border:3px solid var(--accent);opacity:0;width:1.1em;height:1.1em;animation:beat-ring .95s var(--ease-out) both;z-index:-1;border-radius:50%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)scale(.6)}@keyframes beat-land{0%{opacity:0;filter:blur(14px);transform:scale(1.6)}22%{opacity:1;filter:blur();transform:scale(1)}78%{opacity:1}to{opacity:0;filter:blur(4px);transform:scale(.92)}}@keyframes beat-ring{20%{opacity:.8}to{opacity:0;transform:translate(-50%,-50%)scale(1.25)}}.countdown-beat.is-go{text-shadow:0 0 60px #ff4a1c99}.practice-bounce{left:0;right:auto}.intro{z-index:300;cursor:pointer;position:fixed;inset:0;overflow:hidden}.intro-half{background:radial-gradient(90% 120% at 50% 100%, #ece9e30d, transparent 60%), var(--bg);height:50.5%;transition:transform .62s cubic-bezier(.75,0,.2,1);position:absolute;left:0;right:0}.intro-top{top:0}.intro-bottom{background:radial-gradient(90% 120% at 50% 0%, #ece9e30d, transparent 60%), var(--bg);bottom:0}.intro.is-leaving .intro-top{transform:translateY(-101%)}.intro.is-leaving .intro-bottom{transform:translateY(101%)}.intro-ropes{width:100%;height:100%;transition:opacity .3s;position:absolute;inset:0}.intro-ropes line{stroke:#ece9e333;stroke-width:.45px;stroke-dasharray:100;stroke-dashoffset:100px;animation:.7s cubic-bezier(.6,0,.2,1) forwards rope-draw}.intro-ropes line:first-child{animation-delay:80ms}.intro-ropes line:nth-child(2){stroke:#ff4a1c80;animation-delay:.18s}.intro-ropes line:nth-child(3){animation-delay:.28s}@keyframes rope-draw{to{stroke-dashoffset:0}}.intro-gloves{place-items:center;transition:opacity .3s;display:grid;position:absolute;inset:0}.intro-glove{filter:drop-shadow(0 18px 30px #0009);width:clamp(110px,14vw,180px);margin-top:calc(clamp(110px,14vw,180px)/-2.38095);position:absolute;top:50%}.intro-glove-left{margin-right:-6px;animation:1.25s cubic-bezier(.3,0,.2,1) .35s both glove-left;right:50%}.intro-glove-right{margin-left:-6px;animation:1.25s cubic-bezier(.3,0,.2,1) .35s both glove-right;left:50%;transform:scaleX(-1)}@keyframes glove-left{0%{transform:translate(-70vw)rotate(-8deg)}34%{transform:translate(6px)rotate(0)}42%{transform:translate(-10px)}62%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(-40vw)scale(.9)}}@keyframes glove-right{0%{transform:scaleX(-1)translate(-70vw)rotate(-8deg)}34%{transform:scaleX(-1)translate(6px)rotate(0)}42%{transform:scaleX(-1)translate(-10px)}62%{opacity:1;transform:scaleX(-1)translate(0)}to{opacity:0;transform:scaleX(-1)translate(-40vw)scale(.9)}}.intro-flash{border:3px solid var(--accent);opacity:0;width:40px;height:40px;animation:glove-flash .7s var(--ease-out) .76s both;border-radius:50%;position:absolute;box-shadow:0 0 40px #ff4a1cb3}@keyframes glove-flash{0%{opacity:0;transform:scale(.3)}20%{opacity:1}to{opacity:0;transform:scale(9)}}.intro-brand{justify-content:center;align-items:center;gap:var(--s-4);color:var(--text);transition:opacity .25s;animation:.9s cubic-bezier(.2,.8,.1,1) 1.15s both intro-brand;display:flex;position:absolute;inset:0}.intro-name{gap:var(--s-2);flex-direction:column;display:flex}.intro-name .display{font-size:clamp(2.75rem,7vw,5.5rem);line-height:.85}.intro-name .label{color:var(--accent)}@keyframes intro-brand{0%{opacity:0;clip-path:inset(0 0 100%);transform:translateY(20px)}to{clip-path:inset(0)}}.intro.is-leaving .intro-ropes,.intro.is-leaving .intro-gloves,.intro.is-leaving .intro-brand{opacity:0}@media (prefers-reduced-motion:reduce){.intro{display:none}}.punch{z-index:250;pointer-events:none;position:fixed;inset:0;overflow:hidden}.punch-glove{filter:drop-shadow(0 30px 40px #0009);width:220px;margin:-92px 0 0 -110px;animation:.95s cubic-bezier(.55,0,.2,1) both punch-glove;position:absolute;top:50%;left:50%}.punch-glove .glove{width:100%;display:block}@keyframes punch-glove{0%{filter:blur(6px)drop-shadow(0 30px 40px #0009);transform:translate(-75vw)scale(.45)rotate(-6deg)}22%{filter:blur()drop-shadow(0 30px 40px #0009);transform:translate(0)scale(1.05)rotate(0)}27%{transform:translate(-12px)scale(1)}46%{opacity:1;transform:translate(10vw)scale(16)}62%{opacity:1}to{opacity:0;transform:translate(10vw)scale(20)}}.punch-cover{clip-path:circle(0%);background:radial-gradient(circle,#ff5a2e,#c2310c);animation:.95s cubic-bezier(.55,0,.2,1) both punch-cover;position:absolute;inset:0}@keyframes punch-cover{0%,30%{clip-path:circle(0%);opacity:1}45%{clip-path:circle(80%);opacity:1}58%{clip-path:circle(80%);opacity:1}to{clip-path:circle(80%);opacity:0}}.punch-lines{width:0;height:0;position:absolute;top:50%;left:50%}.punch-lines i{transform-origin:0;width:42vmax;height:4px;position:absolute;top:-2px;left:0}.punch-lines i:before{content:"";background:linear-gradient(90deg, transparent, var(--chalk) 40%, transparent);transform-origin:0;border-radius:2px;animation:.52s cubic-bezier(.2,.8,.1,1) .2s both speed-line;position:absolute;inset:0;transform:scaleX(0)}.punch-lines i:nth-child(2n):before{background:linear-gradient(90deg, transparent, var(--accent) 40%, transparent);animation-delay:.24s}@keyframes speed-line{0%{opacity:1;transform:translate(60px)scaleX(0)}60%{opacity:1}to{opacity:0;transform:translate(28vmax)scaleX(1)}}body.impact-shake #root{animation:.32s cubic-bezier(.3,0,.3,1) impact-shake}@keyframes impact-shake{0%{transform:translate(0)}20%{transform:translate(-10px,4px)}40%{transform:translate(8px,-3px)}60%{transform:translate(-5px,2px)}80%{transform:translate(3px,-1px)}to{transform:translate(0)}}.home,.page,.session-overlay{padding-left:max(var(--gutter), env(safe-area-inset-left));padding-right:max(var(--gutter), env(safe-area-inset-right))}.session-overlay{padding-top:max(var(--s-5), env(safe-area-inset-top));padding-bottom:max(var(--gutter), env(safe-area-inset-bottom))}@media (hover:none){.home-mat,.home-mat:hover{transform:none}.home-mat-light{display:none}.level:hover,.level:hover .level-thumb{transform:none}.btn-primary:hover:not(:disabled):after{transition:none;transform:translate(-120%)}.btn-ghost:hover:not(:disabled):before{transform:scaleX(0)}.level:active{background:#ffffff08}}@media (width<=900px){.page.demo{grid-template-rows:auto minmax(0,1fr) auto;display:grid;overflow:hidden}.page.demo .page-bottom{background:0 0;position:static}.training-hud{grid-template-columns:1fr auto}.training-hud .hud-current{grid-column:1/-1}.wk-actions{justify-content:flex-end}}@media (width<=640px){:root{--gutter:18px}.home{padding-top:max(var(--s-4), env(safe-area-inset-top));padding-bottom:max(var(--s-4), env(safe-area-inset-bottom))}.home-hero{margin:var(--s-5) 0;gap:var(--s-6)}.home-title{font-size:clamp(3.4rem,17vw,5rem)}.home-lead{font-size:1.02rem}.home-actions{align-items:stretch;gap:var(--s-1);flex-direction:column}.home-actions .btn{width:100%}.home-mat{padding:var(--s-4)}.home-mat-stage{min-height:210px;padding:0}.home-mat-caption{align-items:flex-start;gap:var(--s-2);flex-direction:column}.home-mat-steps{justify-content:flex-start}.home-mat-name{font-size:1.6rem}.home-foot{align-items:flex-start;gap:var(--s-1);flex-direction:column}.home-recent{max-width:none}.page{padding-top:max(var(--s-3), env(safe-area-inset-top))}.page-top{gap:var(--s-3);min-height:48px}.tabs{gap:var(--s-4)}.tab{font-size:1.05rem}.page-bottom{gap:var(--s-2);padding-bottom:max(var(--s-4), env(safe-area-inset-bottom))}.page-bottom .btn-primary{flex:1}.page-bottom .btn{padding:0 var(--s-4)}.wk-hint{display:none}.level,.level-drill{gap:var(--s-2) var(--s-3);padding:var(--s-4) var(--s-2);grid-template-columns:1fr 92px}.level-index{display:none}.level-thumb{width:92px;height:76px}.level-thumb .fd{max-height:62px}.level-name .seq{display:none}.level-name .display,.level-drill .level-name .display{font-size:1.65rem}.level-name .muted{font-size:.85rem}.level-blocks{align-items:flex-start;gap:2px var(--s-3);flex-flow:wrap;grid-column:1/-1}.builder-moves{grid-template-columns:1fr 1fr}.move-tile{height:54px;padding:0 var(--s-3);gap:var(--s-2);grid-template-columns:18px 1fr 14px;font-size:.92rem}.results-score{font-size:clamp(4.5rem,24vw,6.5rem)}.results-list li{height:auto;min-height:0;padding:var(--s-3) 0;grid-template-rows:auto auto;grid-template-columns:26px 18px 1fr 52px;row-gap:6px}.results-list li .results-bar{grid-area:2/3/auto/4}.results-list.wr-list li{grid-template-columns:26px 1fr 60px}.results-list.wr-list li .results-bar{grid-column:2/3}.results-name{flex-wrap:wrap;font-size:1.05rem}.wr-stats{gap:var(--s-3) var(--s-5);grid-template-columns:repeat(3,auto)}.wr-stats dd{font-size:1.35rem}.traj svg{max-height:230px}.demo-title{gap:var(--s-3);font-size:clamp(2.2rem,11vw,3.2rem)}.demo-caption{text-align:center;min-height:84px}.seq{gap:var(--s-1) var(--s-3)}.seq-label{font-size:.88rem}.seq-mark{width:22px;height:22px}.session-steps{gap:var(--s-3)}.session-steps .label{display:none}.session-steps li.is-active .label{display:inline}.setup-checks .label{font-size:.62rem}.practice-gauge{width:min(200px,46vw);padding:var(--s-2) var(--s-3)}.practice-gauge-value{font-size:1.8rem}.practice-move{font-size:clamp(2.8rem,15vw,4rem)}.training-toast{padding:var(--s-3) var(--s-4)}.training-toast .h2{font-size:1.6rem}.hud-move{font-size:clamp(2.2rem,11vw,3rem)}.wk-move{padding:var(--s-4) var(--s-5)}.wk-move-name{font-size:clamp(3rem,16vw,4.5rem)}.wk-hud{gap:var(--s-3) var(--s-4)}.wk-actions .btn{height:44px;padding:0 var(--s-2);font-size:1rem}.wk-overlay-time{font-size:clamp(5.5rem,30vw,8rem)}.wk-overlay .h2{padding:0 var(--gutter);font-size:1.7rem}.intro-brand{text-align:center;flex-direction:column}.intro-name{align-items:center}.intro-name .display{font-size:clamp(2.4rem,12vw,3.2rem)}.stinger-title{text-align:center;padding:0 var(--gutter);flex-direction:column}.stinger-text .display{font-size:clamp(2.6rem,13vw,3.6rem)}}@media (height<=500px) and (orientation:landscape){.session-overlay{padding-top:max(var(--s-2), env(safe-area-inset-top));padding-bottom:max(var(--s-3), env(safe-area-inset-bottom))}.session-steps .label{display:none}.training-hud,.wk-hud{gap:var(--s-4);padding-top:var(--s-2);grid-template-columns:1fr auto auto auto}.training-hud .hud-current,.wk-clock{grid-column:auto}.hud-move{font-size:2rem}.wk-time{font-size:2.6rem}.wk .hud-stat .display,.hud-stat .display{font-size:1.6rem}.wk-top{margin-top:var(--s-1)}.wk-block{font-size:1.4rem}.wk-move{padding:var(--s-2) var(--s-5)}.wk-move-name{font-size:3rem}.wk-overlay-time{font-size:6rem}.session-bottom{gap:var(--s-4)}.practice-callout{min-height:0}.practice-move{font-size:3rem}.countdown-beat.is-number,.countdown-beat.is-go{font-size:9rem}.home-hero{margin:var(--s-4) 0}.demo-caption{min-height:64px;padding-bottom:0}.demo-title{font-size:2.2rem}.page-bottom{padding-top:var(--s-2);padding-bottom:max(var(--s-2), env(safe-area-inset-bottom))}.page-bottom .btn{height:44px}.results-score{font-size:5rem}}.demo-stage .demo-svg.is-portrait{height:100%;max-height:none}
