:root{--gold-kente:#d4a017;--gold-light:#f0d060;--gold-dark:#a07b10;--green-ghana:#006b3f;--green-light:#00a85f;--red-ghana:#ce1126;--star-black:#000;--cream-syto:#f5f0dc;--brown-syto:#5c3317;--yellow-private:gold;--blue-private:#1e3a8a;--blue-private-light:#3b82f6;--laterite:#8b4513;--laterite-light:sienna;--earth-dark:#3e2723;--contour-purple:#9b59b6;--contour-light:#c39bd3;--contour-dark:#6c3483;--straight-cyan:#00bcd4;--straight-light:#4dd0e1;--straight-dark:#00838f;--obsidian:#0d0d0d;--charcoal:#1a1a1a;--graphite:#2a2a2a;--slate:#3a3a3a;--smoke:#666;--ash:#999;--cloud:#ccc;--white:#fafafa;--font-display:"Outfit", sans-serif;--font-body:"Inter", sans-serif;--space-xs:.25rem;--space-sm:.5rem;--space-md:1rem;--space-lg:1.5rem;--space-xl:2rem;--space-2xl:3rem;--space-3xl:4rem;--ease-out-expo:cubic-bezier(.16, 1, .3, 1);--ease-out-back:cubic-bezier(.34, 1.56, .64, 1);--ease-in-out:cubic-bezier(.65, 0, .35, 1);--duration-fast:.15s;--duration-normal:.3s;--duration-slow:.6s;--duration-dramatic:1.2s;--radius-sm:4px;--radius-md:8px;--radius-lg:12px;--radius-xl:20px;--radius-full:50%;--shadow-sm:0 2px 8px #0000004d;--shadow-md:0 4px 16px #0006;--shadow-lg:0 8px 32px #00000080;--shadow-glow-gold:0 0 20px #d4a01766;--shadow-glow-contour:0 0 20px #9b59b666;--shadow-glow-straight:0 0 20px #00bcd466;--glass-bg:#0d0d0dbf;--glass-border:#d4a01726;--glass-blur:20px}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body{background:var(--obsidian);width:100%;height:100%;color:var(--white);font-family:var(--font-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;cursor:default;-webkit-user-select:none;user-select:none;font-size:16px;line-height:1.5;overflow:hidden}#game-canvas{z-index:1;touch-action:none;width:100%;height:100%;position:fixed;top:0;left:0}#ui-overlay{z-index:10;pointer-events:none;width:100%;height:100%;position:fixed;top:0;left:0}.screen{-webkit-overflow-scrolling:touch;overscroll-behavior:contain;width:100%;height:100%;padding:max(env(safe-area-inset-top), 16px) max(env(safe-area-inset-right), 16px) max(env(safe-area-inset-bottom), 16px) max(env(safe-area-inset-left), 16px);opacity:0;visibility:hidden;transition:opacity var(--duration-slow) var(--ease-out-expo), visibility var(--duration-slow);pointer-events:none;flex-direction:column;justify-content:safe center;align-items:center;display:flex;position:absolute;top:0;left:0;overflow:hidden auto}.screen.active{opacity:1;visibility:visible;pointer-events:all}.mute-btn{top:max(env(safe-area-inset-top), 12px);right:max(env(safe-area-inset-right), 12px);z-index:200;border-radius:var(--radius-full);-webkit-backdrop-filter:blur(10px);width:44px;height:44px;color:var(--gold-kente);cursor:pointer;pointer-events:auto;transition:background var(--duration-fast) ease, border-color var(--duration-fast) ease, transform var(--duration-fast) var(--ease-out-back);touch-action:manipulation;background:#0d0d0d8c;border:1px solid #d4a01733;justify-content:center;align-items:center;padding:0;display:flex;position:fixed}.mute-btn .mute-icon-off,.mute-btn.muted .mute-icon-on{display:none}.icon{vertical-align:middle;color:currentColor;display:inline-block}.card-icon-svg,.role-icon-svg,.btn-icon-svg,.timing-icon-svg,.touch-icon-svg{justify-content:center;align-items:center;display:inline-flex}.card-icon .icon{width:48px;height:48px}.role-symbol .icon{width:64px;height:64px}#welcome-screen{z-index:100;background:#000}.welcome-content{text-align:center;z-index:2}.welcome-logo{flex-direction:column;align-items:center;gap:.3em;display:flex}.welcome-icuni{color:var(--white);letter-spacing:.15em;text-transform:none;transition:letter-spacing .4s var(--ease-out-expo), opacity .3s ease;text-align:center;white-space:nowrap;width:fit-content;max-width:95vw;font-family:JetBrains Mono,Fira Code,SF Mono,Cascadia Code,Consolas,monospace;font-size:clamp(2.8rem,12vw,10rem);font-weight:900;display:inline-block;overflow:visible}.welcome-icuni.spaced{letter-spacing:clamp(.2em,3vw,.5em)}.welcome-games{font-family:var(--font-display);color:var(--ash);letter-spacing:.6em;text-transform:uppercase;opacity:0;transition:all .8s var(--ease-out-expo);font-size:clamp(1.2rem,4vw,2.5rem);font-weight:300;transform:translateY(10px)}.welcome-games.visible{opacity:1;transform:translateY(0)}.welcome-tagline{font-family:var(--font-body);color:var(--smoke);letter-spacing:.3em;text-transform:uppercase;margin-top:var(--space-xl);opacity:0;transition:all .8s var(--ease-out-expo) .2s;font-size:clamp(.7rem,1.5vw,.9rem);font-weight:300;transform:translateY(8px)}.welcome-tagline.visible{opacity:.6;transform:translateY(0)}.mute-btn{z-index:9999;border-radius:var(--radius-full);-webkit-backdrop-filter:blur(8px);width:40px;height:40px;color:var(--gold-kente);cursor:pointer;transition:background var(--duration-fast) ease, border-color var(--duration-fast) ease, transform var(--duration-fast) var(--ease-out-back);-webkit-tap-highlight-color:transparent;touch-action:manipulation;background:#0d0d0d99;border:1px solid #d4a01733;justify-content:center;align-items:center;padding:0;display:flex;position:fixed;top:12px;right:12px}.mute-btn:hover{background:#d4a0171f;border-color:#d4a01759}.mute-btn:active{transform:scale(.9)}.mute-btn .mute-icon-off{display:none}.mute-btn .mute-icon-on{display:block}.mute-btn.muted .mute-icon-on{display:none}.mute-btn.muted .mute-icon-off{display:block}.mute-btn.muted{color:var(--ash);border-color:#9993}#splash-screen{background:radial-gradient(80% 50% at 50% 85%,#a07b101f 0%,#0000 100%),radial-gradient(120% 60% at 50% 100%,#5a3c0a2e 0%,#0000 70%),linear-gradient(#050505b3 0%,#0a080699 60%,#0d0a06bf 100%),url(../assets/bg/splash.png) 50%/cover no-repeat;overflow:hidden}.splash-kente-horizon{background:repeating-linear-gradient(90deg, var(--gold-kente) 0px, var(--gold-kente) 12px, var(--contour-purple) 12px, var(--contour-purple) 20px, var(--straight-cyan) 20px, var(--straight-cyan) 28px, var(--green-ghana) 28px, var(--green-ghana) 36px, var(--gold-light) 36px, var(--gold-light) 48px, var(--red-ghana) 48px, var(--red-ghana) 52px, transparent 52px, transparent 60px);opacity:0;height:3px;transform:rotate(var(--kente-angle,0deg)) scaleX(0);transform-origin:50%;animation:kenteReveal 1.8s var(--ease-out-expo) .6s forwards;position:absolute;top:38%;left:-10%;right:-10%;-webkit-mask-image:linear-gradient(90deg,#0000 0%,#000 15% 85%,#0000 100%);mask-image:linear-gradient(90deg,#0000 0%,#000 15% 85%,#0000 100%)}@keyframes kenteReveal{0%{opacity:0;transform:rotate(var(--kente-angle,0deg)) scaleX(0)}60%{opacity:.5}to{opacity:.35;transform:rotate(var(--kente-angle,0deg)) scaleX(1)}}.splash-adinkra-field{pointer-events:none;z-index:1;position:absolute;inset:0}.splash-adinkra-field .adinkra-float{color:var(--gold-kente);opacity:0;animation:adinkraDrift var(--drift-dur,18s) ease-in-out var(--drift-delay,0s) infinite;will-change:transform, opacity;position:absolute}@keyframes adinkraDrift{0%{opacity:0;transform:translate(0, 0) rotate(0deg) scale(var(--drift-scale,1))}15%{opacity:var(--drift-opacity,.06)}50%{transform:translate(var(--drift-dx,20px), var(--drift-dy,-30px)) rotate(var(--drift-rot,15deg)) scale(var(--drift-scale,1))}85%{opacity:var(--drift-opacity,.06)}to{opacity:0;transform:translate(0, 0) rotate(0deg) scale(var(--drift-scale,1))}}.splash-dust{pointer-events:none;z-index:1;position:absolute;inset:0}.splash-dust .dust-speck{width:var(--speck-size,2px);height:var(--speck-size,2px);background:var(--gold-light);opacity:0;animation:dustFloat var(--dust-dur,12s) ease-in-out var(--dust-delay,0s) infinite;will-change:transform, opacity;border-radius:50%;position:absolute}@keyframes dustFloat{0%{opacity:0;transform:translate(0)}20%{opacity:var(--dust-peak,.25)}50%{transform:translate(var(--dust-dx,30px), var(--dust-dy,-40px))}80%{opacity:var(--dust-peak,.25)}to{opacity:0;transform:translate(calc(var(--dust-dx,30px) * 1.5), calc(var(--dust-dy,-40px) * 1.8))}}.splash-vignette{pointer-events:none;z-index:2;background:radial-gradient(70% 65%,#0000 40%,#0000008c 100%);position:absolute;inset:0}.splash-content{text-align:center;z-index:3;flex-direction:column;align-items:center;gap:0;display:flex}.splash-emblem{color:var(--gold-kente);margin-bottom:var(--space-lg);opacity:0;filter:drop-shadow(0 0 12px #d4a0174d);transform:translateY(16px)scale(.7)}.splash-emblem svg{width:clamp(36px,6vw,52px);height:clamp(36px,6vw,52px)}#splash-screen.entered .splash-emblem{animation:emblemEnter 1s var(--ease-out-expo) .15s forwards}@keyframes emblemEnter{0%{opacity:0;transform:translateY(16px)scale(.7)}to{opacity:.7;transform:translateY(0)scale(1)}}.splash-logo{margin-bottom:var(--space-md);justify-content:center;align-items:center;gap:.05em;display:flex;position:relative}.splash-logo .letter{font-family:var(--font-display);color:var(--gold-kente);text-shadow:0 0 60px #d4a01700, 0 0 120px #d4a01700, 0 4px 0 var(--gold-dark);opacity:0;font-size:clamp(4rem,13vw,10rem);font-weight:900;line-height:1;display:inline-block;transform:translateY(24px)}#splash-screen.entered .splash-logo .letter[data-index="0"]{animation-delay:.25s}#splash-screen.entered .splash-logo .letter[data-index="1"]{animation-delay:.38s}#splash-screen.entered .splash-logo .letter[data-index="2"]{animation-delay:.51s}#splash-screen.entered .splash-logo .letter[data-index="3"]{animation-delay:.64s}@keyframes letterEnter{0%{opacity:0;transform:translateY(24px)}70%{opacity:1;transform:translateY(-3px)}to{opacity:1;transform:translateY(0)}}#splash-screen.entered .splash-logo .letter{animation:letterEnter .7s var(--ease-out-expo) forwards, letterGlow 3s ease-in-out 1.6s infinite}@keyframes letterGlow{0%,to{text-shadow:0 0 30px #d4a0174d, 0 0 60px #d4a0171a, 0 4px 0 var(--gold-dark);transform:translateY(0)}50%{text-shadow:0 0 50px #d4a01780, 0 0 100px #d4a01733, 0 4px 0 var(--gold-dark);transform:translateY(-6px)}}.splash-logo .letter-dot{font-family:var(--font-display);color:var(--gold-light);opacity:0;font-size:clamp(2rem,6vw,5rem);font-weight:300;line-height:1;transform:scale(.5)}#splash-screen.entered .splash-logo .letter-dot{animation:dotPop .5s var(--ease-out-back) forwards}#splash-screen.entered .splash-logo .letter-dot[data-dot="0"]{animation-delay:.9s}#splash-screen.entered .splash-logo .letter-dot[data-dot="1"]{animation-delay:1s}#splash-screen.entered .splash-logo .letter-dot[data-dot="2"]{animation-delay:1.1s}@keyframes dotPop{0%{opacity:0;transform:scale(.5)}60%{opacity:.7;transform:scale(1.3)}to{opacity:.45;transform:scale(1)}}.splash-rule{background:linear-gradient(90deg, transparent, var(--gold-kente) 30%, var(--gold-light) 50%, var(--gold-kente) 70%, transparent);width:0;height:1px;margin:var(--space-sm) 0 var(--space-lg);opacity:0}#splash-screen.entered .splash-rule{animation:ruleExpand 1s var(--ease-out-expo) 1.2s forwards}@keyframes ruleExpand{0%{opacity:0;width:0}to{opacity:.5;width:min(260px,50vw)}}.splash-subtitle{font-family:var(--font-display);color:var(--cloud);letter-spacing:.35em;text-transform:uppercase;margin-bottom:var(--space-xs);opacity:0;font-size:clamp(.8rem,2vw,1.2rem);font-weight:600;transform:translateY(10px)}#splash-screen.entered .splash-subtitle{animation:fadeSlideUp .8s var(--ease-out-expo) 1.4s forwards}.splash-tagline{font-family:var(--font-body);color:var(--ash);margin-bottom:var(--space-3xl);opacity:0;min-height:1.4em;font-size:clamp(.72rem,1.4vw,.95rem);font-style:italic;font-weight:300;transform:translateY(8px)}#splash-screen.entered .splash-tagline{animation:fadeSlideUp .8s var(--ease-out-expo) 1.7s forwards}@keyframes fadeSlideUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.splash-prompt{font-family:var(--font-display);color:var(--gold-kente);letter-spacing:.5em;text-transform:uppercase;opacity:0;border-radius:var(--radius-xl);border:1px solid #d4a01733;padding:10px 28px;font-size:clamp(.7rem,1.3vw,.95rem);font-weight:600}#splash-screen.entered .splash-prompt{animation:promptEnter .6s var(--ease-out-expo) 2.2s forwards, promptBreathe 3s ease-in-out 3s infinite}@keyframes promptEnter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes promptBreathe{0%,to{opacity:.8;border-color:#d4a01726;box-shadow:0 0 12px #d4a01714,inset 0 0 12px #d4a01708}50%{opacity:1;border-color:#d4a01759;box-shadow:0 0 28px #d4a01733,inset 0 0 20px #d4a0170f}}#menu-screen{padding:var(--space-2xl);background:radial-gradient(at bottom,#d4a01714 0%,#0000 60%),linear-gradient(#0d0d0de0 0%,#1a1a1aeb 100%),url(../assets/bg/splash.png) 50%/cover no-repeat}.menu-header{margin-bottom:var(--space-2xl)}.menu-title{font-family:var(--font-display);color:var(--gold-kente);letter-spacing:.2em;text-shadow:0 0 30px #d4a0174d;font-size:clamp(1.5rem,4vw,2.5rem);font-weight:800}.menu-cards{gap:var(--space-xl);margin-bottom:var(--space-2xl);flex-wrap:wrap;justify-content:center;display:flex}.menu-card{width:260px;padding:var(--space-xl) var(--space-lg);background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid var(--glass-border);border-radius:var(--radius-xl);text-align:center;cursor:pointer;transition:all var(--duration-normal) var(--ease-out-expo);outline:none;position:relative;overflow:hidden}.menu-card:before{content:"";background:linear-gradient(90deg, var(--gold-kente), var(--gold-light));opacity:0;height:3px;transition:opacity var(--duration-normal);position:absolute;top:0;left:0;right:0}.menu-card:hover,.menu-card:focus,.menu-card.selected{border-color:var(--gold-kente);box-shadow:var(--shadow-glow-gold);transform:translateY(-4px)scale(1.02)}.menu-card:hover:before,.menu-card:focus:before,.menu-card.selected:before{opacity:1}.card-icon{margin-bottom:var(--space-md);font-size:2.5rem}.card-title{font-family:var(--font-display);color:var(--gold-kente);letter-spacing:.15em;margin-bottom:var(--space-sm);font-size:1.4rem;font-weight:700}.card-desc{color:var(--cloud);margin-bottom:var(--space-sm);font-size:.9rem}.card-detail{color:var(--smoke);font-size:.75rem;font-style:italic}.menu-settings{margin-bottom:var(--space-lg)}.menu-choice-layer{z-index:100;padding:max(env(safe-area-inset-top), 16px) max(env(safe-area-inset-right), 16px) max(env(safe-area-inset-bottom), 16px) max(env(safe-area-inset-left), 16px);-webkit-backdrop-filter:blur(8px);background:#090c0ec7;place-items:center;display:grid;position:absolute;inset:0}.menu-choice-layer[hidden]{display:none}.menu-choice-panel{text-align:center;background:linear-gradient(160deg,#1f2527fa,#121517fa);border:1px solid #d4a01794;border-radius:8px;width:min(480px,100%);max-height:100%;padding:24px;overflow-y:auto;box-shadow:0 24px 70px #00000080}.menu-choice-mode{color:var(--gold-kente);font-family:var(--font-display);letter-spacing:.08em;margin:0 0 6px;font-size:.72rem;font-weight:800}.menu-choice-title{color:var(--cloud);font-family:var(--font-display);margin:0 0 20px;font-size:1.2rem;font-weight:800}.menu-choice-group{flex-direction:column;align-items:stretch;gap:10px;margin:0 0 18px;display:flex}.menu-choice-group .setting-options{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.menu-choice-group .setting-btn{min-height:48px;padding:9px 8px}.menu-choice-group .setting-btn:disabled{opacity:.35;cursor:not-allowed;filter:grayscale()}.menu-choice-back{min-height:44px;color:var(--smoke);font:inherit;cursor:pointer;background:0 0;border:0;padding:8px 12px;font-size:.78rem;font-weight:700}.menu-choice-back:hover,.menu-choice-back:focus-visible{color:var(--cloud);outline:2px solid var(--gold-kente);outline-offset:2px}.setting-group{align-items:center;gap:var(--space-md);display:flex}.setting-group label{font-family:var(--font-display);color:var(--ash);letter-spacing:.1em;text-transform:uppercase;font-size:.85rem;font-weight:600}.setting-options{gap:var(--space-xs);flex-wrap:wrap;display:flex}.location-selector{scrollbar-width:none;gap:10px;padding:6px 0;display:flex;overflow-x:auto}.location-selector::-webkit-scrollbar{display:none}.loc-card{border-radius:var(--radius-md);cursor:pointer;border:2px solid var(--slate);min-width:130px;height:85px;transition:all var(--duration-normal) var(--ease-out-expo);flex-shrink:0;position:relative;overflow:hidden}.loc-card:hover{border-color:var(--gold-light);transform:translateY(-2px)}.loc-card.active{border-color:var(--gold-kente);transform:scale(1.05);box-shadow:0 0 16px #d4a01766}.loc-card-img{object-fit:cover;width:100%;height:100%;display:block}.loc-card-name{color:var(--white);font-family:var(--font-display);letter-spacing:.06em;text-align:center;background:linear-gradient(#0000,#000000d9);padding:4px 8px;font-size:.65rem;font-weight:700;position:absolute;bottom:0;left:0;right:0}.setting-btn{-webkit-backdrop-filter:blur(6px);border-radius:var(--radius-lg);min-height:44px;color:var(--ash);font-family:var(--font-display);letter-spacing:.06em;cursor:pointer;transition:all var(--duration-fast) ease;touch-action:manipulation;background:#1a1a1ab3;border:1px solid #ffffff14;padding:10px 18px;font-size:.8rem;font-weight:600}.setting-btn:hover{color:var(--white);background:#d4a0171a;border-color:#d4a01759}.setting-btn:active{transform:scale(.95)}.setting-btn.active{border-color:var(--gold-kente);color:var(--gold-light);background:linear-gradient(135deg,#d4a01740,#a0780c33);box-shadow:0 0 12px #d4a01726,inset 0 0 8px #d4a01714}.menu-hint{color:var(--smoke);letter-spacing:.1em;font-size:.75rem}#charselect-screen{isolation:isolate;padding:var(--space-lg);background:0 0;position:relative}#charselect-screen:before{content:"";z-index:0;pointer-events:none;opacity:.86;background:linear-gradient(90deg,#071410e0 0%,#07141094 39%,#0714101f 70%,#0714103d 100%),linear-gradient(#fff8dc0a 0%,#12231a57 100%);position:absolute;inset:0}#charselect-screen>*{z-index:1;position:relative}.charselect-header{width:100%;padding:0 var(--space-xl);margin-bottom:var(--space-lg);justify-content:space-between;align-items:center;display:flex;position:relative}.charselect-back-btn{border-radius:var(--radius-xl);-webkit-backdrop-filter:blur(8px);color:var(--gold-kente);font-family:var(--font-display);letter-spacing:.15em;cursor:pointer;transition:background var(--duration-fast) ease, border-color var(--duration-fast) ease, transform var(--duration-fast) var(--ease-out-back);-webkit-tap-highlight-color:transparent;touch-action:manipulation;z-index:10;background:#0d0d0d99;border:1px solid #d4a01740;align-items:center;gap:6px;padding:8px 16px 8px 12px;font-size:.75rem;font-weight:600;display:flex}.charselect-back-btn:hover{background:#d4a0171f;border-color:#d4a01766}.charselect-back-btn:active{transform:scale(.93)}.char-cell.locked-p1{box-shadow:0 0 12px #9b59b666,inset 0 0 8px #9b59b626;border-color:var(--contour-purple)!important}.char-cell.locked-p2{box-shadow:0 0 12px #00bcd466,inset 0 0 8px #00bcd426;border-color:var(--straight-cyan)!important}.charselect-title{font-family:var(--font-display);color:var(--gold-kente);letter-spacing:.2em;text-shadow:0 0 20px #d4a0174d;font-size:clamp(1.2rem,3vw,2rem);font-weight:800}.charselect-players{align-items:center;gap:var(--space-lg);display:flex}.player-indicator{align-items:center;gap:var(--space-xs);flex-direction:column;display:flex}.player-indicator.p1 .player-label{background:var(--contour-purple)}.player-indicator.p2 .player-label{background:var(--straight-cyan)}.player-label{font-family:var(--font-display);border-radius:var(--radius-sm);letter-spacing:.15em;padding:2px 10px;font-size:.7rem;font-weight:700}.player-name{font-family:var(--font-display);color:var(--gold-light);font-size:.9rem;font-weight:600}.vs-badge{font-family:var(--font-display);color:var(--red-ghana);text-shadow:0 0 10px #ce112666;font-size:1.2rem;font-weight:800}.charselect-grid{width:100%;max-width:900px;margin-bottom:var(--space-lg);grid-template-rows:repeat(2,1fr);grid-template-columns:repeat(7,1fr);gap:6px;display:grid}.charselect-content{align-items:center;gap:clamp(var(--space-lg), 4vw, var(--space-xxl));grid-template-columns:minmax(0,1fr) minmax(220px,280px);width:min(1400px,100%);min-width:0;display:grid}.charselect-roster{flex-direction:column;align-items:center;min-width:0;display:flex}.charselect-audition{width:100%;padding:var(--space-md);-webkit-backdrop-filter:blur(8px);background:#0a080533;border:1px solid #d4a0174d;border-radius:8px;box-shadow:0 12px 32px #0003}.charselect-audition-heading{justify-content:space-between;align-items:center;gap:var(--space-sm);display:flex}.charselect-audition-kicker,.charselect-audition-state{font-family:var(--font-display);letter-spacing:.14em;font-size:.62rem;font-weight:700}.charselect-audition-kicker{color:var(--gold-kente)}.charselect-audition-state{color:var(--straight-cyan);white-space:nowrap}.charselect-audition-name{margin-top:var(--space-sm);color:var(--gold-light);font-family:var(--font-display);letter-spacing:.08em;font-size:clamp(1.15rem,2.2vw,1.65rem);font-weight:800}.charselect-audition-prompt{min-height:2.2em;margin-top:var(--space-xs);color:var(--smoke);font-size:.72rem;line-height:1.45}.charselect-audition-controls{margin-top:var(--space-md);grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;display:grid}.charselect-audition-btn{min-height:36px;color:var(--ash);cursor:pointer;font-family:var(--font-display);letter-spacing:.1em;transition:background var(--duration-fast) ease, border-color var(--duration-fast) ease, color var(--duration-fast) ease, transform var(--duration-fast) ease;touch-action:manipulation;background:#ffffff0a;border:1px solid #d4a01747;border-radius:6px;padding:6px 8px;font-size:.62rem;font-weight:700}.charselect-audition-btn:hover,.charselect-audition-btn.is-active{border-color:var(--gold-kente);color:var(--gold-light);background:#d4a01724}.charselect-audition-btn:active{transform:scale(.96)}.charselect-confirm-btn{width:100%;min-height:44px;margin-top:var(--space-sm);border:1px solid var(--gold-kente);background:var(--gold-kente);color:var(--obsidian);cursor:pointer;font-family:var(--font-display);letter-spacing:.1em;transition:filter var(--duration-fast) ease, transform var(--duration-fast) ease;touch-action:manipulation;border-radius:6px;padding:8px 12px;font-size:.68rem;font-weight:800}.charselect-confirm-btn:hover:not(:disabled){filter:brightness(1.1)}.charselect-confirm-btn:active:not(:disabled){transform:scale(.98)}.charselect-confirm-btn:disabled{cursor:default;opacity:.42;filter:saturate(.5)}.char-cell{aspect-ratio:3/4;background:var(--glass-bg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:2px solid var(--slate);border-radius:var(--radius-md);cursor:pointer;transition:all var(--duration-normal) var(--ease-out-expo);padding:var(--space-xs);flex-direction:column;justify-content:flex-end;align-items:center;display:flex;position:relative;overflow:hidden}.char-cell:hover{border-color:var(--gold-kente);z-index:5;box-shadow:var(--shadow-glow-gold);transform:scale(1.05)}.char-cell.is-unavailable{cursor:not-allowed;opacity:.48;filter:grayscale()}.char-cell.is-unavailable:hover{border-color:var(--slate);box-shadow:none;transform:none}.char-cell-status{z-index:2;color:#ffffffd6;pointer-events:none;background:#0c0f12d1;border:1px solid #ffffff52;border-radius:3px;padding:3px 7px;font-size:.55rem;font-weight:800;line-height:1;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.char-cell.selected-p1{border-color:var(--contour-purple);box-shadow:var(--shadow-glow-contour)}.char-cell.selected-p2{border-color:var(--straight-cyan);box-shadow:var(--shadow-glow-straight)}.char-cell.locked{opacity:.4;pointer-events:none}.char-cell-portrait{flex:1;justify-content:center;align-items:center;width:100%;display:flex;overflow:hidden}.char-cell-img{object-fit:cover;object-position:center top;border-radius:var(--radius-sm);width:100%;height:100%;transition:transform var(--duration-normal) var(--ease-out-expo)}.char-cell-img.is-procedural-portrait{object-fit:cover;object-position:center center;background:#211a14}.char-cell:hover .char-cell-img{transform:scale(1.08)}.char-cell-name{font-family:var(--font-display);color:var(--gold-light);text-align:center;letter-spacing:.05em;margin-top:2px;font-size:clamp(.5rem,1.2vw,.75rem);font-weight:700}.char-cell-day{color:var(--smoke);text-transform:uppercase;letter-spacing:.1em;font-size:clamp(.4rem,.8vw,.6rem)}.char-cell-school{font-size:.45rem;font-weight:700;font-family:var(--font-display);border-radius:var(--radius-sm);letter-spacing:.1em;text-transform:uppercase;padding:1px 5px;position:absolute;top:4px;right:4px}.school-syto{background:var(--brown-syto);color:var(--cream-syto)}.school-private{background:var(--blue-private);color:var(--yellow-private)}.school-prestige{background:linear-gradient(135deg, var(--red-ghana), var(--gold-kente));color:var(--white)}.charselect-info{align-items:center;gap:var(--space-xl);background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--glass-blur));backdrop-filter:blur(var(--glass-blur));border:1px solid var(--glass-border);border-radius:var(--radius-lg);padding:var(--space-md) var(--space-xl);width:100%;max-width:600px;min-height:80px;display:flex}.char-portrait{border-radius:var(--radius-full);background:var(--graphite);border:2px solid var(--gold-kente);width:60px;height:60px;overflow:hidden}.char-info-portrait{object-fit:cover;object-position:center center;width:100%;height:100%;display:block}.char-details{flex:1}.char-name{font-family:var(--font-display);color:var(--gold-kente);letter-spacing:.1em;font-size:1.2rem;font-weight:700}.char-day{color:var(--ash);margin-bottom:var(--space-xs);font-size:.75rem}.char-school-badge{font-size:.6rem;font-weight:700;font-family:var(--font-display);border-radius:var(--radius-sm);letter-spacing:.15em;text-transform:uppercase;margin-bottom:var(--space-xs);padding:2px 8px;display:inline-block}.char-personality{color:var(--smoke);font-size:.8rem;font-style:italic}.charselect-hint{color:var(--smoke);letter-spacing:.1em;margin-top:var(--space-sm);font-size:.7rem}#roleselect-screen{background:radial-gradient(#00000080 0%,#0000 70%),linear-gradient(#0d0d0de6 0%,#1a1a1aed 100%)}.roleselect-content{text-align:center}.roleselect-title{font-family:var(--font-display);color:var(--gold-kente);letter-spacing:.2em;margin-bottom:var(--space-xl);text-shadow:0 0 30px #d4a0174d;font-size:clamp(1.5rem,4vw,2.5rem);font-weight:800}.role-cards{gap:var(--space-2xl);margin-bottom:var(--space-lg);justify-content:center;display:flex}.role-card{width:300px;padding:var(--space-lg) var(--space-xl) var(--space-xl);border-radius:var(--radius-xl);cursor:pointer;transition:transform var(--duration-normal) var(--ease-out-expo), border-color var(--duration-normal) ease, box-shadow var(--duration-normal) ease, background var(--duration-normal) ease;text-align:center;outline:none;position:relative;overflow:hidden}.role-card.contour{background:#9b59b614;border:2px solid #9b59b640}.role-card.straight{background:#00bcd414;border:2px solid #00bcd440}.role-card.contour:hover,.role-card.contour:focus{background:#9b59b624;border-color:#9b59b699;transform:translateY(-4px)}.role-card.straight:hover,.role-card.straight:focus{background:#00bcd424;border-color:#00bcd499;transform:translateY(-4px)}.role-card.contour.selected{border-color:var(--contour-purple);box-shadow:var(--shadow-glow-contour), 0 8px 32px #9b59b626;background:#9b59b633;transform:translateY(-6px)scale(1.03)}.role-card.straight.selected{border-color:var(--straight-cyan);box-shadow:var(--shadow-glow-straight), 0 8px 32px #00bcd426;background:#00bcd433;transform:translateY(-6px)scale(1.03)}.role-anim-area{width:100%;height:120px;margin-bottom:var(--space-md);border-radius:var(--radius-lg);background:#00000040;border:1px solid #ffffff0a;justify-content:center;align-items:center;display:flex;overflow:hidden}.role-feet-svg{width:100%;height:100%}.contour .foot-top-left{animation:3.2s ease-in-out infinite contour-top-left-thrust}.contour .foot-top-right{opacity:.3}.contour .foot-bottom-right{animation:3.2s ease-in-out infinite contour-bottom-right-thrust}.contour .foot-bottom-left{opacity:.3}@keyframes contour-top-left-thrust{0%,25%{transform:translate(60px,10px)}35%,65%{transform:translate(60px,28px)}80%,to{transform:translate(60px,10px)}}@keyframes contour-bottom-right-thrust{0%,25%{transform:translate(110px,80px)scaleY(-1)}35%,65%{transform:translate(110px,62px)scaleY(-1)}80%,to{transform:translate(110px,80px)scaleY(-1)}}.straight .foot-top-left{animation:3.2s ease-in-out infinite straight-top-left-thrust}.straight .foot-top-right{opacity:.3}.straight .foot-bottom-left{animation:3.2s ease-in-out infinite straight-bottom-left-thrust}.straight .foot-bottom-right{opacity:.3}@keyframes straight-top-left-thrust{0%,25%{transform:translate(60px,10px)}35%,65%{transform:translate(60px,28px)}80%,to{transform:translate(60px,10px)}}@keyframes straight-bottom-left-thrust{0%,25%{transform:translate(60px,80px)scaleY(-1)}35%,65%{transform:translate(60px,62px)scaleY(-1)}80%,to{transform:translate(60px,80px)scaleY(-1)}}.result-flash{opacity:0;animation:3.2s ease-in-out infinite result-flash-in}@keyframes result-flash-in{0%,45%{opacity:0}55%,70%{opacity:1}80%,to{opacity:0}}.result-check circle,.result-check polyline{animation:3.2s ease-in-out infinite check-pop}@keyframes check-pop{0%,50%{opacity:0}60%,72%{opacity:1}82%,to{opacity:0}}#roleselect-screen:not(.active) .role-feet-svg *{animation-play-state:paused}.role-card-title{font-family:var(--font-display);letter-spacing:.15em;margin-bottom:var(--space-sm);font-size:1.3rem;font-weight:800}.role-card.contour .role-card-title{color:var(--contour-light)}.role-card.straight .role-card-title{color:var(--straight-light)}.role-rule{font-family:var(--font-body);color:var(--cloud);margin-bottom:var(--space-xs);font-size:.95rem}.role-rule strong{font-weight:700}.role-card.contour .role-rule strong{color:var(--contour-light)}.role-card.straight .role-rule strong{color:var(--straight-light)}.role-tagline{font-family:var(--font-body);color:var(--smoke);letter-spacing:.02em;font-size:.75rem;font-style:italic}.roleselect-hint{color:var(--smoke);letter-spacing:.1em;margin-bottom:var(--space-lg);font-size:.75rem}.how-to-play-btn{align-items:center;gap:var(--space-sm);border-radius:var(--radius-lg);color:var(--gold-kente);font-family:var(--font-display);letter-spacing:.12em;cursor:pointer;transition:background var(--duration-normal) ease, border-color var(--duration-normal) ease, transform var(--duration-fast) ease;background:#d4a01714;border:1px solid #d4a01740;padding:.6rem 1.4rem;font-size:.8rem;font-weight:700;display:inline-flex}.how-to-play-btn:hover{background:#d4a01726;border-color:#d4a01780;transform:translateY(-2px)}.how-to-play-btn:active{transform:translateY(0)}.how-to-play-btn svg{flex-shrink:0}.tutorial-overlay{z-index:100;-webkit-backdrop-filter:blur(8px);opacity:0;pointer-events:none;transition:opacity var(--duration-normal) ease;background:#000000b3;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.tutorial-overlay.open{opacity:1;pointer-events:auto}.tutorial-modal{width:min(480px,90vw);max-height:85vh;padding:var(--space-2xl);background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius-xl);-webkit-backdrop-filter:blur(var(--glass-blur));transition:transform var(--duration-normal) var(--ease-out-expo), opacity var(--duration-normal) ease;opacity:0;position:relative;overflow-y:auto;transform:translateY(20px)scale(.96);box-shadow:0 16px 64px #0009}.tutorial-overlay.open .tutorial-modal{opacity:1;transform:translateY(0)scale(1)}.tutorial-close{top:var(--space-md);right:var(--space-md);border-radius:var(--radius-full);width:32px;height:32px;color:var(--ash);cursor:pointer;transition:background var(--duration-fast) ease, color var(--duration-fast) ease;background:#ffffff0f;border:1px solid #ffffff1a;justify-content:center;align-items:center;display:flex;position:absolute}.tutorial-close:hover{color:var(--white);background:#ffffff1f}.tutorial-title{font-family:var(--font-display);color:var(--gold-kente);letter-spacing:.15em;text-align:center;margin-bottom:var(--space-xl);text-shadow:0 0 20px #d4a01740;font-size:1.2rem;font-weight:800}.tutorial-steps{gap:var(--space-lg);flex-direction:column;display:flex}.tutorial-step{align-items:flex-start;gap:var(--space-md);padding:var(--space-md);border-radius:var(--radius-lg);transition:background var(--duration-fast) ease;background:#ffffff08;border:1px solid #ffffff0d;display:flex}.tutorial-step:hover{background:#ffffff0f}.tutorial-step-icon{flex-shrink:0;width:36px;height:36px}.tutorial-step-body h3{font-family:var(--font-display);color:var(--cloud);letter-spacing:.1em;margin-bottom:2px;font-size:.85rem;font-weight:700}.tutorial-step-body p{font-family:var(--font-body);color:var(--smoke);font-size:.8rem;line-height:1.4}.tut-contour{color:var(--contour-light);font-weight:600}.tut-straight{color:var(--straight-light);font-weight:600}@media (width<=680px){.role-cards{align-items:center;gap:var(--space-lg);flex-direction:column}.role-card{width:min(300px,85vw)}.role-anim-area{height:100px}.roleselect-title{margin-bottom:var(--space-lg)}.tutorial-modal{padding:var(--space-xl)}.menu-header{margin-bottom:var(--space-lg)}.menu-cards{gap:var(--space-md);margin-bottom:var(--space-lg);width:100%;max-width:440px}.menu-card{align-items:center;column-gap:var(--space-md);text-align:left;width:100%;padding:var(--space-md) var(--space-lg);grid-template-columns:auto 1fr;row-gap:2px;display:grid}.menu-card .card-icon{grid-row:1/4;align-self:center;margin-bottom:0;font-size:2rem}.menu-card .card-title,.menu-card .card-desc,.menu-card .card-detail{grid-column:2}.menu-card .card-title,.menu-card .card-desc{margin-bottom:0}.menu-card:hover,.menu-card:focus,.menu-card.selected{transform:none}.menu-settings{width:100%;max-width:440px}.setting-group{align-items:stretch;gap:var(--space-xs);margin-bottom:var(--space-md);flex-direction:column}.setting-group label{text-align:center}.setting-options{justify-content:center}.menu-nav-row{flex-wrap:wrap;justify-content:center}.menu-hint{display:none}}#location-select-screen{background:#000000e6}.location-select-header{text-align:center;margin-bottom:var(--space-xl)}.location-select-title{font-family:var(--font-display);color:var(--white);letter-spacing:.15em;font-size:clamp(1.5rem,4vw,2.5rem);font-weight:800}.location-select-subtitle{font-family:var(--font-body);color:var(--ash);margin-top:var(--space-xs);font-size:.9rem}.location-grid{gap:var(--space-lg);max-width:800px;padding:0 var(--space-lg);grid-template-columns:repeat(2,1fr);margin:0 auto;display:grid}.loc-select-card{border-radius:var(--radius-lg);cursor:pointer;transition:all .3s var(--ease-out-expo);aspect-ratio:16/10;border:2px solid #0000;position:relative;overflow:hidden}.loc-select-card:hover,.loc-select-card.selected{border-color:var(--gold-kente);box-shadow:var(--shadow-glow-gold);transform:translateY(-4px)}.loc-select-img{object-fit:cover;width:100%;height:100%;display:block}.loc-select-grad{justify-content:center;align-items:center;display:flex}.loc-select-emoji{opacity:.92;filter:drop-shadow(0 2px 8px #0000008c);font-size:3rem}.loc-select-overlay{padding:var(--space-md);background:linear-gradient(#0000,#000000d9);position:absolute;bottom:0;left:0;right:0}.loc-select-name{font-family:var(--font-display);color:var(--white);letter-spacing:.05em;font-size:1.1rem;font-weight:700}.loc-select-desc{font-family:var(--font-body);color:var(--ash);margin-top:2px;font-size:.75rem}.location-select-hint{text-align:center;font-family:var(--font-body);color:var(--smoke);margin-top:var(--space-lg);letter-spacing:.1em;font-size:.8rem}#loading-screen{background:linear-gradient(#000000b3 0%,#00000080 50%,#000000b3 100%),url(../assets/bg/loading.png) 50%/cover no-repeat}.loading-content{text-align:center;width:100%;max-width:700px}.loading-players{justify-content:center;align-items:center;gap:var(--space-2xl);display:flex}.loading-player{align-items:center;gap:var(--space-sm);flex-direction:column;display:flex}.loading-portrait{border-radius:var(--radius-full);border:3px solid var(--gold-kente);object-fit:cover;background:var(--graphite);width:120px;height:120px}.loading-p1 .loading-portrait{border-color:var(--contour-purple)}.loading-p2 .loading-portrait{border-color:var(--straight-cyan)}.loading-name{font-family:var(--font-display);color:var(--white);letter-spacing:.05em;font-size:1.1rem;font-weight:700}.loading-role{font-family:var(--font-display);letter-spacing:.15em;color:var(--gold-kente);font-size:.7rem;font-weight:600}.loading-vs{align-items:center;gap:var(--space-sm);flex-direction:column;display:flex}.loading-vs-text{font-family:var(--font-display);color:var(--gold-light);text-shadow:0 0 20px #f0d06066;font-size:2rem;font-weight:900}.loading-location{font-family:var(--font-body);color:var(--ash);letter-spacing:.1em;font-size:.8rem}.loading-bar{background:var(--graphite);width:200px;height:3px;margin:var(--space-xl) auto 0;border-radius:2px;overflow:hidden}.loading-bar-fill{background:var(--gold-kente);border-radius:2px;width:100%;height:100%;animation:1.5s ease-in-out infinite loadingSlide}@keyframes loadingSlide{0%{transform:translate(-100%)}50%{transform:translate(0)}to{transform:translate(100%)}}.loading-shout{font-family:var(--font-display);color:var(--gold-light);letter-spacing:.1em;text-shadow:0 0 40px #f0d06099,0 0 80px #d4a0174d;opacity:0;transition:all .3s var(--ease-out-back);margin-top:var(--space-xl);font-size:clamp(3rem,10vw,6rem);font-weight:900;transform:scale(.3)}.loading-shout.visible{opacity:1;animation:1.2s ease-out forwards shoutSlam;transform:scale(1)}@keyframes shoutSlam{0%{opacity:0;transform:scale(2)}15%{opacity:1;transform:scale(1)}70%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1.1)}}#gameplay-hud{justify-content:flex-end;padding:0}.hud-top{width:100%;padding:var(--space-sm) var(--space-lg);pointer-events:all;background:linear-gradient(#0000 0%,#000000a6 100%);justify-content:space-between;align-items:flex-end;display:flex}.hud-player{align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--glass-blur));backdrop-filter:blur(var(--glass-blur));border-radius:var(--radius-md);border:1px solid var(--glass-border);flex-direction:row;min-width:140px;display:flex}.hud-p1{border-left:3px solid var(--contour-purple)}.hud-p2{border-right:3px solid var(--straight-cyan);text-align:right;flex-direction:row-reverse}.hud-name{font-family:var(--font-display);color:var(--gold-kente);font-size:.85rem;font-weight:700;line-height:1.1}.hud-role{font-family:var(--font-display);letter-spacing:.15em;text-transform:uppercase;font-size:.5rem;font-weight:600}.hud-p1 .hud-role{color:var(--contour-light)}.hud-p2 .hud-role{color:var(--straight-light)}.hud-portrait{border-radius:var(--radius-full);object-fit:cover;border:2px solid var(--gold-kente);background:var(--graphite);flex-shrink:0;width:36px;height:36px}.hud-p1 .hud-portrait{border-color:var(--contour-purple)}.hud-p2 .hud-portrait{border-color:var(--straight-cyan)}.hud-player{position:relative}.shield-indicator{z-index:5;filter:drop-shadow(0 0 4px #f0d06099);animation:1.5s ease-in-out infinite shield-pulse;position:absolute;top:-4px;left:28px}@keyframes shield-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(1.15)}}.zoom-toggle{background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--glass-blur));backdrop-filter:blur(var(--glass-blur));border:1px solid var(--glass-border);border-radius:var(--radius-md);color:var(--cloud);font-family:var(--font-display);letter-spacing:.1em;cursor:pointer;align-items:center;gap:4px;padding:6px 12px;font-size:.65rem;font-weight:600;transition:all .2s;display:flex}.zoom-toggle:hover{border-color:var(--gold-kente);color:var(--gold-light)}.zoom-toggle.active{border-color:var(--gold-kente);color:var(--gold-light);background:#d4a01726}.zoom-icon{align-items:center;display:flex}.hud-score{font-family:var(--font-display);text-align:center;background:#00000059;border-radius:10px;min-width:1.2em;padding:2px 10px;font-size:3.1rem;font-weight:900;line-height:.9}.hud-p1 .hud-score{color:var(--contour-light);text-shadow:0 0 16px #9b59b6d9,0 2px 6px #0009;box-shadow:inset 0 0 0 1px #9b59b666}.hud-p2 .hud-score{color:var(--straight-light);text-shadow:0 0 16px #00bcd4d9,0 2px 6px #0009;box-shadow:inset 0 0 0 1px #00bcd466}.hud-score.bump{animation:.4s ease-out scoreBump}@keyframes scoreBump{0%{transform:scale(1)}40%{transform:scale(1.35)}to{transform:scale(1)}}.hud-center{flex-direction:column;align-items:center;display:flex}.timing-track{justify-content:center;align-items:center;width:220px;height:50px;display:flex;position:relative}.timing-target{z-index:2;border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;display:flex;position:absolute;right:10px}.timing-ring{border:3px solid var(--gold-kente);border-radius:50%;width:100%;height:100%;animation:1s ease-in-out infinite timingPulse;box-shadow:0 0 12px #d4a01780,inset 0 0 8px #d4a01733}@keyframes timingPulse{0%,to{opacity:.7;transform:scale(1)}50%{opacity:1;transform:scale(1.1)}}.timing-target.approaching .timing-ring{border-color:var(--gold-light);animation:.35s ease-in-out infinite timingPulseUrgent;box-shadow:0 0 18px #f0d060b3,0 0 36px #d4a0174d,inset 0 0 10px #f0d06040}@keyframes timingPulseUrgent{0%,to{transform:scale(1)}50%{transform:scale(1.18)}}.timing-marker{background:linear-gradient(135deg, var(--gold-kente), var(--gold-dark));z-index:3;will-change:transform, box-shadow, opacity;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;transition:transform 60ms ease-out,box-shadow 60ms ease-out,opacity .25s ease-out;display:flex;position:absolute;left:0;box-shadow:0 0 10px #d4a01799}.timing-icon{font-size:1.1rem;line-height:1}.timing-grade{font-family:var(--font-display);letter-spacing:.06em;text-align:center;white-space:nowrap;opacity:0;pointer-events:none;text-shadow:0 2px 12px #000000b3;flex-direction:column;align-items:center;font-size:1.9rem;font-weight:800;line-height:1;display:flex;position:absolute;top:-70px;left:50%;transform:translate(-50%)}.timing-grade-cue{font-family:var(--font-body);letter-spacing:.14em;text-transform:uppercase;color:var(--cloud);opacity:.9;text-shadow:0 1px 6px #000c;margin-top:4px;font-size:.72rem;font-weight:600;display:block}.timing-grade.perfect{color:var(--gold-light);text-shadow:0 0 20px #f0d060e6,0 2px 12px #000000b3}.timing-grade.good{color:var(--green-light);text-shadow:0 0 16px #00a85fb3,0 2px 12px #000000b3}.timing-grade.miss{color:var(--red-ghana);text-shadow:0 0 18px #ce1126bf,0 2px 12px #000000b3}.timing-grade.show{animation:.95s cubic-bezier(.2,1.3,.4,1) forwards gradePop}@keyframes gradePop{0%{opacity:0;transform:translate(-50%)translateY(8px)scale(.65)}16%{opacity:1;transform:translate(-50%)translateY(0)scale(1.18)}32%{transform:translate(-50%)translateY(0)scale(1)}78%{opacity:1;transform:translate(-50%)translateY(0)scale(1)}to{opacity:0;transform:translate(-50%)translateY(-16px)scale(1)}}.hud-bottom{text-align:center;width:100%;padding-bottom:var(--space-xs)}.hud-controls{padding:0 var(--space-xl);justify-content:space-between;display:flex}.control-hint{color:var(--smoke);letter-spacing:.05em;font-size:.6rem}.hud-flash{font-family:var(--font-display);letter-spacing:.2em;opacity:0;pointer-events:none;text-shadow:0 0 40px;font-size:clamp(2rem,6vw,4rem);font-weight:900;transition:opacity .1s;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.hud-flash.show{animation:flashText 1.2s var(--ease-out-expo) forwards}.hud-flash.contour-flash{color:var(--contour-purple)}.hud-flash.straight-flash{color:var(--straight-cyan)}.foot-cam-overlay{box-sizing:border-box;border:3px solid var(--gold-kente);isolation:isolate;z-index:20;opacity:0;pointer-events:none;background:0 0;border-radius:50%;width:min(160px,29vmin);height:min(160px,29vmin);transition:opacity .4s,transform .4s;position:absolute;top:64px;right:20px;overflow:hidden;transform:scale(.8);box-shadow:0 0 20px #d4a0174d,inset 0 0 10px #00000080}.foot-cam-overlay.visible{opacity:1;transform:scale(1)}.foot-cam-label{font-family:var(--font-display);color:var(--gold-light);letter-spacing:.15em;text-shadow:0 1px 3px #000c;text-transform:uppercase;white-space:nowrap;z-index:2;font-size:.55rem;font-weight:700;position:absolute;bottom:8px;left:50%;transform:translate(-50%)}.foot-cam-sides{z-index:2;pointer-events:none;position:absolute;inset:0}.foot-cam-side{color:#fff8e7;min-width:0;max-width:49%;font-family:var(--font-display);letter-spacing:.04em;text-transform:uppercase;background:#130f0cc2;border:1px solid #ffffff57;border-radius:5px;grid-template-rows:auto auto;grid-template-columns:auto minmax(0,1fr);align-items:center;column-gap:3px;padding:3px 3px 2px;font-size:.42rem;font-weight:800;line-height:1.05;display:grid;position:absolute}.foot-cam-side-p1{border-color:#c67effd1}.foot-cam-side-p2{text-align:right;border-color:#00cddcd1}.foot-cam-side-p1{top:4%;left:37%}.foot-cam-side-p2{top:45%;left:13%}.foot-cam-player{color:var(--gold-light)}.foot-cam-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.foot-cam-foot{color:var(--gold-light);letter-spacing:.08em;grid-column:1/-1;font-size:.38rem}.foot-cam-foot.is-miss{color:#ff9a78}.foot-cam-result{color:#fff8e7;max-width:calc(100% - 16px);font-family:var(--font-display);letter-spacing:.07em;text-align:center;text-overflow:ellipsis;text-shadow:0 1px 3px #000000e6;text-transform:uppercase;white-space:nowrap;z-index:2;font-size:.43rem;font-weight:900;line-height:1;position:absolute;bottom:25px;right:50%;overflow:hidden;transform:translate(50%)}.slowmo-toggle{border:2px solid var(--gold-kente);color:var(--gold-light);font-family:var(--font-display);letter-spacing:.1em;cursor:pointer;z-index:25;pointer-events:all;background:#1a1a1acc;border-radius:999px;align-items:center;gap:6px;padding:6px 14px;font-size:.65rem;font-weight:700;transition:all .3s;display:flex;position:absolute;bottom:20px;right:20px}.slowmo-toggle.active{background:#d4a01733;box-shadow:0 0 15px #d4a0174d}.slowmo-toggle:not(.active){opacity:.5;border-color:var(--slate)}.slowmo-icon{font-size:1rem}.match-result-overlay{z-index:50;opacity:0;visibility:hidden;pointer-events:none;justify-content:center;align-items:center;width:100%;height:100%;transition:opacity .6s,visibility .6s;display:flex;position:absolute;top:0;left:0}.match-result-overlay:before{content:"";-webkit-backdrop-filter:blur(12px);background:#0d0d0db3;position:absolute;inset:0}.match-result-overlay.visible{opacity:1;visibility:visible;pointer-events:all}.match-point-banner[hidden],.azonto-banner[hidden]{display:none!important}.result-overlay-content{text-align:center;z-index:1;position:relative}.result-overlay-title{font-family:var(--font-display);color:var(--gold-kente);text-shadow:0 0 40px #d4a01766;margin-bottom:.2em;font-size:clamp(2.5rem,8vw,5rem);font-weight:900;animation:2s ease-in-out infinite resultPulse}.result-overlay-title.is-lose{color:var(--red-ghana);text-shadow:0 0 40px #ce112680;animation:none}@keyframes resultPulse{0%,to{text-shadow:0 0 40px #d4a01766;transform:scale(1)}50%{text-shadow:0 0 60px #d4a01799;transform:scale(1.03)}}.result-overlay-winner{font-family:var(--font-display);color:var(--white);margin-bottom:.1em;font-size:clamp(1.5rem,4vw,2.5rem);font-weight:700}.result-overlay-role{font-family:var(--font-display);letter-spacing:.15em;margin-bottom:1em;font-size:1rem;font-weight:600}.result-overlay-score{font-family:var(--font-display);color:var(--gold-light);letter-spacing:.1em;margin-bottom:2em;font-size:clamp(1.2rem,3vw,2rem);font-weight:800}.result-overlay-actions{flex-wrap:wrap;justify-content:center;gap:16px;margin-bottom:1.5em;display:flex}.result-overlay-btn{font-family:var(--font-display);letter-spacing:.1em;border:2px solid var(--gold-kente);border-radius:var(--radius-xl);color:var(--gold-light);cursor:pointer;background:#1a1a1acc;align-items:center;gap:8px;padding:12px 28px;font-size:.85rem;font-weight:700;transition:all .3s;display:flex}.result-overlay-btn:hover{background:#d4a01733;transform:scale(1.05);box-shadow:0 0 20px #d4a0174d}.result-overlay-btn .btn-icon{font-size:1.1em}.replay-btn{border-color:var(--gold-kente);background:#d4a01726}.charselect-btn{border-color:var(--contour-purple);color:var(--contour-light)}.menu-btn{border-color:var(--slate);color:var(--ash)}.result-overlay-hint{color:var(--smoke);letter-spacing:.1em;font-size:.7rem}.stats-moment{gap:var(--space-md);margin:var(--space-xl) 0;flex-wrap:wrap;justify-content:center;display:flex}.stat-card{padding:var(--space-md) var(--space-lg);background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--glass-blur));backdrop-filter:blur(var(--glass-blur));border:1px solid var(--glass-border);border-radius:var(--radius-lg);flex-direction:column;align-items:center;gap:4px;min-width:80px;display:flex}.stat-value{color:var(--gold-kente);text-shadow:0 0 20px #d4a01766;font-family:JetBrains Mono,monospace;font-size:1.8rem;font-weight:800}.stat-label{font-family:var(--font-display);color:var(--smoke);letter-spacing:.15em;text-transform:uppercase;font-size:.6rem;font-weight:600}#result-screen{background:radial-gradient(#d4a0171a 0%,#0000 60%),linear-gradient(#0d0d0deb 0%,#000000f2 100%)}.result-content{text-align:center}.result-title{font-family:var(--font-display);color:var(--gold-kente);letter-spacing:.3em;text-shadow:0 0 60px #d4a01780,0 0 120px #d4a01733;margin-bottom:var(--space-xl);font-size:clamp(2rem,8vw,5rem);font-weight:900;animation:2s ease-in-out infinite victoryPulse}.result-winner{margin-bottom:var(--space-xl)}.winner-name{font-family:var(--font-display);color:var(--white);margin-bottom:var(--space-sm);font-size:clamp(1.5rem,4vw,2.5rem);font-weight:800}.winner-role{font-family:var(--font-display);letter-spacing:.2em;font-size:1rem;font-weight:600}.result-score-display{font-family:var(--font-display);color:var(--cloud);margin-bottom:var(--space-2xl);font-size:1.5rem;font-weight:700}.result-actions{gap:var(--space-lg);justify-content:center;display:flex}.result-btn{padding:var(--space-md) var(--space-2xl);background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--glass-blur));backdrop-filter:blur(var(--glass-blur));border:2px solid var(--gold-kente);border-radius:var(--radius-lg);color:var(--gold-kente);font-family:var(--font-display);letter-spacing:.15em;cursor:pointer;transition:all var(--duration-normal) var(--ease-out-expo);font-size:.9rem;font-weight:700}.result-btn:hover{background:var(--gold-kente);color:var(--obsidian);box-shadow:var(--shadow-glow-gold);transform:translateY(-2px)}.result-share-btn{background:linear-gradient(135deg,#d4a0171f,#d4a0170a);border-color:#d4a01780;font-size:.8rem}.result-share-btn:hover{border-color:var(--gold-kente);background:linear-gradient(135deg,#d4a0174d,#d4a0171f)}@keyframes pulse{0%,to{opacity:1}50%{opacity:.3}}.pulse{animation:2s ease-in-out infinite pulse}@keyframes beatPulse{0%{opacity:.8;border-width:4px;transform:scale(1)}to{opacity:0;border-width:1px;transform:scale(1.5)}}@keyframes flashText{0%{opacity:0;transform:translate(-50%,-50%)scale(.5)}20%{opacity:1;transform:translate(-50%,-50%)scale(1.1)}40%{transform:translate(-50%,-50%)scale(1)}to{opacity:0;transform:translate(-50%,-50%)scale(1)translateY(-20px)}}@keyframes victoryPulse{0%,to{text-shadow:0 0 60px #d4a01780,0 0 120px #d4a01733}50%{text-shadow:0 0 80px #d4a017cc,0 0 160px #d4a01766}}@keyframes slideInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}#team-setup-screen{justify-content:center;align-items:center;gap:var(--space-md);padding:var(--space-lg);flex-direction:column;display:flex}.team-setup-header{text-align:center}.team-setup-title{font-family:var(--font-display);background:linear-gradient(135deg, var(--gold-kente), var(--gold-light));-webkit-text-fill-color:transparent;letter-spacing:.1em;-webkit-background-clip:text;background-clip:text;font-size:2rem;font-weight:800}.team-setup-subtitle{font-family:var(--font-body);color:#fff9;margin-top:4px;font-size:.85rem}.team-setup-panels{justify-content:center;align-items:flex-start;gap:var(--space-lg);width:100%;max-width:700px;display:flex}.team-panel{align-items:center;gap:var(--space-sm);padding:var(--space-md);background:var(--glass-bg);border:1px solid var(--glass-border);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:12px;flex-direction:column;flex:1;display:flex}.team-panel-title{font-family:var(--font-display);letter-spacing:.08em;font-size:1.1rem;font-weight:700}.contour-title{color:var(--contour-light)}.straight-title{color:var(--straight-light)}.team-vs-divider{font-family:var(--font-display);color:var(--gold-kente);align-self:center;padding:20px 0;font-size:1.8rem;font-weight:900}.team-captain-slot{margin-bottom:var(--space-xs)}.captain-portrait{border:3px solid var(--gold-kente);border-radius:10px;flex-direction:column;justify-content:flex-end;align-items:center;width:80px;height:90px;display:flex;position:relative;overflow:hidden}.captain-img{object-fit:cover;border-radius:8px;width:100%;height:100%;position:absolute;inset:0}.captain-name{z-index:1;font-family:var(--font-display);color:#fff;text-shadow:0 1px 3px #000c;padding:2px 6px;font-size:.6rem;font-weight:700;position:relative}.captain-badge{background:var(--gold-kente);color:#000;z-index:1;letter-spacing:.05em;border-radius:3px;padding:1px 4px;font-size:.45rem;font-weight:800;position:absolute;top:4px;right:4px}.team-member-slots{flex-direction:column;gap:6px;width:100%;display:flex}.child-slot{height:40px;font-family:var(--font-display);border-radius:8px;justify-content:center;align-items:center;font-size:.7rem;font-weight:600;display:flex;position:relative;overflow:hidden}.child-slot.filled{color:#fff;background:#ffffff14;border:1px solid #ffffff26;padding-left:48px}.child-slot.empty{color:#ffffff4d;border:2px dashed #fff3;font-size:1.2rem}.child-img{object-fit:cover;border-radius:7px 0 0 7px;width:40px;height:40px;position:absolute;top:0;left:0}.team-roster{text-align:center;width:100%;max-width:600px}.roster-label{font-family:var(--font-display);color:#ffffff80;letter-spacing:.1em;margin-bottom:var(--space-sm);font-size:.75rem}.roster-grid{grid-template-columns:repeat(6,1fr);justify-items:center;gap:8px;display:grid}.roster-cell{cursor:pointer;background:#ffffff0a;border:1px solid #0000;border-radius:8px;flex-direction:column;align-items:center;gap:4px;padding:6px;transition:all .2s;display:flex}.roster-cell:hover{border-color:var(--gold-kente);background:#ffffff1a;transform:translateY(-2px)}.roster-portrait-img{object-fit:cover;border:2px solid #ffffff26;border-radius:50%;width:40px;height:40px}.roster-name{font-family:var(--font-display);color:#ffffffb3;text-align:center;font-size:.55rem;font-weight:600}.roster-cell.assigned-contour{opacity:.4;border-color:var(--contour-light)}.roster-cell.assigned-straight{opacity:.4;border-color:var(--straight-light)}.roster-cell.assigned-ffa{opacity:.4;border-color:var(--gold-kente)}.roster-cell.is-unavailable{opacity:.38;filter:grayscale();cursor:not-allowed}.roster-cell.is-unavailable:hover{border-color:var(--slate);transform:none}.team-setup-actions{gap:var(--space-md);margin-top:var(--space-sm);display:flex}.team-btn{font-family:var(--font-display);border:1px solid var(--glass-border);background:var(--glass-bg);color:#fff;cursor:pointer;letter-spacing:.05em;border-radius:8px;padding:10px 24px;font-size:.85rem;font-weight:700;transition:all .3s}.team-btn:hover{background:#ffffff26;transform:translateY(-2px)}.team-btn.primary{border-color:var(--gold-kente);color:var(--gold-light);background:linear-gradient(135deg,#d4a0174d,#d4a0171a)}.team-btn.primary:hover{background:linear-gradient(135deg,#d4a01780,#d4a01733)}.team-setup-hint{font-family:var(--font-body);color:#ffffff59;text-align:center;font-size:.7rem}.team-queue-hud{pointer-events:none;justify-content:space-between;padding:0 6px;display:flex;position:absolute;bottom:90px;left:0;right:0}.queue-side{border:1px solid var(--glass-border);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#00000073;border-radius:12px;flex-direction:row;align-items:center;gap:8px;padding:6px 12px;display:flex}.contour-queue{border-left:3px solid var(--contour-purple)}.straight-queue{border-right:3px solid var(--straight-cyan);flex-direction:row-reverse}.queue-label{font-family:var(--font-display);letter-spacing:.08em;opacity:.85;font-size:.62rem;font-weight:700}.contour-queue .queue-label{color:var(--contour-light)}.straight-queue .queue-label{color:var(--straight-light)}.queue-portraits{flex-direction:row;gap:5px;display:flex}.queue-icon{color:#fff;text-shadow:0 1px 2px #000c;border:2px solid #fff3;border-radius:50%;justify-content:center;align-items:center;width:34px;height:34px;font-size:.55rem;transition:all .3s;display:flex;position:relative;overflow:hidden}.queue-icon-img{object-fit:cover;border-radius:50%;width:100%;height:100%}.queue-crown{text-shadow:0 1px 3px #000000e6;z-index:1;font-size:.45rem;position:absolute;bottom:0;right:0}.queue-icon.current{border-color:var(--gold-kente);transform:scale(1.15);box-shadow:0 0 8px #d4a01780}.queue-icon.mother{border-color:var(--gold-light)}.queue-count{font-family:var(--font-display);color:var(--gold-kente);font-size:.8rem;font-weight:800}.ffa-circle-hud{background:var(--glass-bg);border:1px solid var(--glass-border);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);pointer-events:none;border-radius:12px;flex-direction:column;align-items:center;gap:4px;padding:10px 14px;display:flex;position:absolute;bottom:70px;left:50%;transform:translate(-50%)}.ffa-circle-ring{flex-wrap:wrap;justify-content:center;gap:6px;display:flex}.ffa-player-icon{color:#fff;text-shadow:0 1px 2px #000c;border:2px solid #fff3;border-radius:50%;justify-content:center;align-items:center;width:30px;height:30px;font-size:.55rem;transition:all .3s;display:flex;position:relative;overflow:hidden}.ffa-icon-img{object-fit:cover;border-radius:50%;width:100%;height:100%}.ffa-icon-badge{z-index:1;text-shadow:0 1px 3px #000000e6;font-size:.5rem;position:absolute}.ffa-player-icon.runner{border-color:var(--gold-kente);transform:scale(1.2);box-shadow:0 0 10px #d4a01799}.ffa-player-icon.opponent{border-color:var(--straight-light);box-shadow:0 0 8px #00bcd480}.ffa-remaining{font-family:var(--font-display);color:#fff9;letter-spacing:.05em;font-size:.65rem;font-weight:700}.comeback-banner{z-index:100;pointer-events:none;opacity:0;background:linear-gradient(135deg,#d4a017e6,#f0d060cc);border-radius:12px;padding:16px 40px;transition:all .4s;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)scale(.8)}.comeback-banner.visible{opacity:1;transform:translate(-50%,-50%)scale(1)}.comeback-text{font-family:var(--font-display);color:#000;letter-spacing:.1em;text-transform:uppercase;font-size:1.4rem;font-weight:900}.elimination-flash{z-index:100;pointer-events:none;opacity:0;background:linear-gradient(135deg,#ce1126d9,#a00014bf);border-radius:10px;padding:12px 32px;transition:all .3s;position:absolute;top:40%;left:50%;transform:translate(-50%,-50%)scale(.8)}.elimination-flash.visible{opacity:1;transform:translate(-50%,-50%)scale(1)}.elimination-text{font-family:var(--font-display);color:#fff;letter-spacing:.08em;text-shadow:0 2px 4px #00000080;font-size:1.1rem;font-weight:800}.char-funfact{font-family:var(--font-body);color:var(--ash);margin-top:var(--space-xs);opacity:.85;font-size:.75rem;font-style:italic;line-height:1.4}.char-funfact:before{content:"“";color:var(--gold-kente);font-size:1rem}.char-funfact:after{content:"”";color:var(--gold-kente);font-size:1rem}.char-stats{font-family:var(--font-display);color:var(--gold-light);letter-spacing:.08em;margin-top:var(--space-xs);opacity:.7;font-size:.7rem}.touch-zone{z-index:200;pointer-events:auto;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;touch-action:none;flex-direction:column;justify-content:flex-end;align-items:center;width:50%;padding-bottom:118px;transition:opacity .15s;display:none;position:fixed;top:0;bottom:0}.touch-zone.visible{display:flex}.touch-left{background:linear-gradient(90deg,#9b59b61f,#0000 70%);left:0}.touch-right{background:linear-gradient(-90deg,#00bcd41f,#0000 70%);right:0}.touch-box{-webkit-backdrop-filter:blur(6px);background:#0000006b;border:2px solid #ffffff47;border-radius:16px;flex-direction:column;align-items:center;gap:4px;padding:12px 22px;transition:transform .12s,border-color .12s,box-shadow .12s,background .12s;display:flex;box-shadow:0 6px 20px #00000059}.touch-left .touch-box{border-color:#9b59b68c}.touch-right .touch-box{border-color:#00bcd48c}.touch-label{font-family:var(--font-display);color:#ffffffd9;letter-spacing:.18em;text-transform:uppercase;font-size:.9rem;font-weight:800}.touch-foot{opacity:.9;color:#fff;font-size:1.9rem}.touch-foot .icon{width:34px;height:34px}.touch-zone.chosen .touch-box{border-color:var(--gold-light);background:#d4a0174d;transform:scale(1.12);box-shadow:0 0 26px #f0d060b3}.touch-zone.chosen .touch-label,.touch-zone.chosen .touch-foot{color:#fff;opacity:1}.touch-zone.faded{opacity:.22}.streak-counter{font-family:var(--font-display);color:var(--gold-light);letter-spacing:.1em;text-shadow:0 0 12px #f0d06099;opacity:0;justify-content:center;align-items:center;height:20px;font-size:.9rem;font-weight:800;transition:opacity .3s;display:flex}.streak-counter.visible{opacity:1;animation:.4s ease-out streakPulse}@keyframes streakPulse{0%{transform:scale(1.4)}to{transform:scale(1)}}.streak-callout{font-family:var(--font-display);color:var(--gold-light);letter-spacing:.15em;text-shadow:0 0 20px #f0d060cc,0 4px 8px #00000080;z-index:150;pointer-events:none;opacity:0;transition:all .3s var(--ease-out-expo);font-size:clamp(1.5rem,4vw,2.5rem);font-weight:900;position:fixed;top:35%;left:50%;transform:translate(-50%,-50%)scale(.5)}.streak-callout.visible{opacity:1;animation:1.2s ease-out forwards calloutSlam;transform:translate(-50%,-50%)scale(1)}@keyframes calloutSlam{0%{opacity:1;transform:translate(-50%,-50%)scale(1.5)}20%{opacity:1;transform:translate(-50%,-50%)scale(1)}80%{opacity:1;transform:translate(-50%,-50%)scale(1)}to{opacity:0;transform:translate(-50%,-55%)scale(.9)}}.crowd-bar{background:#ffffff14;border-radius:2px;width:100%;max-width:220px;height:4px;margin-top:4px;overflow:hidden}.crowd-bar-fill{background:var(--gold-kente);border-radius:2px;width:0%;height:100%;transition:width .4s,background .4s}@media (width<=768px){.menu-cards{flex-direction:column;align-items:center}.menu-card{width:90%;max-width:300px}.role-cards{flex-direction:column;align-items:center}.role-card{width:90%;max-width:300px}.charselect-grid{grid-template-columns:repeat(7,1fr);gap:3px}.charselect-header{gap:var(--space-sm);flex-direction:column}.hud-controls{flex-direction:column;align-items:center}.team-setup-panels{align-items:center;gap:var(--space-md);flex-direction:column}.roster-grid{grid-template-columns:repeat(4,1fr)}.location-selector{gap:8px}.loc-card{min-width:100px;height:65px}.timing-track{width:180px;height:45px}.timing-target{width:38px;height:38px}.timing-marker{width:30px;height:30px}}@media (hover:none) and (pointer:coarse){.touch-zone.visible{display:flex}}.sweat-meter{z-index:30;opacity:0;align-items:center;gap:8px;transition:opacity .4s;display:flex;position:fixed;bottom:70px;left:50%;transform:translate(-50%)}.sweat-meter.visible{opacity:1}.sweat-label{font-family:var(--font-display);color:var(--gold-kente);letter-spacing:.12em;text-transform:uppercase;font-size:10px;font-weight:700}.sweat-bar{background:#ffffff14;border-radius:4px;width:160px;height:8px;position:relative;overflow:visible}.sweat-fill{width:0%;height:100%;transition:width .4s var(--ease-out-expo);background:linear-gradient(90deg,#f39c12 0%,#e74c3c 50%,#ff6b35 100%);border-radius:4px;box-shadow:0 0 8px #f39c1266}.sweat-fill.ablaze{background:linear-gradient(90deg,#ff6b35 0%,red 40%,#ff6b35 70%,#fc0 100%);animation:.5s ease-in-out infinite alternate sweat-pulse;box-shadow:0 0 16px #f009,0 0 32px #ff6b354d}@keyframes sweat-pulse{0%{filter:brightness()}to{filter:brightness(1.3)}}.sweat-tier-mark{background:#ffffff4d;border-radius:1px;width:2px;height:12px;position:absolute;top:-2px;transform:translate(-1px)}.sweat-tier-label{font-family:var(--font-display);color:#ff6b35;text-transform:uppercase;letter-spacing:.08em;min-width:60px;font-size:11px;font-weight:800;transition:color .3s}.sweat-tier-label.ablaze{color:red;text-shadow:0 0 8px #ff000080;animation:.5s ease-in-out infinite alternate sweat-pulse}.signature-step-btn{cursor:pointer;z-index:31;background:linear-gradient(135deg,#d4a01733,#d4a0171a);border:1px solid #d4a01780;border-radius:24px;align-items:center;gap:8px;padding:8px 20px;transition:all .3s;animation:1.5s ease-in-out infinite signature-glow;display:flex;position:fixed;bottom:110px;left:50%;transform:translate(-50%)}.signature-step-btn:hover{background:linear-gradient(135deg,#d4a01766,#d4a01733);transform:translate(-50%)scale(1.05)}@keyframes signature-glow{0%,to{box-shadow:0 0 12px #d4a0174d}50%{box-shadow:0 0 24px #d4a01799,0 0 48px #d4a01726}}.signature-name{font-family:var(--font-display);color:var(--gold-kente);letter-spacing:.1em;text-transform:uppercase;font-size:12px;font-weight:700}.signature-key{color:var(--bg-dark);background:var(--gold-kente);border-radius:4px;padding:2px 6px;font-family:JetBrains Mono,monospace;font-size:10px;font-weight:700}.match-point-banner{z-index:40;animation:match-point-in .6s var(--ease-out-expo) forwards;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}@keyframes match-point-in{0%{opacity:0;filter:blur(12px);transform:translate(-50%,-50%)scale(2)}60%{opacity:1;filter:blur();transform:translate(-50%,-50%)scale(1)}to{opacity:1;transform:translate(-50%,-50%)scale(1)}}.match-point-text{font-family:var(--font-display);color:#0000;letter-spacing:.15em;text-shadow:0 0 40px #d4a0174d;text-transform:uppercase;background:linear-gradient(135deg,#d4a017,#f5d058,#d4a017);-webkit-background-clip:text;background-clip:text;font-size:clamp(2rem,8vw,5rem);font-weight:900}.azonto-banner{z-index:45;pointer-events:none;height:100vh;animation:azonto-in .8s var(--ease-out-expo) forwards;background:radial-gradient(circle,#ff6b3526 0%,#0000 70%);justify-content:center;align-items:center;display:flex;position:fixed;top:0;left:0;right:0}@keyframes azonto-in{0%{opacity:0;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}50%{opacity:1;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}to{opacity:1;-webkit-backdrop-filter:blur();backdrop-filter:blur()}}.azonto-text{font-family:var(--font-display);color:#0000;letter-spacing:.12em;text-transform:uppercase;text-shadow:0 0 60px #ff6b3580;background:linear-gradient(135deg,#ff6b35,gold,#ff6b35,#ce1126) 0 0/300% 100%;-webkit-background-clip:text;background-clip:text;font-size:clamp(3rem,12vw,7rem);font-weight:900;animation:1.5s linear infinite azonto-shimmer}@keyframes azonto-shimmer{0%{background-position:0%}to{background-position:300%}}.venue-rule-badge{font-family:var(--font-display);color:var(--gold-kente);letter-spacing:.1em;text-transform:uppercase;z-index:25;opacity:0;background:#00000080;border:1px solid #d4a0174d;border-radius:16px;padding:4px 16px;font-size:11px;font-weight:600;animation:.6s .5s forwards fade-in-down;position:fixed;top:8px;left:50%;transform:translate(-50%)}@keyframes fade-in-down{0%{opacity:0;transform:translate(-50%)translateY(-10px)}to{opacity:1;transform:translate(-50%)translateY(0)}}.menu-nav-row{margin-top:var(--space-lg);flex-wrap:wrap;justify-content:center;gap:12px;display:flex}.menu-nav-btn{-webkit-backdrop-filter:blur(8px);border-radius:var(--radius-xl);min-height:44px;color:var(--gold-kente);font-family:var(--font-display);letter-spacing:.12em;cursor:pointer;transition:background var(--duration-fast) ease, border-color var(--duration-fast) ease, transform var(--duration-fast) var(--ease-out-back), box-shadow var(--duration-fast) ease;touch-action:manipulation;background:#0d0d0d80;border:1px solid #d4a01733;padding:12px 24px;font-size:.75rem;font-weight:700}.menu-nav-btn:hover{background:#d4a0171f;border-color:#d4a01766;box-shadow:0 4px 20px #d4a01726}.menu-nav-btn:active{transform:scale(.94)}.menu-nav-btn.gauntlet-btn{background:linear-gradient(135deg,#d4a01726,#a0780c1a);border-color:#d4a01759}#daily-screen,#run-screen,#settings-screen{background:radial-gradient(at 50% -10%,#d4a01724 0%,#0000 55%),linear-gradient(#0d0d0de6 0%,#16110af2 100%)}#daily-screen .daily-seed{color:#ffffff80}#daily-screen .daily-subtitle{color:#ffffffbd}#daily-screen .daily-opp-diff{color:#ffffffa3}#settings-screen .stat-label,#settings-screen .mode-stat-wr,#settings-screen .fav-char-games,#settings-screen .fav-char-foot{color:#ffffff9e}.daily-gauntlet{flex-direction:column;justify-content:center;align-items:center;min-height:100vh;padding:40px 20px;display:flex}.daily-header{text-align:center;margin-bottom:40px}.daily-title{font-family:var(--font-display);color:#0000;background:linear-gradient(135deg, var(--gold-kente), var(--gold-light));letter-spacing:.12em;-webkit-background-clip:text;background-clip:text;margin:0;font-size:clamp(2rem,5vw,3.5rem);font-weight:900}.daily-seed{color:#ffffff4d;margin:8px 0;font-family:JetBrains Mono,monospace;font-size:14px;font-weight:700}.daily-subtitle{font-family:var(--font-body);color:#ffffff80;margin:4px 0;font-size:14px}.daily-opponents{gap:24px;margin-bottom:40px;display:flex}.daily-opponent-card{text-align:center;background:#ffffff08;border:1px solid #ffffff14;border-radius:16px;width:160px;padding:24px 16px;transition:all .4s}.daily-opponent-card.current{border-color:var(--gold-kente);transform:scale(1.05);box-shadow:0 0 20px #d4a01733}.daily-opponent-card.defeated{opacity:.4;border-color:var(--green-ghana)}.daily-round{font-family:var(--font-display);color:var(--gold-kente);letter-spacing:.15em;text-transform:uppercase;margin-bottom:12px;font-size:11px;font-weight:700}.daily-opp-portrait{border:2px solid #ffffff1f;border-radius:50%;width:72px;height:72px;margin:0 auto 12px;overflow:hidden}.daily-opp-img{object-fit:cover;border-radius:50%;width:100%;height:100%}.daily-opponent-card.defeated .daily-opp-portrait{filter:grayscale()}.daily-opponent-card.current .daily-opp-portrait{border-color:var(--gold-kente);box-shadow:0 0 12px #d4a0174d}.daily-opp-name{font-family:var(--font-display);color:#fff;margin-bottom:8px;font-size:20px;font-weight:800}.daily-opp-diff{color:#fff6;letter-spacing:.1em;font-family:JetBrains Mono,monospace;font-size:11px;font-weight:700}.daily-action{text-align:center}.daily-complete{font-family:var(--font-display);color:var(--green-light);margin-bottom:16px;font-size:18px;font-weight:800}.daily-attempted{font-family:var(--font-display);color:#ffffff80;margin-bottom:8px;font-size:16px;font-weight:600}.daily-score{color:var(--gold-kente);margin-bottom:16px;font-family:JetBrains Mono,monospace;font-size:24px;font-weight:700}.menu-btn{color:var(--gold-kente);font-family:var(--font-display);letter-spacing:.12em;cursor:pointer;background:linear-gradient(135deg,#d4a01726,#d4a01714);border:1px solid #d4a01766;border-radius:24px;margin:8px;padding:12px 32px;font-size:14px;font-weight:700;transition:all .3s}.menu-btn:hover{background:linear-gradient(135deg,#d4a0174d,#d4a01726);transform:translateY(-2px);box-shadow:0 4px 20px #d4a01740}.settings-content{flex-direction:column;gap:32px;max-width:560px;min-height:100vh;margin:0 auto;padding:40px 20px;display:flex}.settings-header{text-align:center;margin-bottom:8px}.settings-title{font-family:var(--font-display);color:#0000;background:linear-gradient(135deg, var(--gold-kente), var(--gold-light));letter-spacing:.1em;-webkit-background-clip:text;background-clip:text;margin:0;font-size:clamp(1.5rem,4vw,2.5rem);font-weight:900}.settings-section{background:#ffffff05;border:1px solid #ffffff0f;border-radius:16px;padding:20px 24px}.settings-section-title{font-family:var(--font-display);color:var(--gold-kente);letter-spacing:.2em;text-transform:uppercase;margin:0 0 16px;font-size:11px;font-weight:700}.stats-grid{grid-template-columns:repeat(4,1fr);gap:12px;display:grid}.stat-card{text-align:center;background:#ffffff08;border-radius:12px;padding:16px 8px}.stat-value{color:#fff;font-family:JetBrains Mono,monospace;font-size:24px;font-weight:800;display:block}.stat-label{font-family:var(--font-display);color:#fff6;letter-spacing:.12em;margin-top:4px;font-size:9px;font-weight:600;display:block}.mode-stats-row{gap:12px;display:flex}.mode-stat-card{text-align:center;background:#ffffff08;border-radius:12px;flex:1;padding:12px 8px}.mode-stat-label{font-family:var(--font-display);color:var(--gold-kente);letter-spacing:.1em;margin-bottom:4px;font-size:11px;font-weight:700;display:block}.mode-stat-record{color:#fff;font-family:JetBrains Mono,monospace;font-size:14px;font-weight:700;display:block}.mode-stat-wr{font-family:var(--font-body);color:#fff6;margin-top:2px;font-size:11px;display:block}.fav-char-card{background:#d4a0170f;border:1px solid #d4a01726;border-radius:12px;align-items:center;gap:16px;padding:12px 16px;display:flex}.fav-char-name{font-family:var(--font-display);color:#fff;font-size:18px;font-weight:800}.fav-char-games,.fav-char-foot{font-family:var(--font-body);color:#fff6;font-size:12px}.settings-slider-row{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.settings-slider-row label{font-family:var(--font-body);color:#ffffffb3;font-size:13px;font-weight:500}.settings-slider{width:200px;accent-color:var(--gold-kente)}.settings-toggle-row{justify-content:space-between;align-items:center;display:flex}.settings-toggle-row label{font-family:var(--font-body);color:#ffffffb3;font-size:13px;font-weight:500}.toggle-btn{color:#ffffff80;font-family:var(--font-display);letter-spacing:.1em;cursor:pointer;background:#ffffff0d;border:1px solid #ffffff26;border-radius:16px;padding:6px 20px;font-size:11px;font-weight:700;transition:all .3s}.toggle-btn.active{color:var(--gold-kente);background:#d4a01726;border-color:#d4a01766}.settings-actions{justify-content:center;gap:16px;padding-bottom:40px;display:flex}html,body{touch-action:manipulation;-webkit-tap-highlight-color:transparent;overscroll-behavior:none}@supports (height:100dvh){html,body{height:100dvh}}.screen{padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}.menu-card{--card-accent:var(--gold-kente)}.menu-card[data-mode=duel]{--card-accent:#e74c3c}.menu-card[data-mode=teams]{--card-accent:#9b59b6}.menu-card[data-mode=ffa]{--card-accent:#00bcd4}.menu-card:before{opacity:1;background:linear-gradient(90deg, var(--gold-kente), var(--card-accent), #ce1126, var(--gold-kente));background-size:250% 100%;height:4px;animation:5s linear infinite kenteFlow}@keyframes kenteFlow{0%{background-position:0%}to{background-position:250%}}.menu-card .card-icon{color:var(--card-accent);filter:drop-shadow(0 0 10px var(--card-accent));transition:transform var(--duration-normal) var(--ease-out-back), filter var(--duration-normal) ease}.menu-card.selected,.menu-card:focus-visible{border-color:var(--card-accent);box-shadow:0 0 28px -8px var(--card-accent), var(--shadow-lg)}#menu-screen.active .menu-card{animation:cardRise .55s var(--ease-out-expo) backwards}#menu-screen.active .menu-card:nth-child(2){animation-delay:90ms}#menu-screen.active .menu-card:nth-child(3){animation-delay:.18s}#menu-screen.active .menu-settings,#menu-screen.active .menu-nav-row{animation:cardRise .55s var(--ease-out-expo) .26s backwards}@keyframes cardRise{0%{opacity:0;transform:translateY(22px)scale(.97)}}@media (hover:hover){.menu-card:hover{border-color:var(--card-accent)}.menu-card:hover .card-icon{transform:scale(1.15)rotate(-4deg)}}@media (prefers-reduced-motion:reduce){.menu-card:before,#menu-screen.active .menu-card,#menu-screen.active .menu-settings,#menu-screen.active .menu-nav-row{animation:none}}@media (width<=768px){.charselect-grid{grid-template-rows:none;grid-template-columns:repeat(4,1fr);gap:8px;max-width:480px}.char-cell{padding:6px}.char-cell-name{font-size:.78rem}.char-cell-day{font-size:.55rem}.char-cell-school{padding:2px 6px;font-size:.55rem;top:6px;right:6px}.charselect-info{gap:var(--space-md);padding:var(--space-sm) var(--space-md);min-height:64px}.char-portrait{width:48px;height:48px}.char-name{font-size:1rem}.charselect-header{padding:0 var(--space-md)}.charselect-players{gap:var(--space-md)}}@media (width<=980px){.charselect-content{gap:var(--space-md);grid-template-columns:minmax(0,1fr) minmax(190px,240px)}.charselect-grid,.charselect-info{max-width:none}}@media (width<=768px){.charselect-content{gap:var(--space-sm);grid-template-columns:1fr;width:min(620px,100%)}.charselect-audition{padding:var(--space-sm);order:-1}.charselect-audition-controls{margin-top:var(--space-sm)}}@media (width<=768px) and (orientation:landscape){#charselect-screen{padding:max(8px, env(safe-area-inset-top)) max(8px, env(safe-area-inset-right)) max(8px, env(safe-area-inset-bottom)) max(8px, env(safe-area-inset-left));background:#0d0d0d29;justify-content:flex-start}#charselect-screen:before{opacity:.16}.charselect-header{margin-bottom:var(--space-sm);flex-direction:row;padding:0 52px 0 0}.charselect-title{letter-spacing:.12em;font-size:1rem}.charselect-content{grid-template-columns:minmax(0,1fr) minmax(178px,27vw);gap:8px;width:100%}.charselect-audition{background:#0a080514;order:0;align-self:center}.charselect-roster{align-items:stretch}.charselect-grid{margin-bottom:var(--space-xs);grid-template-rows:repeat(2,1fr);grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.char-cell{padding:4px}.charselect-info{min-height:56px}.charselect-hint{display:none}}@media (width<=680px){.hud-top{padding:var(--space-xs) var(--space-sm);padding-top:max(var(--space-xs), env(safe-area-inset-top));align-items:flex-start;gap:6px}.hud-player{gap:6px;min-width:0;padding:5px 8px}.hud-name{font-size:.68rem}.hud-portrait{width:30px;height:30px}.hud-score{border-radius:8px;padding:0 6px;font-size:2rem}.timing-track{width:132px;height:38px}.timing-target{width:32px;height:32px}.timing-marker{width:24px;height:24px}.crowd-bar{max-width:132px}.foot-cam-overlay{width:min(160px,29vmin);height:min(160px,29vmin);top:64px;right:20px}.foot-cam-label{font-size:.45rem}.foot-cam-side{text-align:center;grid-template-rows:auto auto auto;grid-template-columns:1fr;padding:2px 3px;font-size:.36rem}.foot-cam-side-p2{text-align:center}.foot-cam-player,.foot-cam-name,.foot-cam-foot{grid-column:1}.foot-cam-name{text-overflow:clip;overflow:visible}.foot-cam-foot,.foot-cam-result{font-size:.33rem}.foot-cam-result{bottom:23px}.touch-zone{padding-bottom:calc(96px + env(safe-area-inset-bottom))}.touch-box{border-radius:20px;padding:16px 24px}.touch-label{font-size:1rem}.touch-foot .icon{width:42px;height:42px}.sweat-meter{bottom:calc(56px + env(safe-area-inset-bottom))}.sweat-bar{width:110px}.slowmo-toggle,.zoom-toggle{padding:8px 12px}.hud-flash{font-size:clamp(1.8rem,10vw,2.8rem)}.venue-rule-badge{top:max(8px, env(safe-area-inset-top));white-space:nowrap;text-overflow:ellipsis;max-width:92vw;overflow:hidden}.daily-opponents{flex-direction:column;gap:12px}.daily-opponent-card{width:min(300px,80vw);padding:16px}.stats-grid{grid-template-columns:repeat(2,1fr)}}@media (hover:none) and (pointer:coarse){.menu-hint,.charselect-hint,.hud-controls{display:none}.setting-btn,.menu-nav-btn,.menu-btn,.charselect-back-btn,.toggle-btn{min-height:44px}.char-cell:active{border-color:var(--gold-kente);transform:scale(.96)}.menu-card:active{transform:scale(.98)}}.pause-overlay{z-index:9000;justify-content:center;align-items:center;gap:var(--space-lg);text-align:center;padding:var(--space-xl);padding-left:max(var(--space-xl), env(safe-area-inset-left));padding-right:max(var(--space-xl), env(safe-area-inset-right));-webkit-backdrop-filter:blur(10px);background:#080603d1;flex-direction:column;display:none;position:fixed;inset:0}.pause-overlay.visible{display:flex}.pause-title{font-family:var(--font-display);color:var(--gold-kente);letter-spacing:.2em;text-shadow:0 0 30px #d4a01759;font-size:clamp(1.6rem,5vw,2.6rem);font-weight:900}.pause-buttons{justify-content:center;gap:var(--space-md);flex-wrap:wrap;display:flex}.pause-danger-btn{color:#e74c3c;border-color:#e74c3c80}.pause-danger-btn:hover{background:linear-gradient(135deg,#e74c3c40,#e74c3c1a);box-shadow:0 4px 20px #e74c3c40}.pause-hint{font-family:var(--font-body);color:#ffffff80;letter-spacing:.08em;font-size:.75rem}.pause-toggle{top:max(12px, env(safe-area-inset-top));left:max(12px, env(safe-area-inset-left));z-index:30;border:2px solid var(--gold-kente);border-radius:var(--radius-full);width:40px;height:40px;color:var(--gold-kente);cursor:pointer;pointer-events:all;background:#1a1a1acc;justify-content:center;align-items:center;transition:all .2s;display:flex;position:fixed}.pause-toggle:hover{background:#d4a01733;transform:scale(1.06)}.pause-toggle:active{transform:scale(.94)}@media (height<=500px){.pause-toggle{width:36px;height:36px}.pause-overlay{gap:var(--space-md)}}#rotate-overlay{z-index:9999;justify-content:center;align-items:center;gap:var(--space-md);text-align:center;padding:var(--space-xl);background:radial-gradient(at 50% -10%,#d4a01724 0%,#0000 55%),linear-gradient(#0d0d0df7 0%,#16110afc 100%);flex-direction:column;display:none;position:fixed;inset:0}.rotate-phone{color:var(--gold-kente);filter:drop-shadow(0 0 16px #d4a01766);animation:rotatePhoneHint 2s var(--ease-in-out) infinite}@keyframes rotatePhoneHint{0%,20%{transform:rotate(0)}55%,80%{transform:rotate(-90deg)}to{transform:rotate(-90deg)}}.rotate-title{font-family:var(--font-display);color:var(--gold-kente);letter-spacing:.15em;text-shadow:0 0 30px #d4a0174d;font-size:clamp(1.4rem,6vw,2.2rem);font-weight:900}.rotate-sub{font-family:var(--font-body);color:#ffffffb3;font-size:.95rem}@media (orientation:portrait) and (pointer:coarse) and (width<=1024px){#rotate-overlay{display:flex}}@media (prefers-reduced-motion:reduce){.rotate-phone{animation:none;transform:rotate(-90deg)}}@media (height<=500px){.hud-top{padding:var(--space-xs) var(--space-sm);padding-left:max(var(--space-sm), env(safe-area-inset-left));padding-right:max(var(--space-sm), env(safe-area-inset-right));align-items:flex-start;gap:6px;transform:translateY(-44px)}.hud-player{gap:6px;min-width:0;padding:4px 8px}.hud-score{border-radius:8px;padding:0 6px;font-size:1.8rem}.hud-player{gap:4px;padding:3px 5px}.hud-name{font-size:.6rem}.hud-role{letter-spacing:.08em;font-size:.42rem}.hud-portrait{width:24px;height:24px}.hud-score{padding:0 4px;font-size:1.55rem}.timing-track{width:132px;height:36px}.timing-target{width:30px;height:30px}.timing-marker{width:22px;height:22px}.crowd-bar{max-width:132px}.hud-controls{display:none}.foot-cam-overlay{width:min(160px,29vmin);height:min(160px,29vmin);top:64px;right:20px}.foot-cam-label{font-size:.45rem}.foot-cam-side{text-align:center;grid-template-rows:auto auto auto;grid-template-columns:1fr;font-size:.36rem}.foot-cam-side-p1{left:37%}.foot-cam-side-p2{left:13%}.foot-cam-player,.foot-cam-name,.foot-cam-foot{grid-column:1}.foot-cam-name{text-overflow:clip;overflow:visible}.touch-zone{padding-bottom:calc(36px + env(safe-area-inset-bottom))}.touch-box{padding:10px 18px}.touch-label{font-size:.85rem}.sweat-meter{bottom:calc(42px + env(safe-area-inset-bottom))}.sweat-bar{width:110px}.hud-flash{font-size:clamp(1.6rem,8vh,2.4rem)}.streak-callout{top:28%}.menu-header{margin-bottom:var(--space-sm)}.menu-cards{gap:var(--space-md);margin-bottom:var(--space-sm)}.menu-card{width:220px;padding:var(--space-md) var(--space-sm)}.menu-settings{margin-bottom:var(--space-sm)}.menu-nav-row{margin-top:var(--space-sm)}.charselect-header{margin-bottom:var(--space-sm)}.charselect-info{min-height:56px;padding:var(--space-xs) var(--space-md)}.char-portrait{width:40px;height:40px}.charselect-grid{max-width:620px;margin-bottom:var(--space-xs);gap:4px}.charselect-players{gap:var(--space-sm)}.team-queue-hud{padding-left:max(6px, env(safe-area-inset-left));align-items:flex-start;padding-right:calc(min(160px,29vmin) + 32px);top:48px;bottom:auto}.queue-side{gap:6px;padding:4px 8px}.queue-icon{width:26px;height:26px}.ffa-circle-hud{padding:6px 10px;top:44px;bottom:auto}.menu-title{font-size:1.4rem}.menu-card .card-icon{margin-bottom:2px;font-size:1.6rem}.menu-card .card-title{font-size:.95rem}.menu-card .card-desc{font-size:.7rem}.menu-card .card-detail{display:none}}@media (height<=500px) and (orientation:landscape){#gameplay-hud .hud-top{background:0 0;align-items:flex-end;transform:none}#gameplay-hud .hud-top>.hud-player{margin-bottom:6px}#gameplay-hud .hud-top>.hud-center{transform:translateY(-44px)}#gameplay-hud #btn-slowmo{bottom:max(4px, env(safe-area-inset-bottom))}}@media (width<=768px){.location-grid{gap:var(--space-md);max-width:420px;padding:0 var(--space-md);grid-template-columns:1fr}.loc-select-name{font-size:1.05rem}.loc-select-desc{font-size:.8rem}}@media (height<=500px){.location-select-header{margin-bottom:var(--space-sm)}.location-grid{scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;gap:var(--space-md);max-width:100vw;padding:var(--space-xs) max(var(--space-lg), env(safe-area-inset-right)) var(--space-md) max(var(--space-lg), env(safe-area-inset-left));display:flex;overflow-x:auto}.location-grid::-webkit-scrollbar{display:none}.loc-select-card{scroll-snap-align:center;aspect-ratio:16/10;flex:0 0 min(46vw,360px)}.loc-select-overlay{padding:var(--space-sm) var(--space-md)}.loc-select-name{font-size:1rem}.loc-select-desc{-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.75rem;display:-webkit-box;overflow:hidden}.location-select-hint{margin-top:var(--space-xs)}.roleselect-title{margin-bottom:var(--space-sm);font-size:1.3rem}.role-cards{gap:var(--space-lg);margin-bottom:var(--space-sm)}.role-card{width:280px;padding:var(--space-sm) var(--space-lg) var(--space-md)}.role-anim-area{height:68px;margin-bottom:var(--space-sm)}.role-card-title{margin-bottom:4px;font-size:1rem}.role-rule{margin-bottom:2px;font-size:.78rem}.roleselect-hint{margin-bottom:var(--space-sm);font-size:.65rem}.how-to-play-btn{padding:6px 14px;font-size:.7rem}.team-setup-title{font-size:1.2rem}.team-setup-panels{gap:var(--space-sm);max-width:92vw}.team-panel{padding:var(--space-xs) var(--space-sm);gap:6px}.team-panel-title{font-size:.85rem}.roster-grid{gap:5px}.roster-cell{padding:3px}.daily-gauntlet{min-height:0;padding:12px 16px}.daily-header{margin-bottom:var(--space-sm)}.daily-title{font-size:1.3rem}.daily-opponents{margin-bottom:var(--space-sm);gap:12px}.daily-opponent-card{width:132px;padding:10px 8px}.daily-opp-portrait{width:44px;height:44px;margin-bottom:6px}.daily-opp-name{margin-bottom:4px;font-size:14px}.daily-round{margin-bottom:6px;font-size:9px}.settings-content{gap:16px;min-height:0;padding:16px}}.settings-reset-btn{color:var(--red-ghana)!important;background:#ce11261a!important;border-color:#ce11264d!important}.settings-reset-btn:hover{background:#ce112633!important}.run-gauntlet{min-height:100%;padding:var(--space-2xl) var(--space-lg);justify-content:center;align-items:center;gap:var(--space-xl);flex-direction:column;display:flex}.run-header{text-align:center}.run-title{font-family:var(--font-display);color:var(--gold-kente);letter-spacing:.25em;text-shadow:0 0 30px #d4a0174d;margin-bottom:var(--space-xs);font-size:clamp(2rem,6vw,3.5rem);font-weight:800}.run-seed{color:var(--smoke);letter-spacing:.1em;font-family:JetBrains Mono,monospace;font-size:.8rem}.run-status{gap:var(--space-xl);margin:var(--space-md) 0;justify-content:center;font-size:1.1rem;display:flex}.run-lives{font-size:1.4rem}.run-score{color:var(--gold-kente);letter-spacing:.05em;font-family:JetBrains Mono,monospace;font-weight:700}.run-progress{font-family:var(--font-body);color:var(--smoke);letter-spacing:.1em;font-size:.85rem}.run-roster{gap:var(--space-md);padding:var(--space-md) 0;flex-wrap:nowrap;justify-content:center;max-width:100%;display:flex;overflow-x:auto}.run-opponent-card{padding:var(--space-md);background:var(--glass-bg);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:var(--radius-lg);min-width:85px;transition:all .3s var(--ease-out-expo);border:2px solid #ffffff14;flex-direction:column;align-items:center;gap:4px;display:flex;position:relative}.run-opponent-card.current{border-color:var(--gold-kente);transform:scale(1.08);box-shadow:0 0 20px #d4a0174d}.run-opponent-card.defeated{opacity:.5;border-color:#00bc324d}.run-opponent-card.upcoming{opacity:.6}.run-round{font-family:var(--font-display);color:var(--smoke);letter-spacing:.15em;font-size:.65rem;font-weight:800}.run-opp-portrait{background:#ffffff0d;border-radius:50%;width:48px;height:48px;overflow:hidden}.run-opp-img{object-fit:cover;width:100%;height:100%}.run-opp-name{font-family:var(--font-display);color:var(--cloud);letter-spacing:.1em;text-transform:uppercase;font-size:.65rem;font-weight:700}.run-opp-diff{color:var(--smoke);letter-spacing:.05em;font-family:JetBrains Mono,monospace;font-size:.55rem}.run-defeated-badge{color:#4caf50;font-size:.7rem;position:absolute;top:4px;right:4px}.run-action{align-items:center;gap:var(--space-md);flex-direction:column;display:flex}.run-fight-btn{color:var(--gold-kente)!important;padding:var(--space-md) var(--space-2xl)!important;background:linear-gradient(135deg,#d4a01733,#d4a0170d)!important;border-color:#d4a01766!important;font-size:1.1rem!important}.run-fight-btn:hover{box-shadow:0 0 25px #d4a0174d}.run-quit-btn{opacity:.6;font-size:.75rem!important}.run-end{text-align:center;align-items:center;gap:var(--space-xl);flex-direction:column;display:flex}.run-end-title{font-family:var(--font-display);letter-spacing:.15em;color:var(--gold-kente);text-shadow:0 0 40px #d4a01766;font-size:clamp(2rem,7vw,4rem);font-weight:900}.run-end-stats{gap:var(--space-md);flex-wrap:wrap;justify-content:center;display:flex}.run-high-score{color:var(--smoke);letter-spacing:.1em;font-family:JetBrains Mono,monospace;font-size:.85rem}.run-end-actions{gap:var(--space-md);flex-wrap:wrap;justify-content:center;display:flex}.run-retry-btn{color:var(--gold-kente)!important;background:linear-gradient(135deg,#d4a01733,#d4a0170d)!important;border-color:#d4a01766!important}.gauntlet-btn{color:var(--gold-kente)!important;background:linear-gradient(135deg,#d4a0171a,#d4a01708)!important;border-color:#d4a0174d!important}.gauntlet-btn:hover{box-shadow:0 0 20px #d4a01733}body.tab-away #game-canvas,body.tab-away #ui-overlay{filter:grayscale(.7)brightness(.5);transition:filter .3s}body.tab-away:after{content:"";z-index:99999;pointer-events:none;background:#00000059;position:fixed;inset:0}.tmj-decision-overlay{z-index:9500;pointer-events:none;flex-direction:column;justify-content:center;align-items:center;gap:1.2rem;animation:.4s ease-out forwards tmj-fade-in;display:none;position:fixed;inset:0}.tmj-decision-overlay.active{pointer-events:auto;display:flex}@keyframes tmj-fade-in{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.tmj-countdown{color:#fff;text-shadow:0 0 30px #863bffcc,0 0 60px #863bff66,0 4px 8px #0009;letter-spacing:.05em;font-family:JetBrains Mono,monospace;font-size:clamp(4rem,12vw,8rem);font-weight:900;animation:.8s ease-in-out infinite tmj-pulse}@keyframes tmj-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.85;transform:scale(1.15)}}.tmj-label{color:#ffffffd9;text-transform:uppercase;letter-spacing:.3em;text-shadow:0 2px 8px #00000080;font-family:Outfit,sans-serif;font-size:clamp(.9rem,3vw,1.5rem);font-weight:700}.tmj-buttons{gap:2rem;margin-top:.5rem;display:flex}.tmj-foot-btn{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);cursor:pointer;-webkit-tap-highlight-color:transparent;background:#0000008c;border:3px solid #fff6;border-radius:20px;flex-direction:column;justify-content:center;align-items:center;gap:.5rem;width:clamp(100px,25vw,160px);height:clamp(100px,25vw,160px);transition:all .15s;display:flex}.tmj-foot-btn:hover,.tmj-foot-btn:active{background:#863bff4d;border-color:#863bffe6;transform:scale(1.08);box-shadow:0 0 30px #863bff80}.tmj-foot-icon{font-size:clamp(2rem,6vw,3.5rem);line-height:1}.tmj-foot-text{color:#fff;letter-spacing:.15em;font-family:JetBrains Mono,monospace;font-size:clamp(.8rem,2vw,1.1rem);font-weight:800}.tmj-timer-bar{background:#ffffff26;border-radius:3px;width:clamp(200px,50vw,340px);height:6px;margin-top:1rem;overflow:hidden}.tmj-timer-fill{transform-origin:0;background:linear-gradient(90deg,#863bff,#47bfff);border-radius:3px;width:100%;height:100%;transition:transform .1s linear}#tutorial-screen{background:radial-gradient(at 50% -10%,#d4a01724 0%,#0000 55%),linear-gradient(#0d0d0deb 0%,#16110af5 100%);justify-content:safe center}.tut-shell{gap:var(--space-lg);flex-direction:column;width:min(560px,94vw);display:flex}.tut-header{justify-content:space-between;align-items:center;gap:var(--space-md);display:flex}.tut-step-label{align-items:baseline;gap:.4rem;display:flex}.tut-step-index{font-family:var(--font-display);color:var(--gold-kente);text-shadow:0 0 16px #d4a01759;font-size:1.6rem;font-weight:900;line-height:1}.tut-step-of{color:var(--smoke);font-family:JetBrains Mono,monospace;font-size:.8rem}.tut-step-title{font-family:var(--font-display);letter-spacing:.16em;color:var(--cloud);margin-left:.35rem;font-size:1.05rem;font-weight:800}.tut-skip-btn{border-radius:var(--radius-xl);min-height:36px;color:var(--ash);font-family:var(--font-display);letter-spacing:.14em;cursor:pointer;transition:background var(--duration-fast) ease, color var(--duration-fast) ease;touch-action:manipulation;background:#ffffff0d;border:1px solid #ffffff1f;padding:8px 16px;font-size:.7rem;font-weight:700}.tut-skip-btn:hover{color:var(--white);background:#ffffff1a}.tut-stage{min-height:300px;padding:var(--space-xl);background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius-xl);-webkit-backdrop-filter:blur(var(--glass-blur));box-shadow:var(--shadow-lg);text-align:center;align-items:center;gap:var(--space-md);flex-direction:column;display:flex}.tut-lead{font-family:var(--font-body);color:var(--cloud);max-width:44ch;font-size:.98rem;line-height:1.5}.tut-sub{font-family:var(--font-body);color:var(--smoke);max-width:46ch;font-size:.82rem;line-height:1.45}.tut-hot{color:var(--gold-light);font-weight:700}.tut-c{color:var(--contour-light);font-weight:700}.tut-s{color:var(--straight-light);font-weight:700}.tut-footer{justify-content:space-between;align-items:center;gap:var(--space-md);display:flex}.tut-nav-btn{border-radius:var(--radius-xl);min-height:44px;color:var(--gold-kente);font-family:var(--font-display);letter-spacing:.12em;cursor:pointer;transition:background var(--duration-fast) ease, border-color var(--duration-fast) ease, transform var(--duration-fast) var(--ease-out-back), box-shadow var(--duration-fast) ease;touch-action:manipulation;background:#0d0d0d80;border:1px solid #d4a01738;padding:12px 22px;font-size:.78rem;font-weight:700}.tut-nav-btn:hover{background:#d4a0171f;border-color:#d4a0176b;box-shadow:0 4px 20px #d4a01726}.tut-nav-btn:active{transform:scale(.95)}.tut-back-btn{color:var(--ash);border-color:#ffffff24}.tut-nav-btn.primary{background:linear-gradient(135deg, var(--gold-kente), var(--gold-light));color:var(--obsidian);border-color:var(--gold-light);box-shadow:0 4px 24px #d4a01759}.tut-dots{gap:8px;display:flex}.tut-dot{border-radius:var(--radius-full);width:9px;height:9px;transition:background var(--duration-fast) ease, transform var(--duration-fast) ease;background:#ffffff29}.tut-dot.done{background:#d4a01773}.tut-dot.active{background:var(--gold-kente);transform:scale(1.35);box-shadow:0 0 10px #d4a01780}.tut-beat-track{width:100%;max-width:460px;height:78px;margin:var(--space-sm) 0 var(--space-lg);position:relative}.tut-beat-line{background:linear-gradient(90deg, #d4a01740, #d4a01780 82%, var(--gold-kente) 100%);border-radius:2px;height:3px;position:absolute;top:26px;left:0;right:0}.tut-beat-pip{flex-direction:column;align-items:center;gap:0;display:flex;position:absolute;top:26px;transform:translate(-50%,-50%)}.tut-beat-dot{border-radius:var(--radius-full);background:var(--graphite);border:2px solid #d4a01799;width:14px;height:14px;transition:transform .12s,box-shadow .12s,background .12s}.tut-beat-pip.thrust .tut-beat-dot{border-color:var(--gold-light);background:#d4a01740;width:18px;height:18px}.tut-beat-name{font-family:var(--font-display);letter-spacing:.06em;color:var(--smoke);white-space:nowrap;font-size:.56rem;font-weight:700;position:absolute;top:20px}.tut-beat-pip.thrust .tut-beat-name{color:var(--gold-light)}.tut-beat-pip.pulse .tut-beat-dot{background:var(--gold-kente);transform:scale(1.55);box-shadow:0 0 16px #d4a017cc}.tut-beat-marker{background:var(--gold-light);border-radius:2px;width:4px;height:40px;position:absolute;top:26px;left:0;transform:translate(-50%,-50%);box-shadow:0 0 14px #f0d060e6}@media (prefers-reduced-motion:reduce){.tut-beat-pip.pulse .tut-beat-dot{transform:scale(1.2)}}.tut-beat-legend{font-family:var(--font-display);letter-spacing:.14em;color:var(--ash);font-size:.72rem;font-weight:700}.tut-cta{border-radius:var(--radius-xl);min-height:48px;color:var(--gold-light);font-family:var(--font-display);letter-spacing:.1em;cursor:pointer;transition:background var(--duration-fast) ease, transform var(--duration-fast) var(--ease-out-back), box-shadow var(--duration-fast) ease;touch-action:manipulation;background:linear-gradient(135deg,#d4a01733,#a0780c1a);border:1px solid #d4a01766;padding:14px 30px;font-size:.9rem;font-weight:800}.tut-cta:hover{background:#d4a01740;box-shadow:0 0 24px #d4a01740}.tut-cta:active{transform:scale(.96)}.tut-foot-zones{gap:var(--space-md);width:100%;max-width:420px;display:flex}.tut-foot-zone{padding:var(--space-md) var(--space-sm);border-radius:var(--radius-lg);color:var(--gold-kente);cursor:pointer;touch-action:manipulation;background:#ffffff08;border:2px solid #ffffff14;flex-direction:column;flex:1;align-items:center;gap:4px;transition:border-color .15s,background .15s,transform .1s;display:flex}.tut-foot-zone:hover{background:#d4a0170f;border-color:#d4a01766}.tut-foot-zone:active{transform:scale(.97)}.tut-foot-zone.armed{border-color:var(--gold-light);background:#d4a0171f;animation:.5s ease-in-out infinite tutArmPulse;box-shadow:0 0 22px #d4a0174d}@keyframes tutArmPulse{0%,to{box-shadow:0 0 18px #d4a01740}50%{box-shadow:0 0 30px #d4a0178c}}.tut-foot-zone.flash-hit{border-color:var(--green-light);animation:.5s ease-out tutFlashHit}.tut-foot-zone.flash-late{border-color:var(--red-ghana);animation:.5s ease-out tutFlashLate}@keyframes tutFlashHit{0%{background:#00a85f73;transform:scale(1.05)}to{background:#ffffff08;transform:scale(1)}}@keyframes tutFlashLate{0%{background:#ce112666}to{background:#ffffff08}}@media (prefers-reduced-motion:reduce){.tut-foot-zone.armed{animation:none}}.tut-foot-key{color:var(--smoke);letter-spacing:.02em;font-family:JetBrains Mono,monospace;font-size:.62rem}.tut-foot-side{font-family:var(--font-display);letter-spacing:.12em;color:var(--cloud);font-size:.85rem;font-weight:800}.tut-shoe{width:34px;height:46px;color:var(--gold-kente)}.tut-verdict{min-height:1.4rem;font-family:var(--font-display);letter-spacing:.04em;font-size:.95rem;font-weight:800;transition:color .15s}.tut-verdict-cue{color:var(--ash)}.tut-verdict-open{color:var(--gold-light);text-shadow:0 0 14px #f0d06066}.tut-verdict-hit{color:var(--green-light)}.tut-verdict-late,.tut-verdict-miss{color:var(--red-ghana)}.tut-verdict-done{color:var(--gold-kente)}.tut-reps{align-items:center;gap:8px;display:flex}.tut-reps-label{font-family:var(--font-display);letter-spacing:.12em;color:var(--smoke);margin-right:4px;font-size:.62rem;font-weight:700}.tut-rep-dot{border-radius:var(--radius-full);background:0 0;border:2px solid #d4a01766;width:12px;height:12px;transition:background .2s,transform .2s}.tut-rep-dot.filled{background:var(--gold-kente);border-color:var(--gold-light);transform:scale(1.1);box-shadow:0 0 10px #d4a01780}.tut-rule-cases{gap:var(--space-md);width:100%;max-width:460px;margin:var(--space-xs) 0;display:flex}.tut-rule-case{padding:var(--space-md) var(--space-sm);border-radius:var(--radius-lg);opacity:.55;background:#ffffff05;border:2px solid #ffffff14;flex-direction:column;flex:1;align-items:center;gap:8px;transition:opacity .35s,border-color .35s,transform .35s,box-shadow .35s;display:flex}.tut-rule-case.contour{color:var(--contour-purple)}.tut-rule-case.straight{color:var(--straight-cyan)}.tut-rule-case.active{opacity:1;transform:translateY(-3px)}.tut-rule-case.contour.active{border-color:var(--contour-purple);box-shadow:var(--shadow-glow-contour);background:#9b59b614}.tut-rule-case.straight.active{border-color:var(--straight-cyan);box-shadow:var(--shadow-glow-straight);background:#00bcd414}.tut-rule-case.score-pop{animation:tutScorePop .5s var(--ease-out-back)}@keyframes tutScorePop{0%{transform:translateY(-3px)scale(1)}40%{transform:translateY(-6px)scale(1.05)}to{transform:translateY(-3px)scale(1)}}@media (prefers-reduced-motion:reduce){.tut-rule-case.score-pop{animation:none}}.tut-rule-feet{gap:6px;display:flex}.tut-rule-case .tut-shoe{color:currentColor;width:30px;height:42px}.tut-rule-verdict{font-family:var(--font-display);letter-spacing:.1em;color:var(--cloud);font-size:.72rem;font-weight:700}.tut-rule-verdict strong{color:currentColor}.tut-rule-winner{font-family:var(--font-display);letter-spacing:.08em;border-radius:var(--radius-sm);padding:3px 8px;font-size:.66rem;font-weight:800}.contour-win{color:var(--contour-light);background:#9b59b629}.straight-win{color:var(--straight-light);background:#00bcd429}.tut-finish{align-items:center;gap:var(--space-sm);flex-direction:column;display:flex}.tut-finish-badge{border-radius:var(--radius-full);background:linear-gradient(135deg, var(--gold-kente), var(--gold-light));width:56px;height:56px;color:var(--obsidian);margin-bottom:var(--space-xs);justify-content:center;align-items:center;font-size:1.8rem;font-weight:900;display:flex;box-shadow:0 0 26px #d4a01780}.tut-finish-title{font-family:var(--font-display);letter-spacing:.12em;color:var(--gold-kente);text-shadow:0 0 18px #d4a0174d;font-size:1.2rem;font-weight:900}.tut-finish-recap{margin:var(--space-sm) 0;text-align:left;flex-direction:column;gap:8px;width:100%;max-width:400px;list-style:none;display:flex}.tut-finish-recap li{font-family:var(--font-body);color:var(--cloud);border-radius:var(--radius-md);background:#ffffff08;border:1px solid #ffffff0d;align-items:baseline;gap:10px;padding:8px 12px;font-size:.86rem;display:flex}.tut-finish-recap li span:first-child{color:var(--gold-kente);font-weight:800}@media (width<=680px){.tut-stage{padding:var(--space-md);min-height:260px}.tut-lead{font-size:.9rem}.tut-rule-cases{gap:var(--space-sm)}.tut-rule-case{padding:var(--space-sm) 4px}.tut-foot-zones{gap:var(--space-sm)}.tut-nav-btn{padding:11px 16px;font-size:.72rem}.tut-step-title{font-size:.9rem}#menu-screen{padding:max(env(safe-area-inset-top), 8px) 10px max(env(safe-area-inset-bottom), 10px);justify-content:center;gap:0}#menu-screen .menu-header{margin:0 0 8px}#menu-screen .menu-title{letter-spacing:.14em;font-size:1.35rem}#menu-screen .menu-cards{flex-flow:column;gap:8px;width:100%;max-width:420px;margin:0 0 10px}#menu-screen .menu-card{text-align:left;grid-template-columns:auto 1fr;align-items:center;gap:0 12px;width:100%;max-width:none;padding:9px 14px;display:grid;transform:none!important}#menu-screen .menu-card .card-icon{grid-row:1/3;margin:0;font-size:1.5rem}#menu-screen .menu-card .card-icon .icon,#menu-screen .menu-card .card-icon-svg{width:30px;height:30px}#menu-screen .menu-card .card-title{grid-column:2;margin:0;font-size:1rem}#menu-screen .menu-card .card-desc{grid-column:2;margin:0;font-size:.72rem}#menu-screen .menu-card .card-detail{display:none}#menu-screen .menu-settings{width:100%;max-width:420px;margin:0 0 8px}#menu-screen .setting-group{flex-direction:column;align-items:stretch;gap:4px;margin:0 0 6px}#menu-screen .setting-group label{text-align:center;font-size:.68rem}#menu-screen .setting-options{justify-content:center;gap:6px}#menu-screen .setting-btn{padding:6px 10px;font-size:.74rem}#menu-screen .menu-hint{display:none}#menu-screen .menu-nav-row{flex-wrap:wrap;justify-content:center;gap:6px;margin:2px 0 0}#menu-screen .menu-nav-btn{padding:7px 12px;font-size:.72rem}}@media (width<=680px) and (height<=620px){#menu-screen .menu-title{font-size:1.15rem}#menu-screen .menu-card{padding:6px 12px}#menu-screen .menu-card .card-desc{display:none}#menu-screen .menu-cards{gap:6px;margin-bottom:7px}#menu-screen .menu-nav-btn{padding:6px 10px}}.charselect-audition{align-items:stretch;gap:var(--space-sm);min-height:224px;box-shadow:none;-webkit-backdrop-filter:none;background:0 0;border:0;border-radius:0;grid-template-columns:minmax(0,1fr) minmax(148px,164px);padding:0;display:grid}.charselect-audition-view{border-radius:var(--radius-lg);pointer-events:none;background:#0a080509;border:1px solid #d4a0171f;min-width:0;min-height:100%}.charselect-audition-rail{min-width:0;padding:var(--space-md);-webkit-backdrop-filter:blur(8px);background:#0a0805b8;border:1px solid #d4a0174d;border-radius:8px;box-shadow:0 12px 32px #0003}@media (width>=769px){.charselect-content{grid-template-columns:minmax(0,1fr) minmax(320px,400px)}}@media (width<=1000px) and (height<=540px) and (orientation:landscape){#charselect-screen{padding:max(8px, env(safe-area-inset-top)) max(8px, env(safe-area-inset-right)) max(8px, env(safe-area-inset-bottom)) max(8px, env(safe-area-inset-left));background:#0d0d0d29;justify-content:flex-start;overflow:hidden}#charselect-screen:before{opacity:.16}.charselect-header{margin-bottom:var(--space-sm);flex-direction:row;padding:0 52px 0 0}.charselect-title{letter-spacing:.12em;font-size:1rem}.charselect-content{flex:auto;grid-template-rows:clamp(172px,46vh,176px) minmax(0,1fr);grid-template-columns:minmax(0,1fr);align-items:stretch;gap:6px;width:100%;min-height:0}.charselect-roster{min-height:0}.charselect-info{box-sizing:border-box;flex:0 0 52px;gap:6px;height:52px;min-height:52px;max-height:52px;padding:4px 8px;overflow:hidden}.charselect-grid{flex:0 0 clamp(78px,21vh,84px);grid-template-rows:repeat(2,minmax(0,1fr));grid-template-columns:repeat(7,minmax(0,1fr));gap:3px;max-width:none;height:clamp(78px,21vh,84px);min-height:0;margin-bottom:4px}.char-cell{aspect-ratio:auto;border-width:1px;min-height:0;padding:2px}.char-cell-portrait{min-height:0}.char-cell-img.is-procedural-portrait{object-fit:contain}.char-cell-name{text-overflow:ellipsis;white-space:nowrap;max-width:100%;margin-top:0;font-size:.52rem;line-height:1.05;overflow:hidden}.char-cell-day{font-size:.38rem;line-height:1.05}.char-cell-school{padding:1px 3px;font-size:.35rem;top:2px;right:2px}.charselect-audition{order:-1;grid-template-columns:minmax(0,1fr) minmax(132px,180px);gap:6px;height:auto;min-height:0}.charselect-audition-view{min-height:0}.charselect-audition-rail{min-height:0;padding:6px 8px}.charselect-audition-kicker,.charselect-audition-state{letter-spacing:.1em;font-size:.5rem}.char-portrait{width:40px;height:40px}.charselect-hint{display:none}.charselect-players{gap:var(--space-sm)}.player-name{font-size:.78rem}.charselect-info .char-personality,.charselect-info .char-funfact,.charselect-info .char-stats,.charselect-info .char-day{display:none}.char-details{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"name school";align-items:center;gap:8px;min-width:0;height:40px;display:grid;overflow:hidden}.char-details .char-name{grid-area:name;min-width:0;margin:0;line-height:1.15}.char-details .char-school-badge{white-space:nowrap;grid-area:school;margin:0}.char-name{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.charselect-audition{grid-template-columns:minmax(0,1fr) minmax(132px,180px);align-self:stretch;gap:6px;height:auto;min-height:0}.charselect-audition-rail{padding:6px 8px}.charselect-audition-name{margin-top:2px;font-size:.85rem}.charselect-audition-prompt{min-height:0;margin-top:1px;font-size:.55rem;line-height:1.15}.charselect-audition-controls{gap:3px;margin-top:4px}.charselect-audition-btn{min-height:24px;padding:3px 2px;font-size:.48rem}}#charselect-screen{background:0 0!important}#charselect-screen:before{opacity:0!important;background:0 0!important}.charselect-audition-view{background:0 0}@media (width<=768px) and (orientation:portrait){.charselect-audition{height:clamp(280px,38vh,320px);min-height:280px}.charselect-audition-rail{align-self:center}}.char-portrait{flex:0 0 104px;width:104px;height:104px}.char-info-portrait.is-procedural-portrait{object-position:center center;background:#211a14}.char-cell:hover .char-cell-img.is-procedural-portrait{transform:none}@media (width<=768px){.charselect-info{min-height:88px}.char-portrait{flex-basis:72px;width:72px;height:72px}}@media (width<=768px) and (orientation:landscape),(height<=500px){.charselect-info{height:64px;min-height:64px;max-height:64px}.char-portrait{flex-basis:52px;width:52px;height:52px}}#gameplay-hud{touch-action:none;overflow:hidden}#gameplay-hud .hud-bottom{padding-bottom:max(env(safe-area-inset-bottom), var(--space-xs))}.hud-player.is-you{border-color:var(--gold-kente);box-shadow:0 0 18px -4px #d4a0178c}.hud-player.is-you .hud-portrait{border-color:var(--gold-light);box-shadow:0 0 10px #f0d06099}.hud-player.is-you:after{content:"YOU";font-family:var(--font-display);letter-spacing:.14em;color:var(--obsidian);background:linear-gradient(135deg, var(--gold-light), var(--gold-kente));border-radius:var(--radius-full);pointer-events:none;padding:2px 8px;font-size:.55rem;font-weight:800;position:absolute;top:-9px;left:50%;transform:translate(-50%);box-shadow:0 2px 8px #00000073}.hud-foot-pick{font-family:var(--font-display);letter-spacing:.1em;color:var(--obsidian);background:var(--gold-light);border-radius:var(--radius-sm);white-space:nowrap;padding:1px 6px;font-size:.6rem;font-weight:800;display:none}.hud-foot-pick.show{animation:footPickPop .25s var(--ease-out-back);display:inline-block}@keyframes footPickPop{0%{opacity:0;transform:scale(.4)}}.online-content{align-items:center;gap:var(--space-md);text-align:center;flex-direction:column;max-width:min(92vw,480px);display:flex}.online-title{font-family:var(--font-display);color:var(--gold-kente);letter-spacing:.12em;font-size:clamp(1.8rem,6vw,3rem);font-weight:900}.online-status{color:var(--white);font-size:.9rem}.online-searching{animation:1.4s ease-in-out infinite onlinePulse}.online-error{color:var(--red-ghana)}.online-hint{color:var(--smoke);font-size:.7rem}.online-hint code{color:var(--gold-light)}@keyframes onlinePulse{0%,to{opacity:1}50%{opacity:.45}}.online-spinner{border:3px solid #d4a01740;border-top-color:var(--gold-kente);border-radius:50%;width:34px;height:34px;animation:.9s linear infinite onlineSpin}@keyframes onlineSpin{to{transform:rotate(360deg)}}body.gameplay-active{--shell-safe-top:env(safe-area-inset-top,0px);--shell-safe-right:env(safe-area-inset-right,0px);--shell-safe-bottom:env(safe-area-inset-bottom,0px);--shell-safe-left:env(safe-area-inset-left,0px);--shell-safe-center:calc(50% + (var(--shell-safe-left) - var(--shell-safe-right)) / 2);--shell-tools-bottom:calc(16px + var(--shell-safe-bottom))}#gameplay-hud{--shell-display:"Outfit", "Trebuchet MS", Arial, sans-serif;--shell-body:"Inter", "Segoe UI", Arial, sans-serif;--shell-surface:#131816f0;--shell-line:#fafafa3d;--shell-you:var(--gold-light);--shell-opponent:var(--straight-light);pointer-events:none;font-family:var(--shell-body);overscroll-behavior:none;padding:0;display:block;overflow:hidden}#gameplay-hud.active{pointer-events:none}#gameplay-hud .gameplay-stage{pointer-events:auto;touch-action:none;cursor:grab;position:absolute;inset:0}#gameplay-hud .gameplay-stage.is-panning{cursor:grabbing}#gameplay-hud .gameplay-stage:focus-visible{outline:2px solid var(--shell-you);outline-offset:-6px}#gameplay-hud .hud-top{top:calc(12px + var(--shell-safe-top));left:calc(12px + var(--shell-safe-left));right:calc(12px + var(--shell-safe-right));pointer-events:none;background:0 0;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:12px;width:auto;padding:0;display:grid;position:absolute;transform:none}#gameplay-hud .hud-top>.hud-player{--player-color:var(--shell-opponent);border:1px solid var(--shell-line);border-left:3px solid var(--player-color);background:var(--shell-surface);-webkit-backdrop-filter:none;backdrop-filter:none;width:min(100%,216px);min-width:0;min-height:52px;box-shadow:none;text-align:left;border-radius:12px;grid-template-columns:32px minmax(0,1fr) auto;align-items:center;gap:8px;padding:6px 10px;display:grid;transform:none}#gameplay-hud .hud-top>.hud-p2{justify-self:end}#gameplay-hud .hud-player[data-controller=you],#gameplay-hud .hud-player[data-controller=p1]{--player-color:var(--shell-you)}#gameplay-hud .hud-player.is-you:after{content:none}#gameplay-hud .hud-identity{gap:1px;min-width:0;display:grid}#gameplay-hud .hud-controller{color:var(--player-color);font:800 .625rem/1 var(--shell-display);letter-spacing:.12em}#gameplay-hud .hud-name{color:var(--white);font:800 1rem/1.05 var(--shell-display);letter-spacing:0;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}#gameplay-hud .hud-role{color:var(--cloud);font:600 .625rem/1.2 var(--shell-body);letter-spacing:.01em;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}#gameplay-hud .hud-portrait{border-color:var(--player-color);width:32px;height:32px;box-shadow:none}#gameplay-hud .hud-score{min-width:1.1em;color:var(--player-color);box-shadow:none;text-shadow:none;font:900 1.75rem/1 var(--shell-display);font-variant-numeric:tabular-nums;background:0 0;padding:0}#gameplay-hud .hud-foot-pick{color:var(--obsidian);background:var(--player-color);font-size:.625rem;position:absolute;top:calc(100% + 4px);right:8px}#gameplay-hud .hud-top>.hud-center{gap:4px;width:200px;position:absolute;top:0;left:50%;transform:translate(-50%)}#gameplay-hud .match-format{color:var(--cream-syto);font:700 .625rem/1.2 var(--shell-display);letter-spacing:.12em;text-shadow:0 1px 4px #000}#gameplay-hud .match-cue{color:var(--white);background:var(--shell-surface);font:800 1rem/1.25 var(--shell-display);white-space:nowrap;border-radius:20px;padding:4px 12px}#gameplay-hud .timing-track{width:180px;height:36px}#gameplay-hud .timing-target{width:30px;height:30px}#gameplay-hud .timing-marker{width:24px;height:24px}#gameplay-hud .timing-grade{font:800 1rem/1.2 var(--shell-display);white-space:nowrap;top:44px}#gameplay-hud .crowd-bar{width:144px;max-width:none;height:3px;margin-top:0}#gameplay-hud .streak-counter{font-size:.75rem;position:absolute;top:102px}#gameplay-hud .arena-markers{inset:var(--shell-safe-top) var(--shell-safe-right) var(--shell-safe-bottom) var(--shell-safe-left);pointer-events:none;position:absolute}#gameplay-hud .arena-marker{--player-color:var(--shell-opponent);border:1px solid var(--player-color);width:132px;max-width:132px;color:var(--white);background:var(--shell-surface);text-align:center;will-change:transform;border-radius:8px;grid-template-columns:auto minmax(0,1fr);gap:2px 6px;padding:5px 8px;display:grid;position:absolute;top:0;left:0}#gameplay-hud .arena-marker[hidden]{display:none}#gameplay-hud .arena-marker[data-controller=you],#gameplay-hud .arena-marker[data-controller=p1]{--player-color:var(--shell-you)}#gameplay-hud .arena-marker:after{content:"";border:4px solid #0000;border-top-color:var(--player-color);position:absolute;top:100%;left:calc(50% - 4px)}#gameplay-hud .arena-marker[data-offscreen=true]:after{border-top-color:#0000}#gameplay-hud .arena-marker-controller{color:var(--player-color);font:900 .625rem/1 var(--shell-display);align-self:center}#gameplay-hud .arena-marker-name{font:800 .75rem/1.1 var(--shell-display);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}#gameplay-hud .arena-marker-role{color:var(--cloud);font:600 .5625rem/1.2 var(--shell-body);grid-column:1/-1}#gameplay-hud .foot-controls{bottom:calc(16px + var(--shell-safe-bottom));left:calc(16px + var(--shell-safe-left));right:calc(16px + var(--shell-safe-right));pointer-events:none;grid-template-columns:repeat(2,minmax(0,1fr));justify-content:space-between;gap:16px;display:grid;position:absolute}#gameplay-hud .touch-zone{border:2px solid var(--shell-line);background:var(--shell-surface);width:min(100%,148px);min-width:0;min-height:64px;color:var(--white);opacity:1;pointer-events:auto;cursor:pointer;touch-action:manipulation;border-radius:20px;grid-template-columns:24px minmax(0,1fr) 20px;align-items:center;gap:6px;padding:10px 8px;transition:border-color .12s,background .12s;display:grid;position:static}#gameplay-hud .touch-right{justify-self:end}#gameplay-hud .touch-zone:disabled{cursor:default;opacity:.56;filter:saturate(.72)}#gameplay-hud .touch-zone.visible{border-color:var(--shell-you);background:#2a2b19fa}#gameplay-hud .touch-zone.chosen{background:var(--shell-you);color:var(--obsidian);border-color:var(--shell-you)}#gameplay-hud .touch-zone.faded{opacity:.65}#gameplay-hud .touch-label{font:900 1rem/1 var(--shell-display);letter-spacing:0;color:inherit;white-space:nowrap;text-align:center}#gameplay-hud .touch-foot{opacity:1;color:inherit;display:flex}#gameplay-hud .touch-foot .icon{width:24px;height:24px}#gameplay-hud kbd{font:700 .625rem/1 var(--shell-body);border:1px solid;border-radius:4px;padding:4px}#gameplay-hud .touch-zone kbd{place-items:center;width:20px;height:20px;padding:0;display:grid}#gameplay-hud .hud-bottom{left:calc(var(--shell-safe-center) - 26px);bottom:var(--shell-tools-bottom);pointer-events:auto;gap:8px;width:auto;padding:0;display:flex;position:absolute;transform:translate(-50%)}#gameplay-hud .shell-tool,body.gameplay-active .mute-btn{border:1px solid var(--shell-line,#fafafa3d);background:var(--shell-surface,#131816f0);width:44px;height:44px;color:var(--cream-syto);cursor:pointer;touch-action:manipulation;border-radius:50%;justify-content:center;align-items:center;padding:0;list-style:none;transition:border-color .12s,background .12s;display:flex}#gameplay-hud summary::-webkit-details-marker{display:none}#gameplay-hud .shell-tool:hover,#gameplay-hud .touch-zone:not(:disabled):hover{border-color:var(--shell-you)}#gameplay-hud button:focus-visible,#gameplay-hud summary:focus-visible,body.gameplay-active .mute-btn:focus-visible{outline:3px solid var(--gold-light);outline-offset:3px}body.gameplay-active .mute-btn{top:auto;right:auto;left:calc(var(--shell-safe-center) + 56px);bottom:var(--shell-tools-bottom);z-index:15}#gameplay-hud .gameplay-options{position:relative}#gameplay-hud .gameplay-options-panel{border:1px solid var(--shell-line);background:var(--shell-surface);border-radius:12px;gap:8px;width:216px;padding:12px;display:grid;position:absolute;bottom:calc(100% + 12px);left:50%;transform:translate(-50%)}#gameplay-hud .slowmo-toggle,#gameplay-hud .shell-option,#gameplay-hud .map-pad button{border:1px solid var(--shell-line);width:auto;min-height:44px;color:var(--white);font:700 .8125rem/1.2 var(--shell-body);letter-spacing:0;cursor:pointer;touch-action:manipulation;background:0 0;border-radius:8px;padding:8px 12px;transition:border-color .12s,background .12s;position:static;transform:none}#gameplay-hud [aria-pressed=true].slowmo-toggle,#gameplay-hud [aria-pressed=true].shell-option{border-color:var(--shell-you);color:var(--shell-you)}#gameplay-hud .map-pad{grid-template-columns:repeat(4,1fr);gap:4px;display:grid}#gameplay-hud .map-pad button{padding:4px}#gameplay-hud .gameplay-options-panel p{color:var(--cloud);font-size:.625rem;line-height:1.4}#gameplay-hud .stage-hint{color:var(--cream-syto);white-space:nowrap;text-shadow:0 1px 4px #000;font-size:.625rem;position:absolute;bottom:72px;left:50%;transform:translate(-50%)}#gameplay-hud .sweat-meter{background:var(--shell-surface);border-radius:8px;width:104px;padding:6px 8px;bottom:92px;left:16px;transform:none}#gameplay-hud .sweat-bar{width:88px;height:4px}#gameplay-hud .signature-step-btn{min-height:44px;font-family:var(--shell-display);padding:8px 12px;bottom:92px;left:auto;right:16px}#gameplay-hud .hud-flash{letter-spacing:.06em;white-space:nowrap;font-size:1.25rem;top:auto;bottom:112px}#gameplay-hud .streak-callout{font-size:1rem;top:auto;bottom:148px}#gameplay-hud .venue-rule-badge{pointer-events:none;max-width:80%;font-size:.625rem;top:auto;bottom:168px}#gameplay-hud .team-queue-hud{pointer-events:none;gap:8px;inset:76px auto auto 12px;transform:none}#gameplay-hud .ffa-circle-hud{pointer-events:none;inset:76px auto auto 12px;transform:none}#gameplay-hud .queue-portrait{width:24px;height:24px}#gameplay-hud[data-phase=RESULT] .foot-controls,#gameplay-hud[data-phase=RESULT] .hud-bottom,#gameplay-hud[data-phase=RESULT] .stage-hint,#gameplay-hud[data-phase=PAUSED] .foot-controls,#gameplay-hud[data-sweat=false] .sweat-meter{visibility:hidden}#gameplay-hud .match-point-banner{text-align:center;pointer-events:none;background:#131816e6;border:1px solid #f5d0589e;border-radius:999px;width:min(280px,72vw);padding:8px 16px;position:absolute;top:calc(50% - 84px);left:50%;transform:translate(-50%,-50%);box-shadow:0 8px 24px #0003}#gameplay-hud .match-point-text{font:900 clamp(.75rem, 2.5vw, 1.5rem)/1.1 var(--shell-display);letter-spacing:.12em;color:var(--shell-you);background:0 0;-webkit-background-clip:initial;background-clip:initial;text-shadow:none}@media (width<=700px){body.gameplay-active{--shell-tools-bottom:calc(96px + var(--shell-safe-bottom))}#gameplay-hud .hud-top>.hud-player{grid-template-columns:minmax(0,1fr) auto;gap:4px;padding:6px 8px}#gameplay-hud .hud-portrait{display:none}#gameplay-hud .hud-top>.hud-center{top:72px}#gameplay-hud .stage-hint{bottom:calc(148px + var(--shell-safe-bottom))}#gameplay-hud .sweat-meter,#gameplay-hud .signature-step-btn{bottom:176px}#gameplay-hud .hud-flash{bottom:192px}#gameplay-hud .streak-callout{bottom:224px}#gameplay-hud .match-point-banner{width:min(228px,70vw);padding:7px 12px;top:38%}}@media (height<=500px) and (orientation:landscape){body.gameplay-active{--shell-tools-bottom:calc(16px + var(--shell-safe-bottom))}#gameplay-hud .hud-top{grid-template-columns:minmax(0,1fr) 180px minmax(0,1fr)}#gameplay-hud .hud-top>.hud-player{grid-template-columns:minmax(0,1fr) auto;width:164px}#gameplay-hud .hud-portrait{display:none}#gameplay-hud .hud-top>.hud-center{width:180px;position:static;transform:none}#gameplay-hud .touch-zone{min-height:48px;padding:8px}#gameplay-hud .touch-label{font-size:.875rem}#gameplay-hud .stage-hint{bottom:calc(68px + var(--shell-safe-bottom))}#gameplay-hud .sweat-meter,#gameplay-hud .signature-step-btn{bottom:76px}#gameplay-hud .hud-flash{bottom:88px}#gameplay-hud .streak-callout{bottom:116px}}@media (width<=639px) and (height<=500px) and (orientation:landscape){#gameplay-hud .hud-top>.hud-player{width:min(100%,164px)}#gameplay-hud .arena-marker{grid-template-columns:1fr;gap:0;width:max-content;min-width:44px;max-width:96px;padding:5px 6px}#gameplay-hud .arena-marker-controller{white-space:nowrap;font-size:.625rem}#gameplay-hud .arena-marker-name,#gameplay-hud .arena-marker-role{display:none}#gameplay-hud .arena-marker:after{background:var(--player-color);border:0;width:8px;height:2px;top:calc(50% - 1px);left:auto}#gameplay-hud .arena-marker[data-link=left]:after{left:100%}#gameplay-hud .arena-marker[data-link=right]:after{right:100%}#gameplay-hud .arena-marker[data-link=none]:after,#gameplay-hud .arena-marker[data-offscreen=true]:after{display:none}#gameplay-hud .hud-bottom{left:calc(12px + var(--shell-safe-left));bottom:calc(74px + var(--shell-safe-bottom));width:44px;transform:none}#gameplay-hud .gameplay-options{right:calc(12px + var(--shell-safe-right));bottom:calc(74px + var(--shell-safe-bottom));position:fixed}#gameplay-hud #btn-recenter,body.gameplay-active .mute-btn{display:none}#gameplay-hud .hud-bottom:has(.gameplay-options[open]) #btn-recenter{display:flex;position:absolute;bottom:52px;left:0}body.gameplay-active:has(#gameplay-options[open]) .mute-btn{left:auto;right:calc(12px + var(--shell-safe-right));bottom:calc(126px + var(--shell-safe-bottom));display:flex}#gameplay-hud .gameplay-options-panel{left:calc(var(--shell-safe-center) + 1px);bottom:calc(78px + var(--shell-safe-bottom));border-radius:8px;gap:4px;width:76px;padding:8px;position:fixed}#gameplay-hud .gameplay-options-panel .slowmo-toggle,#gameplay-hud .gameplay-options-panel .shell-option{min-width:0;padding:4px;font-size:.6875rem}#gameplay-hud .gameplay-options-panel .map-pad,#gameplay-hud .gameplay-options-panel p,#gameplay-hud .stage-hint{display:none}}@media (prefers-reduced-motion:reduce){#gameplay-hud .touch-zone,#gameplay-hud .shell-tool{transition:none}#gameplay-hud .hud-score.bump,#gameplay-hud .hud-foot-pick.show{animation:none}}@media (width>=1024px){.charselect-content{gap:clamp(var(--space-lg), 3vw, var(--space-2xl));grid-template-columns:minmax(320px,.76fr) minmax(0,1.24fr)}.charselect-audition{grid-template-columns:minmax(0,1fr) minmax(176px,208px);min-height:clamp(420px,66vh,540px)}.charselect-roster{align-self:center}.charselect-grid{max-width:720px}}@media (width<=768px) and (orientation:portrait){#charselect-screen{padding:max(10px, env(safe-area-inset-top)) max(12px, env(safe-area-inset-right)) max(10px, env(safe-area-inset-bottom)) max(12px, env(safe-area-inset-left));justify-content:flex-start;overflow:hidden}.charselect-header{flex-direction:column;flex:none;justify-content:flex-end;gap:4px;min-height:88px;margin-bottom:6px;padding:0}.charselect-back-btn{padding:6px 10px 6px 8px;font-size:.62rem;position:absolute;top:0;left:0}.charselect-title{letter-spacing:.12em;white-space:nowrap;max-width:100%;font-size:1rem;line-height:1}.charselect-players{gap:var(--space-md)}.charselect-content{flex:auto;gap:6px;width:100%;min-height:0}.charselect-audition{grid-template-columns:minmax(0,1fr) minmax(144px,164px);gap:6px;height:280px;min-height:280px}.charselect-audition-rail{align-self:center;padding:8px}.charselect-roster{min-height:0}.charselect-grid{grid-template-rows:none;grid-template-columns:repeat(5,minmax(0,1fr));gap:5px;max-width:none;margin-bottom:4px}.char-cell{aspect-ratio:3/4;min-height:0;padding:4px}.char-cell-name{font-size:.62rem}.char-cell-day{font-size:.44rem}.charselect-info{height:60px;min-height:60px;padding:4px 8px;overflow:hidden}.char-portrait{flex-basis:52px;width:52px;height:52px}.charselect-hint{display:none}}.menu-nav-btn.online-btn{border-color:#00bcd480}.lb-panel{margin:var(--space-md) auto 0;max-width:min(92vw,460px);padding:var(--space-sm) var(--space-md);background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius-md);-webkit-backdrop-filter:blur(var(--glass-blur));backdrop-filter:blur(var(--glass-blur))}.lb-title{font-family:var(--font-display);letter-spacing:.18em;color:var(--gold-kente);text-align:center;margin-bottom:var(--space-xs);font-size:.7rem;font-weight:800}.lb-loading,.lb-empty{color:var(--smoke);text-align:center;padding:var(--space-xs) 0;font-size:.7rem}.lb-list{margin:0;padding:0;list-style:none}.lb-row{border-radius:var(--radius-sm);grid-template-columns:2em 1fr auto;grid-template-areas:"rank name score""rank detail detail";align-items:center;gap:0 8px;padding:4px 6px;font-size:.75rem;display:grid}.lb-row:nth-child(odd){background:#ffffff08}.lb-row.lb-you{background:#d4a01724;border:1px solid #d4a01773}.lb-rank{text-align:center;grid-area:rank;font-weight:800}.lb-name{color:var(--white);text-overflow:ellipsis;white-space:nowrap;grid-area:name;font-weight:700;overflow:hidden}.lb-score{font-family:var(--font-display);color:var(--gold-light);grid-area:score;font-weight:800}.lb-detail{color:var(--smoke);grid-area:detail;font-size:.6rem}.result-overlay-content{max-width:min(94vw,640px);max-height:calc(100dvh - 20px);padding:10px 14px calc(10px + env(safe-area-inset-bottom));overflow-y:auto}@media (width<=540px){.result-overlay-title{font-size:clamp(1.7rem,9vw,2.6rem)}.result-overlay-winner{overflow-wrap:anywhere;font-size:clamp(1.1rem,6vw,1.6rem)}.result-overlay-score{overflow-wrap:anywhere;margin-bottom:1.2em;font-size:clamp(.95rem,4.5vw,1.3rem)}.result-overlay-actions{gap:10px}.result-overlay-btn{padding:10px 18px;font-size:.78rem}}@media (width<=900px) and (height<=430px){.result-overlay-content{max-height:calc(100dvh - 8px);padding:4px 10px}.result-overlay-title{margin-bottom:.08em}.result-overlay-role{margin-bottom:.45em}.result-overlay-score{margin-bottom:.7em}.stats-moment{gap:6px;margin:.6rem 0}.stat-card{min-width:66px;padding:7px 9px}.stat-value{font-size:1.35rem}.result-overlay-actions{gap:8px;margin-bottom:.6em}.result-overlay-btn{padding:8px 12px;font-size:.72rem}}.char-info-pocket{width:100%;max-width:600px}.char-info-pocket summary{border:1px solid var(--glass-border);min-height:44px;color:var(--white);letter-spacing:0;cursor:pointer;background:#131816f0;border-radius:8px;align-items:center;gap:8px;padding:8px 12px;font:700 .875rem/1.2 Outfit,Arial,sans-serif;list-style:none;display:flex}.char-info-pocket summary::-webkit-details-marker{display:none}.char-info-symbol{width:20px;height:20px;color:var(--gold-light);border:1px solid;border-radius:50%;place-items:center;font:700 .875rem/1 Georgia,serif;display:grid}.char-info-pocket>.charselect-info{z-index:20;left:max(12px, env(safe-area-inset-left));bottom:max(12px, env(safe-area-inset-bottom));overscroll-behavior:contain;-webkit-backdrop-filter:none;backdrop-filter:none;background:#131816fa;border-radius:8px;align-items:flex-start;gap:12px;width:min(360px,100vw - 24px);max-width:none;height:auto;min-height:0;max-height:min(340px,100dvh - 24px);padding:16px 60px 16px 16px;position:fixed;overflow:auto}.char-info-pocket .char-portrait{flex:0 0 56px;width:56px;height:56px}.char-info-pocket .char-details{flex-direction:column;align-items:flex-start;gap:6px;min-width:0;height:auto;display:flex;overflow:visible}.char-info-pocket .char-details>*{white-space:normal;overflow-wrap:anywhere;letter-spacing:0;max-width:100%;margin:0;display:block;overflow:visible}.char-info-pocket .char-details .char-name{font-size:1.125rem;line-height:1.2}.char-info-pocket .char-details p{color:var(--cloud);font-size:.75rem;line-height:1.45}.char-info-close{border:1px solid var(--glass-border);width:44px;height:44px;color:var(--white);cursor:pointer;background:0 0;border-radius:50%;font:400 1.5rem/1 Arial,sans-serif;position:absolute;top:8px;right:8px}.char-info-pocket :is(summary,button):focus-visible{outline:3px solid var(--gold-light);outline-offset:3px}@media (width<=768px) and (orientation:portrait){.char-info-pocket>.charselect-info{max-height:min(340px,100dvh - 420px)}}@media (width<=1000px) and (height<=540px) and (orientation:landscape){.charselect-audition-controls{grid-template-columns:repeat(3,minmax(0,1fr));gap:3px;margin-top:3px}.charselect-audition-btn{letter-spacing:.05em;min-height:22px;padding:2px 1px;font-size:.42rem;line-height:1.05}.charselect-confirm-btn{min-height:36px;margin-top:4px;padding:4px 8px;font-size:.58rem;line-height:1.1}}#gameplay-hud .match-result-overlay[hidden],#gameplay-hud[data-phase=RESULT] :is(.match-point-banner,.azonto-banner,.hud-flash,.streak-callout,.signature-step-btn,.sweat-meter){display:none}#gameplay-hud .result-overlay-content{overscroll-behavior:contain;gap:12px;width:min(560px,100% - 24px);max-width:none;max-height:calc(100dvh - 24px);padding:16px 12px;display:grid;overflow-y:auto}#gameplay-hud .result-overlay-content>*{letter-spacing:0;min-width:0;margin:0}#gameplay-hud .result-overlay-title{font:900 3rem/1.05 var(--shell-display);text-shadow:none;animation:none}#gameplay-hud .result-overlay-winner{font:700 1.5rem/1.2 var(--shell-display);overflow-wrap:anywhere}#gameplay-hud .result-overlay-role{font:700 .75rem/1.3 var(--shell-body)}#gameplay-hud .result-overlay-score{font:800 1.375rem/1.3 var(--shell-display);overflow-wrap:anywhere}#gameplay-hud .stats-moment{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}#gameplay-hud .stats-moment .stat-card{-webkit-backdrop-filter:none;backdrop-filter:none;border-radius:8px;min-width:0;padding:12px 8px}#gameplay-hud .stats-moment .stat-value{font:800 1.5rem/1.2 var(--shell-display);text-shadow:none}#gameplay-hud .stats-moment .stat-label{font:700 .625rem/1.2 var(--shell-body);color:var(--cloud);letter-spacing:0}#gameplay-hud .result-overlay-actions{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}#gameplay-hud .result-overlay-btn{min-width:0;min-height:44px;font:800 .75rem/1.2 var(--shell-display);letter-spacing:0;white-space:nowrap;border-radius:8px;justify-content:center;padding:8px}#gameplay-hud .result-overlay-btn:hover{transform:none}@media (width<=540px){#gameplay-hud .result-overlay-title{font-size:2.25rem}#gameplay-hud .result-overlay-winner{font-size:1.25rem}#gameplay-hud .result-overlay-score{font-size:1.125rem}#gameplay-hud .result-overlay-btn .btn-icon{display:none}}@media (height<=430px) and (orientation:landscape){#gameplay-hud .result-overlay-content{gap:8px;padding:8px 12px}#gameplay-hud .result-overlay-title{font-size:2rem}#gameplay-hud .result-overlay-winner{font-size:1.25rem}#gameplay-hud .result-overlay-score{font-size:1.125rem}#gameplay-hud .stats-moment .stat-card{padding:8px}}@media (width<=900px) and (height<=430px) and (orientation:landscape){#team-setup-screen.active{width:100%;height:100dvh;padding:max(6px, env(safe-area-inset-top,0px)) max(8px, env(safe-area-inset-right,0px)) max(6px, env(safe-area-inset-bottom,0px)) max(8px, env(safe-area-inset-left,0px));grid-template-rows:24px 86px minmax(0,1fr) 44px;grid-template-areas:"heading""teams""roster""actions";justify-content:stretch;align-items:stretch;gap:4px;display:grid;position:fixed;inset:0;overflow:hidden}#team-setup-screen .team-setup-header{grid-area:heading;min-width:0;padding-right:48px}#team-setup-screen .team-setup-title{letter-spacing:0;margin:0;font-size:16px;line-height:24px}#team-setup-screen .team-setup-subtitle,#team-setup-screen .team-setup-hint{display:none}#team-setup-screen .team-setup-panels{flex-direction:row;grid-area:teams;align-items:stretch;gap:6px;min-width:0;max-width:none;height:86px;min-height:0}#team-setup-screen .team-panel{border-radius:6px;flex:1 1 0;grid-template-rows:14px minmax(0,1fr);grid-template-columns:52px minmax(0,1fr);gap:2px 4px;min-width:0;padding:4px;display:grid}#team-setup-screen .team-panel-title{letter-spacing:0;text-align:center;grid-column:1/-1;margin:0;font-size:11px;line-height:14px}#team-setup-screen .team-vs-divider{text-align:center;flex:0 0 20px;padding:0;font-size:16px;line-height:20px}#team-setup-screen .team-captain-slot{grid-area:2/1;align-self:center;margin:0}#team-setup-screen .captain-portrait{border-width:2px;border-radius:6px;width:52px;height:58px}#team-setup-screen .captain-name{letter-spacing:0;padding:1px 2px;font-size:10px;line-height:12px}#team-setup-screen .captain-badge{letter-spacing:0;padding:1px 2px;font-size:7px;line-height:9px;top:2px;right:2px}#team-setup-screen .team-member-slots{grid-area:2/2;grid-template-columns:repeat(2,minmax(0,1fr));align-self:center;gap:4px;min-width:0;display:grid}#team-setup-screen .child-slot{min-width:44px;height:44px;font-size:10px;line-height:12px}#team-setup-screen .child-slot.filled{grid-template-rows:24px 12px;justify-items:center;gap:2px;padding:2px;display:grid}#team-setup-screen .child-img{border-radius:4px;width:24px;height:24px;position:static}#team-setup-screen .team-roster{grid-area:roster;grid-template-rows:14px minmax(0,1fr);gap:2px;max-width:none;min-height:0;display:grid}#team-setup-screen .roster-label{letter-spacing:0;margin:0;font-size:10px;line-height:14px}#team-setup-screen .roster-grid{grid-template-columns:repeat(6,minmax(44px,1fr));grid-auto-rows:44px;align-content:center;justify-items:stretch;gap:4px;width:100%;min-height:0}#team-setup-screen .roster-cell{grid-template-rows:24px 12px;justify-items:center;gap:2px;min-width:44px;height:44px;min-height:44px;padding:2px;display:grid}#team-setup-screen .roster-cell:hover{transform:none}#team-setup-screen .roster-portrait-img{width:24px;height:24px}#team-setup-screen .roster-name{letter-spacing:0;font-size:10px;line-height:12px}#team-setup-screen .team-setup-actions{grid-area:actions;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;width:100%;margin:0;display:grid}#team-setup-screen .team-btn{letter-spacing:0;justify-content:center;align-items:center;gap:4px;min-height:44px;padding:6px 8px;font-size:12px;line-height:16px;display:flex}#team-setup-screen .team-btn .btn-icon-svg{width:18px;height:18px}#gameplay-hud .team-queue-hud{top:92px;bottom:auto;left:max(10px, env(safe-area-inset-left,0px));right:max(10px, env(safe-area-inset-right,0px));justify-content:space-between;gap:12px;padding:0}#gameplay-hud .team-queue-hud .queue-portraits{display:none}#gameplay-hud .team-queue-hud .queue-side{border-radius:6px;gap:5px;padding:3px 6px}#gameplay-hud .team-queue-hud .queue-label{letter-spacing:0;font-size:9px;line-height:12px}#gameplay-hud .team-queue-hud .queue-count{font-size:12px;line-height:14px}}
