:root{--arcade-blue: #0099ff;--arcade-cyan: #00d2ff;--arcade-dark: #0a1128;--arcade-card: rgba(14, 26, 56, .88);--gold: #ffcc00;--fire-orange: #ff5500;--neon-green: #00ff88;--red-rubber: #d91e36;--text-white: #f8fafc;--font-display: "Outfit", sans-serif;--font-round: "Fredoka", cursive, sans-serif}*{box-sizing:border-box;margin:0;padding:0;user-select:none;-webkit-user-select:none}html,body{width:100%;height:100%;overflow:hidden;background-color:#050811;font-family:var(--font-display);color:var(--text-white)}#game-container{position:relative;width:100vw;height:100vh;overflow:hidden;touch-action:none}#webgl-canvas{position:absolute;top:0;left:0;width:100%;height:100%;display:block;z-index:1;touch-action:none}#hud{position:absolute;top:0;left:0;width:100%;height:100%;z-index:10;pointer-events:none;display:flex;flex-direction:column;justify-content:space-between;padding:max(16px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) max(16px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left));touch-action:none}#scoreboard{display:flex;justify-content:center;align-items:center;gap:20px;max-width:720px;margin:0 auto;pointer-events:auto}.score-card{position:relative;display:flex;align-items:center;gap:16px;background:var(--arcade-card);backdrop-filter:blur(12px);border:2px solid rgba(255,255,255,.15);border-radius:20px;padding:10px 24px;box-shadow:0 12px 30px #0006,inset 0 1px #fff3;min-width:200px;transition:transform .25s cubic-bezier(.175,.885,.32,1.275),border-color .25s}.player-card{border-bottom:4px solid var(--arcade-cyan)}.cpu-card{border-bottom:4px solid var(--fire-orange)}.score-card.serving{border-color:var(--gold);box-shadow:0 0 25px #fc06,0 12px 30px #0006}.server-indicator{display:none;position:absolute;top:-12px;left:50%;transform:translate(-50%);background:linear-gradient(135deg,#fc0,#f80);color:#000;font-size:11px;font-weight:900;letter-spacing:1px;padding:3px 10px;border-radius:12px;box-shadow:0 2px 8px #0000004d}.score-card.serving .server-indicator{display:block;animation:pulseBadge 1.2s infinite ease-in-out}@keyframes pulseBadge{0%,to{transform:translate(-50%) scale(1)}50%{transform:translate(-50%) scale(1.08)}}.player-name{font-family:var(--font-round);font-size:18px;font-weight:700;letter-spacing:.5px;flex:1}.player-score{font-family:var(--font-display);font-size:44px;font-weight:900;line-height:1;color:#fff;text-shadow:0 2px 10px rgba(0,0,0,.5);transition:transform .2s cubic-bezier(.175,.885,.32,1.275)}.player-score.bump{transform:scale(1.35);color:var(--gold)}.score-divider{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-width:130px;background:#0a1226b3;padding:8px 14px;border-radius:14px;border:1px solid rgba(255,255,255,.1)}.match-info{font-size:11px;font-weight:800;letter-spacing:1.5px;color:#94a3b8;text-transform:uppercase}.rally-counter{font-family:var(--font-round);font-size:15px;font-weight:700;color:var(--neon-green);letter-spacing:.5px}#quick-settings{display:flex;align-items:center;justify-content:space-between;width:100%;max-width:780px;margin:10px auto 0;pointer-events:auto;background:#0a1226b3;backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.12);border-radius:20px;padding:8px 18px;gap:16px}.setting-item{display:flex;align-items:center;gap:12px;font-size:13px;font-weight:700;color:#cbd5e1}.setting-item label{white-space:nowrap}.setting-item span{color:var(--gold);font-weight:800;min-width:38px;display:inline-block}.setting-item input[type=range],.menu-setting-row input[type=range]{-webkit-appearance:none;appearance:none;width:130px;height:6px;background:#fff3;border-radius:3px;outline:none;cursor:pointer}.setting-item input[type=range]::-webkit-slider-thumb,.menu-setting-row input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:16px;height:16px;border-radius:50%;background:var(--arcade-cyan);box-shadow:0 0 10px var(--arcade-cyan);cursor:pointer;transition:transform .15s ease}.setting-item input[type=range]::-webkit-slider-thumb:hover,.menu-setting-row input[type=range]::-webkit-slider-thumb:hover{transform:scale(1.25)}.arcade-toggle-btn{background:#ffffff14;border:1.5px solid rgba(255,255,255,.2);border-radius:24px;padding:6px 14px;color:#fff;font-family:var(--font-display);font-size:12px;font-weight:800;letter-spacing:.5px;display:flex;align-items:center;gap:8px;cursor:pointer;transition:all .2s cubic-bezier(.175,.885,.32,1.275)}.arcade-toggle-btn:hover{background:#ffffff2e;border-color:var(--arcade-cyan);transform:translateY(-1px)}.arcade-toggle-btn.active{background:linear-gradient(135deg,#00d2ff4d,#09f6);border-color:var(--neon-green);box-shadow:0 0 16px #0f86}.beta-tag{background:var(--fire-orange);color:#fff;font-size:9px;font-weight:900;padding:2px 6px;border-radius:8px;letter-spacing:1px}#hud-settings-container{position:absolute;top:24px;right:24px;z-index:30;pointer-events:auto}.hud-corner-btn{width:44px;height:44px;border-radius:50%;background:#0e1a38d9;backdrop-filter:blur(10px);border:2px solid rgba(0,210,255,.35);box-shadow:0 4px 16px #0006;color:#fff;font-size:20px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .25s cubic-bezier(.175,.885,.32,1.275)}.hud-corner-btn:hover{transform:scale(1.1) rotate(30deg);border-color:var(--arcade-cyan);box-shadow:0 0 20px #00d2ff80;background:#14244bf2}.hud-settings-dropdown{position:absolute;top:54px;right:0;width:280px;background:linear-gradient(150deg,#101e40f5,#080e20fa);backdrop-filter:blur(16px);border:2px solid rgba(0,210,255,.3);box-shadow:0 16px 40px #0009,inset 0 1px #ffffff26;border-radius:20px;padding:16px;display:none;flex-direction:column;gap:14px;transform-origin:top right;animation:dropdownPop .2s cubic-bezier(.175,.885,.32,1.275)}.hud-settings-dropdown.active{display:flex}@keyframes dropdownPop{0%{opacity:0;transform:scale(.85) translateY(-8px)}to{opacity:1;transform:scale(1) translateY(0)}}.hud-dropdown-header{display:flex;justify-content:space-between;align-items:center;padding-bottom:10px;border-bottom:1px solid rgba(255,255,255,.1)}.dropdown-title{font-size:13px;font-weight:900;letter-spacing:1px;color:var(--arcade-cyan)}.hud-dropdown-close{background:none;border:none;color:#94a3b8;font-size:16px;font-weight:900;cursor:pointer;padding:2px 6px;border-radius:6px;transition:all .15s ease}.hud-dropdown-close:hover{color:#fff;background:#ffffff26}.hud-dropdown-body{display:flex;flex-direction:column;gap:12px}.hud-setting-row{display:flex;flex-direction:column;gap:6px}.hud-setting-label{display:flex;justify-content:space-between;align-items:center;font-size:13px;font-weight:700;color:#e2e8f0}.hud-sens-badge{color:var(--gold);font-weight:800}.webcam-pip{position:absolute;bottom:24px;right:24px;width:220px;background:#0a1226eb;backdrop-filter:blur(14px);border:2px solid var(--arcade-cyan);box-shadow:0 10px 30px #00d2ff59;border-radius:18px;overflow:hidden;z-index:50;pointer-events:auto;display:none;flex-direction:column;transition:all .3s cubic-bezier(.175,.885,.32,1.275)}.webcam-pip.active{display:flex;animation:slideInPip .35s ease-out}@keyframes slideInPip{0%{opacity:0;transform:translateY(20px) scale(.9)}to{opacity:1;transform:translateY(0) scale(1)}}.pip-header{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;background:#0000004d;border-bottom:1px solid rgba(255,255,255,.1)}.pip-badge{font-size:10px;font-weight:900;letter-spacing:1px;color:var(--neon-green);text-transform:uppercase}.pip-badge.error{color:#ff3b30}.pip-close-btn{background:none;border:none;color:#94a3b8;font-size:14px;font-weight:900;cursor:pointer;padding:2px 6px;border-radius:6px;transition:all .15s ease}.pip-close-btn:hover{color:#fff;background:#ffffff26}.pip-video-wrap{position:relative;width:100%;height:150px;background:#000}.pip-video-wrap video{width:100%;height:100%;object-fit:cover;transform:scaleX(-1)}.pip-video-wrap canvas{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none}.pip-footer{padding:6px 10px;background:#0006;font-size:10px;color:#cbd5e1;text-align:center;font-weight:600}.menu-settings-box{display:flex;flex-direction:column;gap:12px;background:#ffffff0a;border:1px solid rgba(255,255,255,.1);border-radius:18px;padding:16px 20px;text-align:left}.menu-setting-row{display:flex;justify-content:space-between;align-items:center;font-size:14px;font-weight:700}.menu-setting-row span{color:var(--gold);font-weight:800}.arcade-toggle-btn.large{justify-content:center;padding:10px 16px;font-size:13px;border-radius:12px}#controls-hint{display:flex;gap:12px;justify-content:center;align-items:center;background:#0a1226bf;backdrop-filter:blur(8px);padding:8px 20px;border-radius:30px;width:fit-content;margin:0 auto;border:1px solid rgba(255,255,255,.08)}.hint-item{font-size:13px;font-weight:600;color:#cbd5e1;display:flex;align-items:center;gap:6px}.key{background:#ffffff26;color:#fff;padding:2px 7px;border-radius:6px;font-size:11px;font-weight:800;box-shadow:0 1px 3px #0006}.feedback-banner{position:absolute;top:38%;left:50%;transform:translate(-50%,-50%) scale(.5);font-family:var(--font-display);font-size:48px;font-weight:900;font-style:italic;text-transform:uppercase;letter-spacing:2px;pointer-events:none;opacity:0;transition:transform .25s cubic-bezier(.175,.885,.32,1.275),opacity .25s ease-out;text-align:center}.feedback-banner.show{opacity:1;transform:translate(-50%,-50%) scale(1)}.feedback-perfect{color:var(--gold);text-shadow:0 0 30px rgba(255,204,0,.9),0 4px 15px rgba(0,0,0,.8)}.feedback-smash{color:#ff3b30;text-shadow:0 0 35px rgba(255,59,48,.9),0 4px 15px rgba(0,0,0,.8)}.feedback-good{color:var(--neon-green);text-shadow:0 0 25px rgba(0,255,136,.8),0 4px 15px rgba(0,0,0,.8)}.feedback-early,.feedback-late{color:#60a5fa;font-size:36px;text-shadow:0 0 20px rgba(96,165,250,.8)}.callout-banner{position:absolute;top:26%;left:50%;transform:translate(-50%,-50%) scale(.8);font-size:32px;font-weight:900;letter-spacing:4px;color:#fff;background:#d91e36d9;padding:10px 36px;border-radius:40px;box-shadow:0 10px 35px #d91e3680;opacity:0;pointer-events:none;transition:all .3s cubic-bezier(.175,.885,.32,1.275)}.callout-banner.show{opacity:1;transform:translate(-50%,-50%) scale(1)}.serve-prompt{position:absolute;bottom:90px;left:50%;transform:translate(-50%);background:#0a142de6;backdrop-filter:blur(12px);border:2px solid var(--arcade-cyan);box-shadow:0 10px 30px #00d2ff4d;padding:16px 36px;border-radius:50px;display:none;flex-direction:column;align-items:center;gap:4px;animation:floatPrompt 1.8s infinite ease-in-out}.serve-prompt.active{display:flex}@keyframes floatPrompt{0%,to{transform:translate(-50%) translateY(0)}50%{transform:translate(-50%) translateY(-8px)}}.serve-icon{font-size:24px}.serve-text{font-size:16px;font-weight:800;letter-spacing:1px;color:#fff}.serve-subtext{font-size:12px;color:#94a3b8;font-weight:600}.overlay-screen{position:absolute;top:0;left:0;width:100%;height:100%;z-index:100;background:#050811d1;backdrop-filter:blur(16px);display:none;justify-content:center;align-items:center;padding:20px;opacity:0;transition:opacity .35s ease}.overlay-screen.active{display:flex;opacity:1}.menu-layout{display:flex;align-items:stretch;justify-content:center;gap:28px;max-width:1160px;width:100%;max-height:92vh;padding:10px}.controls-sidebar{width:380px;flex-shrink:0;background:linear-gradient(150deg,#101e40f0,#080e20f5);border:2px solid rgba(0,210,255,.25);border-radius:28px;padding:24px;box-shadow:0 20px 50px #0009,inset 0 1px #ffffff26;display:flex;flex-direction:column;gap:16px;overflow:hidden}.sidebar-header{display:flex;align-items:center;gap:14px;padding-bottom:14px;border-bottom:1px solid rgba(255,255,255,.1)}.sidebar-badge-icon{font-size:32px;background:#00d2ff1f;border:1px solid rgba(0,210,255,.35);padding:8px 10px;border-radius:16px}.sidebar-title-box h3{font-size:20px;font-weight:900;letter-spacing:1.5px;color:#fff}.sidebar-sub{font-size:12px;color:var(--arcade-cyan);font-weight:600;letter-spacing:.5px}.sidebar-content-scroll{display:flex;flex-direction:column;gap:16px;overflow-y:auto;padding-right:6px}.sidebar-content-scroll::-webkit-scrollbar{width:5px}.sidebar-content-scroll::-webkit-scrollbar-thumb{background:#00d2ff59;border-radius:10px}.sidebar-content-scroll::-webkit-scrollbar-track{background:#ffffff0a}.sidebar-group{background:#ffffff09;border:1px solid rgba(255,255,255,.08);border-radius:16px;padding:12px 14px;display:flex;flex-direction:column;gap:10px}.group-title{font-size:12px;font-weight:800;letter-spacing:1px;color:#94a3b8;display:flex;align-items:center;gap:6px}.group-icon{font-size:14px}.keybind-row{display:flex;justify-content:space-between;align-items:center;font-size:13px;gap:8px}.action-name{color:#e2e8f0;font-weight:600}.key-combo{display:flex;align-items:center;gap:4px;font-size:12px;color:#94a3b8;white-space:nowrap}.subtext{font-size:11px;color:#64748b}.hint-tag{background:#00d2ff1f;border:1px solid rgba(0,210,255,.3);color:var(--arcade-cyan);padding:3px 8px;border-radius:6px;font-size:11px;font-weight:700}.tips-card{background:#ffcc000d;border:1px solid rgba(255,204,0,.25)}.tips-card .group-title{color:var(--gold)}.tips-list{padding-left:18px;display:flex;flex-direction:column;gap:6px;font-size:12px;color:#cbd5e1;line-height:1.4}.tips-list strong{color:#fff}.menu-card,.game-over-card,.pause-card{background:linear-gradient(150deg,#14244beb,#0a1228f5);border:2px solid rgba(255,255,255,.15);border-radius:28px;padding:36px;max-width:640px;flex:1;width:100%;box-shadow:0 25px 60px #0009,inset 0 1px #fff3;text-align:center;display:flex;flex-direction:column;gap:20px;overflow-y:auto}@media(max-width:960px){.menu-layout{flex-direction:column-reverse;overflow-y:auto;max-height:96vh;gap:16px}.controls-sidebar{width:100%;max-height:300px}}.pause-card{max-width:440px}.game-logo{display:flex;flex-direction:column;align-items:center;gap:12px}.logo-image{width:120px;height:120px;border-radius:26px;object-fit:cover;box-shadow:0 8px 30px #00d2ff59,0 0 15px #ff550040;border:2px solid rgba(0,210,255,.5);animation:logoPulse 4s ease-in-out infinite;transition:transform .3s ease,box-shadow .3s ease}.logo-image:hover{transform:scale(1.05) rotate(-2deg);box-shadow:0 12px 40px #00d2ff99,0 0 25px #f506}@keyframes logoPulse{0%,to{transform:translateY(0);box-shadow:0 8px 30px #00d2ff59,0 0 15px #ff550040}50%{transform:translateY(-4px);box-shadow:0 12px 36px #00d2ff80,0 0 22px #ff550059}}.logo-text-group{display:flex;flex-direction:column;align-items:center;gap:2px}.logo-accent{font-family:var(--font-round);font-size:28px;font-weight:700;letter-spacing:8px;color:var(--arcade-cyan)}.logo-title{font-size:42px;font-weight:900;letter-spacing:1px;background:linear-gradient(180deg,#fff,#cbd5e1);-webkit-background-clip:text;-webkit-text-fill-color:transparent;text-shadow:0 4px 20px rgba(0,0,0,.5)}.logo-badge{font-size:12px;font-weight:800;letter-spacing:4px;background:var(--fire-orange);color:#fff;padding:3px 12px;border-radius:20px;margin-top:4px}.tagline{font-size:14px;color:#94a3b8;letter-spacing:.5px}.difficulty-picker{display:flex;flex-direction:column;gap:12px;text-align:left}.difficulty-picker label{font-size:12px;font-weight:800;letter-spacing:1.5px;color:#94a3b8}.difficulty-buttons{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.diff-btn{background:#ffffff0f;border:2px solid rgba(255,255,255,.12);border-radius:16px;padding:14px 10px;color:#fff;cursor:pointer;display:flex;flex-direction:column;gap:4px;text-align:center;transition:all .2s ease}.diff-btn:hover{background:#ffffff1f;border-color:#ffffff4d;transform:translateY(-2px)}.diff-btn.active{background:linear-gradient(135deg,#0099ff40,#00d2ff66);border-color:var(--arcade-cyan);box-shadow:0 0 20px #00d2ff59}.diff-title{font-weight:800;font-size:15px;letter-spacing:.5px}.diff-desc{font-size:11px;color:#94a3b8;line-height:1.2}.diff-btn.active .diff-desc{color:#e2e8f0}.primary-btn{background:linear-gradient(135deg,#09f,#00d2ff);color:#fff;border:none;font-family:var(--font-display);font-size:18px;font-weight:800;letter-spacing:1.5px;padding:16px 36px;border-radius:40px;cursor:pointer;box-shadow:0 10px 25px #09f6,inset 0 1px #fff6;transition:all .2s cubic-bezier(.175,.885,.32,1.275)}.primary-btn:hover{transform:translateY(-2px) scale(1.02);box-shadow:0 14px 30px #09f9}.primary-btn:active{transform:translateY(1px) scale(.98)}.secondary-btn{background:#ffffff14;color:#fff;border:2px solid rgba(255,255,255,.15);font-family:var(--font-display);font-size:16px;font-weight:700;padding:14px 28px;border-radius:40px;cursor:pointer;transition:all .2s ease}.secondary-btn:hover{background:#ffffff26}.control-guide{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;text-align:left;border-top:1px solid rgba(255,255,255,.1);padding-top:20px}.guide-col h4{font-size:13px;font-weight:800;color:var(--arcade-cyan);margin-bottom:6px}.guide-col p{font-size:12px;color:#94a3b8;line-height:1.4}.result-title{font-size:44px;font-weight:900;letter-spacing:2px}.result-title.victory{color:var(--gold);text-shadow:0 0 30px rgba(255,204,0,.8)}.result-title.defeat{color:#ff3b30;text-shadow:0 0 30px rgba(255,59,48,.8)}.result-subtitle{font-size:16px;color:#cbd5e1}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:10px 0}.stat-box{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:16px;padding:16px 8px;display:flex;flex-direction:column;align-items:center;gap:4px}.stat-num{font-size:26px;font-weight:900;color:#fff}.stat-lbl{font-size:11px;color:#94a3b8;text-transform:uppercase;letter-spacing:.5px}.game-over-actions{display:flex;justify-content:center;gap:16px}.presence-bar{display:flex;align-items:center;justify-content:center;gap:12px;margin:12px auto 16px;padding:6px 18px;background:#0a1128bf;backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.12);border-radius:30px;width:fit-content;box-shadow:0 4px 15px #0000004d}.presence-pill{display:flex;align-items:center;gap:7px;font-size:13px;font-weight:600}.pulse-dot{width:8px;height:8px;border-radius:50%;display:inline-block}.pulse-green{background:#0f8;box-shadow:0 0 8px #0f8;animation:pulse-green-glow 2s infinite ease-in-out}.pulse-blue{background:#00d2ff;box-shadow:0 0 8px #00d2ff;animation:pulse-blue-glow 2s infinite ease-in-out}@keyframes pulse-green-glow{0%,to{transform:scale(1);opacity:.8}50%{transform:scale(1.3);opacity:1;box-shadow:0 0 12px #0f8}}@keyframes pulse-blue-glow{0%,to{transform:scale(1);opacity:.8}50%{transform:scale(1.3);opacity:1;box-shadow:0 0 12px #00d2ff}}.presence-count{font-weight:800;color:#fff}.presence-label{color:#94a3b8;font-size:12px}.presence-divider{color:#ffffff40;font-size:14px}.multiplayer-glow-btn{background:linear-gradient(135deg,#00d2ff,#05f);box-shadow:0 4px 20px #00d2ff73;border:1px solid rgba(255,255,255,.4)}.multiplayer-glow-btn:hover{box-shadow:0 6px 28px #00d2ffb3;transform:translateY(-2px)}.hud-ping-badge{display:flex;align-items:center;justify-content:center;gap:4px;background:#00000073;border:1px solid rgba(0,255,136,.35);border-radius:12px;padding:2px 8px;font-size:11px;font-weight:700;color:#0f8;margin-top:4px}.matchmaking-card{max-width:480px;width:90%;text-align:center;padding:32px 28px;position:relative;background:var(--arcade-card);backdrop-filter:blur(20px);border:2px solid rgba(0,210,255,.35);border-radius:28px;box-shadow:0 20px 60px #000000b3,0 0 40px #00d2ff33}.modal-close-btn{position:absolute;top:16px;right:18px;background:#ffffff14;border:1px solid rgba(255,255,255,.15);color:#cbd5e1;width:32px;height:32px;border-radius:50%;font-size:16px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:.2s}.modal-close-btn:hover{background:#ff3b3066;color:#fff;border-color:#ff3b30}.mm-header{margin-bottom:20px}.modal-title{font-size:24px;font-weight:900;letter-spacing:1px;color:#fff}.modal-subtitle{font-size:13px;color:#94a3b8;margin-top:4px}.nickname-section{display:flex;flex-direction:column;gap:6px;text-align:left;margin-bottom:18px;background:#ffffff08;padding:12px 16px;border-radius:16px;border:1px solid rgba(255,255,255,.08)}.nickname-section label{font-size:11px;font-weight:700;letter-spacing:.8px;color:#94a3b8}.nickname-input-wrap{display:flex;align-items:center;gap:8px;background:#00000059;border:1px solid rgba(255,255,255,.15);border-radius:12px;padding:6px 12px}.nickname-input-wrap input{background:transparent;border:none;outline:none;color:#fff;font-size:15px;font-weight:700;font-family:var(--font-display);flex:1}.dice-btn{background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:8px;font-size:16px;padding:4px 8px;cursor:pointer;transition:transform .2s}.dice-btn:hover{transform:scale(1.15) rotate(15deg);background:#fff3}.radar-container{position:relative;width:170px;height:170px;margin:16px auto;border-radius:50%;border:2px solid rgba(0,210,255,.35);background:radial-gradient(circle,#00d2ff1f,#0a1128d9 75%);overflow:hidden;box-shadow:inset 0 0 30px #00d2ff33}.radar-circle{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);border-radius:50%;border:1px dashed rgba(0,210,255,.3)}.circle-1{width:55px;height:55px}.circle-2{width:105px;height:105px}.circle-3{width:155px;height:155px}.radar-sweep{position:absolute;top:50%;left:50%;width:85px;height:85px;transform-origin:0 0;background:conic-gradient(from 0deg,rgba(0,210,255,.5) 0deg,transparent 65deg);animation:radar-sweep-spin 2.2s linear infinite}@keyframes radar-sweep-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.radar-center-blip{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:22px;z-index:2;filter:drop-shadow(0 0 8px rgba(0,210,255,.8))}.mm-status-box{margin-top:14px}.mm-status-title{font-size:18px;font-weight:800;color:#fff}.mm-status-sub{font-size:13px;color:#94a3b8;margin-top:4px}.match-ping-indicator{display:inline-flex;align-items:center;gap:6px;background:#0006;border:1px solid rgba(0,255,136,.3);padding:4px 14px;border-radius:20px;font-size:13px;color:#cbd5e1;margin-top:12px}.match-ping-indicator strong{color:#0f8;font-weight:800}.friend-boxes{display:flex;flex-direction:column;gap:14px;margin:16px 0}.friend-box{background:#ffffff0a;border:1px solid rgba(255,255,255,.1);border-radius:16px;padding:16px;text-align:center}.friend-box h4{font-size:14px;font-weight:800;letter-spacing:.8px;color:var(--arcade-cyan)}.friend-box p{font-size:12px;color:#94a3b8;margin:4px 0 10px}.room-code-display{font-size:28px;font-weight:900;letter-spacing:6px;color:var(--gold);background:#00000073;border:2px dashed rgba(255,204,0,.5);border-radius:12px;padding:8px 16px;margin:8px auto 12px;width:fit-content}.copy-btn{font-size:13px;padding:8px 18px;width:100%}.friend-divider{display:flex;align-items:center;justify-content:center;color:#ffffff4d;font-size:12px;font-weight:800}.join-input-group{display:flex;gap:8px;justify-content:center}#join-room-code-input{background:#00000073;border:1px solid rgba(255,255,255,.2);border-radius:10px;color:#fff;font-size:18px;font-weight:900;letter-spacing:4px;text-align:center;text-transform:uppercase;padding:8px 12px;width:140px;font-family:var(--font-display)}#join-room-code-input:focus{border-color:var(--arcade-cyan);outline:none}.modal-footer{margin-top:18px;display:flex;justify-content:center}.multiplayer-rematch-box{display:flex;flex-direction:column;align-items:center;gap:14px;margin-top:16px;width:100%}.rematch-status{font-size:15px;font-weight:700;color:var(--arcade-cyan);background:#00d2ff1a;border:1px solid rgba(0,210,255,.25);padding:8px 20px;border-radius:20px}.rematch-pulse{animation:rematch-pulse-glow 1.8s infinite ease-in-out}@keyframes rematch-pulse-glow{0%,to{box-shadow:0 4px 15px #fc06}50%{box-shadow:0 6px 25px #ffcc00d9;transform:translateY(-1px)}}.mobile-guide-toggle-btn{display:none;align-items:center;justify-content:center;gap:8px;background:#ffffff14;border:1px solid rgba(255,255,255,.2);color:#cbd5e1;font-size:13px;padding:10px 16px;border-radius:12px}.sidebar-close-btn{display:none;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);color:#fff;width:32px;height:32px;border-radius:50%;font-size:16px;cursor:pointer;align-items:center;justify-content:center;margin-left:auto}.is-touch .touch-controls-group{display:block}.is-desktop .touch-controls-group,.is-touch .arcade-toggle-btn.large{display:none}.is-portrait .mobile-guide-toggle-btn{display:flex}@media(max-width:960px){.mobile-guide-toggle-btn{display:flex}.menu-layout{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;max-width:520px;padding:12px}.controls-sidebar{display:none;position:fixed;top:0;left:0;width:100vw;height:100vh;z-index:100;background:#080e20f7;backdrop-filter:blur(24px);border-radius:0;border:none;padding:max(20px,env(safe-area-inset-top)) max(20px,env(safe-area-inset-right)) max(20px,env(safe-area-inset-bottom)) max(20px,env(safe-area-inset-left));box-shadow:none}.controls-sidebar.open{display:flex;flex-direction:column;animation:fadeInModal .25s ease-out}.sidebar-close-btn{display:flex}.menu-card{width:100%;max-width:480px;padding:24px 20px;max-height:94vh;overflow-y:auto}}@media(max-width:640px),(orientation:portrait)and (max-width:768px){#scoreboard{gap:6px;width:100%;max-width:100%;justify-content:space-between}.score-card{min-width:108px;padding:6px 10px;gap:6px;border-radius:14px}.player-name{font-size:11px;font-weight:700}.player-score{font-size:24px}.server-indicator{font-size:8px;padding:1px 5px;top:-8px;letter-spacing:.5px}.score-divider{min-width:74px;padding:2px 6px}.match-info{font-size:9px;letter-spacing:.5px}.rally-counter{font-size:9px}.hud-ping-badge{font-size:9px;padding:1px 5px}.logo-image{width:72px;height:72px}.logo-title{font-size:26px}.logo-badge{font-size:9px}.tagline{font-size:11px;margin-bottom:6px}.presence-bar{padding:4px 12px;gap:8px;margin:6px auto 12px}.presence-pill{font-size:11px;gap:5px}.presence-label{font-size:10px}.difficulty-buttons{grid-template-columns:1fr;gap:6px}.diff-btn{padding:8px 12px;display:flex;justify-content:space-between;align-items:center}.diff-desc{display:none}.menu-actions{gap:8px}.primary-btn,.secondary-btn{padding:12px 16px;font-size:14px}#controls-hint{font-size:10px;padding:6px 14px;gap:8px;border-radius:20px}.matchmaking-card{padding:24px 16px;width:94%}.modal-title{font-size:20px}.radar-container{width:130px;height:130px;margin:12px auto}.circle-1{width:42px;height:42px}.circle-2{width:80px;height:80px}.circle-3{width:118px;height:118px}.radar-sweep{width:65px;height:65px}.radar-center-blip{font-size:18px}.room-code-display{font-size:22px;letter-spacing:4px;padding:6px 12px}.stats-grid{grid-template-columns:repeat(2,1fr);gap:8px}.stat-box{padding:10px 6px}.stat-num{font-size:20px}.result-title{font-size:32px}.result-subtitle{font-size:13px}#hud-settings-container{top:max(16px,env(safe-area-inset-top));right:max(16px,env(safe-area-inset-right))}.hud-settings-dropdown{right:0;width:260px}}.gamemode-picker{display:flex;flex-direction:column;gap:8px;width:100%}.gamemode-picker label{font-size:11px;font-weight:800;letter-spacing:1.2px;color:var(--arcade-cyan);text-transform:uppercase}.gamemode-buttons{display:grid;grid-template-columns:1fr 1fr;gap:10px}.gamemode-btn{display:flex;align-items:center;gap:10px;padding:10px 14px;background:#ffffff0d;border:1.5px solid rgba(255,255,255,.14);border-radius:12px;color:#fff;cursor:pointer;transition:all .2s cubic-bezier(.16,1,.3,1);text-align:left}.gamemode-btn:hover{background:#ffffff1a;border-color:#ffffff4d;transform:translateY(-2px)}.gamemode-btn.active{background:linear-gradient(135deg,#00f3ff33,#0066ff40);border-color:var(--arcade-cyan);box-shadow:0 0 16px #00f3ff59}.gamemode-icon{font-size:22px}.gamemode-text{display:flex;flex-direction:column}.gamemode-title{font-size:13px;font-weight:800;letter-spacing:.5px}.gamemode-desc{font-size:10px;color:#94a3b8;font-weight:600}.curve-touch-controls{position:absolute;bottom:max(24px,env(safe-area-inset-bottom));left:0;width:100%;display:flex;justify-content:space-between;padding:0 24px;pointer-events:none;z-index:100}.curve-touch-btn{pointer-events:auto;user-select:none;-webkit-user-select:none;display:flex;align-items:center;justify-content:center;gap:10px;width:140px;height:64px;background:#0a1226bf;backdrop-filter:blur(12px);border:2px solid rgba(0,243,255,.4);border-radius:16px;color:#fff;font-family:inherit;font-size:13px;font-weight:800;letter-spacing:.5px;box-shadow:0 8px 24px #00000080,inset 0 0 12px #00f3ff26;cursor:pointer;touch-action:none;transition:transform .1s ease,background .1s ease}.curve-touch-btn:active{transform:scale(.94);background:#00f3ff40;border-color:var(--arcade-cyan);box-shadow:0 0 20px #00f3ff99}.steer-arrow{font-size:20px;color:var(--arcade-cyan)}
