:root{--bg: #05050c;--panel: rgba(14, 14, 28, .72);--neon-cyan: #39e6ff;--neon-pink: #ff3fb4;--neon-gold: #ffd23f;--text: #f2f2fa;--text-dim: #9a9ab5;--beat-pulse: 0;--font-header: "Anton", sans-serif;--font-editorial: "Fraunces", "Domine", serif;--font-body: "Manrope", system-ui, -apple-system, sans-serif;--editorial-display-size: clamp(2rem, 5vw, 3.4rem);--editorial-display-line: 1.28;--editorial-heading-size: clamp(1.7rem, 4vw, 2.5rem);--editorial-lead-size: clamp(.98rem, 1.5vw, 1.12rem);--editorial-lead-line: 1.55;--editorial-body-size: .95rem;--editorial-body-line: 1.6;--editorial-label-size: .85rem;--editorial-label-tracking: .16em;--editorial-interview-scale: 1.5;--editorial-interview-weight: 300;--editorial-interview-weight-strong: 500;--editorial-interview-block-gap: 30px;--editorial-interview-qa-size: 18px;--credit-bottom: 24px;--credit-cue-gap: 38px;--select-cta-bottom: calc(14px + env(safe-area-inset-bottom, 0px)) ;--select-cta-height: 58px;--select-stack-gap: 20px;--shadow-3d-lg: 1px 1px 0 #0d0d1c, 2px 2px 0 #0d0d1c, 3px 3px 0 #0d0d1c, 4px 4px 0 #0d0d1c, 5px 5px 0 #0d0d1c, 6px 6px 0 #0d0d1c, 7px 7px 0 #0d0d1c, 2px 10px 10px rgba(0, 0, 0, .55), 4px 16px 20px rgba(0, 0, 0, .4), 6px 24px 38px rgba(0, 0, 0, .35);--shadow-3d-sm: 1px 1px 0 #0d0d1c, 2px 2px 0 #0d0d1c, 1px 4px 6px rgba(0, 0, 0, .5), 2px 7px 12px rgba(0, 0, 0, .35);--ease-standard: cubic-bezier(.22, 1, .36, 1);--ease-enter: cubic-bezier(.16, 1, .3, 1);--ease-exit: cubic-bezier(.65, 0, .35, 1);--dur-1: .14s;--dur-2: .26s;--dur-3: .42s;--dur-4: .62s;--dur-5: .9s;--stagger: 90ms}*{box-sizing:border-box}html,body{margin:0;padding:0;height:100%;overflow:hidden;background:var(--bg);color:var(--text);font-family:Segoe UI,system-ui,-apple-system,sans-serif}#scene{position:fixed;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:block;touch-action:none}.hidden{display:none!important}#flash{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;opacity:0;z-index:5}#flash.flash-perfect{background:radial-gradient(ellipse at center,rgba(57,230,255,.22) 0%,transparent 65%);animation:flash-fade .28s ease-out}#flash.flash-combo{background:radial-gradient(ellipse at center,rgba(255,63,180,.25) 0%,transparent 70%);animation:flash-fade .45s ease-out}@keyframes flash-fade{0%{opacity:1}to{opacity:0}}.stage-preloader{opacity:0;position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;pointer-events:auto;transition:opacity var(--dur-3) var(--ease-enter)}.stage-preloader.is-entering{opacity:1}.stage-preloader.is-done{opacity:0;pointer-events:none;transition:opacity var(--dur-2) var(--ease-exit)}.preloader-info{position:absolute;left:50%;top:calc(50% + var(--preload-label-offset, 220px));transform:translate(-50%) translateY(14px);opacity:0;text-align:center;pointer-events:none;transition:transform var(--dur-4) var(--ease-enter),opacity var(--dur-3) var(--ease-enter);transition-delay:var(--stagger)}.stage-preloader.is-entering .preloader-info{transform:translate(-50%) translateY(0);opacity:1}.stage-preloader.is-done .preloader-info{transform:translate(-50%) translateY(-18px);opacity:0;transition:transform var(--dur-3) var(--ease-exit),opacity var(--dur-2) var(--ease-exit);transition-delay:0s}@media(prefers-reduced-motion:reduce){.preloader-info,.stage-preloader.is-entering .preloader-info,.stage-preloader.is-done .preloader-info{transform:translate(-50%);transition:opacity var(--dur-1) ease;transition-delay:0s}}.preloader-percent{font-family:var(--font-header);font-size:clamp(1.7rem,6vw,2.6rem);font-variant-numeric:tabular-nums;letter-spacing:.04em;color:var(--text);text-shadow:var(--shadow-3d-sm),0 0 18px rgba(57,230,255,.5)}.preloader-label{margin-top:2px;font-family:var(--font-header);text-transform:uppercase;letter-spacing:.14em;font-size:.8rem;color:var(--text-dim)}.intro-credit{position:fixed;left:50%;top:50%;z-index:55;width:min(84vw,650px);transform:translate(-50%,-50%);pointer-events:none;opacity:0;visibility:hidden}.intro-credit-mark{width:100%;aspect-ratio:864 / 393;background-repeat:no-repeat;background-position:center;background-size:contain;filter:drop-shadow(0 0 16px rgba(57,230,255,.45))}.intro-credit-line{width:86%;margin:-16.6% auto 0;font-family:var(--font-body);font-weight:300;font-size:min(5.11vw,39.5px);line-height:1.25;letter-spacing:.005em;text-align:center;white-space:nowrap;color:#ffffffd1;text-shadow:0 1px 10px rgba(0,0,0,.7);opacity:0}@keyframes intro-credit-line-in{0%{opacity:0;letter-spacing:.42em;filter:blur(5px)}to{opacity:1;letter-spacing:.005em;filter:blur(0)}}@keyframes intro-credit-line-out{0%{opacity:1;letter-spacing:.005em;filter:blur(0)}to{opacity:0;letter-spacing:.3em;filter:blur(4px)}}.intro-credit.is-in .intro-credit-line{animation:intro-credit-line-in 1.05s cubic-bezier(.22,1,.36,1) .42s forwards}.intro-credit.is-out .intro-credit-line{animation:intro-credit-line-out .55s cubic-bezier(.55,0,.68,.35) forwards}.intro-credit.is-in{visibility:visible;animation:intro-credit-in 1.15s cubic-bezier(.22,1,.36,1) forwards}.intro-credit.is-out{visibility:visible;animation:intro-credit-out .75s cubic-bezier(.55,0,.68,.35) forwards}@keyframes intro-credit-in{0%{opacity:0;transform:translate(-50%,calc(-50% + 16px)) scale(.94);clip-path:inset(0 100% 0 0);filter:blur(6px)}55%{opacity:1}to{opacity:1;transform:translate(-50%,-50%) scale(1);clip-path:inset(0 0 0 0);filter:blur(0)}}@keyframes intro-credit-out{0%{opacity:1;transform:translate(-50%,-50%) scale(1);filter:blur(0)}to{opacity:0;transform:translate(-50%,calc(-50% - 22px)) scale(1.06);filter:blur(5px)}}.intro-credit.is-in:after{content:"";position:absolute;top:-12%;right:-6%;bottom:-12%;left:-6%;background:linear-gradient(100deg,transparent 38%,rgba(255,255,255,.75) 50%,transparent 62%);mix-blend-mode:screen;animation:intro-credit-sweep 1.15s cubic-bezier(.22,1,.36,1) forwards}@keyframes intro-credit-sweep{0%{transform:translate(-115%);opacity:0}25%{opacity:1}85%{opacity:0}to{transform:translate(115%);opacity:0}}@media(prefers-reduced-motion:reduce){.intro-credit.is-in,.intro-credit.is-out{animation-duration:.4s;animation-timing-function:ease}.intro-credit.is-in .intro-credit-line,.intro-credit.is-out .intro-credit-line{animation-duration:.35s;animation-delay:0s;letter-spacing:.005em;filter:none}.intro-credit.is-in:after{display:none}}#hud{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:10}.lang-gate{position:fixed;top:0;right:0;bottom:0;left:0;z-index:70;display:flex;align-items:center;justify-content:center;background:#05050c;opacity:1;transition:opacity .5s ease}.lang-gate[hidden]{display:none}.lang-gate.is-done{opacity:0;pointer-events:none}.lang-gate.is-choosing .lang-gate-button{animation:lang-gate-button-out .32s ease-in forwards}.lang-gate.is-choosing .lang-gate-button:not([data-chosen]){animation-delay:0s}.lang-gate.is-choosing .lang-gate-button[data-chosen]{animation:lang-gate-button-chosen .5s ease forwards;animation-delay:.1s;border-color:var(--neon-cyan)}.lang-gate.is-choosing .lang-gate-title,.lang-gate.is-choosing .lang-gate-sub{animation:lang-gate-button-out .28s ease-in forwards}@keyframes lang-gate-button-out{to{opacity:0;transform:translateY(-10px)}}@keyframes lang-gate-button-chosen{30%{transform:scale(1.04)}to{opacity:0;transform:scale(1)}}.lang-gate-inner{text-align:center;padding:24px}.lang-gate-title{margin:0 0 6px;font-family:var(--font-header);text-transform:uppercase;font-size:clamp(1.3rem,6vw,1.9rem);letter-spacing:.06em;color:var(--text);text-shadow:var(--shadow-3d-sm)}.lang-gate-sub{margin:0 0 28px;font-family:var(--font-body);font-size:.95rem;color:var(--text-dim)}.lang-gate-buttons{display:flex;flex-direction:column;gap:14px}.lang-gate-button{min-width:220px;padding:16px 28px;font-family:var(--font-header);text-transform:uppercase;font-size:1.05rem;letter-spacing:.06em;color:var(--text);text-shadow:var(--shadow-3d-sm);background:#0c0c1ab8;border:2px solid rgba(255,255,255,.22);border-radius:18px;cursor:pointer;transition:transform .15s ease,border-color .15s ease,background .15s ease}.lang-gate-button:active{transform:scale(.97);border-color:var(--neon-cyan);background:#14142ae0}.settings-langrow{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:8px 10px;font-family:var(--font-body);font-size:.9rem;color:var(--text)}.settings-langpicker{display:flex;gap:4px}.settings-lang{min-width:38px;padding:5px 8px;font-family:var(--font-header);font-size:.74rem;letter-spacing:.1em;color:var(--text-dim);background:#ffffff0f;border:1px solid transparent;border-radius:7px;cursor:pointer;transition:color .15s ease,background .15s ease,border-color .15s ease}@media(hover:hover)and (pointer:fine){.settings-lang:hover{color:var(--text)}}.settings-lang[aria-pressed=true]{color:#05050c;background:var(--neon-cyan);border-color:var(--neon-cyan)}.settings{position:fixed;top:calc(14px + env(safe-area-inset-top,0px));left:14px;z-index:45}.settings-toggle{display:flex;align-items:center;justify-content:center;width:42px;height:42px;cursor:pointer;color:var(--text);background:var(--panel);border:1px solid rgba(57,230,255,.25);border-radius:12px;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);transition:border-color .15s ease,transform .25s ease}@media(hover:hover)and (pointer:fine){.settings-toggle:hover{border-color:#39e6ff99}}.settings-toggle:active{transform:scale(.94)}.settings.is-open .settings-toggle{transform:rotate(45deg);border-color:#39e6ff99}.settings-panel{position:absolute;top:calc(100% + 8px);left:0;min-width:208px;max-width:calc(100vw - 28px);padding:12px;background:var(--panel);border:1px solid rgba(57,230,255,.25);border-radius:12px;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);box-shadow:0 12px 30px #00000080;opacity:0;visibility:hidden;transform:translateY(-8px) scale(.98);transform-origin:top left;pointer-events:none;transition:opacity var(--dur-2) var(--ease-standard),transform var(--dur-2) var(--ease-standard),visibility 0s linear var(--dur-2)}.settings.is-open .settings-panel{opacity:1;visibility:visible;transform:translateY(0) scale(1);pointer-events:auto;transition:opacity var(--dur-2) var(--ease-standard),transform var(--dur-3) var(--ease-standard),visibility 0s linear 0s}.settings-panel[hidden]{display:none}@media(prefers-reduced-motion:reduce){.settings-panel,.settings.is-open .settings-panel{transform:none;transition:opacity var(--dur-1) ease,visibility 0s linear var(--dur-1)}.settings.is-open .settings-panel{transition:opacity var(--dur-1) ease,visibility 0s linear 0s}}@media(max-width:700px){.settings{left:auto;right:calc(12px + env(safe-area-inset-right,0px))}.settings-panel{left:auto;right:0;transform-origin:top right}}.settings-title{margin:0 0 10px;font-family:var(--font-header);text-transform:uppercase;font-size:.68rem;letter-spacing:.2em;color:var(--text-dim)}.settings-row{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;padding:8px 10px;cursor:pointer;background:transparent;border:none;border-radius:8px;color:var(--text);font-family:var(--font-body);font-size:.9rem;transition:background .15s ease}@media(hover:hover)and (pointer:fine){.settings-row:hover{background:#ffffff0f}}.settings-row-label{white-space:nowrap}.settings-switch{position:relative;flex:none;width:38px;height:22px;border-radius:999px;background:#ffffff29;transition:background .2s ease}.settings-switch:after{content:"";position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:var(--text);transition:transform .2s cubic-bezier(.22,1,.36,1)}.settings-row[aria-checked=true] .settings-switch{background:var(--neon-cyan)}.settings-row[aria-checked=true] .settings-switch:after{transform:translate(16px);background:#05050c}.hud-panel{position:absolute;top:14px;display:flex;gap:10px;padding:10px 14px;background:var(--panel);border:1px solid rgba(57,230,255,.25);border-radius:12px;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.hud-left{left:66px}.hud-right{right:14px}.hud-item{display:flex;flex-direction:column;min-width:84px}.hud-label{font-size:.62rem;letter-spacing:.14em;color:var(--text-dim)}.hud-value{font-size:1.35rem;font-weight:700;font-variant-numeric:tabular-nums;text-shadow:0 0 12px rgba(57,230,255,.55)}.hud-sub{font-size:.62rem;color:var(--text-dim);letter-spacing:.08em}#timing-value.timing-perfect{color:var(--neon-cyan)}#timing-value.timing-good{color:var(--neon-gold)}#timing-value.timing-miss{color:#ff5a5a}#timing-value.timing-dead{color:var(--text-dim);text-shadow:none;opacity:.8}#lives-value{color:#ff5a5a;text-shadow:0 0 12px rgba(255,90,90,.55);letter-spacing:.06em}#multiplier-value.pulse{animation:multiplier-pulse .3s ease-out}@keyframes multiplier-pulse{0%{transform:scale(1)}40%{transform:scale(1.25);color:var(--neon-gold);text-shadow:0 0 18px var(--neon-gold)}to{transform:scale(1)}}#multiplier-value.reset-flash{animation:multiplier-reset-flash .3s ease-out}@keyframes multiplier-reset-flash{0%{color:#ff5a5a;text-shadow:0 0 18px #ff5a5a}to{color:var(--text);text-shadow:0 0 12px rgba(57,230,255,.55)}}#timing-ring{position:relative;width:40px;height:40px;border-radius:50%;flex-shrink:0;background:radial-gradient(circle,transparent 65%,rgba(255,255,255,.14) 66%,rgba(255,255,255,.14) 100%)}#timing-ring-fill{--fill: 0;position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;background:conic-gradient(var(--neon-cyan) calc(var(--fill) * 360deg),transparent 0);-webkit-mask:radial-gradient(circle,transparent 65%,#000 66%);mask:radial-gradient(circle,transparent 65%,#000 66%)}#beat-indicator{position:absolute;bottom:22px;left:50%;transform:translate(-50%);display:flex;gap:14px}.beat-dot{width:16px;height:16px;border-radius:50%;background:#ffffff24;border:1px solid rgba(255,255,255,.25);transition:background-color .08s linear}.beat-dot.active{background:var(--neon-cyan);box-shadow:0 0 calc(8px + var(--beat-pulse) * 22px) var(--neon-cyan);transform:scale(calc(1 + var(--beat-pulse) * .55))}.beat-dot.downbeat.active{background:var(--neon-pink);box-shadow:0 0 calc(10px + var(--beat-pulse) * 26px) var(--neon-pink)}#timing-popup{position:absolute;top:30%;left:50%;transform:translate(-50%,-50%);font-size:clamp(1.6rem,5vw,3rem);font-weight:800;letter-spacing:.12em;opacity:0;text-shadow:0 0 18px currentColor}#timing-popup.show-perfect{color:var(--neon-cyan);animation:timing-pop .55s ease-out}#timing-popup.show-good{color:var(--neon-gold);animation:timing-pop .55s ease-out}#timing-popup.show-miss{color:#ff5a5a;animation:timing-pop .55s ease-out}#timing-popup.show-note{color:var(--text);font-size:clamp(1.1rem,3vw,1.8rem);animation:timing-pop .9s ease-out}@keyframes timing-pop{0%{opacity:0;transform:translate(-50%,-50%) scale(.6)}18%{opacity:1;transform:translate(-50%,-50%) scale(1.15)}to{opacity:0;transform:translate(-50%,-62%) scale(1)}}#combo-popup{position:absolute;top:42%;left:50%;transform:translate(-50%,-50%);text-align:center;opacity:0}#combo-popup.show{animation:combo-pop 1.25s cubic-bezier(.2,1.4,.4,1)}#combo-name{font-family:var(--font-header);text-transform:uppercase;font-size:clamp(2rem,7vw,4.2rem);font-weight:400;letter-spacing:.02em;color:var(--text);text-shadow:var(--shadow-3d-sm);filter:drop-shadow(0 0 16px rgba(255,63,180,.65))}#combo-popup.show #combo-name{animation:combo-name-glow 1.25s ease-out}@keyframes combo-name-glow{0%{filter:drop-shadow(0 0 4px rgba(255,63,180,0))}25%{filter:drop-shadow(0 0 52px rgba(255,63,180,.95))}to{filter:drop-shadow(0 0 16px rgba(255,63,180,.65))}}#combo-points{font-size:clamp(1rem,3vw,1.6rem);font-weight:700;color:var(--text);text-shadow:0 0 12px rgba(255,210,63,.8)}@keyframes combo-pop{0%{opacity:0;transform:translate(-50%,-50%) scale(.4) rotate(-4deg)}15%{opacity:1;transform:translate(-50%,-50%) scale(1.12) rotate(1deg)}70%{opacity:1;transform:translate(-50%,-50%) scale(1)}to{opacity:0;transform:translate(-50%,-58%) scale(.95)}}#start-screen{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;display:flex;align-items:center;justify-content:center;padding:16px;overflow-y:auto;background:radial-gradient(ellipse at 50% 30%,#2814508c,#05050ceb);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.start-card{width:min(640px,100%);margin:auto;padding:28px 30px;text-align:center;background:var(--panel);border:1px solid rgba(57,230,255,.3);border-radius:18px;box-shadow:0 0 60px #39e6ff1f}.game-title{margin:0 0 10px;font-family:var(--font-header);text-transform:uppercase;font-size:clamp(2rem,7vw,3.4rem);font-weight:400;letter-spacing:.03em;color:var(--text);text-shadow:var(--shadow-3d-sm),0 0 18px rgba(57,230,255,.4)}.tagline{margin:0 auto 18px;max-width:52ch;color:var(--text-dim);font-size:.95rem;line-height:1.5}#character-select{position:fixed;top:0;right:0;bottom:0;left:0;z-index:25;background:url(./bg_character-5K0DGnQT.png) center / cover no-repeat #05050c}#char-select-header{position:absolute;top:0;left:0;right:0;z-index:2;padding:76px 16px 14px;text-align:center;pointer-events:none;background:linear-gradient(to bottom,rgba(5,5,12,.75),transparent)}#char-select-header .game-title{margin-bottom:4px}#char-select-header .tagline{margin:0 auto}.select-checklist{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:8px 18px;margin:10px 0 0;padding:0;list-style:none}.select-checklist-item{display:none;align-items:center;gap:7px;flex-shrink:0;opacity:.5;transition:opacity .3s ease}.select-checklist-item.is-active,.select-checklist-item.is-done{opacity:1}.checklist-check{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:15px;height:15px;border-radius:50%;border:1.5px solid rgba(255,255,255,.5);background:#ffffff0f;font-size:.6rem;line-height:1;color:transparent;transition:background .15s ease,border-color .15s ease,color .15s ease,transform .15s ease}.checklist-check:before{content:"✓"}.checklist-label{font-family:var(--font-header);text-transform:uppercase;font-size:.8rem;letter-spacing:.06em;color:var(--text-dim);transition:color .2s ease}.select-checklist-item.is-active .checklist-label{color:var(--text)}.select-checklist-item[data-step=player].is-done .checklist-check{background:var(--neon-cyan);border-color:var(--neon-cyan);color:#05050c;transform:scale(1.08)}.select-checklist-item[data-step=rival].is-done .checklist-check{background:var(--neon-pink);border-color:var(--neon-pink);color:#05050c;transform:scale(1.08)}.select-checklist-vs{font-family:var(--font-header);text-transform:uppercase;font-size:.7rem;letter-spacing:.06em;flex-shrink:0;opacity:.45;transition:opacity .3s ease,font-size .3s ease}#char-select-vs:not(.is-ready){display:none}.select-checklist-vs.is-ready{opacity:1;font-size:.85rem}.select-checklist-vs.is-ready .flip-char{color:color-mix(in srgb,var(--neon-cyan) 40%,var(--neon-pink))}@media(max-width:700px){body.select-ready .select-checklist .checklist-label{max-width:0;opacity:0;margin:0;overflow:hidden;white-space:nowrap;transition:max-width var(--dur-3) var(--ease-standard),opacity var(--dur-2) ease}body.select-ready .select-checklist{gap:8px 12px}.select-checklist .checklist-label{max-width:14ch;transition:max-width var(--dur-3) var(--ease-standard),opacity var(--dur-2) ease}}.figure-hover-cursor{position:absolute;z-index:4;display:flex;align-items:center;justify-content:center;width:46px;height:46px;border-radius:50%;border:1.5px solid rgba(255,255,255,.55);background:#08081473;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:var(--text);font-family:var(--font-header);font-size:1.35rem;line-height:1;pointer-events:none;opacity:0;transform:translate(-50%,-50%) scale(.55) rotate(-45deg);transition:opacity .22s ease,transform .34s cubic-bezier(.22,1,.36,1)}.figure-hover-cursor.is-visible{opacity:1;transform:translate(-50%,-50%) scale(1) rotate(0)}@media(pointer:coarse){.figure-hover-cursor{display:none}}@media(prefers-reduced-motion:reduce){.figure-hover-cursor{transition:opacity .12s ease;transform:translate(-50%,-50%) scale(1) rotate(0)}}#carousel-dots{position:absolute;left:0;right:0;bottom:calc(78px + env(safe-area-inset-bottom,0px));z-index:5;display:none;justify-content:center;gap:10px}body.is-carousel #carousel-dots{display:flex}body.is-carousel #carousel-dots{opacity:0;transform:translateY(10px);transition:opacity var(--dur-3) var(--ease-standard),transform var(--dur-3) var(--ease-standard)}body.is-carousel.is-settled #carousel-dots{opacity:1;transform:translateY(0)}@media(prefers-reduced-motion:reduce){body.is-carousel #carousel-dots,body.is-carousel.is-settled #carousel-dots{transform:none;transition:opacity var(--dur-1) ease}}body.is-carousel #char-preview-canvas{touch-action:none}.carousel-dot{position:relative;width:9px;height:9px;padding:0;border-radius:50%;border:1.5px solid rgba(255,255,255,.45);background:transparent;cursor:pointer;transition:background .25s ease,border-color .25s ease,transform .25s ease,opacity var(--dur-2) ease}.carousel-dot:after{content:"";position:absolute;top:50%;left:50%;width:44px;height:44px;transform:translate(-50%,-50%)}.carousel-dot.is-active{background:var(--neon-cyan);border-color:var(--neon-cyan);transform:scale(1.25);box-shadow:0 0 12px #39e6ffb3}.char-preview-wrap{position:absolute;top:0;right:0;bottom:0;left:0}#char-preview-canvas{width:100%;height:100%;display:block}#splash-screen{position:fixed;top:0;right:0;bottom:0;left:0;z-index:27;transition:opacity 1s ease;pointer-events:none;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;scrollbar-width:none;background:radial-gradient(ellipse 55% 38% at 50% 54%,rgba(5,5,12,.72),rgba(5,5,12,.28) 58%,transparent 80%),linear-gradient(to bottom,#05050c57,#05050c05 45%,#05050c3d)}#splash-screen::-webkit-scrollbar{display:none}#splash-screen.preload-hidden{visibility:hidden;opacity:0}#character-select.preload-hidden{background:#05050c}.splash-hero{position:relative;min-height:100vh;min-height:100svh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:16px;text-align:center}#splash-subtitle{position:fixed;z-index:1;margin:0;transform:translate(-50%,-100%);white-space:nowrap;pointer-events:none;font-family:var(--font-header);text-transform:uppercase;font-weight:400;font-size:clamp(.7rem,1.45vw,1.05rem);letter-spacing:.16em;color:var(--text-dim);text-shadow:var(--shadow-3d-sm);opacity:0;transition:opacity .4s ease}#splash-subtitle s{color:#ffffff6b;text-decoration-color:var(--neon-pink);text-decoration-thickness:.12em}#splash-subtitle em{font-style:normal;color:var(--text);text-shadow:var(--shadow-3d-sm),0 0 18px rgba(57,230,255,.5)}.splash-content{display:flex;flex-direction:column;align-items:center;margin-top:40vh;animation:splash-content-in 1s cubic-bezier(.16,1,.3,1) both}@keyframes splash-content-in{0%{opacity:0;transform:translateY(26px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.splash-logo{margin:0 0 10px;display:flex;justify-content:center;perspective:600px}.tagline-lead{display:block;color:#ffffffeb;font-size:clamp(1.02rem,1.5vw,1.28rem);letter-spacing:.03em;text-shadow:0 2px 14px rgba(0,0,0,.75);white-space:pre-line}.tagline-sub{display:block;margin-top:.5em;color:#ffffff80;font-size:clamp(.66rem,.92vw,.82rem);font-weight:500;text-transform:uppercase;letter-spacing:.26em;text-shadow:0 1px 10px rgba(0,0,0,.8)}.splash-tagline{margin:0 auto;max-width:52ch;color:var(--text-dim);line-height:1.55;text-shadow:0 2px 12px rgba(0,0,0,.7);opacity:1}@keyframes splash-tagline-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.splash-audio-hint{display:inline-flex;align-items:center;justify-content:center;gap:8px;margin:18px auto 0;font-family:var(--font-body);font-size:.82rem;letter-spacing:.01em;color:var(--text-dim);text-shadow:0 2px 10px rgba(0,0,0,.8);pointer-events:none}.splash-audio-icon{display:inline-flex;flex:none;transform:translateY(.5px);color:var(--neon-cyan);opacity:.85}#splash-screen.splash-entering .splash-audio-hint{animation:splash-tagline-in var(--dur-4) var(--ease-standard) calc(var(--stagger) * 4) both}#splash-screen.splash-leaving .splash-audio-hint{animation:cs-slide-out-near .6s var(--ease-exit) both}@media(max-width:700px){.splash-audio-hint{margin-top:14px;font-size:.76rem}}#splash-screen.splash-entering .splash-tagline,#splash-screen.splash-entering .mode-button{animation:splash-tagline-in var(--dur-4) var(--ease-standard) both}#splash-screen.splash-entering .mode-button:nth-of-type(1){animation-delay:calc(var(--stagger) * 2)}#splash-screen.splash-entering .mode-button:nth-of-type(2){animation-delay:calc(var(--stagger) * 3)}@media(prefers-reduced-motion:reduce){#splash-screen.splash-entering .splash-tagline,#splash-screen.splash-entering .mode-button{animation-duration:.2s;animation-delay:0s}}.splash-modes{pointer-events:auto;display:flex;gap:16px;margin-top:26px;flex-wrap:wrap;justify-content:center;opacity:1}.mode-button{position:relative;display:flex;flex-direction:column;align-items:center;gap:4px;min-width:178px;padding:12px 31px;color:var(--text);background:#0c0c1ab8;border:2px solid rgba(255,255,255,.22);border-radius:18px;cursor:pointer;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease,background .15s ease}.mode-button[hidden]{display:none}.mode-button:before{content:"";position:absolute;top:-5px;right:-5px;bottom:-5px;left:-5px;z-index:-1;border-radius:inherit;background:linear-gradient(120deg,var(--neon-pink),var(--neon-cyan));filter:blur(14px);opacity:0;transition:opacity .3s ease}@media(hover:hover)and (pointer:fine){.mode-button:hover:before{opacity:.32}}.mode-name{position:relative;display:inline-block;overflow:hidden;height:1.28em;line-height:1.28;vertical-align:top;font-family:var(--font-header);text-transform:uppercase;font-size:1.02rem;font-weight:400;letter-spacing:.06em;text-shadow:var(--shadow-3d-sm)}.flip-row{display:block;white-space:nowrap}.flip-row--bottom{position:absolute;top:100%;left:0}.flip-char{display:inline-block;color:var(--text);transition:transform .5s cubic-bezier(.34,1.68,.64,1),color .3s ease;transition-delay:calc(var(--i, 0) * 32ms);will-change:transform}@media(hover:hover)and (pointer:fine){.mode-button:hover .flip-char,#char-select-back:hover .flip-char,#char-select-confirm:hover:not(:disabled) .flip-char{transform:translateY(-100%);color:color-mix(in srgb,var(--neon-cyan) 35%,var(--text))}}.flip-mask{position:relative;display:inline-block;overflow:hidden;height:1.28em;line-height:1.28;vertical-align:top}.flip-mask.flip-armed .flip-char{transform:translateY(-100%)}#char-select-title.flip-mask,#char-select-tagline.flip-mask{display:block}#char-select-title.flip-mask .flip-row--bottom,#char-select-tagline.flip-mask .flip-row--bottom{right:0}.flip-mask--text .flip-char{transition-delay:calc(var(--i, 0) * 14ms)}@media(prefers-reduced-motion:reduce){.flip-char{transition:none}}@media(hover:hover)and (pointer:fine){.mode-button:hover{transform:translateY(-5px) scale(1.05);background:#14142ae0;border-color:#fff6}}.mode-button:active{transform:translateY(-1px) scale(.97)}@media(hover:hover)and (pointer:fine){#splash-linedance-button:hover{border-color:var(--neon-gold)}}#splash-screen.splash-leaving{animation:splash-out .95s cubic-bezier(.65,0,.35,1) forwards;pointer-events:none}@keyframes splash-out{0%{opacity:1;transform:translate(0);filter:blur(0)}to{opacity:0;transform:translate(-6vw);filter:blur(2px)}}#splash-screen.splash-leaving .splash-scroll-cue{animation:cs-slide-out-near .72s var(--ease-exit) both}#splash-screen.splash-leaving .mode-button{animation:cs-slide-out-mid .78s var(--ease-exit) both}#splash-screen.splash-leaving .mode-button:nth-of-type(2){animation-delay:0s}#splash-screen.splash-leaving .mode-button:nth-of-type(1){animation-delay:var(--stagger)}#splash-screen.splash-leaving .splash-tagline{animation:cs-slide-out-far .82s var(--ease-exit) calc(var(--stagger) * 2) both}@keyframes cs-slide-out-near{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(-2.5vw)}}@keyframes cs-slide-out-mid{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(-3.5vw)}}@keyframes cs-slide-out-far{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(-4.5vw)}}@keyframes cs-fade-out{0%{opacity:1}to{opacity:0}}#splash-screen.splash-returning{animation:splash-return 1.09s cubic-bezier(.16,1,.3,1) both}@keyframes splash-return{0%{opacity:0;transform:translate(-6vw);filter:blur(2px)}to{opacity:1;transform:translate(0);filter:blur(0)}}#splash-screen.splash-returning .splash-tagline{animation:cs-slide-in-far .88s cubic-bezier(.16,1,.3,1) .09s both}#splash-screen.splash-returning .splash-modes{animation:cs-slide-in-mid .85s cubic-bezier(.16,1,.3,1) .15s both}#splash-screen.splash-returning .splash-scroll-cue{animation:cs-slide-in-near .78s cubic-bezier(.16,1,.3,1) .22s both}@keyframes cs-slide-in-near{0%{opacity:0;transform:translate(-2.5vw)}to{opacity:1;transform:translate(0)}}@keyframes cs-slide-in-mid{0%{opacity:0;transform:translate(-3.5vw)}to{opacity:1;transform:translate(0)}}@keyframes cs-slide-in-far{0%{opacity:0;transform:translate(-4.5vw)}to{opacity:1;transform:translate(0)}}#splash-screen:not(.splash-leaving):not(.splash-returning) .splash-content{animation:splash-content-in 1s cubic-bezier(.16,1,.3,1) both}#splash-screen.splash-returning .splash-content{animation:none}#char-select-header.ui-in{animation:char-select-ui-in .95s var(--ease-enter) 1.25s both}@media(max-width:700px){#char-select-header.ui-in{animation:none}body.is-selecting #char-select-header{opacity:0;transform:translateY(-10px);transition:opacity var(--dur-4) var(--ease-enter),transform var(--dur-4) var(--ease-enter)}body.is-selecting.is-settled #char-select-header{opacity:1;transform:translateY(0)}body.is-selecting #char-select-header .tagline,body.is-selecting #char-select-header .select-checklist{opacity:0;transform:translateY(-6px);transition:opacity var(--dur-3) var(--ease-enter),transform var(--dur-3) var(--ease-enter)}body.is-selecting.is-settled #char-select-header .tagline{opacity:1;transform:translateY(0);transition-delay:var(--stagger)}body.is-selecting.is-settled #char-select-header .select-checklist{opacity:1;transform:translateY(0);transition-delay:calc(var(--stagger) * 2)}}#char-select-back.ui-in{animation:back-slide-in .85s cubic-bezier(.16,1,.3,1) 1.42s both}@keyframes char-select-ui-in{0%{opacity:0;transform:translate(5vw) translateY(4px)}to{opacity:1;transform:translate(0) translateY(0)}}@keyframes back-slide-in{0%{opacity:0;transform:translate(4vw)}to{opacity:1;transform:translate(0)}}#char-select-header.is-leaving{animation:char-select-ui-out .61s cubic-bezier(.65,0,.35,1) forwards}#char-select-back.is-leaving{animation:back-slide-out .58s cubic-bezier(.65,0,.35,1) .05s forwards}@keyframes char-select-ui-out{0%{opacity:1;transform:translate(0) translateY(0)}to{opacity:0;transform:translate(3.5vw) translateY(0)}}@keyframes back-slide-out{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(3vw)}}@media(prefers-reduced-motion:reduce){#splash-screen.splash-leaving,#splash-screen.splash-leaving *,#splash-screen.splash-returning,#splash-screen.splash-returning *,#char-select-header.ui-in,#char-select-back.ui-in,#char-select-header.is-leaving,#char-select-back.is-leaving,.char-nameplate.is-entering{animation-duration:.12s!important;animation-delay:0s!important;transition-duration:.12s!important;filter:none!important}}@media(max-width:700px){.splash-tagline{font-size:.9rem}.splash-modes{margin-top:18px;gap:10px}.mode-button{min-width:0;width:100%;padding:12px 20px}.mode-name{font-size:1.1rem}}.char-nameplate{position:absolute;--pull-x: 0px;--pull-y: 0px;--lift: 0px;--enter-y: 0px;--enter-opacity: 1;transform:translate(calc(-50% + var(--pull-x))) translateY(calc(var(--lift) + var(--pull-y) + var(--enter-y)));opacity:var(--enter-opacity);z-index:3;display:inline-flex;align-items:center;gap:7px;padding:6px 18px 6px 8px;background:#0a0a16b8;border:1.5px solid rgba(255,255,255,.28);border-radius:12px;color:var(--text);font-family:var(--font-header);text-transform:uppercase;font-size:1.02rem;font-weight:400;letter-spacing:.02em;cursor:pointer;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);transition:transform .12s ease,border-color .12s ease,background .12s ease,box-shadow .12s ease,opacity .42s cubic-bezier(.22,1,.36,1)}.char-nameplate.is-entering{--enter-y: 12px;--enter-opacity: 0;transition:transform .4s cubic-bezier(.22,1,.36,1),opacity .36s ease-out}.chip-check{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:17px;height:17px;border-radius:50%;border:1.5px solid rgba(255,255,255,.55);background:#ffffff0f;font-size:.68rem;line-height:1;color:transparent;transition:background .15s ease,border-color .15s ease,color .15s ease,transform .15s ease}.char-nameplate.hovered{--lift: -3px;border-color:var(--neon-cyan);background:#141428d9;box-shadow:0 0 18px #39e6ff59}@media(hover:hover)and (pointer:fine){.char-nameplate:hover{--lift: -3px;border-color:var(--neon-cyan);background:#141428d9;box-shadow:0 0 18px #39e6ff59}}.char-nameplate:active{--lift: -1px}.char-nameplate.role-player,.char-nameplate.role-rival{--lift: -3px;color:#05050c;font-weight:900}.char-nameplate.role-player{border-color:var(--neon-cyan);background:var(--neon-cyan);box-shadow:0 0 22px #39e6ff8c}.char-nameplate.role-rival{border-color:var(--neon-pink);background:var(--neon-pink);box-shadow:0 0 22px #ff3fb48c}.char-nameplate.role-player .chip-check,.char-nameplate.role-rival .chip-check{background:#05050c;border-color:#05050c;color:inherit;transform:scale(1.08)}.char-nameplate.role-player .chip-check{color:var(--neon-cyan)}.char-nameplate.role-rival .chip-check{color:var(--neon-pink)}.chip-profile-hint{position:absolute;top:calc(100% + 7px);left:50%;transform:translate(-50%) translateY(-5px);white-space:nowrap;font-family:Segoe UI,system-ui,-apple-system,sans-serif;text-transform:none;letter-spacing:normal;font-size:.78rem;line-height:1.5;color:var(--text-dim);text-shadow:0 1px 4px rgba(0,0,0,.95);opacity:0;pointer-events:none;transition:opacity var(--dur-2) ease,transform .32s var(--ease-standard)}@media(pointer:coarse),(max-width:700px){.chip-profile-hint{display:none}}.char-nameplate.hovered .chip-profile-hint{opacity:1;transform:translate(-50%) translateY(0)}@media(prefers-reduced-motion:reduce){.chip-profile-hint{transition:opacity .12s ease;transform:translate(-50%) translateY(0)}}.chip-remove-x{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:5;width:20px;height:20px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:#05050c;border:1.5px solid rgba(255,255,255,.5);color:var(--text);font-size:.62rem;font-weight:900;line-height:1;opacity:0;pointer-events:none;transition:opacity .15s ease}@media(hover:hover)and (pointer:fine){.char-nameplate.role-player:hover .chip-remove-x,.char-nameplate.role-rival:hover .chip-remove-x{opacity:1}}.char-nameplate:after{content:" • " attr(data-role-label);display:inline-block;overflow:hidden;white-space:nowrap;max-width:0;opacity:0;font-size:.74em;font-weight:900;letter-spacing:.14em;vertical-align:middle;transition:max-width .45s cubic-bezier(.22,1,.36,1),opacity .3s ease}.char-nameplate.role-player:after,.char-nameplate.role-rival:after{max-width:160px;opacity:.8}@keyframes chip-check-pop{0%{transform:scale(.4)}55%{transform:scale(1.4)}to{transform:scale(1.08)}}.char-nameplate.role-player .chip-check,.char-nameplate.role-rival .chip-check{animation:chip-check-pop .45s cubic-bezier(.34,1.56,.64,1)}@keyframes chip-glow-pop-player{0%{box-shadow:0 0 #39e6ff00}40%{box-shadow:0 0 40px 9px #39e6ffe6}to{box-shadow:0 0 22px #39e6ff8c}}@keyframes chip-glow-pop-rival{0%{box-shadow:0 0 #ff3fb400}40%{box-shadow:0 0 40px 9px #ff3fb4e6}to{box-shadow:0 0 22px #ff3fb48c}}.char-nameplate.role-player{animation:chip-glow-pop-player .55s ease-out}.char-nameplate.role-rival{animation:chip-glow-pop-rival .55s ease-out}#char-select-back{position:absolute;left:28px;bottom:34px;--lift-y: 0px;--lift-scale: 1;transform:translateY(var(--lift-y)) scale(var(--lift-scale));z-index:4;display:inline-flex;align-items:center;justify-content:center;padding:12px 31px;font-family:var(--font-header);text-transform:uppercase;font-size:1.02rem;font-weight:400;letter-spacing:.06em;color:var(--text-dim);background:#0c0c1ab8;border:2px solid rgba(255,255,255,.22);border-radius:18px;cursor:pointer;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease,background .15s ease,color .15s ease}#char-select-back:before,#char-select-confirm:before{content:"";position:absolute;top:-5px;right:-5px;bottom:-5px;left:-5px;z-index:-1;border-radius:inherit;background:linear-gradient(120deg,var(--neon-pink),var(--neon-cyan));filter:blur(14px);opacity:0;transition:opacity .3s ease}@media(hover:hover)and (pointer:fine){#char-select-back:hover{color:var(--text);--lift-y: -5px;--lift-scale: 1.05;background:#14142ae0;border-color:#fff6;box-shadow:0 10px 28px #00000073}}@media(hover:hover)and (pointer:fine){#char-select-back:hover:before{opacity:.32}}#char-select-back:active{--lift-y: -1px;--lift-scale: .97}#char-select-confirm{position:absolute;left:50%;bottom:34px;--reveal-y: 0px;--lift-y: 0px;--lift-scale: 1;transform:translate(-50%) translateY(calc(var(--reveal-y) + var(--lift-y))) scale(var(--lift-scale));z-index:4;display:inline-flex;align-items:center;justify-content:center;padding:12px 31px;font-family:var(--font-header);text-transform:uppercase;font-size:1.02rem;font-weight:400;letter-spacing:.06em;color:var(--text);background:#0c0c1ab8;border:2px solid rgba(255,255,255,.22);border-radius:18px;cursor:pointer;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);transition:transform .28s cubic-bezier(.22,1,.36,1),box-shadow .2s ease,opacity .22s ease,background .15s ease,border-color .15s ease}@media(hover:hover)and (pointer:fine){#char-select-confirm:hover:not(:disabled){--lift-y: -5px;--lift-scale: 1.05;background:#14142ae0;border-color:#fff6;box-shadow:0 10px 28px #00000073}}@media(hover:hover)and (pointer:fine){#char-select-confirm:hover:not(:disabled):before{opacity:.55}}#char-select-confirm:active:not(:disabled){--lift-y: -1px;--lift-scale: .97}#char-select-confirm:disabled{opacity:.4;cursor:not-allowed}#char-select-confirm.is-hidden{--reveal-y: 14px;opacity:0;pointer-events:none}#char-select-confirm.is-away{--reveal-y: 10px;opacity:0;pointer-events:none}#char-select-confirm.is-ready:before{opacity:.4}@keyframes cs-cta-ready-pop{0%{scale:.92}55%{scale:1.06}to{scale:1}}#char-select-confirm.is-ready{animation:cs-cta-ready-pop .4s cubic-bezier(.34,1.56,.64,1)}@media(max-width:700px){#char-select-back{top:calc(10px + env(safe-area-inset-top,0px));bottom:auto;left:12px;z-index:5;padding:8px 16px;font-size:.78rem}#char-select-confirm{left:12px;right:12px;bottom:var(--select-cta-bottom);transform:translateY(calc(var(--reveal-y) + var(--lift-y))) scale(var(--lift-scale));padding:15px 18px}#carousel-dots{bottom:calc(var(--select-cta-bottom) + var(--select-cta-height) + var(--select-stack-gap))}.carousel-dot{opacity:.75}.carousel-dot.is-active{opacity:1}}.char-nameplate.is-stowed{opacity:0;transform:translate(-50%,14px);pointer-events:none;transition:opacity .22s ease,transform .22s ease}@media(max-width:700px){#char-select-header{padding:44px 12px 10px}.char-nameplate{padding:12px 20px 12px 12px;font-size:.98rem;gap:9px}.chip-check{width:21px;height:21px;font-size:.78rem}#char-select-confirm{padding:18px 28px;font-size:1rem}}:root{--cp-ease: var(--ease-standard);--cp-panel-ms: .7s;--cp-panel-out-ms: .52s;--cp-ink: #f2f2fa;--cp-ink-dim: #8f92b5}.cp-root{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;--cp-accent: var(--neon-pink)}.cp-root[hidden]{display:none}body.cp-open{overscroll-behavior:none}.cp-content{touch-action:pan-y}body.cp-open #char-select-header,body.cp-open #char-select-confirm{opacity:0;pointer-events:none}#char-select-header{transition:opacity .3s var(--cp-ease)}.cp-scrim{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;background:radial-gradient(95% 88% at 26% 52%,#05050e00,#05050e1f,#05050eb8 68%,#03030ae6),linear-gradient(90deg,#03030a00,#03030a00 42%,#03030ad1 72%);transition:opacity .46s var(--cp-ease)}.cp-root.is-open .cp-scrim{opacity:1}.cp-layer{position:absolute;top:0;right:0;bottom:0;width:min(720px,58vw);display:flex;flex-direction:column;transform:translate(100%);background:linear-gradient(100deg,#0909168c,#080814f0 12%,#070714 42%);-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);box-shadow:-40px 0 90px #0000008c;transition:transform var(--cp-panel-out-ms) var(--cp-ease);will-change:transform}.cp-root.is-open .cp-layer{transform:translate(0);transition-duration:var(--cp-panel-ms)}.cp-grabber{display:none}.cp-close{position:absolute;top:18px;right:18px;z-index:2;width:44px;height:44px;display:grid;place-items:center;padding:0;color:var(--cp-ink);background:#ffffff0f;border:1px solid rgba(255,255,255,.22);border-radius:50%;cursor:pointer;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);transition:background .16s ease,border-color .16s ease,transform .16s ease}.cp-close svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}.cp-close:focus-visible{background:#ffffff24;border-color:#ffffff80}@media(hover:hover)and (pointer:fine){.cp-close:hover{background:#ffffff24;border-color:#ffffff80}}.cp-close:active{transform:scale(.92)}.cp-content{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:66px 38px 22px;display:flex;flex-direction:column;gap:16px;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.16) transparent}.cp-block{opacity:0;transform:translateY(20px);transition:opacity .38s var(--cp-ease),transform .42s var(--cp-ease)}.cp-root.is-content .cp-block{opacity:1;transform:none;transition-delay:calc(var(--i, 0) * 70ms)}.cp-header{display:flex;align-items:center;gap:18px}.cp-rating{flex:none;width:74px;height:74px;display:grid;place-items:center;font-size:2.1rem;font-weight:900;letter-spacing:-.02em;color:#05050c;background:var(--cp-accent);border-radius:16px;box-shadow:0 0 34px color-mix(in srgb,var(--cp-accent) 45%,transparent)}.cp-name{margin:0;font-size:clamp(2rem,4.4vw,3.1rem);font-weight:900;line-height:1;letter-spacing:-.01em}.cp-archetype{margin-top:6px;font-size:.82rem;font-weight:800;letter-spacing:.22em;color:var(--cp-accent)}.cp-tagline{margin:0;font-size:1rem;font-style:italic;color:var(--cp-ink-dim)}.cp-role{align-self:flex-start;padding:5px 14px;font-size:.7rem;font-weight:900;letter-spacing:.16em;color:var(--cp-accent);border:1px solid color-mix(in srgb,var(--cp-accent) 55%,transparent);border-radius:999px}.cp-role.is-hidden,.cp-interview.is-hidden{display:none}.cp-chart{align-self:center;width:100%;max-width:min(580px,58vh)}.cp-radar{display:block;width:100%;height:auto;overflow:visible}.cp-ring{fill:none;stroke:#96a0dc29;stroke-width:1}.cp-ring-outer{stroke:#a0aae64d}.cp-axis{stroke:#96a0dc24;stroke-width:1}.cp-radar-grid{opacity:0;transition:opacity .2s ease-out}.cp-radar-axes{opacity:0;transition:opacity .22s ease-out .14s}.cp-radar-labels{opacity:0;transition:opacity .3s ease-out .22s}.cp-radar.is-ready .cp-radar-grid,.cp-radar.is-ready .cp-radar-axes,.cp-radar.is-ready .cp-radar-labels{opacity:1}.cp-data-shape{fill:color-mix(in srgb,var(--cp-accent) 30%,transparent);stroke:none}.cp-data-outline{fill:none;stroke:color-mix(in srgb,var(--cp-accent) 85%,white 15%);stroke-width:1.8;stroke-linejoin:round;filter:drop-shadow(0 0 6px color-mix(in srgb,var(--cp-accent) 55%,transparent))}.cp-radar.is-pulsing .cp-data-outline{animation:cp-glow-pulse .9s ease-out}@keyframes cp-glow-pulse{0%,to{filter:drop-shadow(0 0 6px color-mix(in srgb,var(--cp-accent) 55%,transparent))}45%{filter:drop-shadow(0 0 17px color-mix(in srgb,var(--cp-accent) 90%,transparent))}}.cp-node{fill:#fff;stroke:color-mix(in srgb,var(--cp-accent) 80%,transparent);stroke-width:2;opacity:0;transform:scale(.2);transform-box:fill-box;transform-origin:center;transition:opacity .22s ease-out,transform .26s var(--cp-ease)}.cp-node.is-in{opacity:1;transform:scale(1)}.cp-attr-name{fill:var(--cp-ink-dim);font-size:11px;font-weight:800;letter-spacing:.14em}.cp-attr-value{fill:var(--cp-ink);font-size:21px;font-weight:900}.cp-statlist{margin:0;padding:0;list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:8px 22px}.cp-statlist li{display:grid;grid-template-columns:1fr 40px 26px;align-items:center;gap:8px;font-size:.66rem;font-weight:800;letter-spacing:.1em;color:var(--cp-ink-dim)}.cp-stat-bar{height:4px;border-radius:999px;background:#ffffff1a;overflow:hidden}.cp-stat-bar i{display:block;height:100%;background:var(--cp-accent)}.cp-stat-value{text-align:right;font-size:.86rem;color:var(--cp-ink)}.cp-traits h3{margin:0 0 10px;font-size:.7rem;font-weight:900;letter-spacing:.22em;color:var(--cp-ink-dim)}.cp-traits ul{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:8px}.cp-traits li{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px;padding:9px 13px;background:#ffffff09;border-left:2px solid var(--cp-accent);border-radius:4px}.cp-traits li.is-weakness{border-left-color:#ffffff38}.cp-trait-label{font-size:.78rem;font-weight:900;letter-spacing:.1em}.cp-traits li.is-weakness .cp-trait-label{color:var(--cp-ink-dim)}.cp-trait-note{font-size:.74rem;color:var(--cp-ink-dim)}.cp-interview h3{margin:0 0 12px;font-size:.7rem;font-weight:900;letter-spacing:.22em;color:var(--cp-ink-dim)}.cp-interview-lead{margin:0 0 20px;font-family:var(--font-editorial);font-size:calc(var(--editorial-lead-size) * var(--editorial-interview-scale));font-weight:var(--editorial-interview-weight);line-height:var(--editorial-lead-line);color:var(--cp-ink);border-left:2px solid var(--cp-accent);padding-left:14px}.cp-interview-qa{margin:0;display:flex;flex-direction:column;gap:4px}.cp-interview-qa dt{font-family:var(--font-body);font-weight:var(--editorial-interview-weight-strong);font-size:var(--editorial-interview-qa-size);line-height:var(--editorial-body-line);color:var(--cp-ink)}.cp-interview-qa dd{margin:0 0 var(--editorial-interview-block-gap);font-family:var(--font-body);font-size:var(--editorial-interview-qa-size);font-weight:var(--editorial-interview-weight);line-height:var(--editorial-body-line);color:var(--cp-ink-dim)}.cp-interview-qa dd:last-child{margin-bottom:0}.cp-footer{flex:none;padding:0 38px 24px;background:linear-gradient(180deg,#07071400,#070714 22px)}.cp-cta{position:relative;width:100%;padding:14px 28px;font-family:var(--font-header);text-transform:uppercase;font-size:1.02rem;font-weight:400;letter-spacing:.06em;color:var(--text);text-shadow:var(--shadow-3d-sm);background:#0c0c1ab8;border:2px solid color-mix(in srgb,var(--cp-accent) 55%,rgba(255,255,255,.22));border-radius:18px;cursor:pointer;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease,background .15s ease}.cp-cta:before{content:"";position:absolute;top:-5px;right:-5px;bottom:-5px;left:-5px;z-index:-1;border-radius:inherit;background:linear-gradient(120deg,var(--neon-pink),var(--neon-cyan));filter:blur(14px);opacity:0;transition:opacity .3s ease}@media(hover:hover)and (pointer:fine){.cp-cta:hover:not(:disabled){transform:translateY(-3px) scale(1.02);background:#14142ae0;border-color:var(--cp-accent);box-shadow:0 10px 28px #00000073}}@media(hover:hover)and (pointer:fine){.cp-cta:hover:not(:disabled):before{opacity:.32}}.cp-cta:active:not(:disabled){transform:translateY(-1px) scale(.98)}.cp-root .cp-cta:disabled{color:var(--cp-ink-dim);background:#ffffff0d;border-color:#ffffff24;text-shadow:none;box-shadow:none;cursor:not-allowed}@media(max-width:860px){.cp-layer{top:auto;left:0;width:100%;--cp-sheet-h: 42dvh;--cp-drag: 0px;height:42vh;height:max(300px,var(--cp-sheet-h));transform:translateY(calc(100% + var(--cp-drag)));border-radius:22px 22px 0 0;background:linear-gradient(180deg,#090916e6,#070714 14%);box-shadow:0 -30px 70px #0009}.cp-root.is-open .cp-layer{transform:translateY(var(--cp-drag));transition:transform var(--cp-panel-ms) var(--cp-ease),height var(--dur-3) var(--cp-ease)}.cp-root.is-full .cp-layer{--cp-sheet-h: 80dvh;height:max(300px,var(--cp-sheet-h))}.cp-layer.is-dragging{transition:none}.cp-grabber{display:block;position:relative;flex:none;height:22px;cursor:grab;touch-action:none}.cp-grabber:before{content:"";position:absolute;top:8px;left:50%;width:38px;height:4px;border-radius:999px;background:#ffffff47;transform:translate(-50%)}.cp-content{padding:8px 22px;gap:12px;overflow-y:hidden}.cp-root.is-full .cp-content{overflow-y:auto}.cp-footer{padding:0 22px calc(16px + env(safe-area-inset-bottom,0px))}.cp-close{top:12px;right:12px}.cp-chart{max-width:330px}.cp-header{padding-right:52px}.cp-rating{width:58px;height:58px;font-size:1.6rem}.cp-statlist{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){.cp-layer,.cp-root.is-open .cp-layer{transition-duration:.14s;transform:translate(0)}.cp-layer{opacity:0;transition-property:opacity}.cp-root.is-open .cp-layer{opacity:1}.cp-scrim{transition-duration:.14s}.cp-block{transform:none;transition-duration:.14s}.cp-root.is-content .cp-block{transition-delay:0ms}.cp-node{transition-duration:0ms}.cp-radar.is-pulsing .cp-data-outline{animation:none}}.key-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px;margin:0 0 18px;text-align:left}.key-item{display:flex;align-items:center;gap:8px;padding:6px 8px;background:#ffffff0d;border-radius:8px;font-size:.78rem}.key-cap{flex:none;min-width:30px;padding:3px 7px;text-align:center;font-weight:700;border-radius:6px;background:linear-gradient(180deg,#2a2a44,#17172a);border:1px solid rgba(255,255,255,.22);box-shadow:0 2px #0009}.key-desc{color:var(--text-dim);line-height:1.25}.key-desc b{color:var(--text);font-weight:600}.loading{margin:0 0 16px}.loading-bar{height:8px;border-radius:4px;background:#ffffff14;overflow:hidden}#loading-bar-fill{width:0%;height:100%;border-radius:4px;background:linear-gradient(90deg,var(--neon-cyan),var(--neon-pink));transition:width .2s ease}#loading-status{margin-top:8px;font-family:var(--font-body);font-size:.8rem;letter-spacing:.01em;color:var(--text-dim)}.file-list{margin:10px 0 0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:3px 12px;font-size:.66rem;color:var(--text-dim);text-align:left;max-height:108px;overflow-y:auto}.file-list li.file-ok{color:#6fe3a5}.file-list li.file-failed{color:#ff5a5a}.file-list li span.file-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.error-box{margin:0 0 16px;padding:12px 14px;border-radius:10px;border:1px solid #ff5a5a;background:#ff5a5a1f;color:#ffb3b3;font-size:.85rem;text-align:left;white-space:pre-wrap}.cta-primary,.cta-secondary{font-family:var(--font-header);text-transform:uppercase;font-weight:400;border-radius:999px;cursor:pointer;transition:transform .15s var(--ease-standard),box-shadow .15s var(--ease-standard),border-color .15s var(--ease-standard),background .15s var(--ease-standard)}.cta-primary{padding:14px 42px;font-size:1.08rem;letter-spacing:.09em;color:#05050c;border:none}.cta-secondary{padding:12px 22px;font-size:.8rem;letter-spacing:.1em;color:var(--text);background:#ffffff0a;border:1px solid rgba(255,255,255,.28);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}@media(hover:hover)and (pointer:fine){.cta-secondary:hover{border-color:#fff9;background:#ffffff14}}.cta-secondary:active{transform:scale(.96);background:#ffffff1a}#start-button{background:linear-gradient(90deg,var(--neon-cyan),var(--neon-pink));box-shadow:0 0 26px #ff3fb473}@media(hover:hover)and (pointer:fine){#start-button:hover:not(:disabled){transform:scale(1.05);box-shadow:0 0 40px #39e6ff99}}#start-button:active:not(:disabled){transform:scale(.97)}#start-button:disabled{opacity:.45;cursor:wait}.touch-note{display:none;margin:12px 0 0;font-family:var(--font-body);font-size:.75rem;color:var(--text-dim)}@media(pointer:coarse){.touch-note{display:block}}@media(max-width:700px){.hud-panel{gap:6px;padding:8px 10px;top:8px}.hud-left{left:60px}.hud-right{right:8px}.hud-item{min-width:58px}.hud-value{font-size:.95rem}.hud-label,.hud-sub{font-size:.5rem}.beat-dot{width:12px;height:12px}#timing-ring{width:30px;height:30px}.start-card{padding:20px 16px}}#crowd-wrap{position:absolute;top:14px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:10px;width:min(560px,72vw)}.crowd-name{font-family:var(--font-header);text-transform:uppercase;font-size:.85rem;font-weight:400;letter-spacing:.04em}.crowd-name.player{color:var(--neon-cyan);text-shadow:var(--shadow-3d-sm),0 0 10px rgba(57,230,255,.6)}.crowd-name.rival{color:var(--neon-pink);text-shadow:var(--shadow-3d-sm),0 0 10px rgba(255,63,180,.6)}#crowd-meter{position:relative;flex:1;height:18px;border-radius:999px;background:linear-gradient(90deg,#ff3fb48c,#ff3fb4d9);border:1px solid rgba(255,255,255,.25);overflow:hidden;box-shadow:0 0 18px #ff3fb440}#crowd-fill{position:absolute;inset:0 auto 0 0;width:50%;border-radius:999px 0 0 999px;background:linear-gradient(90deg,rgba(57,230,255,.75),var(--neon-cyan));box-shadow:0 0 18px #39e6ff80;transition:width .25s ease-out}#crowd-center{position:absolute;left:50%;top:-2px;bottom:-2px;width:2px;background:#ffffffb3;transform:translate(-1px)}#crowd-comment{position:absolute;top:44px;left:50%;transform:translate(-50%);font-size:.92rem;font-weight:600;color:var(--text);text-shadow:0 0 10px rgba(0,0,0,.8);white-space:nowrap}#telegraph-banner{position:absolute;top:122px;left:50%;transform:translate(-50%);padding:8px 22px;border-radius:999px;font-size:clamp(.9rem,2.6vw,1.25rem);font-weight:800;letter-spacing:.08em;opacity:0;pointer-events:none;transition:opacity .15s ease;border:1px solid transparent;white-space:nowrap}#telegraph-banner.visible{opacity:1}#telegraph-banner.windup{color:var(--neon-gold);background:#281e05bf;border-color:#ffd23f80;animation:telegraph-pulse .6s ease-in-out infinite}#telegraph-banner.open{color:#05050c;background:linear-gradient(90deg,var(--neon-gold),var(--neon-pink));border-color:#ffffff80;animation:telegraph-pulse .4s ease-in-out infinite}@keyframes telegraph-pulse{0%,to{transform:translate(-50%) scale(1)}50%{transform:translate(-50%) scale(1.05)}}#telegraph-banner .tele-hint{font-weight:600;opacity:.75;letter-spacing:.05em}#section-banner{position:absolute;top:18%;left:50%;transform:translate(-50%,-50%);font-family:var(--font-header);text-transform:uppercase;font-size:clamp(1.8rem,6vw,3.4rem);font-weight:400;letter-spacing:.06em;color:var(--text);text-shadow:var(--shadow-3d-lg),0 0 24px rgba(57,230,255,.7);opacity:0;pointer-events:none;white-space:nowrap;perspective:500px}#section-banner.show{animation:section-pop 1.6s ease-out}@keyframes section-pop{0%{opacity:0;transform:translate(-50%,-50%) scale(.7)}12%{opacity:1;transform:translate(-50%,-50%) scale(1.08)}70%{opacity:1;transform:translate(-50%,-50%) scale(1)}to{opacity:0;transform:translate(-50%,-54%) scale(1)}}#result-screen{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;display:flex;align-items:center;justify-content:center;overflow-y:auto;background:radial-gradient(ellipse at center,#140a28d1,#05050cf5);opacity:0}#result-screen.is-open{animation:result-open var(--dur-4) var(--ease-enter) both}@keyframes result-open{0%{opacity:0}to{opacity:1}}.result-overlay{text-align:center;width:min(680px,94vw);padding:28px 16px calc(28px + env(safe-area-inset-bottom,0px))}#result-screen .result-stagger,#result-screen .result-stat{opacity:0}#result-screen.is-open .result-stagger{animation:result-rise var(--dur-4) var(--ease-standard) both;animation-delay:calc(var(--stagger) * var(--i))}#result-screen.is-open .result-stat{animation:result-rise var(--dur-3) var(--ease-standard) both;animation-delay:calc(var(--stagger) * 2 + 45ms * var(--i))}@keyframes result-rise{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}#result-title{margin:0 0 12px;font-family:var(--font-header);text-transform:uppercase;font-size:clamp(2rem,7vw,3.4rem);font-weight:400;letter-spacing:.03em;color:var(--text);text-shadow:var(--shadow-3d-sm),0 0 20px rgba(255,210,63,.4)}#result-score-block{display:flex;flex-direction:column;align-items:center;gap:2px;margin:0 0 10px}.result-score-label{font-family:var(--font-header);font-weight:400;font-size:.74rem;letter-spacing:.24em;color:var(--text-dim)}#result-final-score{font-family:var(--font-header);font-weight:400;font-size:clamp(3rem,11vw,5.2rem);line-height:1.05;font-variant-numeric:tabular-nums;background:linear-gradient(90deg,var(--neon-cyan),var(--neon-gold));-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 0 18px rgba(57,230,255,.45))}#result-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px 18px;margin:10px auto 18px;max-width:560px}.result-stat-value{display:block;font-family:var(--font-header);font-weight:400;font-size:clamp(1.4rem,4.6vw,2.1rem);font-variant-numeric:tabular-nums;color:var(--text);text-shadow:0 0 14px rgba(57,230,255,.35)}.result-stat-label{display:block;margin-top:2px;font-family:var(--font-header);font-weight:400;font-size:.64rem;letter-spacing:.14em;color:var(--text-dim);text-transform:uppercase}#result-detail{margin:0 0 20px;color:var(--text-dim);font-family:var(--font-body);font-size:.95rem;line-height:1.5}#result-leaderboard-block{margin:0 0 20px;padding:16px;border-radius:16px;background:var(--panel);border:1px solid rgba(255,255,255,.1)}#leaderboard-form-label{display:block;margin:0 0 8px;font-family:var(--font-header);font-weight:400;font-size:.78rem;letter-spacing:.1em;color:var(--text-dim);text-transform:uppercase}#leaderboard-form-row{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}#leaderboard-name-input{flex:1 1 180px;min-width:0;padding:12px 16px;border-radius:999px;border:1px solid rgba(255,255,255,.28);background:#ffffff0a;color:var(--text);font-family:var(--font-body);font-size:.95rem}#leaderboard-name-input:focus{outline:none;border-color:var(--neon-cyan);box-shadow:0 0 0 3px #39e6ff40}#leaderboard-submit{flex:0 0 auto}#leaderboard-submit:disabled{opacity:.5;cursor:default}#leaderboard-status{min-height:1.2em;margin:10px 0 0;font-family:var(--font-body);font-size:.85rem;color:var(--text-dim)}#leaderboard-status.is-error{color:var(--neon-pink)}#leaderboard-status.is-ok{color:var(--neon-gold)}#leaderboard-list{list-style:none;margin:12px 0 0;padding:0;display:grid;gap:4px;max-height:220px;overflow-y:auto;text-align:left}.leaderboard-entry{display:flex;align-items:baseline;gap:10px;padding:4px 8px;border-radius:8px;font-family:var(--font-body);font-size:.88rem;color:var(--text-dim)}.leaderboard-entry.is-you{color:var(--text);background:#ffd23f1f}.leaderboard-entry-rank{flex:0 0 1.6em;font-variant-numeric:tabular-nums;color:var(--text-dim)}.leaderboard-entry-name{flex:1 1 auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.leaderboard-entry-score{flex:0 0 auto;font-variant-numeric:tabular-nums;color:var(--text)}.leaderboard-entry-verified{flex:0 0 auto;color:var(--neon-cyan);font-size:.78rem;text-shadow:0 0 8px rgba(57,230,255,.7)}.leaderboard-entry-empty{display:flex;flex-direction:column;align-items:center;gap:10px;padding:52px 20px;text-align:center}.leaderboard-entry-empty-title{margin:0;font-family:var(--font-header);font-weight:400;font-size:1.1rem;letter-spacing:.03em;color:var(--text)}.leaderboard-entry-empty-body{margin:0;max-width:26em;font-family:var(--font-body);font-size:.9rem;line-height:1.5;color:var(--text-dim)}.splash-leaderboard-button{margin-top:14px}.leaderboard-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:flex;align-items:center;justify-content:center;padding:24px;background:radial-gradient(ellipse at center,#140a28d1,#05050cf5);opacity:0;visibility:hidden;pointer-events:none;transition:opacity var(--dur-2) var(--ease-standard),visibility 0s linear var(--dur-2)}.leaderboard-modal.is-open{opacity:1;visibility:visible;pointer-events:auto;transition:opacity var(--dur-3) var(--ease-standard),visibility 0s linear 0s}.leaderboard-modal-panel{position:relative;width:min(420px,100%);max-height:min(600px,80vh);padding:40px 22px 34px;border-radius:20px;background:var(--panel);border:1px solid rgba(255,255,255,.14);overflow-y:auto;text-align:center;transform:scale(.94) translateY(10px);transition:transform var(--dur-2) var(--ease-standard)}.leaderboard-modal.is-open .leaderboard-modal-panel{transform:scale(1) translateY(0);transition:transform var(--dur-3) var(--ease-enter)}@media(prefers-reduced-motion:reduce){.leaderboard-modal,.leaderboard-modal.is-open{transition:opacity var(--dur-1) ease,visibility 0s linear var(--dur-1)}.leaderboard-modal.is-open{transition:opacity var(--dur-1) ease,visibility 0s linear 0s}.leaderboard-modal-panel,.leaderboard-modal.is-open .leaderboard-modal-panel{transform:none;transition:none}}.leaderboard-modal-panel h2{margin:0 0 14px;font-family:var(--font-header);font-weight:400;font-size:1.3rem;letter-spacing:.08em;color:var(--text);text-shadow:var(--shadow-3d-sm),0 0 20px rgba(255,210,63,.4)}.leaderboard-modal-close{position:absolute;top:10px;right:10px;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:999px;border:1px solid rgba(255,255,255,.28);background:#ffffff0a;color:var(--text);font-size:1.3rem;line-height:1;cursor:pointer}@media(hover:hover)and (pointer:fine){.leaderboard-modal-close:hover{border-color:#fff9;background:#ffffff14}}.leaderboard-modal-list{list-style:none;margin:0;padding:0;display:grid;gap:4px;text-align:left}.result-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:10px 14px;margin-top:6px}#restart-button{background:linear-gradient(90deg,var(--neon-gold),var(--neon-pink));box-shadow:0 0 26px #ffd23f66}#result-share{border-color:#39e6ff73;color:var(--neon-cyan)}#result-share.is-copied{border-color:var(--neon-gold);color:var(--neon-gold)}@media(hover:hover)and (pointer:fine){#restart-button:hover{transform:scale(1.05);box-shadow:0 0 40px #ffd23f99}}#restart-button:active{transform:scale(.97)}@media(max-width:700px){#result-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(prefers-reduced-motion:reduce){#result-screen.is-open,#result-screen.is-open .result-stagger,#result-screen.is-open .result-stat{animation:none;opacity:1}}#scene{transition:filter 1.1s var(--ease-standard)}#scene.endgame-blur{filter:blur(14px) saturate(1.05) brightness(.85)}@media(prefers-reduced-motion:reduce){#scene{transition:filter var(--dur-1) ease}}@media(max-width:700px){#crowd-wrap{width:92vw}#crowd-comment{white-space:normal;text-align:center;width:92vw}}.update-note{margin:0 auto 16px;padding:10px 14px;max-width:46ch;font-family:var(--font-body);font-size:.82rem;line-height:1.45;color:var(--neon-gold);background:#ffd23f14;border:1px solid rgba(255,210,63,.4);border-radius:10px;box-shadow:0 0 18px #ffd23f1f}.update-note b{letter-spacing:.06em}#debug-panel{position:fixed;right:12px;top:70px;z-index:40;width:230px;padding:10px 12px;background:#0a0a14eb;border:1px solid rgba(57,230,255,.4);border-radius:10px;font-size:.7rem;color:var(--text);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}#debug-panel .debug-title{font-weight:800;letter-spacing:.08em;color:var(--neon-cyan);margin-bottom:8px}#debug-panel .debug-row{display:grid;grid-template-columns:1fr 70px 30px;align-items:center;gap:6px;margin-bottom:6px}#debug-panel .debug-row input[type=range]{width:100%;accent-color:var(--neon-pink)}#debug-panel .debug-row input[type=checkbox]{accent-color:var(--neon-cyan)}#debug-panel .debug-value{text-align:right;font-variant-numeric:tabular-nums;color:var(--text-dim)}#touch-controls{position:fixed;left:0;right:0;bottom:0;z-index:30;display:none;justify-content:center;align-items:flex-end;gap:10px;padding:12px 10px calc(12px + env(safe-area-inset-bottom,0px));pointer-events:none}#touch-controls.visible{display:flex}.touch-btn{pointer-events:auto;width:clamp(58px,16vw,84px);height:clamp(58px,16vw,84px);border-radius:18px;border:2px solid var(--btn-color, #fff);background:#0a0a16b8;color:var(--btn-color, #fff);font-size:clamp(.6rem,2.4vw,.8rem);font-weight:800;letter-spacing:.05em;box-shadow:0 0 14px color-mix(in srgb,var(--btn-color, #fff) 35%,transparent);touch-action:none;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent}.touch-btn.pressed{transform:scale(.88);background:var(--btn-color, #fff);color:#05050c}.touch-btn.signature{border-radius:50%;font-size:clamp(1.1rem,4.5vw,1.5rem)}.chan-chip{font-weight:900;letter-spacing:.06em}@media(pointer:coarse){#beat-indicator{bottom:calc(96px + env(safe-area-inset-bottom,0px))}#crowd-wrap{top:8px;width:94vw}}#combo-tracker{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center;pointer-events:none}#combo-tracker-name{font-size:1.15rem;font-weight:800;letter-spacing:.12em;color:var(--text);text-shadow:0 0 10px rgba(0,0,0,.85);margin-bottom:10px;text-transform:uppercase}@media(pointer:coarse){#combo-tracker{top:auto;bottom:calc(112px + env(safe-area-inset-bottom,0px));transform:translate(-50%)}}.diff-row{display:flex;align-items:center;justify-content:center;gap:10px;margin:0 0 16px}.diff-label{font-family:var(--font-body);font-size:.78rem;color:var(--text-dim)}.diff-btn{padding:8px 18px;font-family:var(--font-header);font-weight:400;font-size:.82rem;letter-spacing:.08em;color:var(--text-dim);background:#ffffff0d;border:1px solid rgba(255,255,255,.2);border-radius:999px;cursor:pointer;transition:transform .12s var(--ease-standard),background .12s var(--ease-standard),border-color .12s var(--ease-standard),color .12s var(--ease-standard),box-shadow .12s var(--ease-standard)}.diff-btn:active{transform:scale(.95)}.diff-btn.active{color:#05050c;background:linear-gradient(90deg,var(--neon-cyan),var(--neon-pink));border-color:transparent;box-shadow:0 0 16px #39e6ff59}.flow-bar{width:84px;height:9px;margin-top:6px;border-radius:5px;background:#ffffff14;border:1px solid rgba(255,255,255,.18);overflow:hidden}#flow-fill{height:100%;width:30%;border-radius:5px;background:linear-gradient(90deg,var(--neon-cyan),var(--neon-pink));box-shadow:0 0 8px #ff3fb480;transition:width .15s ease-out}.freshness-bars{display:flex;gap:4px;margin-top:6px;height:26px}.hud-item-freshness{min-width:62px}.freshness-bar{width:9px;height:100%;display:flex;align-items:flex-end;border-radius:4px;background:#ffffff14;border:1px solid var(--chan, var(--neon-cyan));overflow:hidden}.freshness-fill{width:100%;height:100%;border-radius:3px;background:var(--chan, var(--neon-cyan));box-shadow:0 0 8px var(--chan, var(--neon-cyan));transition:height .12s linear}.chan-legs{--chan: var(--neon-cyan)}.chan-torso{--chan: var(--neon-pink)}.chan-larm{--chan: var(--neon-gold)}.chan-rarm{--chan: #9d4dff}@media(max-width:700px){.hud-item-freshness{min-width:40px}.freshness-bars{gap:3px;margin-top:4px;height:16px}.freshness-bar{width:6px}}#combo-tracker{transition:opacity .2s ease}#combo-tracker-keys{display:flex;gap:12px;justify-content:center}.seq-chip{min-width:46px;padding:10px 16px;border-radius:12px;border:2px solid rgba(255,255,255,.22);background:#0a0a16ad;color:#ffffff73;font-size:1.7rem;font-weight:800;text-shadow:0 0 10px rgba(0,0,0,.6);transition:color .15s ease,border-color .15s ease,box-shadow .15s ease}.seq-chip.next{border-color:var(--c);color:var(--c);box-shadow:0 0 22px var(--c)}.seq-chip.done{border-color:#6fe3a599;color:#6fe3a5;opacity:.65}#duo-hold-tracker{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center;pointer-events:none}#duo-hold-name{font-family:var(--font-header);font-size:1.25rem;font-weight:400;letter-spacing:.04em;color:var(--neon-gold);text-shadow:var(--shadow-3d-sm),0 0 10px rgba(0,0,0,.85);margin-bottom:14px;text-transform:uppercase}#duo-hold-chips{display:flex;gap:26px;justify-content:center}.duo-chip{--beat-pulse: 0;position:relative;width:74px;height:74px;border-radius:50%;border:2px solid rgba(255,255,255,.25);background:#0a0a16ad;display:flex;align-items:center;justify-content:center;color:var(--c);font-size:1.9rem;font-weight:800;box-shadow:0 0 calc(6px + var(--beat-pulse) * 20px) var(--c)}.hold-ring{--fill: 0;position:absolute;top:-2px;right:-2px;bottom:-2px;left:-2px;border-radius:50%;background:conic-gradient(var(--c) calc(var(--fill) * 360deg),transparent 0);-webkit-mask:radial-gradient(circle,transparent 76%,#000 77%);mask:radial-gradient(circle,transparent 76%,#000 77%)}.duo-chip.ready{border-color:var(--neon-gold);color:var(--neon-gold);animation:duo-ready-pulse .35s ease-in-out infinite}@keyframes duo-ready-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.09)}}.duo-chip.ready .hold-ring{background:conic-gradient(var(--neon-gold) calc(var(--fill) * 360deg),transparent 0)}.timing-offset{font-size:.72em;font-weight:700;opacity:.85;letter-spacing:.02em}#note-lane{position:absolute;bottom:8%;left:50%;transform:translate(-50%);width:min(340px,48vw);height:min(64vh,700px);perspective:640px;perspective-origin:50% 100%;pointer-events:none}#note-board{position:absolute;top:0;right:0;bottom:0;left:0;transform-origin:50% 100%;transform:rotateX(62deg);overflow:hidden;border-radius:16px;mask-image:linear-gradient(180deg,transparent 0%,#000 30%);-webkit-mask-image:linear-gradient(180deg,transparent 0%,#000 30%);background:repeating-linear-gradient(180deg,rgba(255,255,255,.07) 0 1px,transparent 1px 100%),repeating-linear-gradient(90deg,rgba(255,255,255,.06) 0 1px,transparent 1px 100%),linear-gradient(180deg,#0a0a161a,#0a0a16b8);filter:brightness(calc(1 + var(--streak-glow, 0) * .18 + var(--charge, 0) * .35));box-shadow:0 0 calc(var(--streak-glow, 0) * 34px + var(--charge, 0) * 46px) rgba(57,230,255,calc(.25 + var(--charge, 0) * .3))}#note-lane.charging .lane-tail{animation:tail-throb .32s ease-in-out infinite alternate}@keyframes tail-throb{0%{filter:brightness(1)}to{filter:brightness(1.9) drop-shadow(0 0 8px var(--neon-gold))}}.lane-hitline{position:absolute;left:4%;right:4%;height:3px;translate:0 -50%;border-radius:999px;background:#ffffffbf;box-shadow:0 0 calc(6px + var(--beat-pulse, 0) * 16px + var(--streak-glow, 0) * 26px + var(--charge, 0) * 30px) #39e6ffb3;z-index:1}.lane-receptor{position:absolute;translate:-50% -50%;width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.05rem;font-weight:800;color:var(--c);background:#0a0a168c;border:2.5px solid color-mix(in srgb,var(--c) 75%,transparent);box-shadow:0 0 calc(6px + var(--beat-pulse, 0) * 14px + var(--streak-glow, 0) * 24px) color-mix(in srgb,var(--c) 55%,transparent),inset 0 0 calc(10px + var(--streak-glow, 0) * 14px) color-mix(in srgb,var(--c) 30%,transparent);z-index:2}.lane-receptor.receptor-hit{animation:receptor-pop .28s ease-out}@keyframes receptor-pop{0%{scale:1;filter:brightness(1)}35%{scale:1.28;filter:brightness(2.1)}to{scale:1;filter:brightness(1)}}.lane-blast{position:absolute;translate:-50% -50%;width:44px;height:44px;border-radius:50%;border:4px solid var(--c);box-shadow:0 0 22px var(--c),inset 0 0 16px color-mix(in srgb,var(--c) 70%,transparent);pointer-events:none;z-index:4;animation:blast-out .42s ease-out forwards}.lane-blast.blast-perfect{animation:blast-out-big .55s ease-out forwards}.lane-blast.blast-release{border-width:5px;animation:blast-out-big .7s ease-out forwards}@keyframes blast-out{0%{scale:.5;opacity:1}to{scale:2.1;opacity:0}}@keyframes blast-out-big{0%{scale:.4;opacity:1;filter:brightness(2)}45%{opacity:.9}to{scale:3.4;opacity:0;filter:brightness(1.2)}}.lane-note{position:absolute;left:0;top:0;will-change:transform;z-index:3}.lane-chip{position:absolute;left:0;top:0;translate:-50% -50%;width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.95rem;font-weight:800;color:var(--c);background:#0a0a16d9;border:2px solid var(--c);box-shadow:0 0 12px color-mix(in srgb,var(--c) 60%,transparent)}.lane-chip-arrow{width:72%;height:72%;overflow:visible;fill:none;stroke:currentColor;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.lane-tail{--fill: 0;position:absolute;left:0;top:0;translate:-50% 0;width:12px;border-radius:999px 999px 0 0;background:linear-gradient(0deg,color-mix(in srgb,var(--neon-gold) 85%,#fff) calc(var(--fill) * 100%),#ffffff2e 0)}.lane-note.judged-perfect .lane-chip{border-color:var(--neon-cyan);color:var(--neon-cyan);animation:lane-note-hit .3s ease-out forwards}.lane-note.judged-good .lane-chip{animation:lane-note-hit .3s ease-out forwards}.lane-note.judged-miss .lane-chip{border-color:#ff5a5a;color:#ff5a5a;opacity:.45}@keyframes lane-note-hit{0%{scale:1}40%{scale:1.35;opacity:1}to{scale:.9;opacity:0}}@media(pointer:coarse){#note-lane{bottom:calc(104px + env(safe-area-inset-bottom,0px));width:min(300px,80vw);height:min(46vh,420px);perspective:520px}.lane-chip{width:27px;height:27px;font-size:.78rem}.lane-receptor{width:36px;height:36px;font-size:.85rem}}#result-rating{display:flex;align-items:baseline;justify-content:center;gap:12px;margin:4px 0 14px}#rating-value{font-size:clamp(2.4rem,8vw,4rem);font-weight:900;font-variant-numeric:tabular-nums;background:linear-gradient(90deg,var(--neon-cyan),var(--neon-gold));-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 0 14px rgba(57,230,255,.4))}#rating-value:after{content:""}#rating-delta{font-size:1rem;font-weight:800;color:#6fe3a5}#rating-delta.negative{color:#ff5a5a}#rating-chart{display:flex;align-items:flex-end;justify-content:center;gap:6px;height:90px;margin:0 auto 16px;max-width:420px;padding:0 8px}.rating-bar{flex:1;min-width:18px;max-width:34px;border-radius:5px 5px 2px 2px;background:#9a9ab559;transition:height .3s ease;position:relative}.rating-bar.current{background:linear-gradient(180deg,var(--neon-cyan),var(--neon-pink));box-shadow:0 0 12px #39e6ff73}.rating-bar span{position:absolute;top:-18px;left:50%;transform:translate(-50%);font-size:.62rem;font-weight:800;color:var(--text-dim)}.rating-bar.current span{color:var(--neon-cyan)}#result-record{margin:0 0 18px;font-size:.8rem;color:var(--text-dim);letter-spacing:.06em}#note-highway{position:absolute;left:50%;top:16%;bottom:16%;width:min(460px,88vw);transform:translate(-50%);pointer-events:none}.nh-lanes{position:absolute;top:0;right:0;bottom:0;left:0}.nh-lane{position:absolute;top:0;bottom:0;width:2px;transform:translate(-1px);background:linear-gradient(180deg,transparent,color-mix(in srgb,var(--c) 35%,transparent),transparent);opacity:.6}.nh-strike-row{position:absolute;left:0;right:0;bottom:0;height:3px;border-radius:2px;background:#ffffff8c;box-shadow:0 0 10px #ffffff59;transition:box-shadow .12s ease,background .12s ease}.nh-strike-row.wrong{background:#ff5a5a;box-shadow:0 0 18px #ff5a5a;animation:chip-shake .25s ease}.nh-strike{position:absolute;left:-4%;right:-4%;bottom:-8px;height:18px;border-radius:999px;opacity:0;background:radial-gradient(ellipse at center,rgba(57,230,255,.35),transparent 70%);transition:opacity .1s ease}.nh-strike.hot{opacity:1}.nh-note{position:absolute;transform:translate(-50%,-50%);min-width:46px;padding:8px 12px;text-align:center;font-size:1.15rem;font-weight:900;border-radius:12px;border:2px solid var(--c);color:var(--c);background:#080812d1;box-shadow:0 0 12px color-mix(in srgb,var(--c) 45%,transparent);transition:opacity .15s linear;will-change:top}.nh-note.step.current{background:color-mix(in srgb,var(--c) 28%,rgba(8,8,18,.9));box-shadow:0 0 20px var(--c)}.nh-note.step.done{opacity:.35}.nh-note.rival{border-color:var(--neon-gold, #ffd23f);color:#ffd23f;border-radius:50%;min-width:52px;aspect-ratio:1;display:flex;align-items:center;justify-content:center;font-size:1.3rem;background:#281e05d9;box-shadow:0 0 22px #ffd23f99}.nh-note.hit{animation:seq-hit .22s ease-out forwards}.nh-note.passed{opacity:.15;filter:grayscale(.8)}.nh-note.missed{border-color:#ff5a5a;color:#ff5a5a;animation:chip-shake .3s ease}@media(pointer:coarse){#note-highway{bottom:calc(120px + env(safe-area-inset-bottom,0px))}}#intro-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:12;pointer-events:none;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;padding-bottom:12vh;gap:2vh;perspective:600px}#intro-name{font-family:var(--font-header);text-transform:uppercase;font-size:clamp(1.6rem,5vw,3.4rem);font-weight:400;letter-spacing:.05em;color:var(--text);text-shadow:var(--shadow-3d-lg),0 0 42px rgba(57,230,255,.45);opacity:0}#intro-versus{font-family:var(--font-header);text-transform:uppercase;font-size:clamp(1.5rem,4.6vw,3rem);font-weight:400;letter-spacing:.04em;color:var(--text);text-shadow:var(--shadow-3d-lg),0 0 46px rgba(255,63,180,.5);opacity:0;text-align:center}#intro-versus .intro-vs{color:var(--neon-pink);margin:0 .35em}.intro-name-in{animation:intro-name-in .55s cubic-bezier(.2,.9,.2,1) forwards}.intro-versus-in{animation:intro-versus-in .5s cubic-bezier(.2,.9,.2,1) forwards}.intro-fade-out{animation:intro-fade-out .5s ease-out forwards}@keyframes intro-name-in{0%{opacity:0;transform:translateY(14px);letter-spacing:.3em}to{opacity:1;transform:translateY(0);letter-spacing:.14em}}@keyframes intro-versus-in{0%{opacity:0;transform:scale(.82)}60%{opacity:1;transform:scale(1.06)}to{opacity:1;transform:scale(1)}}@keyframes intro-fade-out{0%{opacity:1}to{opacity:0}}@media(max-width:700px){#intro-overlay{padding-bottom:16vh}}#countdown{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:flex;align-items:center;justify-content:center;pointer-events:none;perspective:700px}#countdown-value{display:inline-block;font-family:var(--font-header);text-transform:uppercase;font-weight:400;font-size:clamp(5rem,22vw,13rem);letter-spacing:.02em;color:var(--text);text-shadow:var(--shadow-3d-lg);transform-origin:50% 50%}#countdown-value.step-in{animation:countdown-pop .7s cubic-bezier(.16,1,.3,1) both}@keyframes countdown-pop{0%{opacity:0;transform:scale(2.6) rotateX(-55deg)}55%{opacity:1}78%{transform:scale(.94) rotateX(0)}to{opacity:1;transform:scale(1) rotateX(0)}}#countdown-value.digit-3{color:var(--neon-cyan);text-shadow:var(--shadow-3d-lg),0 0 54px rgba(57,230,255,.8)}#countdown-value.digit-2{color:var(--neon-pink);text-shadow:var(--shadow-3d-lg),0 0 54px rgba(255,63,180,.8)}#countdown-value.digit-1{color:var(--neon-gold);text-shadow:var(--shadow-3d-lg),0 0 54px rgba(255,210,63,.8)}#countdown-value.digit-go{font-size:clamp(3.2rem,15vw,8rem);letter-spacing:.06em;background:linear-gradient(90deg,var(--neon-cyan),var(--neon-pink),var(--neon-gold));-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 0 60px rgba(255,255,255,.55))}#endgame-countdown{position:fixed;top:74px;left:50%;transform:translate(-50%);z-index:12;pointer-events:none}#endgame-countdown-value{display:inline-block;font-family:var(--font-header);font-weight:400;font-size:clamp(2.2rem,7vw,3.6rem);font-variant-numeric:tabular-nums;color:var(--text);text-shadow:var(--shadow-3d-sm),0 0 22px rgba(57,230,255,.55)}#endgame-countdown-value.tick-in{animation:endgame-tick .5s var(--ease-standard) both}@keyframes endgame-tick{0%{opacity:.35;transform:scale(1.4)}to{opacity:1;transform:scale(1)}}#endgame-countdown.is-final #endgame-countdown-value{font-size:clamp(2.9rem,9.5vw,4.8rem);color:var(--neon-gold);text-shadow:var(--shadow-3d-sm),0 0 36px rgba(255,210,63,.85)}@media(prefers-reduced-motion:reduce){#endgame-countdown-value.tick-in{animation:none}}.creditLine{position:fixed;left:0;right:0;bottom:var(--credit-bottom);z-index:28;text-align:center;font-size:12px;letter-spacing:.4px;color:#ffffff80;text-shadow:0 1px 4px rgba(0,0,0,.6);pointer-events:none}.creditLine a{color:#ffffffbf;text-decoration:underline;text-underline-offset:2px;pointer-events:auto;transition:color .15s ease}.creditLine a:hover{color:#ffd25e}@media(max-width:640px){.creditLine{font-size:11px}}@media(max-height:820px){.creditLine{font-size:11px}}@media(pointer:coarse){body.is-playing{--credit-bottom: calc(96px + env(safe-area-inset-bottom, 0px)) }}body.intro-active .splash-scroll-cue{opacity:0;pointer-events:none}.creditLine{opacity:0;visibility:hidden}body.on-splash .creditLine{opacity:1;visibility:visible}.creditLine{transition:opacity .6s ease}.intro-skip{position:fixed;left:0;right:0;bottom:var(--credit-bottom);z-index:55;text-align:center;font-family:var(--font-body);font-size:12px;letter-spacing:.4px;color:#ffffff80;text-shadow:0 1px 4px rgba(0,0,0,.6);pointer-events:none;opacity:0;transition:opacity .6s ease}body.intro-running .intro-skip{opacity:1;transition-delay:1.4s}.splash-scroll-cue{position:fixed;z-index:28;bottom:calc(var(--credit-bottom) + var(--credit-cue-gap));left:0;right:0;opacity:1;will-change:opacity;transition:opacity .2s ease-out;display:flex;justify-content:center;align-items:center;color:#ffffffbf;pointer-events:none;animation:splash-scroll-cue-bob 1.8s ease-in-out infinite}.splash-scroll-cue svg{color:var(--neon-cyan);filter:drop-shadow(0 0 8px rgba(57,230,255,.6))}@keyframes splash-scroll-cue-bob{0%,to{transform:translateY(0)}50%{transform:translateY(10px)}}.splash-about{position:relative;z-index:2;background:linear-gradient(to bottom,transparent 0,var(--bg) 280px,var(--bg) 100%)}.splash-about-pretitle{margin:0 -.4em 14px 0;text-align:center;font-family:var(--font-header);text-transform:uppercase;font-size:clamp(.72rem,1.6vw,.95rem);letter-spacing:.4em;color:#ffffff80}.about-body{max-width:920px;margin:0 auto;padding:90px 24px 120px}.about-heading{margin:0 0 18px;font-family:var(--font-editorial);font-style:italic;font-weight:500;font-size:var(--editorial-heading-size);letter-spacing:-.01em;color:var(--text);text-align:center}.about-info{margin-bottom:90px}.about-lead{max-width:46ch;margin:0 auto 38px;color:var(--text);font-family:var(--font-editorial);font-weight:var(--editorial-interview-weight);font-size:var(--editorial-display-size);line-height:var(--editorial-display-line);letter-spacing:-.012em;text-align:center}.about-info p{max-width:48ch;margin:0 auto 12px;color:var(--text-dim);font-family:var(--font-editorial);font-size:var(--editorial-body-size);line-height:var(--editorial-body-line);text-align:center}.about-info p:last-child{margin-bottom:0}.about-credits-note{margin:0 0 44px;text-align:center;color:var(--text-dim);font-family:var(--font-editorial);font-size:.92rem;letter-spacing:.01em;font-style:italic}.credits-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:36px 48px}.credits-group-title{margin:0 0 10px;font-family:var(--font-header);text-transform:uppercase;font-size:var(--editorial-label-size);letter-spacing:var(--editorial-label-tracking);color:var(--neon-cyan);text-shadow:0 0 12px rgba(57,230,255,.35);border-bottom:1px solid rgba(57,230,255,.25);padding-bottom:8px}.credits-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.credits-list li{display:flex;align-items:baseline;justify-content:space-between;gap:12px;font-size:.88rem;line-height:1.4;border-bottom:1px dotted rgba(255,255,255,.14);padding-bottom:4px}.credit-role{color:var(--text-dim);background:var(--bg);padding-right:6px}.credit-name{color:var(--text);font-family:var(--font-editorial);font-weight:600;white-space:nowrap;background:var(--bg);padding-left:6px}@media(max-width:720px){.credits-groups{grid-template-columns:1fr}.about-body{padding:70px 18px 100px}}#duel-controls{position:fixed;inset:auto 0 0 0;z-index:30;display:flex;align-items:flex-end;justify-content:space-between;padding:0 18px calc(18px + env(safe-area-inset-bottom,0px));pointer-events:none}#duel-controls[hidden]{display:none}body:not(.is-duel) #duel-controls{display:none}body.is-duel #touch-controls{display:none}.duel-stick{position:relative;flex:none;width:132px;height:132px;border-radius:50%;border:1.5px solid rgba(255,255,255,.18);background:#08081452;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);pointer-events:auto;touch-action:none;transition:border-color .18s ease,background .18s ease}.duel-stick.is-active{border-color:#39e6ff80;background:#0a0c1c80}.duel-stick-knob{position:absolute;top:50%;left:50%;width:58px;height:58px;border-radius:50%;transform:translate(-50%,-50%);background:radial-gradient(circle at 38% 34%,#ffffff80,#39e6ff38);border:1.5px solid rgba(255,255,255,.42);box-shadow:0 4px 16px #00000080}.duel-pad{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;pointer-events:auto}.duel-btn{width:74px;height:74px;border-radius:50%;border:1.5px solid rgba(255,255,255,.28);background:#0a0a188c;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);color:var(--text);font-family:var(--font-header);font-size:.72rem;letter-spacing:.06em;cursor:pointer;touch-action:none;transition:transform .09s ease,background .12s ease,border-color .12s ease}.duel-btn--step{border-color:#ffffff4d}.duel-btn--move{border-color:#39e6ff8c;color:#d8fbff}.duel-btn--trick{border-color:#ff3fb499;color:#ffd9f0}.duel-btn--jump{border-color:#ffd23f99;color:#fff3cf}.duel-btn.pressed{transform:scale(.9);background:#1e2040d9;border-color:#ffffffbf}#duel-key-hint{display:none;pointer-events:none;align-self:center;font-family:var(--font-header);font-size:.78rem;letter-spacing:.03em;color:#ffffff8c;white-space:nowrap;text-shadow:0 1px 4px rgba(0,0,0,.6)}#duel-key-hint b{color:var(--text);font-weight:700}@media(hover:hover)and (pointer:fine){#duel-key-hint{display:block}}#multiplier-value.is-hot{color:var(--neon-gold, #ffd23f);text-shadow:0 0 14px rgba(255,210,63,.6)}@media(orientation:landscape)and (max-height:520px){#duel-controls{padding-bottom:calc(10px + env(safe-area-inset-bottom,0px))}.duel-stick{width:112px;height:112px}.duel-btn{width:62px;height:62px;font-size:.66rem}}@media(prefers-reduced-motion:reduce){.duel-btn{transition:background .12s ease,border-color .12s ease}}body.mode-duel .update-note,body.mode-duel #start-screen .tagline,body.mode-duel #key-list,body.mode-duel .touch-note,body.mode-duel .diff-row[aria-label=Taster],body.mode-duel #file-list{display:none}body.mode-duel .start-card{max-width:380px;padding:26px 24px 22px;gap:14px}body.mode-duel #start-screen .game-title{font-size:clamp(1.6rem,6.5vw,2.3rem);letter-spacing:.02em;margin-bottom:6px}.duel-guide{display:none;width:100%;flex-direction:column;gap:12px;padding:12px 14px;border:1px solid rgba(255,255,255,.12);border-radius:14px;background:#ffffff08}body.mode-duel .duel-guide{display:flex}.duel-guide-stick{display:flex;align-items:center;gap:11px}.duel-guide-stick-art{position:relative;flex:none;width:34px;height:34px;border-radius:50%;border:1.5px solid rgba(255,255,255,.28);background:#08081480}.duel-guide-stick-art:after{content:"";position:absolute;top:50%;left:50%;width:15px;height:15px;border-radius:50%;transform:translate(-25%,-60%);background:radial-gradient(circle at 38% 34%,#ffffff8c,#39e6ff4d);border:1px solid rgba(255,255,255,.4)}.duel-guide-stick-text{display:flex;flex-direction:column;line-height:1.3;text-align:left}.duel-guide-stick-text b{font-family:var(--font-header);font-size:.8rem;letter-spacing:.06em;color:var(--text)}.duel-guide-stick-text span{font-family:var(--font-body);font-size:.74rem;color:var(--text-dim)}.duel-guide-keys{display:grid;grid-template-columns:repeat(2,1fr);gap:7px 10px;margin:0;padding:0;list-style:none}.duel-guide-keys li{display:flex;align-items:center;gap:7px;font-family:var(--font-body);font-size:.74rem;color:var(--text-dim)}.duel-guide-key{flex:none;min-width:46px;padding:3px 0;border-radius:999px;border:1px solid rgba(255,255,255,.28);font-family:var(--font-header);font-size:.6rem;letter-spacing:.06em;text-align:center;color:var(--text)}.duel-guide-key--step{border-color:#ffffff52}.duel-guide-key--move{border-color:#39e6ff99;color:#d8fbff}.duel-guide-key--trick{border-color:#ff3fb499;color:#ffd9f0}.duel-guide-key--jump{border-color:#ffd23f99;color:#fff3cf}.duel-guide-tip{margin:0;font-family:var(--font-body);font-size:.72rem;line-height:1.45;color:var(--text-dim);opacity:.85}body.is-duel .hud-item:has(#lives-label){display:none}body.is-playing #character-select,body.is-playing #splash-screen,body.is-playing #carousel-dots{display:none!important}body.is-duel .hud-item[data-hud=streak],body.is-duel .hud-item[data-hud=freshness],body.is-duel .hud-item[data-hud=flow],body.is-duel .hud-item[data-hud=lives],body.is-duel .hud-item[data-hud=move],body.is-duel .hud-item[data-hud=timing]{display:none}body.is-duel #multiplier-value{transition:color var(--dur-1) ease,text-shadow var(--dur-1) ease}body.is-duel #multiplier-value.hit-perfect{color:var(--neon-cyan);text-shadow:0 0 16px rgba(57,230,255,.85)}body.is-duel #multiplier-value.hit-good{color:#d8fbff;text-shadow:0 0 10px rgba(57,230,255,.45)}#duel-popups{position:absolute;left:0;top:0;width:0;height:0;pointer-events:none;contain:layout style}.score-popup{position:absolute;transform:translate(-50%,-50%);opacity:0;pointer-events:none;white-space:nowrap;font-family:var(--font-header);font-weight:800;font-size:2rem;letter-spacing:.04em;color:#fff;text-shadow:0 2px 10px rgba(0,0,0,.7),0 0 22px rgba(0,0,0,.45);will-change:transform,opacity;--drift: 0px;--rot: 0deg}.sp--small{font-size:2.1rem;animation:sp-rise-small .72s var(--ease-standard) forwards}.sp--medium{color:var(--neon-cyan);font-size:2.9rem;letter-spacing:.06em;text-shadow:0 0 16px rgba(57,230,255,.7),0 2px 8px rgba(0,0,0,.55);animation:sp-rise-medium .9s var(--ease-standard) forwards}.sp--big{color:var(--neon-pink);font-size:3.8rem;letter-spacing:.05em;text-shadow:0 0 20px rgba(255,63,180,.65),0 2px 10px rgba(0,0,0,.6);animation:sp-rise-big 1.15s var(--ease-standard) forwards}.sp--huge{color:var(--neon-gold);font-size:4.6rem;letter-spacing:.04em;text-shadow:0 0 26px rgba(255,210,63,.7),0 2px 12px rgba(0,0,0,.65);animation:sp-rise-huge 1.5s var(--ease-standard) forwards}@keyframes sp-rise-small{0%{opacity:0;transform:translate(-50%,-50%) scale(.75)}16%{opacity:1;transform:translate(calc(-50% + var(--drift) * .3),calc(-50% - 10px)) scale(1.08) rotate(calc(var(--rot) * .3))}34%{transform:translate(calc(-50% + var(--drift) * .6),calc(-50% - 24px)) scale(1) rotate(calc(var(--rot) * .6))}70%{opacity:1}to{opacity:0;transform:translate(calc(-50% + var(--drift)),calc(-50% - 50px)) scale(.95) rotate(var(--rot))}}@keyframes sp-rise-medium{0%{opacity:0;transform:translate(-50%,-50%) scale(.7)}14%{opacity:1;transform:translate(calc(-50% + var(--drift) * .3),calc(-50% - 14px)) scale(1.14) rotate(calc(var(--rot) * .3))}30%{transform:translate(calc(-50% + var(--drift) * .6),calc(-50% - 32px)) scale(1) rotate(calc(var(--rot) * .6))}72%{opacity:1}to{opacity:0;transform:translate(calc(-50% + var(--drift)),calc(-50% - 70px)) scale(.92) rotate(var(--rot))}}@keyframes sp-rise-big{0%{opacity:0;transform:translate(-50%,-50%) scale(.55)}12%{opacity:1;transform:translate(calc(-50% + var(--drift) * .25),calc(-50% - 6px)) scale(1.22) rotate(calc(var(--rot) * .25))}28%{transform:translate(calc(-50% + var(--drift) * .6),calc(-50% - 40px)) scale(1.03) rotate(calc(var(--rot) * .6))}74%{opacity:1}to{opacity:0;transform:translate(calc(-50% + var(--drift)),calc(-50% - 95px)) scale(.9) rotate(var(--rot))}}@keyframes sp-rise-huge{0%{opacity:0;transform:translate(-50%,-50%) scale(.45)}10%{opacity:1;transform:translate(calc(-50% + var(--drift) * .2),calc(-50% - 4px)) scale(1.32) rotate(calc(var(--rot) * .2))}26%{transform:translate(calc(-50% + var(--drift) * .55),calc(-50% - 52px)) scale(1.06) rotate(calc(var(--rot) * .55))}76%{opacity:1}to{opacity:0;transform:translate(calc(-50% + var(--drift)),calc(-50% - 125px)) scale(.88) rotate(var(--rot))}}@media(max-width:700px){.score-popup{font-size:1.6rem}.sp--small{font-size:1.65rem}.sp--medium{font-size:2.25rem}.sp--big{font-size:2.9rem}.sp--huge{font-size:3.5rem}}@media(prefers-reduced-motion:reduce){.sp--small,.sp--medium,.sp--big,.sp--huge{animation:sp-still var(--dur-4) var(--ease-standard) forwards}}@keyframes sp-still{0%{opacity:0}20%{opacity:1}75%{opacity:1}to{opacity:0}}html{touch-action:manipulation}body{-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}button,.duel-btn,.duel-stick,.touch-btn,.char-nameplate,.carousel-dot{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.splash-about,.creditLine{-webkit-user-select:text;user-select:text}.hud-item[data-hud=energy]{display:none}body.is-duel .hud-item[data-hud=energy]{display:flex}.hud-item[data-hud=moves]{display:none}body.is-duel .hud-item[data-hud=moves]{display:flex}.energy-bar{position:relative;width:92px;height:7px;border-radius:999px;background:#ffffff1f;overflow:hidden}.energy-zone--sweet{position:absolute;top:0;bottom:0;left:55%;right:18%;background:#39e6ff38;border-left:1px solid rgba(57,230,255,.45);border-right:1px solid rgba(255,210,63,.45)}.energy-fill{position:absolute;top:0;bottom:0;left:0;width:0;border-radius:999px;background:#ffffff80;transition:background var(--dur-1) ease}.energy-fill.is-low{background:#ffffff59}.energy-fill.is-sweet{background:var(--neon-cyan);box-shadow:0 0 10px #39e6ff99}.energy-fill.is-overheat{background:var(--neon-gold, #ffd23f);box-shadow:0 0 12px #ffd23fb3}.energy-marker{position:absolute;top:-2px;bottom:-2px;width:2px;border-radius:2px;background:#fff;box-shadow:0 0 6px #000c;transform:translate(-1px)}@media(max-width:700px){.energy-bar{width:72px;height:6px}}
