.multiplayer-wrapper{min-height:calc(100vh - 72px);display:flex;flex-direction:column}.guest-banner{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.6rem 1.5rem;background:var(--warning-bg);color:var(--warning);font-size:.85rem;font-weight:600;text-align:center}.guest-banner a{color:inherit;text-decoration:underline}.guest-banner a:hover{opacity:.8}.connection-status{display:flex;align-items:center;gap:.5rem;padding:.4rem 1.5rem;font-size:.8rem;font-weight:600;text-align:center;justify-content:center;transition:background var(--transition-fast),color var(--transition-fast)}.connection-dot{display:inline-block;width:8px;height:8px;border-radius:50%;flex-shrink:0}.connection-status-connecting{background:var(--warning-bg);color:var(--warning)}.connection-status-connecting .connection-dot{background:var(--warning);animation:1.5s ease-in-out infinite pulse-dot}.connection-status-connected{background:var(--success-bg);color:var(--success)}.connection-status-connected .connection-dot{background:var(--success)}.connection-status-disconnected{background:var(--danger-bg);color:var(--danger)}.connection-status-disconnected .connection-dot{background:var(--danger)}@keyframes pulse-dot{0%,100%{opacity:1}50%{opacity:.3}}.lobby-view{flex:1;padding:2rem 0}.lobby-container{max-width:900px}.lobby-title{text-align:center;margin-bottom:.5rem}.mode-tabs{display:flex;justify-content:center;gap:4px;margin-bottom:1.5rem}.mode-tab{display:flex;align-items:center;gap:6px;padding:8px 24px;font-family:var(--font-primary);font-size:var(--font-base);font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);background:0 0;border:1px solid var(--border-color);cursor:pointer;transition:color .2s,border-color .2s,background .2s;clip-path:polygon(8px 0,calc(100% - 8px) 0,100% 8px,100% calc(100% - 8px),calc(100% - 8px) 100%,8px 100%,0 calc(100% - 8px),0 8px)}.mode-tab:hover{color:var(--text-primary);border-color:var(--border-light)}.mode-tab--active{color:var(--bg-primary);background:var(--accent-primary);border-color:var(--accent-primary)}.mode-tab--active:hover{color:var(--bg-primary)}.mode-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-grid);width:100%}.mode-cards .card{display:flex;cursor:pointer;transition:background .3s,filter .3s}.mode-cards .card:hover{background:var(--accent-primary);filter:drop-shadow(0 0 12px var(--cyan-border))}.mode-cards .card--accent{background:var(--cyan-border)}.mode-cards .card--accent:hover{filter:drop-shadow(0 0 16px rgba(0, 210, 211, .4))}.mode-card{display:flex;flex-direction:column;align-items:center;text-align:center;padding:32px 20px 24px;min-height:200px;width:100%;flex:1;position:relative}.mode-card__icon{color:var(--accent-primary);margin-bottom:16px}.mode-card h3{font-family:var(--font-primary);font-size:var(--font-lg);font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--text-primary);margin-bottom:8px}.mode-card p{font-size:var(--font-sm);color:var(--text-muted);line-height:1.5;margin-bottom:16px;flex:1}.mode-card__badge{position:absolute;top:12px;right:24px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;padding:2px 8px;background:var(--accent-primary);color:var(--bg-primary);clip-path:polygon(4px 0,calc(100% - 4px) 0,100% 4px,100% calc(100% - 4px),calc(100% - 4px) 100%,4px 100%,0 calc(100% - 4px),0 4px)}.mode-card__cta{font-family:var(--font-primary);font-size:var(--font-sm);font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-primary);margin-top:auto;transition:color .2s,text-shadow .2s}.mode-cards .card:hover .mode-card__cta{color:var(--accent-primary);text-shadow:0 0 6px rgba(0,210,211,.4)}.searching-overlay{position:fixed;top:0;left:0;right:0;bottom:0;z-index:var(--z-modal);display:flex;align-items:center;justify-content:center;background:var(--overlay-dark-strong);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}.searching-content{display:flex;flex-direction:column;align-items:center;gap:1rem;text-align:center;padding:3rem}.searching-spinner{width:48px;height:48px;border:3px solid var(--border-light);border-top-color:var(--accent-primary);border-radius:50%;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.searching-content h2{font-size:var(--font-xl);font-weight:700}.searching-content p{color:var(--text-muted);font-size:var(--font-base)}.room-view{flex:1;padding:2rem 0}.room-container{max-width:1100px}.room-header{position:relative;display:flex;align-items:center;gap:.75rem;padding:.6rem 1rem;margin-bottom:1rem;background:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--radius-sm);overflow:hidden}.room-header-left{display:flex;align-items:center;gap:.5rem}.room-mode-icon{color:var(--accent-primary);display:flex;flex-shrink:0}.room-mode-title{font-size:var(--font-base);font-weight:700;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap}.room-ranked-tag{font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);padding:3px 10px;border:1px solid var(--border-color);border-radius:3px;transition:.2s}.room-ranked-tag--on{color:var(--accent-primary);border-color:var(--cyan-border);background:var(--cyan-bg)}.room-code-group{display:flex;align-items:center;gap:.3rem;margin-left:.5rem}.room-code-label{font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted)}.room-code{font-family:var(--font-mono, monospace);font-size:.8rem;color:var(--accent-primary)}.room-code-copy{display:flex;align-items:center;justify-content:center;background:0 0;border:none;color:var(--text-muted);cursor:pointer;padding:.15rem;border-radius:3px;transition:color .15s}.room-code-copy:hover{color:var(--accent-primary)}.room-toggle{display:flex;align-items:center;gap:.4rem;cursor:pointer;user-select:none;margin-left:.5rem}.room-toggle input{display:none}.room-toggle-label{font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted)}.room-toggle-track{width:28px;height:16px;background:var(--border-light);border-radius:8px;position:relative;transition:background .2s}.room-toggle input:checked~.room-toggle-track{background:var(--accent-primary)}.room-toggle-thumb{position:absolute;top:2px;left:2px;width:12px;height:12px;background:var(--text-primary);border-radius:50%;transition:transform .2s}.room-toggle input:checked~.room-toggle-track .room-toggle-thumb{transform:translateX(12px)}.room-header-leave{margin-left:auto;font-size:.8rem;font-weight:600;color:var(--text-primary);text-decoration:none;cursor:pointer;transition:color .15s}.room-header-leave:hover{color:var(--accent-primary)}.room-section-heading{display:flex;align-items:baseline;gap:.5rem}.room-player-count{font-size:var(--font-sm);font-weight:600;color:var(--text-muted);font-variant-numeric:tabular-nums}.room-player-sep{color:var(--text-muted);opacity:.5;margin:0 1px}.room-code-group{display:flex;align-items:center;gap:4px}.room-code{font-family:'Courier New',Courier,monospace;letter-spacing:.08em;color:var(--accent-primary);font-weight:700;font-size:var(--font-sm);user-select:all}.room-header-progress{position:absolute;bottom:0;left:0;right:0;height:3px;background:var(--bg-overlay-subtle)}.room-header-progress.hidden{display:none}.room-header-progress-fill{height:100%;width:0%;background:var(--accent-primary);transition:width .4s}.room-header-progress-complete .room-header-progress-fill{box-shadow:0 0 8px rgba(0,210,211,.4)}.room-panel{padding:1.5rem}.room-panel h3{font-size:1.1rem;font-weight:700;margin-bottom:.75rem}.room-grid{display:grid;grid-template-columns:3fr 2fr;gap:1.5rem;min-height:400px}.room-grid-left{display:flex;flex-direction:column}.room-grid-right{display:flex;flex-direction:column;border-left:1px solid var(--border-color);padding-left:1.5rem}.player-list-panel{flex:1;overflow-y:auto;max-height:55vh;scrollbar-width:thin;scrollbar-color:var(--input-border) transparent}.player-list-panel::-webkit-scrollbar{width:6px}.player-list-panel::-webkit-scrollbar-track{background:0 0}.player-list-panel::-webkit-scrollbar-thumb{background:var(--input-border);border-radius:3px}.chat-messages{flex:1;min-height:120px}.chat-placeholder{color:var(--text-muted);font-size:var(--font-sm);font-style:italic;opacity:.5;padding:1rem 0;text-align:center}.room-actions{display:flex;justify-content:center;gap:.75rem}.room-actions .btn-full{flex:1}.player-list{display:flex;flex-direction:column;gap:.5rem}.player-list.player-list-compact{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem}.team-heading{display:flex;align-items:center;justify-content:space-between;padding:.5rem .5rem .25rem;margin-top:.75rem;border-bottom:2px solid var(--team-color,var(--border-color));list-style:none;grid-column:1/-1}.team-heading:first-child{margin-top:0}.team-heading-name{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--team-color,var(--text-muted))}.btn-switch-team{font-size:.6rem;padding:.15rem .4rem;border:1px solid var(--team-color,var(--border-color));border-radius:var(--radius-sm);background:0 0;color:var(--team-color,var(--text-muted));cursor:pointer;text-transform:uppercase;font-weight:600;letter-spacing:.04em;transition:background .15s,color .15s}.btn-switch-team:hover:not(:disabled){background:var(--team-color,var(--border-color));color:var(--text-primary)}.btn-switch-team:disabled{cursor:default;opacity:.7}.player-item[style*="--team-color"]{border-left:2px solid var(--team-color);margin-left:2px}.player-list-compact .player-item[style*="--team-color"]{border-left:none;margin-left:0;border-top:2px solid var(--team-color)}.player-list-compact .player-item{--rank-color:var(--rank-2);flex-direction:row;padding:0;gap:0;border-radius:var(--radius-md);background:linear-gradient(135deg,var(--bg-tertiary) 0,rgba(255,255,255,.03) 100%);border:1px solid var(--bg-overlay-subtle);overflow:hidden;position:relative;transition:border-color .3s,box-shadow .3s}.player-list-compact .player-item:hover{border-color:color-mix(in srgb,var(--rank-color) 40%,transparent);box-shadow:0 0 12px color-mix(in srgb,var(--rank-color) 15%,transparent)}.card-avatar{width:48px;aspect-ratio:1;flex-shrink:0;display:flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--rank-color) 18%,var(--bg-tertiary));border-right:2px solid color-mix(in srgb,var(--rank-color) 35%,transparent);background-size:cover;background-position:center}.card-avatar-img{width:100%;height:100%;object-fit:cover;display:block}.card-avatar-letter{font-size:1.1rem;font-weight:800;color:var(--rank-color);text-shadow:0 0 10px color-mix(in srgb,var(--rank-color) 40%,transparent)}.card-info{flex:1;min-width:0;padding:.45rem .55rem;display:flex;flex-direction:column;justify-content:center;gap:.2rem}.card-top{display:flex;align-items:center;gap:.4rem}.card-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:700;font-size:.82rem;line-height:1.2}.card-ready-icon{flex-shrink:0;margin-right:8px;filter:drop-shadow(0 0 4px rgba(0, 210, 211, .4))}.card-waiting-dot{width:8px;height:8px;border-radius:50%;background:var(--text-muted);opacity:.3;flex-shrink:0}.card-bottom{display:flex;align-items:center;gap:.35rem}.card-rank-label{font-size:.65rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em;line-height:1}.card-rank-label.card-unranked{color:var(--text-muted);font-weight:600;font-style:italic;opacity:.6}.card-elo{font-size:.62rem;font-weight:600;color:var(--text-muted);font-family:'SF Mono','Fira Code','Cascadia Code',Consolas,monospace;line-height:1}.player-list-compact .player-badge{font-size:.58rem;padding:.05rem .3rem;margin-left:auto}.player-list-compact .player-item.player-ready{border-color:var(--accent-primary-dark);background:linear-gradient(135deg,var(--accent-primary-light) 0,var(--bg-tertiary) 100%)}.player-list-compact .player-item.player-ready .card-avatar{background:var(--accent-primary-dark);border-right-color:var(--accent-primary-dark)}.player-item{display:flex;align-items:center;gap:.75rem;padding:.6rem .75rem;background:var(--input-bg);border:1.5px solid var(--input-border);border-radius:var(--radius-sm);font-weight:500;transition:background var(--transition-fast),border-color var(--transition-fast)}.player-icon{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:var(--radius-sm);background:var(--bg-secondary);overflow:hidden;color:var(--text-muted);font-size:.85rem;font-weight:700;flex-shrink:0}.player-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.player-badge{font-size:.75rem;font-weight:600;padding:.1rem .5rem;border-radius:var(--radius-full)}.player-badge-host{background:var(--warning-bg);color:var(--warning)}.player-badge-bot{background:var(--accent-primary-light);color:var(--accent-primary)}.player-badge-you{background:var(--success-bg);color:var(--success)}.player-level,.player-rank{font-size:var(--font-xs);font-weight:700;color:var(--text-muted);margin-left:auto;margin-right:4px;text-transform:uppercase;letter-spacing:.04em}.player-elo{font-size:var(--font-xs);font-weight:600;color:var(--text-muted);margin-right:8px}.kick-player-btn{display:flex;align-items:center;justify-content:center;width:20px;height:20px;background:0 0;border:none;color:var(--border-light);cursor:pointer;border-radius:50%;transition:color .15s,background .15s;padding:0;flex-shrink:0}.kick-player-btn:hover{color:var(--danger);background:var(--danger-bg-light)}.bot-controls{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border-color)}.bot-controls h4{font-size:.9rem;margin-bottom:.5rem;color:var(--text-secondary)}.bot-controls-row{display:flex;gap:.5rem;align-items:center}.bot-controls-row .form-control{flex:1}.game-starting-overlay{position:fixed;top:0;left:0;right:0;bottom:0;z-index:var(--z-modal);display:flex;align-items:center;justify-content:center;gap:.75rem;background:var(--overlay-dark-strong);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);color:var(--accent-primary);font-size:1.2rem;font-weight:600;letter-spacing:.03em;animation:1.5s ease-in-out infinite startingPulse}.game-starting-overlay .spinner{animation:1s linear infinite spin;color:var(--accent-primary);flex-shrink:0}@keyframes startingPulse{0%,100%{opacity:.7}50%{opacity:1}}.btn-ready-waiting{background:var(--bg-tertiary)!important;border-color:var(--border-color)!important;color:var(--text-muted)!important;cursor:default!important;pointer-events:none;display:flex;align-items:center;justify-content:center;gap:.5rem}.btn-ready-waiting .spinner{animation:1s linear infinite spin;width:18px;height:18px;flex-shrink:0}.player-item.player-ready{background:var(--accent-primary-light);box-shadow:inset 0 0 0 1px var(--accent-primary-dark)}.player-item.player-ready .player-icon{background:var(--accent-primary-dark);color:var(--accent-primary)}.player-item.player-ready-enter{animation:.8s ready-row-pulse;position:relative;overflow:hidden}.player-item.player-ready-enter::before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,transparent,var(--cyan-border),transparent);animation:.6s ease-out forwards ready-sweep;pointer-events:none;z-index:1}@keyframes ready-row-pulse{0%{background:var(--bg-tertiary);box-shadow:none}15%{background:rgba(0,210,211,.25);box-shadow:0 0 20px rgba(0,210,211,.2),inset 0 0 0 1px rgba(0,210,211,.5)}40%{background:rgba(0,210,211,.12);box-shadow:0 0 10px rgba(0,210,211,.08),inset 0 0 0 1px rgba(0,210,211,.25)}100%{background:var(--accent-primary-light);box-shadow:inset 0 0 0 1px var(--accent-primary-dark)}}@keyframes ready-sweep{0%{transform:translateX(-100%);opacity:1}100%{transform:translateX(100%);opacity:0}}.ready-check{display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--accent-primary);position:relative}.ready-check-pending{color:var(--text-muted)}.player-ready-enter .ready-check::after{content:'';position:absolute;width:20px;height:20px;border-radius:50%;border:2px solid var(--accent-primary);animation:.7s ease-out .2s forwards ready-shockwave;opacity:0}@keyframes ready-shockwave{0%{transform:scale(1);opacity:.8}100%{transform:scale(2.8);opacity:0}}.player-ready-enter .ready-check-circle{stroke-dasharray:63;stroke-dashoffset:63;animation:.4s forwards ready-circle-draw}.player-ready-enter .ready-check-mark{stroke-dasharray:20;stroke-dashoffset:20;animation:.3s .3s forwards ready-check-draw}@keyframes ready-circle-draw{to{stroke-dashoffset:0}}@keyframes ready-check-draw{to{stroke-dashoffset:0}}.player-ready-enter .ready-check svg{animation:.5s cubic-bezier(.34,1.56,.64,1) .1s both ready-check-pop}@keyframes ready-check-pop{0%{transform:scale(0) rotate(-45deg);opacity:0}50%{transform:scale(1.4) rotate(5deg);opacity:1}75%{transform:scale(.9) rotate(-2deg)}100%{transform:scale(1) rotate(0);opacity:1}}@media (prefers-reduced-motion:reduce){.player-item.player-ready-enter,.player-item.player-ready-enter::before,.player-ready-enter .ready-check svg,.player-ready-enter .ready-check::after,.ready-check-circle,.ready-check-mark{animation:none}.ready-check-circle,.ready-check-mark{stroke-dashoffset:0}}.room-actions .btn{justify-content:center;min-width:180px}.room-actions .btn-lg{gap:.5rem}.room-actions .btn-lg svg{flex-shrink:0}.game-view{flex:1;display:flex;flex-direction:column;padding:.5rem 0;height:100vh;overflow:hidden}.game-view:not(.hidden)~.footer,body:has(.game-view:not(.hidden)) .footer,body:has(.game-view:not(.hidden)) .navbar{display:none}.multiplayer-game-container{display:grid;align-items:start;justify-content:center;gap:.75rem;flex:1;padding:0 1rem;margin:0 auto;width:100%}body.spectating .game-center-column,body.spectating .game-sidebar-left,body.spectating .game-sidebar-right{display:none}body.spectating .multiplayer-game-container[data-layout]{display:block;max-width:100%;padding:0}body.spectating .opponents-zone{max-height:none;overflow:visible;width:90%;margin:0 auto;padding:20px 0}body.spectating .spectate-grid{display:grid;grid-template-columns:repeat(var(--spectate-cols,6),1fr);gap:15px;justify-content:center}body.spectating .opponent-mini{position:relative;padding:0;border:none;background:0 0}body.spectating .opponent-mini .board{width:100%;aspect-ratio:1/2;border:1px solid var(--border-color);overflow:hidden}body.spectating .opponent-mini canvas{display:block;width:100%;height:100%}body.spectating .opponent-name{text-align:center;font-weight:700;color:var(--text-primary);padding:2px 0;font-size:.9rem;max-width:none}body.spectating .opponent-score{text-align:center;font-weight:700;color:var(--accent-primary);font-size:.8rem}.spectate-eliminating{animation:.6s forwards spectate-eliminate}@keyframes spectate-eliminate{0%{opacity:1;transform:scale(1)}30%{opacity:1;transform:scale(1.05);border-color:var(--danger);box-shadow:var(--glow-danger-md)}100%{opacity:0;transform:scale(.8)}}.multiplayer-game-container[data-layout=duel]{grid-template-columns:auto auto auto 1rem auto;grid-template-areas:"sidebar-l center sidebar-r . opponents";max-width:1400px}.multiplayer-game-container[data-layout=arena]{grid-template-columns:auto auto auto auto auto;grid-template-areas:"sidebar-l center sidebar-r . opponents";max-width:1400px}.multiplayer-game-container[data-layout=colosseum]{grid-template-columns:auto auto auto 1rem auto;grid-template-areas:"sidebar-l center sidebar-r . opponents";max-width:1600px}.game-sidebar-left{grid-area:sidebar-l}.game-center-column{grid-area:center}.game-sidebar-right{grid-area:sidebar-r}.game-sidebar{display:flex;flex-direction:column;gap:.4rem}.game-sidebar-left{align-items:stretch;width:160px}.game-sidebar-right{align-items:flex-start}.sidebar-box{background:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--radius-sm);padding:.5rem .6rem}.sidebar-box-label{display:block;font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin-bottom:.3rem}.audio-toggle-btn{display:flex;align-items:center;gap:.4rem;cursor:pointer;color:var(--text-muted);font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;font-family:var(--font-primary);transition:color .15s}.audio-toggle-btn:hover{color:var(--accent-primary)}.hold-box{display:flex;flex-direction:column;align-items:center}.hold-box .sidebar-box-label{align-self:flex-start}.hold-box canvas{display:block}.stats-box{display:flex;flex-direction:column;gap:.35rem}.panel{background:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--radius-sm);padding:.4rem .5rem}.panel-title{font-size:.55rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin-bottom:.3rem}.next-panel canvas{display:block}.stat-item{display:flex;align-items:baseline;justify-content:space-between}.stat-label{font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted)}.stat-value{font-size:1.1rem;font-weight:700;color:var(--text-primary);font-variant-numeric:tabular-nums;line-height:1.2}.game-center-column{display:flex;flex-direction:column;align-items:center}.board{position:relative;background:var(--bg-tertiary);border:2px solid var(--border-color);border-radius:var(--radius-sm);overflow:hidden;line-height:0}.board canvas{display:block}.garbage-indicator{position:absolute;left:0;bottom:0;width:6px;height:0;background:var(--danger);opacity:.85;transition:height .3s;border-radius:0 3px 0 0;z-index:5}.garbage-indicator.garbage-warning{background:var(--warning)}.garbage-indicator.garbage-danger{background:var(--danger);animation:.8s ease-in-out infinite garbage-pulse}@keyframes garbage-pulse{0%,100%{opacity:.85}50%{opacity:.4}}.targeting-box{display:flex;flex-direction:column;gap:.2rem}.targeting-box .sidebar-box-label{display:flex;align-items:center;gap:.3rem}.targeting-box .sidebar-box-label kbd{font-size:.5rem;padding:.05rem .25rem;border:1px solid var(--border-color);border-radius:2px;color:var(--text-muted);font-family:inherit;line-height:1.3}.targeting-btn{display:flex;align-items:center;gap:.3rem;padding:.2rem .35rem;border:1px solid transparent;border-radius:var(--radius-sm);background:0 0;color:var(--text-disabled);font-size:.7rem;font-weight:600;cursor:pointer;transition:.15s;text-transform:uppercase;letter-spacing:.04em;width:100%;text-align:left}.targeting-btn:hover{color:var(--text-secondary);background:var(--bg-overlay-subtle)}.targeting-btn kbd{font-size:.6rem;min-width:1rem;text-align:center;padding:.05rem .2rem;border:1px solid var(--border-color);border-radius:2px;color:var(--text-muted);font-family:inherit;line-height:1.3}.targeting-btn.active{border-color:var(--accent-primary);background:var(--cyan-bg-medium);color:var(--accent-primary)}.targeting-btn.active kbd{border-color:var(--accent-primary);color:var(--accent-primary)}body.ingame .navbar .nav-menu,body.ingame .navbar .nav-toggle{opacity:0;pointer-events:none;transition:opacity .3s}body.ingame .navbar{background:0 0;border-bottom-color:transparent;pointer-events:none}body.ingame .navbar .nav-brand{pointer-events:auto;position:relative;z-index:2}.game-ticker{position:fixed;top:0;left:0;right:0;z-index:calc(var(--z-navbar) - 1);display:flex;align-items:center;justify-content:center;gap:1.5rem;height:56px;padding:0 1rem;background:var(--bg-primary);border-bottom:1px solid var(--border-color);font-size:.8rem}.ticker-item{display:flex;align-items:center;gap:.3rem}.ticker-label{color:var(--text-muted);font-weight:600;font-size:.6rem;text-transform:uppercase;letter-spacing:.03em}.ticker-value{font-weight:700;font-variant-numeric:tabular-nums;color:var(--text-primary)}#aliveDisplay .ticker-value{color:var(--accent-primary)}#badgeDisplay .ticker-value{color:var(--gold)}#koDisplay .ticker-value{color:var(--danger)}#attackerDisplay .ticker-value{color:var(--attacker-color)}.badge-level-1 #badgeDisplay{filter:brightness(1.1)}.badge-level-2 #badgeDisplay{filter:brightness(1.2);text-shadow:var(--glow-gold-sm)}.badge-level-3 #badgeDisplay{filter:brightness(1.3);text-shadow:var(--glow-gold-md)}.badge-level-4 #badgeDisplay{filter:brightness(1.5);text-shadow:var(--glow-gold-lg);animation:1.5s ease-in-out infinite alternate badge-glow}@keyframes badge-glow{from{filter:brightness(1.3)}to{filter:brightness(1.7)}}.ko-feed{position:absolute;top:60px;right:-160px;width:150px;z-index:10;pointer-events:none}.ko-feed-item{padding:.25rem .4rem;margin-bottom:.2rem;background:var(--overlay-dark-strong);border-left:2px solid var(--danger);border-radius:0 var(--radius-sm) var(--radius-sm) 0;font-size:.65rem;color:var(--text-secondary);animation:.3s ease-out ko-feed-in,.3s ease-in 4s forwards ko-feed-out}.ko-feed-item .ko-killer{color:var(--accent-primary);font-weight:700}.ko-feed-item .ko-victim{color:var(--ko-victim)}@keyframes ko-feed-in{from{opacity:0;transform:translateX(20px)}to{opacity:1;transform:translateX(0)}}@keyframes ko-feed-out{from{opacity:1}to{opacity:0}}.escalation-tense .board{box-shadow:var(--escalation-tense)}.escalation-intense .board{box-shadow:var(--escalation-intense)}.escalation-final .board{box-shadow:var(--escalation-final);animation:2s ease-in-out infinite alternate final-pulse}@keyframes final-pulse{from{box-shadow:inset 0 0 30px rgba(255,0,0,.15)}to{box-shadow:inset 0 0 50px rgba(255,0,0,.25)}}.fatigue-warning{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:var(--danger-bg-light);border:1px solid var(--danger-border-light);color:var(--ko-victim);padding:.5rem 1rem;border-radius:var(--radius-md);font-size:.8rem;font-weight:700;text-transform:uppercase;z-index:20;animation:.5s ease-out fatigue-flash;pointer-events:none}@keyframes fatigue-flash{from{opacity:0;transform:translate(-50%,-50%) scale(1.3)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}.chat-messages{width:100%;box-sizing:border-box;overflow-y:auto;max-height:280px;padding:.5rem;font-size:.8rem;scrollbar-width:thin;border:1.5px solid var(--input-border);border-radius:var(--radius-sm);background:var(--input-bg)}.chat-msg{margin-bottom:.2rem;line-height:1.3;word-break:break-word}.chat-msg-user{font-weight:700;color:var(--accent-primary)}.chat-msg-text{color:var(--text-secondary)}.chat-msg-system{color:var(--text-disabled);font-style:italic}.chat-input-row{display:flex;gap:.25rem;margin-top:.5rem}.chat-input-row #chatSendBtn{display:none}.chat-input{flex:1;font-size:.8rem}.quick-chat-bubble{position:absolute;top:-24px;left:50%;transform:translateX(-50%);background:rgba(0,210,211,.9);color:var(--text-primary);padding:.15rem .5rem;border-radius:10px;font-size:.65rem;font-weight:600;white-space:nowrap;z-index:15;animation:.3s ease-out qc-pop,.3s ease-in 2s forwards qc-fade;pointer-events:none}@keyframes qc-pop{from{opacity:0;transform:translateX(-50%) scale(.5) translateY(10px)}to{opacity:1;transform:translateX(-50%) scale(1) translateY(0)}}@keyframes qc-fade{to{opacity:0}}.room-actions{position:sticky;bottom:0;background:0 0;padding:.75rem 0;z-index:10}.game-overlay{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--overlay-dark-darker);z-index:10}.overlay-content{text-align:center;color:var(--text-primary);padding:1.5rem}.overlay-content h2{font-size:2rem;margin-bottom:.5rem}.overlay-hint{color:var(--text-secondary);font-size:.95rem}.opponents-zone{grid-area:opponents;display:flex;flex-direction:column;gap:.5rem;align-self:stretch;overflow:hidden}.br-wrapper{line-height:normal}.br-leaderboard{display:flex;flex-direction:column;width:100%;height:100%;overflow:hidden}.br-lb-header{display:flex;align-items:baseline;gap:.3rem;padding:.5rem .75rem;border-bottom:1px solid var(--bg-overlay-subtle);flex-shrink:0}.br-lb-alive{font-size:1.5rem;font-weight:900;color:var(--accent-primary);line-height:1;font-variant-numeric:tabular-nums}.br-lb-alive-total{font-size:.85rem;font-weight:600;color:var(--text-muted)}.br-lb-alive-label{font-size:.6rem;font-weight:700;letter-spacing:.1em;color:var(--text-muted);margin-left:.25rem}.br-lb-entry{display:grid;grid-template-columns:2rem 1fr auto;align-items:center;gap:.5rem;padding:0 .75rem;height:80px;min-height:80px;max-height:80px;border-left:3px solid transparent;position:relative;overflow:hidden;will-change:transform;transition:transform .5s cubic-bezier(.22, 1, .36, 1),background .2s;box-sizing:border-box}.br-lb-entry:nth-child(2n){background:var(--bg-overlay-subtle)}.br-lb-entry.self{border-left-color:var(--accent-primary);background:var(--cyan-bg-light)}.br-lb-entry.lb-hidden{display:none}.br-lb-sep{text-align:center;color:var(--text-muted);font-size:.75rem;padding:.25rem 0;letter-spacing:.3em;flex-shrink:0}.br-lb-rank{font-size:1rem;font-weight:800;color:var(--text-muted);text-align:center;font-variant-numeric:tabular-nums;line-height:1}.br-lb-entry[data-rank="1"] .br-lb-rank{color:var(--rank-1);font-size:1.1rem}.br-lb-entry[data-rank="2"] .br-lb-rank{color:var(--rank-2)}.br-lb-entry[data-rank="3"] .br-lb-rank{color:var(--rank-3)}.br-lb-name{font-size:.95rem;font-weight:600;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.br-lb-score{font-size:.9rem;font-weight:700;color:var(--accent-primary);font-variant-numeric:tabular-nums;text-align:right;transition:transform .2s}.br-lb-entry.lb-eliminating{animation:.8s forwards lb-eliminate;pointer-events:none}@keyframes lb-eliminate{0%{opacity:1;background:0 0}15%{opacity:1;background:rgba(244,67,54,.35);border-left-color:var(--danger)}40%{opacity:1;background:rgba(244,67,54,.2)}100%{opacity:0;transform:translateX(100%)}}.br-lb-score.score-bumped{animation:.35s score-bump}@keyframes score-bump{0%,100%{transform:scale(1);color:var(--accent-primary)}40%{transform:scale(1.2);color:var(--text-primary)}}.br-leaderboard.fading-out{transition:opacity .35s;opacity:0}.br-board-grid{display:grid;width:100%;height:100%;gap:4px;padding:4px;box-sizing:border-box;align-content:stretch}.br-board-grid .opponent-mini{display:flex;flex-direction:column;align-items:center;justify-content:center;overflow:hidden;transition:.5s;min-width:0;min-height:0}.br-board-grid .opponent-mini .board{border:none;overflow:hidden}.br-board-grid .opponent-mini canvas{display:block;width:100%;height:100%}.br-board-grid .opponent-name{font-size:.6rem;max-width:none;text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:100%;padding:1px 2px}.br-board-grid .opponent-score{font-size:.55rem}.br-board-grid .opponent-mini.board-appearing{animation:.5s forwards board-appear}@keyframes board-appear{0%{opacity:0;transform:scale(.85)}100%{opacity:1;transform:scale(1)}}.br-board-grid .opponent-mini.board-dead{animation:.5s forwards board-die;pointer-events:none}@keyframes board-die{0%{opacity:1}30%{border-color:var(--danger);box-shadow:var(--glow-danger-md)}100%{opacity:.25;border-color:var(--danger)}}.br-board-grid .opponent-mini.board-removing{animation:.3s forwards board-remove;pointer-events:none}@keyframes board-remove{0%{opacity:.25;transform:scale(1)}100%{opacity:0;transform:scale(.8)}}.br-compact{display:flex;flex-direction:column;width:100%;height:100%;overflow:hidden}.br-compact-list{flex:1;overflow:hidden}.br-compact-self{flex-shrink:0;border-top:1px solid var(--border-subtle);margin-top:auto}.br-compact-header{display:flex;align-items:baseline;gap:.3rem;padding:.25rem .75rem .5rem;border-bottom:1px solid var(--bg-overlay-subtle);margin-bottom:.25rem}.br-compact-alive{font-size:1.6rem;font-weight:900;color:var(--accent-primary);line-height:1;font-variant-numeric:tabular-nums}.br-compact-alive-of{font-size:.85rem;font-weight:600;color:var(--text-muted)}.br-compact-alive-label{font-size:.6rem;font-weight:700;letter-spacing:.1em;color:var(--text-muted);margin-left:.25rem}.br-compact-entry{display:grid;grid-template-columns:2rem 1fr auto;align-items:center;gap:.5rem;padding:0 .75rem;height:50px;min-height:50px;flex-shrink:0;position:relative;overflow:hidden;will-change:transform;border-left:3px solid transparent;box-sizing:border-box}.br-compact-entry.self{border-left-color:var(--accent-primary);background:var(--cyan-bg-light)}.br-compact-rank{font-size:.8rem;font-weight:800;color:var(--text-muted);text-align:center;font-variant-numeric:tabular-nums}.br-compact-entry[data-rank="1"] .br-compact-rank{color:var(--rank-1)}.br-compact-entry[data-rank="2"] .br-compact-rank{color:var(--rank-2)}.br-compact-entry[data-rank="3"] .br-compact-rank{color:var(--rank-3)}.br-compact-name{font-size:.85rem;font-weight:600;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.br-compact-score{font-size:.8rem;font-weight:700;color:var(--accent-primary);font-variant-numeric:tabular-nums}.br-compact-entry.slot-eliminated{animation:.6s slot-elim}@keyframes slot-elim{0%,100%{background:0 0}15%{background:rgba(244,67,54,.35)}40%{background:rgba(244,67,54,.15)}}.br-compact-entry.slot-swap{animation:.4s slot-swap}@keyframes slot-swap{0%,100%{background:0 0}30%{background:var(--cyan-bg-medium)}}.duel-opponent{display:flex;flex-direction:column;align-items:center}.duel-scoreboard{position:fixed;top:0;left:0;right:0;z-index:calc(var(--z-navbar) - 1);display:flex;align-items:center;justify-content:center;height:56px;padding:0 1rem;background:var(--bg-primary);border-bottom:1px solid var(--border-color)}.duel-player{display:flex;align-items:center;gap:.75rem;min-width:200px}.duel-player--self{justify-content:flex-end;text-align:right}.duel-player--opp{justify-content:flex-start;text-align:left}.duel-player-name{font-size:1rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em;color:var(--text-primary)}.duel-player--self .duel-player-name{color:var(--accent-primary)}.duel-player-stats{display:flex;gap:.75rem}.duel-stat{display:flex;align-items:baseline;gap:.25rem}.duel-stat-label{font-size:.6rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em;color:var(--text-muted)}.duel-stat-value{font-size:.9rem;font-weight:700;color:var(--text-primary);font-variant-numeric:tabular-nums}.duel-scoreboard-vs{font-size:1rem;font-weight:900;color:var(--accent-primary);text-shadow:var(--glow-cyan-md);padding:0 1.5rem;letter-spacing:.1em}.opp-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.5rem}.opponent-mini{display:flex;flex-direction:column;align-items:center;gap:.3rem;padding:.4rem;background:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--radius-sm);box-shadow:var(--card-shadow);transition:border-color var(--transition-fast),opacity var(--transition-base);position:relative}.opponent-mini.targeted{border-color:var(--warning);box-shadow:var(--glow-gold-sm)}.opponent-mini.attacker{border-color:var(--danger);box-shadow:var(--glow-danger-sm)}.opponent-name{font-size:.7rem;font-weight:700;color:var(--text-primary);max-width:80px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:center}.board[data-team="1"]{border-color:var(--team-1)}.board[data-team="2"]{border-color:var(--team-2)}.board[data-team="3"]{border-color:var(--team-3)}.board[data-team="4"]{border-color:var(--team-4)}.opponent-team-label{font-size:.6rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em}.opponent-team-label.ally{color:var(--team-1)}.opponent-team-label.enemy{color:var(--team-2)}.opponent-score{font-size:.65rem;font-weight:600;color:var(--text-muted);font-variant-numeric:tabular-nums}.opponent-placement{font-size:.85rem;font-weight:800;color:var(--danger);display:none}.opponent-mini.eliminated{opacity:.4}.opponent-mini.eliminated .board{filter:grayscale(1)}.opponent-mini.eliminated .opponent-placement{display:block}.opp-featured{display:grid;grid-template-columns:repeat(2,1fr);gap:.4rem}.results-overlay{position:fixed;top:0;left:0;right:0;bottom:0;z-index:var(--z-modal);display:flex;align-items:center;justify-content:center;background:var(--overlay-dark);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);padding:1.5rem}.results-content{width:100%;max-width:500px;padding:2rem;animation:.3s forwards modal-in}.results-content h2{text-align:center;margin-bottom:1.5rem}.results-team-group{margin-bottom:1.25rem}.results-team-group:last-child{margin-bottom:0}.results-team-header{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:.5rem;padding-bottom:.3rem;border-bottom:1px solid var(--border-subtle)}.results-team-name{font-size:1rem;font-weight:700;text-transform:uppercase;color:var(--team-color,var(--text-primary));letter-spacing:.04em;white-space:nowrap;display:inline-flex;align-items:center;gap:.4rem}.trophy-icon{vertical-align:middle;color:inherit}.results-team-total{font-size:.75rem;color:var(--text-muted);font-variant-numeric:tabular-nums}.results-team-group .results-table{margin-bottom:0}.badge-mvp{display:inline-block;font-size:.65rem;font-weight:800;letter-spacing:.08em;padding:.15rem .5rem;margin-left:.5rem;background:var(--accent-primary);color:var(--bg-primary);clip-path:polygon(4px 0,calc(100% - 4px) 0,100% 4px,100% calc(100% - 4px),calc(100% - 4px) 100%,4px 100%,0 calc(100% - 4px),0 4px);vertical-align:text-bottom;line-height:1.3}.results-table{width:100%;margin-bottom:1.5rem}.results-table thead{background:var(--bg-overlay-subtle)}.results-table th{padding:.6rem .75rem;font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);text-align:left}.results-table td{padding:.6rem .75rem;border-top:1px solid var(--border-color);font-size:1rem}.results-table tr.result-self{background:var(--accent-primary-light)}.result-placement{font-weight:800;font-size:1rem}.results-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem;gap:1rem}.results-title{font-size:var(--font-xl);font-weight:700;text-transform:uppercase;color:var(--text-primary);margin:0}.result-placement-1{color:var(--rank-1)}.result-placement-2{color:var(--rank-2)}.result-placement-3{color:var(--rank-3)}.rating-up{color:var(--success);font-size:.8em;font-weight:600}.rating-down{color:var(--danger);font-size:.8em;font-weight:600}.xp-gain{color:var(--accent-primary);font-size:.75em;font-weight:600}.results-actions{display:flex;gap:.75rem;justify-content:center}.dialog-results .db-buttons,.dialog-results-top3 .db-buttons{display:none}.dialog-results-top3 .db-body::before{content:'';position:absolute;top:0;left:0;right:0;height:180px;background:radial-gradient(ellipse 60% 80% at 50% 0,rgba(255,200,50,.12) 0,transparent 70%);pointer-events:none}.dialog-results .db-body,.dialog-results-top3 .db-body{position:relative;overflow:hidden}.vr-hero{text-align:center;position:relative;z-index:1;margin-bottom:1.5rem}.vr-rank{font-size:4rem;font-weight:700;letter-spacing:-2px;line-height:1;color:var(--text-muted)}.vr-rank-gold{background:linear-gradient(135deg,var(--gold),var(--gold-deep),var(--gold));background-size:200% 100%;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:3s linear infinite vr-shimmer}@keyframes vr-shimmer{0%{background-position:-200% 0}100%{background-position:200% 0}}.vr-victory-label{font-size:1.1rem;letter-spacing:5px;text-transform:uppercase;color:var(--gold-deep);margin:4px 0 8px;font-weight:600}.vr-player-name{font-size:2.2rem;font-weight:600;color:var(--text-primary);letter-spacing:-.5px}.vr-mode-tag{display:inline-block;font-size:.65rem;letter-spacing:2px;text-transform:uppercase;color:var(--text-muted);margin-top:10px;border:1px solid var(--border-subtle);border-radius:20px;padding:4px 14px}.vr-stats{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-bottom:1.5rem;position:relative;z-index:1}.vr-stat{background:var(--bg-secondary);border-radius:10px;padding:12px 10px;text-align:center;border:1px solid var(--border-default);flex:1;min-width:80px;max-width:140px}.vr-stat-primary{border-color:var(--gold-border-medium);background:linear-gradient(180deg,var(--bg-primary) 0,var(--bg-secondary) 100%)}.vr-stat-val{font-size:1.35rem;font-weight:600;color:var(--text-primary)}.vr-rewards{text-align:center;font-size:1.1rem;font-weight:600;letter-spacing:1px;display:flex;justify-content:center;gap:24px;margin-bottom:1.25rem}.vr-stat-primary .vr-stat-val{color:var(--gold);font-size:1.6rem}.vr-stat-label{font-size:.6rem;letter-spacing:2px;text-transform:uppercase;color:var(--text-muted);margin-top:2px}.vr-lb{position:relative;z-index:1}.vr-lb-title{font-size:.6rem;letter-spacing:3px;text-transform:uppercase;color:var(--border-light);margin-bottom:.5rem}.vr-lb-row{display:grid;grid-template-columns:28px 1fr auto auto;align-items:center;gap:8px;padding:8px 12px;border-radius:8px;margin-bottom:4px;background:var(--bg-secondary);position:relative;overflow:hidden;animation:.4s both vr-fade-up}.vr-lb-row::before{content:'';position:absolute;left:0;top:0;bottom:0;background:linear-gradient(90deg,var(--bar-color,var(--border-default)),transparent);width:var(--bar-w,0%);opacity:.2;border-radius:8px;transition:width .8s}.vr-lb-me{border:1px solid var(--gold-border-light)}.vr-lb-me::before{opacity:.2}.vr-lb-pos{font-size:.85rem;font-weight:600;color:var(--pos-color,var(--text-muted));z-index:1}.vr-lb-name{font-size:.85rem;color:var(--text-secondary);z-index:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vr-lb-me .vr-lb-name{color:var(--text-primary);font-weight:500}.vr-lb-score{font-size:.85rem;font-weight:500;color:var(--score-color,var(--cyan-bright));z-index:1;text-align:right}.vr-lb-lines{font-size:.75rem;color:var(--text-muted);z-index:1;min-width:24px;text-align:right}.vr-lb-row:nth-child(2){animation-delay:50ms}.vr-lb-row:nth-child(3){animation-delay:.1s}.vr-lb-row:nth-child(4){animation-delay:.15s}.vr-lb-row:nth-child(5){animation-delay:.2s}.vr-lb-row:nth-child(6){animation-delay:.25s}.vr-lb-row:nth-child(7){animation-delay:.3s}.vr-lb-row:nth-child(8){animation-delay:.35s}.vr-lb-row:nth-child(9){animation-delay:.4s}.vr-lb-row:nth-child(10){animation-delay:.45s}.vr-lb-row:nth-child(11){animation-delay:.5s}@keyframes vr-fade-up{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.vr-h2h{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;margin-bottom:1.5rem;position:relative;z-index:1}.vr-h2h-player{text-align:center}.vr-h2h-crown{font-size:.6rem;letter-spacing:3px;text-transform:uppercase;color:var(--gold-deep);min-height:1em}.vr-h2h-loser-crown{color:var(--danger-light);opacity:.6}.vr-h2h-name{font-size:clamp(.85rem, 4vw, 1.35rem);font-weight:600;color:var(--text-primary);margin-bottom:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vr-h2h-p2 .vr-h2h-name{color:var(--text-muted)}.vr-h2h-vs{font-size:1.75rem;font-weight:700;background:linear-gradient(135deg,var(--gold),var(--gold-deep),var(--gold));background-size:200% 100%;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:3s linear infinite vr-shimmer}.vr-h2h-sub{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:4px;font-size:.75rem;color:var(--text-muted)}.vr-rc-pos{color:var(--success-bright);font-weight:600}.vr-rc-neg{color:var(--danger-light);font-weight:600}.vr-h2h-xp{color:var(--text-muted);font-weight:500}.vr-vs-stats{position:relative;z-index:1}.vr-stat-row{display:grid;grid-template-columns:70px 1fr auto 1fr 70px;align-items:center;gap:6px;margin-bottom:6px}.vr-sr-val{font-size:.95rem;font-weight:600;color:var(--text-primary);font-variant-numeric:tabular-nums}.vr-sr-left{text-align:right}.vr-sr-right{text-align:left}.vr-sr-winner{color:var(--gold)}.vr-sr-loser{color:var(--text-muted)}.vr-sr-label{font-size:.6rem;letter-spacing:2px;text-transform:uppercase;color:var(--text-muted);text-align:center;padding:0 8px;min-width:60px}.vr-sr-bar-wrap{height:6px;border-radius:3px;background:var(--bg-secondary);overflow:hidden;display:flex}.vr-sr-bar-wrap.vr-sr-bar-left{justify-content:flex-end}.vr-sr-bar{height:100%;border-radius:3px;animation:.8s both vr-bar-grow}.vr-sr-bar-wrap.vr-sr-bar-left .vr-sr-bar{transform-origin:right center}.vr-sr-bar-wrap:not(.vr-sr-bar-left) .vr-sr-bar{transform-origin:left center}.vr-sr-bar-wrap.vr-sr-bar-left .vr-sr-gold{background:linear-gradient(90deg,var(--gold-deep),var(--gold))}.vr-sr-dim{background:linear-gradient(90deg,rgba(248,113,113,.35),rgba(248,113,113,.15))}.vr-sr-bar-wrap.vr-sr-bar-left .vr-sr-dim{background:linear-gradient(90deg,rgba(248,113,113,.15),rgba(248,113,113,.35))}@keyframes vr-bar-grow{from{transform:scaleX(0)}to{transform:scaleX(1)}}.vr-vs-divider{height:1px;background:linear-gradient(90deg,transparent,var(--border-default),transparent);margin:16px 0}.vr-vs-result{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;text-align:center;gap:12px;padding:6px 0}.vr-vs-result-tag{font-size:1.25rem;font-weight:700;letter-spacing:-.5px}.vr-vs-win-tag{color:var(--gold)}.vr-vs-loss-tag{color:var(--danger-light);opacity:.6}.vr-vs-result-dash{color:var(--border-default);font-size:1.25rem}.vr-section-label{font-size:.6rem;letter-spacing:3px;text-transform:uppercase;color:var(--text-muted);margin:12px 0 8px}.vr-players-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.vr-pc{background:var(--bg-secondary);border-radius:10px;padding:10px 12px;border:1px solid var(--border-default)}.vr-pc-winner{border-color:var(--gold-border-light)}.vr-pc-mvp{border-color:var(--gold-border-medium);background:linear-gradient(180deg,var(--bg-primary) 0,var(--bg-secondary) 100%)}.vr-pc-loser .vr-pc-name,.vr-pc-loser .vr-pc-stat-val{color:var(--text-disabled)}.vr-pc-lose-mvp{border-color:var(--danger-border-light)}.vr-pc-badge-lose{background:var(--danger-bg-light);color:var(--danger-light)}.vr-pc-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px}.vr-pc-name{font-size:.85rem;font-weight:600;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vr-pc-badge{font-size:.55rem;padding:2px 6px;border-radius:8px;font-weight:600;letter-spacing:1px;text-transform:uppercase;background:var(--gold-bg-medium);color:var(--gold);flex-shrink:0}.vr-pc-sub{display:flex;align-items:center;gap:6px;font-size:.65rem;color:var(--text-muted);margin-bottom:6px}.vr-pc-stats{display:grid;grid-template-columns:1fr 1fr;gap:4px}.vr-pc-stats-3{grid-template-columns:1fr 1fr 1fr}.vr-pc-stat{text-align:center}.vr-pc-stat-val{font-size:.95rem;font-weight:600;color:var(--text-primary)}.vr-pc-stat-lbl{font-size:.55rem;letter-spacing:1px;text-transform:uppercase;color:var(--text-muted)}.vr-back-link{min-width:200px}.cl-toggles{display:flex;gap:12px;margin-bottom:18px}.cl-modes{display:flex;flex-direction:column;gap:6px}.cl-mode{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:12px 14px;border-radius:10px;border:1px solid var(--border-default);background:var(--bg-secondary);cursor:pointer;transition:.15s}.cl-mode:hover{border-color:var(--border-hover);background:var(--bg-tertiary)}.cl-mode.cl-mode-selected{border-color:var(--cyan-border);background:var(--cyan-bg-subtle)}.cl-mode-icon{width:36px;height:36px;border-radius:8px;background:var(--bg-tertiary);display:flex;align-items:center;justify-content:center;font-size:.8rem;font-weight:700;color:var(--text-muted)}.cl-mode.cl-mode-selected .cl-mode-icon{background:var(--cyan-bg-medium);color:var(--accent-primary)}.cl-mode-text{display:flex;flex-direction:column;gap:1px}.cl-mode-name{font-size:.85rem;font-weight:500;color:var(--text-primary)}.cl-mode-desc{font-size:.7rem;color:var(--text-muted)}.cl-mode-players{font-size:.7rem;color:var(--text-muted);text-align:right}.cl-mode.cl-mode-selected .cl-mode-players{color:var(--cyan)}.touch-controls{display:none;flex-direction:column;gap:.5rem;padding:.5rem 1rem 1rem;background:var(--bg-secondary);border-top:1px solid var(--border-color)}.touch-row{display:flex;justify-content:center;gap:.5rem}.touch-btn{display:flex;align-items:center;justify-content:center;width:56px;height:56px;background:var(--bg-tertiary);border:2px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-primary);cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;transition:background var(--transition-fast),border-color var(--transition-fast)}.touch-btn:active{background:var(--accent-primary-light);border-color:var(--accent-primary)}.touch-btn-wide{width:100px}@media (max-width:1023px){.multiplayer-game-container[data-layout]{grid-template-columns:auto auto auto;grid-template-rows:1fr auto;grid-template-areas:"sidebar-l center sidebar-r" "opponents opponents opponents"}.opponents-zone{max-height:none;overflow-y:visible}.opp-featured,.opp-grid{grid-template-columns:repeat(auto-fill,minmax(70px,1fr));justify-content:center}}@media (max-width:768px){.chat-input-row #chatSendBtn{display:inline-flex}.room-grid{grid-template-columns:1fr}.room-grid-right{border-left:none;padding-left:0;border-top:1px solid var(--border-color);padding-top:1rem}.player-list.player-list-compact{grid-template-columns:repeat(2,1fr)}.player-list-panel{max-height:35vh}.room-header{gap:.5rem}.mode-cards{grid-template-columns:1fr 1fr}.multiplayer-game-container[data-layout]{gap:.5rem}.game-sidebar,.stats-panel{min-width:70px}.stat-label{font-size:.6rem}.stat-value{font-size:.9rem}.panel{padding:.5rem}.panel-title{font-size:.7rem}.opponents-zone{display:none}.touch-controls{display:flex}.results-content{padding:1.25rem}.results-actions{flex-direction:column}}@media (max-width:480px){.mode-cards{grid-template-columns:1fr}.game-sidebar-left{display:none}.game-sidebar-right .next-panel canvas{width:80px;height:320px}.game-sidebar{min-width:50px}.multiplayer-game-container{padding:0 .5rem}.touch-btn{width:48px;height:48px}.touch-btn-wide{width:80px}.countdown-number{font-size:3.5rem}}@media print{.multiplayer-wrapper{display:none}}@media (prefers-reduced-motion:reduce){.connection-status-connecting .connection-dot,.countdown-number,.garbage-indicator.garbage-danger,.line-clear-notify span{animation:none}.garbage-indicator{transition:none}.modal-content{animation:none}}