:root{--bg-deep:#080810;--bg-base:#0c0c16;--bg-surface:#14142a;--bg-elevated:#1c1c34;--bg-hover:#24243e;--border:#2a2a48;--border-bright:#383860;--primary:#ff6b35;--primary-hover:#ff8555;--primary-dim:#ff6b351f;--primary-glow:0 0 20px #ff6b3540;--accent:#00d4aa;--accent-dim:#00d4aa1f;--danger:#f35;--danger-dim:#ff33551f;--warning:#fa2;--warning-dim:#ffaa221f;--success:#00e676;--success-dim:#00e6761f;--info:#448aff;--info-dim:#448aff1f;--text:#eae8e4;--text-dim:#8888a0;--text-muted:#505068;--team-red:#f46;--team-blue:#448aff;--rarity-epic:#b6f;--font-display:"Chakra Petch", sans-serif;--font-body:"DM Sans", sans-serif;--font-mono:"Fira Code", "JetBrains Mono", monospace;--radius-sm:4px;--radius:8px;--radius-lg:12px;--radius-xl:16px;--transition:.15s ease;--transition-slow:.3s ease;--bg-card:#181830;--bg-input:#0a0a14;--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:20px;--sp-6:24px;--sp-8:32px;--sp-10:40px;--shadow-sm:0 1px 3px #0003, 0 1px 2px #0000004d;--shadow-md:0 4px 12px #0000004d, 0 2px 4px #0003;--shadow-lg:0 8px 32px #0006, 0 4px 8px #0003;--shadow-xl:0 16px 48px #00000080, 0 8px 16px #0000004d;--shadow-glow-primary:0 0 16px #ff6b3526;--shadow-glow-accent:0 0 16px #00d4aa26;--primary-contrast:#000;--row-stripe:#14142a4d;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}[data-theme=arctic]{--bg-deep:#060a12;--bg-base:#0a1018;--bg-surface:#101c2e;--bg-elevated:#182840;--bg-hover:#203452;--bg-card:#142238;--bg-input:#080e16;--border:#1e3454;--border-bright:#2a4468;--primary:#3ea8ff;--primary-hover:#5bb8ff;--primary-dim:#3ea8ff1f;--primary-glow:0 0 20px #3ea8ff40;--accent:#00e6c8;--accent-dim:#00e6c81f;--danger:#f46;--danger-dim:#ff44661f;--warning:#fb4;--warning-dim:#ffbb441f;--success:#4d8;--success-dim:#44dd881f;--info:#59f;--info-dim:#5599ff1f;--text:#e4eaf0;--text-dim:#7a90a8;--text-muted:#4a6078;--shadow-glow-primary:0 0 16px #3ea8ff26;--shadow-glow-accent:0 0 16px #00e6c826}[data-theme=toxic]{--bg-deep:#060806;--bg-base:#0a100a;--bg-surface:#141e14;--bg-elevated:#1c2e1c;--bg-hover:#243a24;--bg-card:#182818;--bg-input:#080c08;--border:#2a4a2a;--border-bright:#346034;--primary:#8f4;--primary-hover:#9f6;--primary-dim:#88ff441f;--primary-glow:0 0 20px #88ff4440;--accent:#c4f;--accent-dim:#cc44ff1f;--danger:#f44;--danger-dim:#ff44441f;--warning:#fc2;--warning-dim:#ffcc221f;--success:#4f8;--success-dim:#44ff881f;--info:#4af;--info-dim:#44aaff1f;--text:#e4f0e4;--text-dim:#80a880;--text-muted:#507050;--shadow-glow-primary:0 0 16px #88ff4426;--shadow-glow-accent:0 0 16px #cc44ff26}[data-theme=crimson]{--bg-deep:#0c0606;--bg-base:#120a0a;--bg-surface:#221414;--bg-elevated:#301c1c;--bg-hover:#3e2424;--bg-card:#1c1010;--bg-input:#0a0606;--border:#4a2a2a;--border-bright:#5c3838;--primary:#e63946;--primary-hover:#ee5060;--primary-dim:#e639461f;--primary-glow:0 0 20px #e6394640;--accent:#ffc846;--accent-dim:#ffc8461f;--danger:#f34;--danger-dim:#ff33441f;--warning:#ffa822;--warning-dim:#ffa8221f;--success:#4c6;--success-dim:#44cc661f;--info:#58e;--info-dim:#5588ee1f;--text:#f0e4e4;--text-dim:#a88888;--text-muted:#685050;--shadow-glow-primary:0 0 16px #e6394626;--shadow-glow-accent:0 0 16px #ffc84626}[data-theme=midnight]{--bg-deep:#08081a;--bg-base:#0c0c22;--bg-surface:#141432;--bg-elevated:#1c1c42;--bg-hover:#24244e;--bg-card:#181840;--bg-input:#0a0a18;--border:#2e2e5a;--border-bright:#3a3a6e;--primary:#7c8cf8;--primary-hover:#949ef9;--primary-dim:#7c8cf81f;--primary-glow:0 0 20px #7c8cf840;--accent:#64d4c8;--accent-dim:#64d4c81f;--danger:#f05060;--danger-dim:#f050601f;--warning:#f0a840;--warning-dim:#f0a8401f;--success:#50d080;--success-dim:#50d0801f;--info:#60a0f0;--info-dim:#60a0f01f;--text:#e0dff0;--text-dim:#88a;--text-muted:#555570;--shadow-glow-primary:0 0 16px #7c8cf826;--shadow-glow-accent:0 0 16px #64d4c826}[data-theme=daylight]{--bg-deep:#f0f2f5;--bg-base:#f5f7fa;--bg-surface:#fff;--bg-elevated:#fff;--bg-hover:#e8ecf0;--bg-card:#fff;--bg-input:#f0f2f5;--border:#d0d5dd;--border-bright:#b8c0cc;--primary:#2563eb;--primary-hover:#3b82f6;--primary-contrast:#fff;--primary-dim:#2563eb14;--primary-glow:0 0 20px #2563eb1f;--accent:#0d9488;--accent-dim:#0d948814;--danger:#dc2626;--danger-dim:#dc262614;--warning:#d97706;--warning-dim:#d9770614;--success:#16a34a;--success-dim:#16a34a14;--info:#2563eb;--info-dim:#2563eb14;--text:#1a1a2e;--text-dim:#64748b;--text-muted:#94a3b8;--shadow-sm:0 1px 3px #0000000f, 0 1px 2px #00000014;--shadow-md:0 4px 12px #00000014, 0 2px 4px #0000000d;--shadow-lg:0 8px 32px #0000001a, 0 4px 8px #0000000f;--shadow-xl:0 16px 48px #0000001f, 0 8px 16px #00000014;--shadow-glow-primary:0 0 16px #2563eb1a;--shadow-glow-accent:0 0 16px #0d94881a}[data-theme=sakura]{--bg-deep:#fdf2f8;--bg-base:#fef4fa;--bg-surface:#fff;--bg-elevated:#fff;--bg-hover:#f5e0ee;--bg-card:#fff8fc;--bg-input:#fdf2f8;--border:#e8c8d8;--border-bright:#d4a8c0;--primary:#d946a8;--primary-hover:#e268b8;--primary-dim:#d946a814;--primary-glow:0 0 20px #d946a81f;--accent:#7c3aed;--accent-dim:#7c3aed14;--danger:#e11d48;--danger-dim:#e11d4814;--warning:#ea580c;--warning-dim:#ea580c14;--success:#16a34a;--success-dim:#16a34a14;--info:#6366f1;--info-dim:#6366f114;--text:#2e1a28;--text-dim:#8b6480;--text-muted:#b894a8;--shadow-sm:0 1px 3px #0000000f, 0 1px 2px #00000014;--shadow-md:0 4px 12px #00000014, 0 2px 4px #0000000d;--shadow-lg:0 8px 32px #0000001a, 0 4px 8px #0000000f;--shadow-xl:0 16px 48px #0000001f, 0 8px 16px #00000014;--shadow-glow-primary:0 0 16px #d946a81a;--shadow-glow-accent:0 0 16px #7c3aed1a}[data-theme=sand]{--bg-deep:#f5f0e8;--bg-base:#faf6f0;--bg-surface:#fffdf8;--bg-elevated:#fff;--bg-hover:#ece4d4;--bg-card:#fefcf6;--bg-input:#f5f0e8;--border:#d4c8b0;--border-bright:#c0b498;--primary:#d97706;--primary-hover:#e6900a;--primary-dim:#d9770614;--primary-glow:0 0 20px #d977061f;--accent:#059669;--accent-dim:#05966914;--danger:#dc2626;--danger-dim:#dc262614;--warning:#ca8a04;--warning-dim:#ca8a0414;--success:#16a34a;--success-dim:#16a34a14;--info:#2563eb;--info-dim:#2563eb14;--text:#2e2418;--text-dim:#7a6e58;--text-muted:#a89878;--shadow-sm:0 1px 3px #0000000f, 0 1px 2px #00000014;--shadow-md:0 4px 12px #00000014, 0 2px 4px #0000000d;--shadow-lg:0 8px 32px #0000001a, 0 4px 8px #0000000f;--shadow-xl:0 16px 48px #0000001f, 0 8px 16px #00000014;--shadow-glow-primary:0 0 16px #d977061a;--shadow-glow-accent:0 0 16px #0596691a}[data-theme=frost]{--bg-deep:#f0f4fa;--bg-base:#f6f8fd;--bg-surface:#fbfcff;--bg-elevated:#fff;--bg-hover:#eaeff8;--bg-card:#f8faff;--bg-input:#f0f4fa;--border:#dce4f0;--border-bright:#c8d4e8;--primary:#8aaae8;--primary-hover:#a0bef0;--primary-dim:#8aaae814;--primary-glow:0 0 20px #8aaae81a;--accent:#78c8b8;--accent-dim:#78c8b814;--danger:#d88090;--danger-dim:#d8809014;--warning:#d8a868;--warning-dim:#d8a86814;--success:#68b888;--success-dim:#68b88814;--info:#8aaae8;--info-dim:#8aaae814;--text:#384050;--text-dim:#788898;--text-muted:#a0acb8;--shadow-sm:0 1px 3px #0000000a, 0 1px 2px #0000000f;--shadow-md:0 4px 12px #0000000f, 0 2px 4px #0000000a;--shadow-lg:0 8px 32px #00000014, 0 4px 8px #0000000a;--shadow-xl:0 16px 48px #0000001a, 0 8px 16px #0000000f;--shadow-glow-primary:0 0 16px #8aaae814;--shadow-glow-accent:0 0 16px #78c8b814}[data-theme=blossom]{--bg-deep:#fcf4f8;--bg-base:#fef8fb;--bg-surface:#fffbfd;--bg-elevated:#fff;--bg-hover:#f6ecf2;--bg-card:#fef9fc;--bg-input:#fcf4f8;--border:#f0dce8;--border-bright:#e4c8d8;--primary:#d898c0;--primary-hover:#e0a8c8;--primary-dim:#d898c014;--primary-glow:0 0 20px #d898c01a;--accent:#9888d0;--accent-dim:#9888d014;--danger:#d88090;--danger-dim:#d8809014;--warning:#d8a068;--warning-dim:#d8a06814;--success:#68b888;--success-dim:#68b88814;--info:#9090d8;--info-dim:#9090d814;--text:#443040;--text-dim:#907888;--text-muted:#b8a0b0;--shadow-sm:0 1px 3px #0000000a, 0 1px 2px #0000000f;--shadow-md:0 4px 12px #0000000f, 0 2px 4px #0000000a;--shadow-lg:0 8px 32px #00000014, 0 4px 8px #0000000a;--shadow-xl:0 16px 48px #0000001a, 0 8px 16px #0000000f;--shadow-glow-primary:0 0 16px #d898c014;--shadow-glow-accent:0 0 16px #9888d014}[data-theme=dune]{--bg-deep:#f8f4ee;--bg-base:#fcf9f2;--bg-surface:#fefdf6;--bg-elevated:#fff;--bg-hover:#f0ebe0;--bg-card:#fdfcf4;--bg-input:#f8f4ee;--border:#e8dcc8;--border-bright:#d8ccb4;--primary:#c8a060;--primary-hover:#d4b070;--primary-dim:#c8a06014;--primary-glow:0 0 20px #c8a0601a;--accent:#78b090;--accent-dim:#78b09014;--danger:#c88070;--danger-dim:#c8807014;--warning:#c8a060;--warning-dim:#c8a06014;--success:#78a880;--success-dim:#78a88014;--info:#8098c0;--info-dim:#8098c014;--text:#40382a;--text-dim:#887c68;--text-muted:#b0a490;--shadow-sm:0 1px 3px #0000000a, 0 1px 2px #0000000f;--shadow-md:0 4px 12px #0000000f, 0 2px 4px #0000000a;--shadow-lg:0 8px 32px #00000014, 0 4px 8px #0000000a;--shadow-xl:0 16px 48px #0000001a, 0 8px 16px #0000000f;--shadow-glow-primary:0 0 16px #c8a06014;--shadow-glow-accent:0 0 16px #78b09014}[data-theme=daylight],[data-theme=sakura],[data-theme=sand],[data-theme=frost],[data-theme=blossom],[data-theme=dune]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--row-stripe:#0f172a08}[data-theme=daylight] .connection-overlay,[data-theme=sakura] .connection-overlay,[data-theme=sand] .connection-overlay,[data-theme=frost] .connection-overlay,[data-theme=blossom] .connection-overlay,[data-theme=dune] .connection-overlay{background:#0006!important}[data-theme=daylight] .auth-overlay,[data-theme=sakura] .auth-overlay,[data-theme=sand] .auth-overlay,[data-theme=frost] .auth-overlay,[data-theme=blossom] .auth-overlay,[data-theme=dune] .auth-overlay,[data-theme=daylight] .pause-overlay,[data-theme=sakura] .pause-overlay,[data-theme=sand] .pause-overlay,[data-theme=frost] .pause-overlay,[data-theme=blossom] .pause-overlay,[data-theme=dune] .pause-overlay{background:#0000004d!important}[data-theme=daylight] .modal-overlay,[data-theme=sakura] .modal-overlay,[data-theme=sand] .modal-overlay,[data-theme=frost] .modal-overlay,[data-theme=blossom] .modal-overlay,[data-theme=dune] .modal-overlay{background:#00000059!important}[data-theme=daylight] .hud-spectator-banner,[data-theme=sakura] .hud-spectator-banner,[data-theme=sand] .hud-spectator-banner,[data-theme=frost] .hud-spectator-banner,[data-theme=blossom] .hud-spectator-banner,[data-theme=dune] .hud-spectator-banner{color:var(--text)!important;background:#ffffffd9!important}[data-theme=daylight] .hud-ow-board,[data-theme=sakura] .hud-ow-board,[data-theme=sand] .hud-ow-board,[data-theme=frost] .hud-ow-board,[data-theme=blossom] .hud-ow-board,[data-theme=dune] .hud-ow-board,[data-theme=daylight] .hud-round,[data-theme=sakura] .hud-round,[data-theme=sand] .hud-round,[data-theme=frost] .hud-round,[data-theme=blossom] .hud-round,[data-theme=dune] .hud-round,[data-theme=daylight] .hud-ow-roundend,[data-theme=sakura] .hud-ow-roundend,[data-theme=sand] .hud-ow-roundend,[data-theme=frost] .hud-ow-roundend,[data-theme=blossom] .hud-ow-roundend,[data-theme=dune] .hud-ow-roundend{color:var(--text)!important;background:#ffffffe0!important}[data-theme=daylight] .hud-ow-row.self,[data-theme=sakura] .hud-ow-row.self,[data-theme=sand] .hud-ow-row.self,[data-theme=frost] .hud-ow-row.self,[data-theme=blossom] .hud-ow-row.self,[data-theme=dune] .hud-ow-row.self,[data-theme=daylight] .hud-ow-roundend-table tr.self,[data-theme=sakura] .hud-ow-roundend-table tr.self,[data-theme=sand] .hud-ow-roundend-table tr.self,[data-theme=frost] .hud-ow-roundend-table tr.self,[data-theme=blossom] .hud-ow-roundend-table tr.self,[data-theme=dune] .hud-ow-roundend-table tr.self{background:#00000012!important}[data-theme=daylight] .hud-auth-bar,[data-theme=sakura] .hud-auth-bar,[data-theme=sand] .hud-auth-bar,[data-theme=frost] .hud-auth-bar,[data-theme=blossom] .hud-auth-bar,[data-theme=dune] .hud-auth-bar,[data-theme=daylight] .menu-landing--docked .menu-landing-buttons,[data-theme=sakura] .menu-landing--docked .menu-landing-buttons,[data-theme=sand] .menu-landing--docked .menu-landing-buttons,[data-theme=frost] .menu-landing--docked .menu-landing-buttons,[data-theme=blossom] .menu-landing--docked .menu-landing-buttons,[data-theme=dune] .menu-landing--docked .menu-landing-buttons{background:#ffffffd9!important;border-color:#00000026!important}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg-deep);color:var(--text);font-family:var(--font-body);width:100vw;height:100vh;font-size:14px;overflow:hidden}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--bg-base)}::-webkit-scrollbar-thumb{background:var(--border-bright);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}#game-container{width:100%;height:100%;position:relative}#ui-overlay{pointer-events:none;z-index:100;width:100%;height:100%;position:absolute;top:0;left:0}#ui-overlay>*{pointer-events:auto}#game-container canvas{z-index:1;position:relative}.connection-overlay{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:9999;background:#080810d9;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.connection-message{color:var(--text);font-size:18px;font-family:var(--font-display);letter-spacing:1px;flex-direction:column;align-items:center;gap:16px;font-weight:600;display:flex}.connection-spinner{border:3px solid var(--border);border-top-color:var(--primary);border-radius:50%;width:40px;height:40px;animation:.8s linear infinite spin}.auth-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:100;background:#080810cc;justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:absolute;top:0;left:0}.menu-landing{z-index:50;text-align:center;position:absolute;bottom:12px;left:50%;transform:translate(-50%,calc(12px - 15vh))}.menu-landing--docked{transition:transform .45s,bottom .45s;transform:translate(-50%)}.menu-landing-buttons{flex-direction:column;align-items:center;gap:12px;min-width:220px;display:flex}.menu-landing-brand{display:none}.menu-landing--docked .menu-landing-buttons{border-radius:var(--radius-lg);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0808108c;border:1px solid #ffffff26;flex-direction:row;gap:10px;min-width:0;padding:8px 14px}.menu-landing--docked .menu-landing-buttons .btn{white-space:nowrap;width:auto;padding:8px 16px;font-size:14px}.menu-landing--docked .menu-player-count{display:none}.menu-landing--docked .menu-landing-brand{display:block}.menu-landing-buttons .btn{width:220px}.menu-landing-buttons .btn-lg{font-size:18px;font-family:var(--font-display);letter-spacing:1px;padding:14px 32px;font-weight:700}.menu-player-count{color:var(--text-muted);margin-top:-4px;font-size:12px}.auth-form{background:var(--bg-surface);border:1px solid var(--border-bright);border-radius:var(--radius-xl);width:420px;max-width:90vw;box-shadow:var(--primary-glow), var(--shadow-glow-accent), var(--shadow-xl);padding:40px;animation:.3s modalIn;position:relative}.auth-close{border-radius:var(--radius-sm);width:32px;height:32px;color:var(--text-dim);cursor:pointer;transition:all var(--transition);background:0 0;border:none;font-size:22px;line-height:1;position:absolute;top:12px;right:12px}.auth-close:hover{color:var(--text);background:#ffffff14}.auth-form h2{text-align:center;color:var(--primary);font-size:28px;font-family:var(--font-display);letter-spacing:3px;text-transform:uppercase;margin-bottom:28px;font-weight:700}.auth-form h2 span{color:var(--text)}.form-group{margin-bottom:16px}.form-group label{color:var(--text-dim);letter-spacing:.3px;margin-bottom:6px;font-size:13px;font-weight:500;display:block}.form-group input{background:var(--bg-deep);border:1px solid var(--border);border-radius:var(--radius);width:100%;color:var(--text);font-size:14px;font-family:var(--font-body);transition:border-color var(--transition), box-shadow var(--transition);outline:none;padding:11px 14px}.form-group input:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-dim)}.form-group input::placeholder{color:var(--text-muted)}.form-group select{background:var(--bg-deep);border:1px solid var(--border);border-radius:var(--radius);width:100%;color:var(--text);font-size:14px;font-family:var(--font-body);cursor:pointer;transition:border-color var(--transition);outline:none;padding:11px 14px}.form-group select:focus{border-color:var(--primary)}.form-error{color:var(--danger);text-align:center;margin-top:8px;font-size:13px}.auth-switch{text-align:center;color:var(--text-dim);margin-top:16px;font-size:14px}.auth-switch a{color:var(--primary);cursor:pointer;transition:color var(--transition);font-weight:600;text-decoration:none}.auth-switch a:hover{color:var(--primary-hover);text-decoration:underline}.auth-switch .auth-link{font:inherit;color:var(--primary);cursor:pointer;transition:color var(--transition);background:0 0;border:none;padding:0;font-weight:600}.auth-switch .auth-link:hover,.auth-switch .auth-link:focus-visible{color:var(--primary-hover);text-decoration:underline}.auth-footer-links{text-align:center;border-top:1px solid var(--border);margin-top:24px;padding-top:16px;font-size:12px}.auth-footer-links a{color:var(--text-dim);cursor:pointer;transition:color var(--transition);text-decoration:none}.auth-footer-links a:hover{color:var(--text);text-decoration:underline}.auth-footer-sep{color:var(--text-muted);opacity:.5;margin:0 8px}.auth-lang-picker{position:absolute;top:12px;right:12px}.auth-lang-toggle{background:var(--bg-hover);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;transition:border-color var(--transition);padding:4px 8px;font-size:20px;line-height:1}.auth-lang-toggle:hover{border-color:var(--primary)}.auth-lang-dropdown{background:var(--bg-surface);border:1px solid var(--border-bright);border-radius:var(--radius-sm);z-index:10;min-width:140px;margin-top:4px;display:none;position:absolute;top:100%;right:0;overflow:hidden;box-shadow:0 4px 12px #0000004d}.auth-lang-dropdown.open{flex-direction:column;display:flex}.auth-lang-option{cursor:pointer;color:var(--text);text-align:left;white-space:nowrap;transition:background var(--transition);background:0 0;border:none;padding:8px 14px;font-size:14px}.auth-lang-option:hover{background:var(--bg-hover)}.auth-lang-option.active{color:var(--primary);font-weight:600}.btn{border-radius:var(--radius);font-size:14px;font-weight:600;font-family:var(--font-body);cursor:pointer;transition:all var(--transition);text-align:center;letter-spacing:.3px;white-space:nowrap;border:none;justify-content:center;align-items:center;gap:6px;padding:10px 20px;display:inline-flex}.btn-primary{background:var(--primary);color:var(--primary-contrast);box-shadow:var(--shadow-glow-primary)}.btn-primary:hover{background:var(--primary-hover);box-shadow:var(--primary-glow);transform:translateY(-1px)}.btn-primary:active{transform:translateY(0)}.auth-form .btn-primary{width:100%;font-size:15px;font-family:var(--font-display);letter-spacing:1px;text-transform:uppercase;padding:12px;font-weight:600}.btn-secondary{color:var(--primary);border:1px solid var(--primary);background:0 0}.btn-secondary:hover{background:var(--primary-dim)}.btn-ghost{color:var(--text-dim);background:0 0;border:1px solid #0000}.btn-ghost:hover{color:var(--text);background:var(--bg-hover);border-color:var(--border)}.btn:disabled{opacity:.4;cursor:not-allowed;box-shadow:none!important;transform:none!important}.btn-danger{background:var(--danger-dim);color:var(--danger);border:1px solid var(--danger);border-radius:var(--radius-sm);cursor:pointer;font-size:12px;font-family:var(--font-body);transition:all var(--transition);padding:6px 12px;font-weight:600}.btn-danger:hover{background:#ff335540}.btn-warn{background:var(--warning-dim);color:var(--warning);border:1px solid var(--warning);border-radius:var(--radius-sm);cursor:pointer;font-size:12px;font-family:var(--font-body);transition:all var(--transition);padding:6px 12px;font-weight:600}.btn-warn:hover{background:#ffaa2240}.btn-sm{padding:5px 10px;font-size:12px}.btn-danger-text{color:var(--danger)}#toast-container{z-index:1000;flex-direction:column-reverse;gap:8px;display:flex;position:fixed;bottom:20px;right:20px}.toast{border-radius:var(--radius);font-size:14px;font-family:var(--font-body);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-left:3px solid;min-width:280px;padding:14px 20px;animation:.3s slideIn;box-shadow:0 8px 32px #0006}.toast-success{background:var(--success-dim);border-color:var(--success);color:var(--success)}.toast-error{background:var(--danger-dim);border-color:var(--danger);color:var(--danger)}.toast-info{background:var(--info-dim);border-color:var(--info);color:var(--info)}.lobby-container{background:var(--bg-base);flex-direction:column;width:100%;height:100%;padding:0;display:flex;position:absolute;top:0;left:0}.lobby-container:before{content:"";background:radial-gradient(ellipse at 15% 80%, var(--primary-dim) 0%, transparent 50%), radial-gradient(ellipse at 85% 20%, var(--accent-dim) 0%, transparent 50%);pointer-events:none;z-index:0;position:absolute;inset:0}.lobby-container>*{z-index:1;position:relative}.lobby-header{background:var(--bg-surface);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:16px 24px;display:flex;box-shadow:0 4px 20px #0000004d}.lobby-header h1{color:var(--primary);font-size:24px;font-family:var(--font-display);letter-spacing:3px;text-transform:uppercase;font-weight:700}.lobby-header h1 span{color:var(--text)}.room-list{padding:var(--sp-5) var(--sp-6);flex:1;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));align-content:start;gap:12px;display:grid;overflow-y:auto}.room-list.empty{justify-content:center;align-items:center;display:flex}.room-list-empty-state{color:var(--text-muted);text-align:center;padding:20px;font-size:15px}.room-card{background:var(--bg-surface);border:1px solid var(--border);border-left:3px solid var(--primary);border-radius:var(--radius);cursor:pointer;transition:all var(--transition);padding:16px 18px;position:relative}.room-card:hover{border-color:var(--primary);box-shadow:var(--shadow-glow-primary);background:var(--bg-elevated);transform:translateY(-2px)}.room-card h3{color:var(--text);font-family:var(--font-display);letter-spacing:.5px;margin-bottom:10px;font-size:16px;font-weight:600}.room-card .room-info{color:var(--text-dim);justify-content:space-between;align-items:center;font-size:13px;display:flex}.room-card .room-mode{background:var(--primary-dim);border-radius:var(--radius-sm);color:var(--primary);letter-spacing:.5px;font-size:11px;font-weight:700;font-family:var(--font-display);text-transform:uppercase;padding:3px 10px}.gp-focus{outline-offset:2px;outline:2px solid var(--primary)!important;box-shadow:var(--primary-glow)!important}.room-card.gp-focus{border-color:var(--primary);background:var(--bg-elevated);transform:translateY(-2px)}.gp-dropdown{background:var(--bg-surface);border:1px solid var(--primary);border-radius:var(--radius);box-shadow:var(--shadow-lg), var(--shadow-glow-primary);max-height:240px;padding:4px 0;overflow-y:auto}.gp-dropdown-item{font-size:14px;font-family:var(--font-body);color:var(--text-dim);cursor:default;white-space:nowrap;text-overflow:ellipsis;padding:8px 14px;overflow:hidden}.gp-dropdown-item.gp-dropdown-active{background:var(--primary);color:#fff;font-weight:600}.pause-overlay{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:300;background:#08081099;justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:fixed;top:0;left:0}.pause-menu{background:var(--bg-surface);border:1px solid var(--border-bright);border-radius:var(--radius-lg);padding:var(--sp-8);align-items:center;gap:var(--sp-4);flex-direction:column;min-width:280px;display:flex}.pause-title{letter-spacing:4px;color:var(--text);margin:0 0 var(--sp-2) 0;font-family:Chakra Petch,sans-serif;font-size:28px;font-weight:700}.pause-btn{width:200px;padding:var(--sp-3) var(--sp-4);font-size:15px}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:200;background:#080810bf;justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:fixed;top:0;left:0}.modal{background:var(--bg-surface);border:1px solid var(--border-bright);border-radius:var(--radius-lg);width:450px;max-width:90vw;padding:32px;animation:.2s modalIn;box-shadow:0 24px 80px #00000080}.modal h2{color:var(--primary);font-family:var(--font-display);letter-spacing:1px;margin-bottom:20px;font-size:20px;font-weight:700}.modal-actions{gap:12px;margin-top:20px;display:flex}.modal-actions .btn{flex:1}.help-section{margin-bottom:16px}.help-heading{color:var(--text-dim);text-transform:uppercase;letter-spacing:1px;border-bottom:1px solid var(--border);font-size:12px;font-weight:700;font-family:var(--font-display);margin-bottom:8px;padding-bottom:6px}.help-row{color:#d0d0d8;padding:4px 0;font-size:13px;line-height:1.5}.help-key{background:var(--bg-elevated);color:var(--text);border-radius:var(--radius-sm);font-size:12px;font-weight:600;font-family:var(--font-mono);border:1px solid var(--border);margin-right:4px;padding:2px 8px;display:inline-block}.help-tip{color:var(--text-muted);margin-bottom:6px;font-size:12px;font-style:italic}.help-tile{vertical-align:middle;border-radius:3px;flex-shrink:0;width:22px;height:22px;margin-right:4px;display:inline-block}.help-subheading{color:var(--primary);text-transform:uppercase;letter-spacing:.5px;margin-top:14px;margin-bottom:6px;font-size:13px;font-weight:600}.help-theme-grid{grid-template-columns:repeat(auto-fill,minmax(80px,1fr));gap:10px;margin-top:8px;display:grid}.help-theme-cell{border-radius:var(--radius);background:#ffffff08;flex-direction:column;align-items:center;gap:4px;padding:8px 4px;display:flex}.help-theme-cell canvas{border-radius:3px}.help-theme-label{color:var(--text-dim);text-align:center;font-size:11px}.help-powerup-row{border-bottom:1px solid #ffffff0d;align-items:center;gap:14px;padding:12px 0;display:flex}.help-powerup-row:last-child{border-bottom:none}.help-mode-card{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:12px;padding:16px}.help-mode-header{justify-content:space-between;align-items:center;margin-bottom:6px;display:flex}.help-mode-name{color:var(--primary);font-size:16px;font-weight:700;font-family:var(--font-display)}.help-mode-players{color:var(--text-dim);background:var(--bg-elevated);border-radius:10px;padding:2px 10px;font-size:12px}.help-mode-tags{gap:6px;margin-bottom:6px;display:flex}.help-mode-tag{background:var(--primary-dim);color:var(--primary);border-radius:8px;padding:1px 8px;font-size:11px;font-weight:600}.help-mode-desc{color:#d0d0d8;font-size:13px;line-height:1.6}.help-guide-section{border:1px solid var(--border);border-radius:var(--radius);margin-bottom:12px;overflow:hidden}.help-guide-section summary{background:var(--bg-surface);color:var(--text);font-weight:600;font-family:var(--font-display);cursor:pointer;transition:background var(--transition);padding:12px 16px;list-style:none}.help-guide-section summary::-webkit-details-marker{display:none}.help-guide-section summary:before{content:"▶";color:var(--primary);margin-right:10px;font-size:10px;transition:transform .2s;display:inline-block}.help-guide-section[open] summary:before{transform:rotate(90deg)}.help-guide-section summary:hover{background:var(--bg-hover)}.help-markdown{color:var(--text);padding:16px;font-size:14px;line-height:1.7}.help-markdown h1,.help-markdown h2,.help-markdown h3,.help-markdown h4{color:var(--primary);font-family:var(--font-display);margin:20px 0 10px}.help-markdown h1{font-size:22px}.help-markdown h2{border-bottom:1px solid var(--border);padding-bottom:6px;font-size:18px}.help-markdown h3{color:var(--text);font-size:15px}.help-markdown code{background:var(--bg-elevated);border-radius:var(--radius-sm);font-family:var(--font-mono);color:var(--accent);padding:2px 6px;font-size:13px}.help-markdown pre{background:var(--bg-deep);border:1px solid var(--border);border-radius:var(--radius);margin:12px 0;padding:14px;overflow-x:auto}.help-markdown pre code{color:var(--text);background:0 0;padding:0}.help-markdown table{border-collapse:collapse;width:100%;margin:12px 0}.help-markdown th,.help-markdown td{border:1px solid var(--border);text-align:left;padding:8px 12px;font-size:13px}.help-markdown th{background:var(--bg-elevated);color:var(--text);font-weight:600}.help-markdown a{color:var(--accent);text-decoration:none}.help-markdown a:hover{text-decoration:underline}.help-markdown ul,.help-markdown ol{margin:8px 0;padding-left:24px}.help-markdown li{margin:4px 0}.help-markdown blockquote{border-left:3px solid var(--primary);background:var(--bg-surface);border-radius:0 var(--radius-sm) var(--radius-sm) 0;margin:12px 0;padding:8px 16px}.help-markdown img{border-radius:var(--radius);max-width:100%}.help-heading-spaced{margin-top:14px}.help-row-spaced{margin-bottom:8px}.help-powerup-icon{border-radius:var(--radius);width:48px;height:48px;image-rendering:pixelated;flex-shrink:0}.help-powerup-info{flex:1;min-width:0}.help-powerup-name{font-size:14px;font-weight:700;font-family:var(--font-display);margin-bottom:2px}.help-powerup-desc{color:#d0d0d8;font-size:13px;line-height:1.5}.help-status{color:var(--text-muted);text-align:center;padding:20px}.help-status-error{color:var(--danger);text-align:center;padding:20px}#lobby-banner-area{padding:12px var(--sp-6) 0;flex-shrink:0}#lobby-banner-area:empty{display:none}.admin-banner{background:linear-gradient(90deg, var(--bg-elevated), var(--bg-surface));border:1px solid var(--warning);border-radius:var(--radius);color:var(--warning);justify-content:space-between;align-items:center;margin-bottom:12px;padding:12px 18px;font-size:14px;display:flex;box-shadow:0 2px 12px #ffaa221a}.admin-banner .banner-close{cursor:pointer;color:var(--text-muted);transition:color var(--transition);background:0 0;border:none;padding:0 4px;font-size:18px}.admin-banner .banner-close:hover{color:var(--text)}.room-admin-banner{background:var(--bg-surface);border:1px solid var(--primary);border-radius:var(--radius);color:var(--text);align-items:flex-start;gap:12px;margin:12px 24px 0;padding:12px 18px;font-size:14px;animation:.2s modalIn;display:flex;box-shadow:0 4px 20px #0000004d}.room-admin-banner-body{flex:1;min-width:0}.room-admin-banner-from{font-family:var(--font-display);letter-spacing:.5px;text-transform:uppercase;color:var(--primary);margin-bottom:4px;font-size:11px;font-weight:700}.room-admin-banner-text{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.4}.room-admin-banner .banner-close,.hud-admin-banner .banner-close,.hud-admin-banner .hud-admin-banner-close{cursor:pointer;color:var(--text-muted);transition:color var(--transition);background:0 0;border:none;flex-shrink:0;padding:0 4px;font-size:18px;line-height:1}.room-admin-banner .banner-close:hover,.hud-admin-banner .banner-close:hover,.hud-admin-banner .hud-admin-banner-close:hover{color:var(--text)}.hud-admin-banner{background:var(--bg-surface);border:1px solid var(--primary);border-radius:var(--radius);max-width:min(640px,100vw - 32px);color:var(--text);pointer-events:auto;z-index:120;align-items:flex-start;gap:12px;padding:12px 18px;font-size:14px;animation:.2s modalIn;display:flex;position:fixed;top:72px;left:50%;transform:translate(-50%);box-shadow:0 8px 32px #00000080}.hud-admin-banner-body{flex:1;min-width:0}.hud-admin-banner-from{font-family:var(--font-display);letter-spacing:.5px;text-transform:uppercase;color:var(--primary);margin-bottom:4px;font-size:11px;font-weight:700}.hud-admin-banner-text{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.4}.hud-container{pointer-events:none;width:100%;position:absolute;top:0;left:0}.hud-top{justify-content:space-between;padding:12px 20px;display:flex}.hud-timer{color:#fff;text-shadow:0 2px 8px #0009;font-size:26px;font-weight:700;font-family:var(--font-display);letter-spacing:2px}.hud-players{font-size:13px;font-family:var(--font-body);position:absolute;top:12px;right:20px}.hud-player-item{border-radius:var(--radius-sm);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);transition:all var(--transition);background:#0000008c;border:1px solid #0000;align-items:center;gap:8px;margin-bottom:3px;padding:4px 10px;display:flex}.hud-player-item.dead{opacity:.35;text-decoration:line-through}.hud-player-item.clickable{cursor:pointer;pointer-events:auto}.hud-player-item.clickable:hover{background:color-mix(in srgb, var(--primary) 30%, transparent);border-color:var(--primary)}.hud-stats{pointer-events:none;align-items:center;gap:8px;display:flex}.stat-item{border-radius:var(--radius-sm);font-size:14px;font-family:var(--font-body);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#00000080;align-items:center;gap:4px;padding:3px 8px;transition:background .3s,color .3s;display:inline-flex}.stat-item.stat-changed{background:color-mix(in srgb, var(--primary) 50%, transparent);animation:.5s statFlash}.hud-killfeed{pointer-events:none;font-size:13px;position:absolute;bottom:60px;left:20px}#ui-overlay>.split-overlay,.split-overlay{pointer-events:none;z-index:90;position:fixed;inset:0}.split-divider{background:#ffffffb3;position:absolute;box-shadow:0 0 0 2px #000000e6}.split-divider-h{height:2px;top:calc(50% - 1px);left:0;right:0}.split-divider-v{width:2px;top:0;bottom:0;left:calc(50% - 1px)}.split-arrow{width:24px;height:24px;position:absolute;top:-12px;left:-12px;overflow:visible}.split-arrow polygon{fill:#00ccffe6;stroke:#000c;stroke-width:2px;stroke-linejoin:round}#ui-overlay>.countdown-overlay,.countdown-overlay{pointer-events:none;z-index:110;place-items:center;display:grid;position:fixed;inset:0}.countdown-overlay>*{grid-area:1/1}.countdown-ring{width:180px;height:180px;overflow:visible;transform:rotate(-90deg)}.countdown-ring-track{fill:#08081073;stroke:#ffffff1f;stroke-width:6px}.countdown-ring-fill{fill:none;stroke:var(--primary);stroke-width:6px;stroke-linecap:round;transform-box:fill-box;transform-origin:50%;filter:drop-shadow(0 0 6px var(--primary))}.countdown-num{font-family:var(--font-display);white-space:nowrap;color:var(--primary);text-shadow:0 0 24px color-mix(in srgb, var(--primary) 60%, transparent), 0 4px 0 #00000073;font-size:88px;font-weight:700;line-height:1}.countdown-go .countdown-num{color:var(--success);text-shadow:0 0 24px color-mix(in srgb, var(--success) 60%, transparent), 0 4px 0 #00000073;font-size:60px}.countdown-go .countdown-ring-fill{stroke:var(--success);filter:drop-shadow(0 0 8px var(--success))}@media (width<=600px){.countdown-ring{width:140px;height:140px}.countdown-num{font-size:64px}.countdown-go .countdown-num{font-size:44px}}.hud-icon{vertical-align:middle;flex:none;display:inline-block}.stat-remote{font-size:.75em}.hud-who{vertical-align:middle;align-items:center;gap:4px;font-weight:600;display:inline-flex}.hud-portrait{background:#ffffff12;border-radius:4px;flex:none;display:block}.hud-death-banner .hud-icon{margin-right:6px}.killfeed-entry{border-radius:var(--radius-sm);border-left:2px solid var(--primary);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0000008c;margin-bottom:3px;padding:4px 10px;line-height:22px;transition:opacity .3s}.hud-stats-bar{pointer-events:none;gap:6px;display:flex;position:absolute;bottom:12px;left:12px}.hud-minimap{pointer-events:none;z-index:100;background:#080810b3;border:1px solid #ffffff26;border-radius:4px;padding:4px;position:absolute;bottom:12px;right:12px}.hud-minimap canvas{border-radius:2px;display:block}.hud-top-left{flex-direction:column;align-items:flex-start;gap:4px;display:flex}.hud-round{font-family:var(--font-display);letter-spacing:1.5px;text-transform:uppercase;color:var(--primary);border-radius:var(--radius-sm);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#08081099;border:1px solid #ffffff26;padding:2px 8px;font-size:12px;font-weight:700}.hud-ow-board{border-radius:var(--radius);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:#fff;width:236px;max-width:40vw;font-family:var(--font-body);pointer-events:none;background:#08081099;border:1px solid #ffffff26;font-size:12px;position:absolute;top:12px;right:20px;overflow:hidden}.hud-ow-title{font-family:var(--font-display);letter-spacing:1.5px;text-transform:uppercase;color:var(--primary);border-bottom:1px solid #ffffff1f;padding:6px 10px;font-size:11px;font-weight:700}.hud-ow-rows{padding:4px 0}.hud-ow-row{align-items:center;gap:8px;padding:3px 10px;display:flex}.hud-ow-row.self{box-shadow:inset 2px 0 0 var(--primary);background:#ffffff14}.hud-ow-rank{text-align:right;opacity:.6;font-variant-numeric:tabular-nums;width:16px}.hud-ow-name{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.hud-ow-kd{opacity:.6;font-variant-numeric:tabular-nums}.hud-ow-score{text-align:right;min-width:26px;color:var(--primary);font-variant-numeric:tabular-nums;font-weight:700}.hud-ow-gap,.hud-ow-empty{text-align:center;opacity:.45;padding:2px 10px}.hud-ow-roundend{border:1px solid var(--primary);border-radius:var(--radius-lg);min-width:340px;box-shadow:var(--primary-glow);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#fff;font-family:var(--font-body);text-align:center;pointer-events:none;z-index:210;background:#080810e0;padding:20px 24px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.hud-ow-roundend-title{font-family:var(--font-display);letter-spacing:2px;text-transform:uppercase;color:var(--primary);font-size:24px;font-weight:700}.hud-ow-roundend-sub{opacity:.7;margin-bottom:12px;font-size:13px}.hud-ow-roundend-table{border-collapse:collapse;width:100%;font-size:13px}.hud-ow-roundend-table th{letter-spacing:1px;text-transform:uppercase;opacity:.5;padding:2px 6px;font-size:10px;font-weight:600}.hud-ow-roundend-table td{font-variant-numeric:tabular-nums;padding:3px 6px}.hud-ow-roundend-table td:nth-child(2){text-overflow:ellipsis;white-space:nowrap;text-align:left;max-width:160px;overflow:hidden}.hud-ow-roundend-table tr.self{background:#ffffff14}.hud-ow-roundend-next{font-family:var(--font-display);letter-spacing:1px;color:var(--primary);margin-top:14px;font-size:13px}@media (width<=860px){.hud-ow-board{width:176px;font-size:11px}.hud-ow-roundend{width:90vw;min-width:0;padding:16px}}.hud-auth-bar{border-radius:var(--radius-lg);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:50;background:#0808108c;border:1px solid #ffffff26;align-items:center;gap:10px;padding:8px 14px;animation:.4s authBarDock;display:flex;position:absolute;bottom:12px;left:50%;transform:translate(-50%)}.hud-auth-bar .btn{white-space:nowrap;padding:8px 16px;font-size:14px}.hud-auth-bar--instant{animation:none}.hud-auth-brand,.menu-landing--docked .menu-landing-brand{font-family:var(--font-display);letter-spacing:1px;color:var(--primary);margin-right:4px;font-size:15px;font-weight:700}.hud-auth-brand span,.menu-landing-brand span{color:var(--text)}@keyframes authBarDock{0%{opacity:0;transform:translate(-50%,-120px)}to{opacity:1;transform:translate(-50%)}}@media (width<=860px){.hud-auth-bar,.menu-landing--docked{bottom:60px}.hud-auth-brand,.menu-landing--docked .menu-landing-brand{display:none}}.hud-death-banner{border-radius:var(--radius);font-family:var(--font-display);color:#fff;pointer-events:none;z-index:200;background:#b41e1ed9;border:1px solid #ff505099;padding:12px 28px;font-size:18px;font-weight:700;transition:opacity .5s;position:absolute;top:35%;left:50%;transform:translate(-50%)}.emote-wheel-overlay{z-index:300;background:#0000004d;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.emote-wheel-ring{width:0;height:0;position:relative}.emote-wheel-item{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-surface);width:64px;height:32px;color:var(--text);font-family:var(--font-display);cursor:pointer;justify-content:center;align-items:center;margin-top:-16px;margin-left:-32px;font-size:13px;font-weight:700;transition:background .15s,transform .15s;display:flex;position:absolute}.emote-wheel-item:hover{background:var(--primary);color:#fff;transform:translate(var(--tw-translate-x,0), var(--tw-translate-y,0)) scale(1.15);z-index:1}.hud-spectator-banner{border:1px solid var(--primary);border-radius:var(--radius);color:var(--primary);text-align:center;pointer-events:none;font-size:13px;font-family:var(--font-display);letter-spacing:.5px;box-shadow:var(--primary-glow);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#080810bf;padding:10px 24px;font-weight:600;position:absolute;bottom:20px;left:50%;transform:translate(-50%)}.admin-tabs{border-bottom:2px solid var(--border);gap:0;margin-bottom:24px;display:flex}.admin-tab{color:var(--text-dim);font-size:14px;font-weight:600;font-family:var(--font-display);letter-spacing:.5px;cursor:pointer;transition:all var(--transition);background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-2px;padding:12px 22px}.admin-tab:hover{color:var(--text);background:var(--bg-hover)}.admin-tab.active{color:var(--text);border-bottom-color:var(--primary);background:var(--bg-hover)}.admin-tab-content{flex:1;overflow-y:auto}.admin-stats{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;margin-bottom:24px;display:grid}.stat-card{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);text-align:center;transition:border-color var(--transition);padding:20px;position:relative;overflow:hidden}.stat-card:hover{border-color:var(--border-bright)}.stat-card:after{content:"";background:linear-gradient(90deg, var(--primary), var(--accent));opacity:.6;height:3px;position:absolute;bottom:0;left:0;right:0}.stat-card .stat-value{color:var(--primary);font-size:32px;font-weight:700;font-family:var(--font-display);letter-spacing:1px}.stat-card .stat-label{color:var(--text-dim);margin-top:4px;font-size:13px;font-weight:500}.admin-table{border-collapse:collapse;background:var(--bg-surface);border-radius:var(--radius);border:1px solid var(--border);width:100%;overflow:hidden}.admin-table th,.admin-table td{text-align:left;border-bottom:1px solid var(--border);padding:11px 14px}.admin-table th{background:var(--bg-elevated);color:var(--text-dim);text-transform:uppercase;letter-spacing:.5px;font-size:12px;font-weight:700;font-family:var(--font-display)}.admin-table td{font-size:14px}.admin-table tbody tr{transition:background var(--transition)}.admin-table tbody tr:hover td{background:var(--bg-hover)}.admin-room-player{align-items:center;gap:6px;margin-top:4px;display:flex}.admin-room-player-id{color:var(--text-dim);font-size:12px}.admin-search{gap:12px;margin-bottom:16px;display:flex}.admin-search input{background:var(--bg-deep);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);font-size:14px;font-family:var(--font-body);transition:border-color var(--transition), box-shadow var(--transition);outline:none;flex:1;padding:11px 14px}.admin-search input:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-dim)}.admin-pagination{justify-content:center;align-items:center;gap:10px;margin-top:16px;padding:12px;display:flex}.admin-pagination button{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);cursor:pointer;font-size:13px;font-family:var(--font-body);transition:all var(--transition);padding:7px 14px;font-weight:500}.admin-pagination button:hover:not(:disabled){border-color:var(--primary);background:var(--primary-dim)}.admin-pagination button:disabled{opacity:.3;cursor:not-allowed}.admin-pagination .page-info{color:var(--text-dim);font-size:13px}.admin-select{background:var(--bg-deep);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);font-size:12px;font-family:var(--font-body);cursor:pointer;transition:border-color var(--transition);padding:5px 10px}.admin-select:focus{border-color:var(--primary);outline:none}.admin-input{background:var(--bg-deep);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);font-size:14px;font-family:var(--font-body);box-sizing:border-box;transition:border-color var(--transition), box-shadow var(--transition);outline:none;padding:11px 14px}.admin-input:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-dim)}.admin-textarea{background:var(--bg-deep);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);font-size:14px;font-family:var(--font-body);box-sizing:border-box;resize:vertical;width:100%;min-height:60px;transition:border-color var(--transition), box-shadow var(--transition);outline:none;padding:11px 14px}.admin-textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-dim)}.admin-section{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:16px;padding:20px}.admin-section h3{color:var(--text);font-size:16px;font-family:var(--font-display);letter-spacing:.5px;margin:0 0 12px;font-weight:600}.admin-filters{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:16px;display:flex}.admin-filters select{background:var(--bg-deep);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);font-size:13px;font-family:var(--font-body);padding:9px 14px}.confirm-input{background:var(--bg-deep);border:1px solid var(--danger);border-radius:var(--radius);width:100%;color:var(--text);font-size:14px;font-family:var(--font-body);box-sizing:border-box;transition:box-shadow var(--transition);outline:none;margin-top:12px;padding:11px 14px}.confirm-input:focus{box-shadow:0 0 0 3px var(--danger-dim)}.toast-preview{border-radius:var(--radius);background:var(--info-dim);border:1px solid var(--info);color:#a0c4ff;margin:12px 0;padding:12px 20px;font-size:14px}.match-detail-row{gap:16px;margin-bottom:8px;font-size:14px;display:flex}.match-detail-row .label{color:var(--text-dim);min-width:100px;font-weight:500}.match-detail-row .value{color:var(--text)}.badge{border-radius:var(--radius-sm);letter-spacing:.3px;text-transform:uppercase;font-size:11px;font-weight:700;font-family:var(--font-display);padding:3px 10px;display:inline-block}.badge-admin{background:var(--primary-dim);color:var(--primary);border:1px solid var(--primary-dim)}.badge-moderator{background:var(--info-dim);color:var(--info);border:1px solid var(--info-dim)}.badge-banned{background:var(--danger-dim);color:var(--danger);border:1px solid var(--danger-dim)}.badge-user{background:var(--bg-elevated);color:var(--text-dim);border:1px solid var(--border)}.badge-deactivated{color:var(--text-muted);border:1px solid var(--text-muted);background:#50506826}.badge-active{background:var(--success-dim);color:var(--success);border:1px solid var(--success-dim)}.lb-filter-bar{padding:var(--sp-4) var(--sp-6) 0;flex-shrink:0;align-items:center;gap:12px;display:flex}.lb-filter-bar label{color:var(--text-dim);font-size:13px}.lb-content{padding:var(--sp-5) var(--sp-6) var(--sp-6)}.lb-status{color:var(--text-dim);text-align:center;padding:40px 0}.lb-status.error{color:var(--danger)}.lb-rank-pill{background:var(--primary);color:var(--primary-contrast);border-radius:10px;padding:2px 8px;font-size:12px;font-weight:600;display:inline-block}.lb-level-pill{background:var(--bg-elevated);color:var(--text);border-radius:10px;padding:2px 8px;font-size:12px;font-weight:600;display:inline-block}.lb-user-link{color:var(--accent);cursor:pointer;font-weight:600}.lb-user-link:hover{text-decoration:underline}.lb-rank-col{color:var(--text-dim);font-weight:700}.lb-elo-col{font-weight:600}@keyframes spin{to{transform:rotate(360deg)}}@keyframes slideIn{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}@keyframes statFlash{0%{background:color-mix(in srgb, var(--primary) 70%, transparent);color:#fff}to{color:var(--text);background:#00000080}}@keyframes modalIn{0%{opacity:0;transform:scale(.95)translateY(10px)}to{opacity:1;transform:scale(1)translateY(0)}}::selection{background:var(--primary);color:#fff}.friends-empty{text-align:center;color:var(--text-muted);padding:30px 16px;font-size:13px}.friends-section-label{color:var(--text-dim);text-transform:uppercase;letter-spacing:.5px;padding:4px 12px 8px;font-size:11px;font-weight:600}.friends-section-label.spaced{padding-top:12px}.status-dot.online,.status-dot.in_lobby{background:var(--success)}.status-dot.in_game{background:var(--warning)}.status-dot.in_campaign{background:var(--info)}.status-dot.offline{background:var(--text-muted)}.party-bar{background:var(--bg-surface);border-bottom:1px solid var(--border);align-items:center;gap:12px;padding:10px 24px;font-size:13px;display:flex}.party-bar .party-label{color:var(--accent);font-weight:700;font-family:var(--font-display);letter-spacing:.5px;text-transform:uppercase;font-size:12px}.party-members{flex:1;gap:6px;display:flex}.party-member-chip{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);align-items:center;gap:6px;padding:4px 10px;font-size:12px;display:flex}.party-member-chip .leader-icon{color:var(--warning);font-size:10px}.party-member-avatar{border-radius:var(--radius-sm);color:#00000080;background:var(--accent);justify-content:center;align-items:center;width:22px;height:22px;font-size:11px;font-weight:700;display:flex}.party-chat{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-lg);z-index:190;flex-direction:column;width:300px;max-height:250px;display:flex;position:fixed;bottom:52px;right:16px;box-shadow:0 4px 20px #0006}.party-chat-messages{flex:1;max-height:180px;padding:10px 12px;font-size:12px;overflow-y:auto}.party-chat-msg{margin-bottom:6px}.party-chat-msg .sender{color:var(--accent);margin-right:6px;font-weight:600}.party-chat-msg .text{color:var(--text-dim)}.party-chat-input{border-top:1px solid var(--border);gap:6px;padding:8px;display:flex}.party-chat-input input{background:var(--bg-deep);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);font-size:12px;font-family:var(--font-body);outline:none;flex:1;padding:6px 10px}.profile-page{flex-direction:column;flex:1;display:flex;overflow:hidden}.profile-page-loading,.profile-page-empty{color:var(--text-muted);justify-content:center;align-items:center;gap:var(--sp-3);flex-direction:column;flex:1;font-size:15px;display:flex}.profile-page-empty-icon{opacity:.5;font-size:40px}.profile-page-content{padding:var(--sp-5) var(--sp-6) var(--sp-6);flex:1;overflow-y:auto}.profile-page-header-card{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);padding:var(--sp-5);margin-bottom:var(--sp-5)}.profile-page-identity{align-items:center;gap:var(--sp-4);margin-bottom:var(--sp-4);display:flex}.profile-page-username{font-family:var(--font-display);color:var(--text);font-size:20px;font-weight:700}.profile-page-join{color:var(--text-muted);margin-top:2px;font-size:12px}.profile-page-rank-group{margin-bottom:var(--sp-4);justify-content:space-between;align-items:flex-end;display:flex}.profile-page-rank-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;font-size:11px}.profile-page-rank-value{font-family:var(--font-display);font-size:18px;font-weight:700}.profile-page-level-value{font-family:var(--font-display);color:var(--accent);font-size:18px;font-weight:700}.profile-page-elo-value{font-family:var(--font-display);color:var(--text);font-size:18px;font-weight:700}.profile-page-elo-peak{color:var(--text-muted);font-size:11px}.profile-page-xp-bar{margin-top:var(--sp-2)}.profile-page-xp-labels{color:var(--text-muted);justify-content:space-between;margin-bottom:4px;font-size:11px;display:flex}.profile-page-section{margin-bottom:var(--sp-5)}.profile-page-section-title{font-family:var(--font-display);text-transform:uppercase;letter-spacing:1px;color:var(--text-muted);margin-bottom:var(--sp-3);font-size:13px;font-weight:700}.profile-page-stats-grid{gap:var(--sp-2);grid-template-columns:repeat(3,1fr);display:grid}.profile-page-stat{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-sm);padding:var(--sp-3);text-align:center}.profile-page-stat-value{font-family:var(--font-display);color:var(--text);font-size:18px;font-weight:700}.profile-page-stat-label{color:var(--text-muted);margin-top:2px;font-size:11px}.profile-page-achievements{gap:var(--sp-2);flex-wrap:wrap;display:flex}.profile-page-achievement{align-items:center;gap:var(--sp-2);background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-sm);padding:var(--sp-2) var(--sp-3);font-size:13px;display:flex}.profile-page-achievement-icon{font-size:16px}.profile-page-achievement-name{color:var(--text)}.profile-page-cosmetics{gap:var(--sp-2);flex-wrap:wrap;display:flex}.profile-page-progress-list{gap:var(--sp-2);flex-direction:column;display:flex}.profile-page-progress-item{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-sm);padding:var(--sp-2) var(--sp-3)}.profile-page-progress-header{align-items:center;gap:var(--sp-2);margin-bottom:4px;font-size:13px;display:flex}.profile-page-progress-name{color:var(--text);flex:1}.profile-page-progress-count{color:var(--text-muted);font-size:12px}.create-room-page{flex-direction:column;flex:1;display:flex}.create-room-content{padding:var(--sp-5) var(--sp-6) var(--sp-6)}.create-room-section{margin-bottom:var(--sp-5)}.create-room-section:last-child{margin-bottom:0}.create-room-section-title{font-family:var(--font-display);text-transform:uppercase;letter-spacing:1px;color:var(--text-muted);margin:0 0 var(--sp-3);font-size:13px;font-weight:700}.create-room-grid{gap:var(--sp-3);grid-template-columns:repeat(auto-fill,minmax(200px,1fr));display:grid}.create-room-grid .form-group label{color:var(--text-dim);margin-bottom:var(--sp-1);font-size:12px;display:block}.create-room-grid .form-group .input,.create-room-grid .form-group .select,.create-room-grid .form-group select{width:100%;padding:var(--sp-2) var(--sp-3);background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);font-size:13px;font-family:var(--font-body)}.create-room-grid .form-group select:disabled{opacity:.4}.create-room-options{gap:var(--sp-2);flex-wrap:wrap;display:flex}.create-room-actions{justify-content:flex-end;gap:var(--sp-3);padding-top:var(--sp-4);display:flex}.party-page{flex:1;gap:0;min-height:0;display:flex}.party-page.party-page-empty{justify-content:center;align-items:center}.party-empty-content{text-align:center;max-width:360px}.party-empty-icon{color:var(--accent);margin-bottom:var(--sp-4);opacity:.6;font-size:48px}.party-empty-title{font-family:var(--font-display);color:var(--text);margin:0 0 var(--sp-2);font-size:22px}.party-empty-text{color:var(--text-dim);margin:0 0 var(--sp-5);font-size:14px;line-height:1.5}.party-empty-tip{color:var(--text-muted);margin-top:var(--sp-4);font-size:12px}.party-page-main{flex-direction:column;flex:1;min-width:0;display:flex}.party-page-header{padding:var(--sp-3) var(--sp-6);border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:center;display:flex}.party-page-header-info{align-items:baseline;gap:var(--sp-3);display:flex}.party-page-title{font-family:var(--font-display);color:var(--accent);font-size:15px;font-weight:700}.party-page-count{color:var(--text-dim);font-size:13px}.party-page-header-actions{gap:var(--sp-2);display:flex}.party-members-grid{padding:var(--sp-4) var(--sp-6);gap:var(--sp-2);flex-direction:column;display:flex}.party-member-card{align-items:center;gap:var(--sp-3);padding:var(--sp-3) var(--sp-4);background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);transition:border-color .15s;display:flex}.party-member-card.leader{border-color:var(--warning);border-width:1px}.party-member-card-avatar{border-radius:var(--radius-sm);width:36px;height:36px;color:var(--bg-deep);flex-shrink:0;justify-content:center;align-items:center;font-size:16px;font-weight:700;display:flex;position:relative}.party-leader-crown{color:var(--warning);font-size:12px;position:absolute;top:-6px;right:-6px}.party-member-card-info{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.party-member-card-name{color:var(--text);font-size:14px;font-weight:600}.party-member-card-role{color:var(--text-muted);font-size:12px}.party-page-chat{border-left:1px solid var(--border);background:var(--bg-base);flex-direction:column;flex-shrink:0;width:320px;display:flex}.party-page-chat-header{padding:var(--sp-3) var(--sp-4);font-family:var(--font-display);color:var(--text-dim);border-bottom:1px solid var(--border);background:var(--bg-surface);flex-shrink:0;font-size:13px;font-weight:700}.party-page-chat-messages{padding:var(--sp-3) var(--sp-4);flex-direction:column;flex:1;gap:4px;display:flex;overflow-y:auto}.party-page-chat-empty,.party-page-chat-disabled{color:var(--text-muted);text-align:center;padding:var(--sp-6) var(--sp-4);font-size:13px}.party-page-chat-msg{font-size:13px;line-height:1.4}.party-chat-sender{color:var(--accent);margin-right:6px;font-weight:600}.party-chat-text{color:var(--text-dim)}.party-page-chat-input{gap:var(--sp-2);padding:var(--sp-2) var(--sp-3);border-top:1px solid var(--border);display:flex}.party-page-chat-input .input{flex:1;font-size:13px}.party-invite-item{align-items:center;gap:var(--sp-3);padding:var(--sp-3) var(--sp-4);border-bottom:1px solid var(--border);display:flex}.party-invite-item:last-child{border-bottom:none}.party-invite-avatar{border-radius:var(--radius-sm);width:32px;height:32px;color:var(--bg-deep);flex-shrink:0;justify-content:center;align-items:center;font-size:14px;font-weight:700;display:flex}.party-invite-name{color:var(--text);flex:1;font-size:14px;font-weight:500}.party-invite-status{margin-right:var(--sp-2);font-size:8px}.invite-toast{background:var(--bg-elevated);border:1px solid var(--accent);border-radius:var(--radius);align-items:center;gap:10px;margin-bottom:8px;padding:12px 16px;font-size:13px;animation:.3s slideIn;display:flex}.invite-toast .invite-text{color:var(--text);flex:1}.invite-toast .invite-actions{gap:6px;display:flex}.invite-toast .invite-actions .btn{padding:4px 12px;font-size:12px}.lobby-chat{z-index:150;border-radius:var(--radius-lg);border:1px solid var(--border);background:var(--bg-surface);width:380px;box-shadow:var(--shadow-lg);flex-direction:column;display:flex;position:fixed;bottom:16px;right:16px;overflow:hidden}.has-lobby-chat .main-body{padding-bottom:64px}.lobby-chat-toggle{background:var(--bg-elevated);width:100%;color:var(--text);cursor:pointer;letter-spacing:.5px;border:none;justify-content:space-between;align-items:center;padding:10px 14px;font-family:Chakra Petch,sans-serif;font-size:13px;font-weight:600;display:flex}.lobby-chat-toggle.expanded{border-bottom:1px solid var(--border)}.lobby-chat-toggle:hover{background:var(--bg-hover)}.lobby-chat-toggle .lobby-chat-arrow{color:var(--text-muted);font-size:10px;transition:transform .2s}.lobby-chat-body{background:var(--bg-deep);flex-direction:column;display:flex}.lobby-chat-messages{scrollbar-width:thin;scrollbar-color:var(--bg-hover) transparent;flex-direction:column;gap:4px;height:280px;padding:10px 12px;display:flex;overflow-y:auto}.lobby-chat-empty{color:var(--text-muted);text-align:center;padding:16px 0;font-size:11px;font-style:italic}.lobby-chat-msg{word-wrap:break-word;font-size:12px;line-height:1.4}.lobby-chat-msg-name{font-weight:600}.lobby-chat-msg-text{color:var(--text-dim)}.lobby-chat-input-row{border-top:1px solid var(--border);background:var(--bg-surface);gap:6px;padding:8px 10px;display:flex}.lobby-chat-input{background:var(--bg-deep);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);outline:none;flex:1;padding:8px 10px;font-family:DM Sans,sans-serif;font-size:13px}.lobby-chat-input:focus{border-color:var(--border-bright)}.lobby-chat-send{border-radius:var(--radius-sm);white-space:nowrap;padding:8px 14px;font-size:12px;font-weight:600}.app-layout{background:var(--bg-base);width:100%;height:100%;display:flex;position:absolute;top:0;left:0}.sidebar{background:var(--bg-surface);width:240px;min-width:240px;height:100%;transition:width var(--transition-slow), min-width var(--transition-slow);z-index:50;flex-direction:column;flex-shrink:0;display:flex;position:relative;overflow:hidden}.sidebar.collapsed{width:64px;min-width:64px}.sidebar-brand{padding:var(--sp-4) var(--sp-5);align-items:center;gap:var(--sp-2);white-space:nowrap;flex-shrink:0;height:60px;display:flex;overflow:hidden}.sidebar-brand h1{font-size:20px;font-family:var(--font-display);letter-spacing:2px;text-transform:uppercase;color:var(--primary);margin:0;font-weight:700;line-height:1}.sidebar-brand h1 span{color:var(--text)}.sidebar.collapsed .sidebar-brand{padding:var(--sp-4) 0;justify-content:center}.sidebar.collapsed .sidebar-brand-full{display:none}.sidebar.collapsed .sidebar-brand-icon{display:flex}.sidebar-brand-icon{font-size:18px;font-family:var(--font-display);letter-spacing:1px;color:var(--primary);font-weight:700;display:none}.sidebar-brand-icon span{color:var(--text)}.sidebar-nav{padding:var(--sp-2);border-right:1px solid var(--border);flex:1;overflow:hidden auto}.sidebar-section-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:1px;padding:var(--sp-3) var(--sp-3) var(--sp-1);font-size:10px;font-weight:700;font-family:var(--font-display);white-space:nowrap;overflow:hidden}.sidebar.collapsed .sidebar-section-label{padding:var(--sp-2) 0;text-align:center;border-bottom:1px solid var(--border);margin:0 var(--sp-2);font-size:0}.sidebar-nav-item{align-items:center;gap:var(--sp-3);padding:10px var(--sp-3);border-radius:var(--radius);color:var(--text-dim);cursor:pointer;transition:all var(--transition);white-space:nowrap;text-align:left;width:100%;font-size:13px;font-weight:500;font-family:var(--font-body);background:0 0;border:1px solid #0000;margin-bottom:2px;display:flex;overflow:hidden}.sidebar-nav-item:hover{background:var(--bg-hover);color:var(--text)}.sidebar-nav-item.active{background:var(--bg-hover);color:var(--text);border-color:var(--border)}.sidebar-nav-item .nav-icon{text-align:center;flex-shrink:0;width:20px;min-width:20px;font-size:15px}.sidebar-nav-item .nav-label{text-overflow:ellipsis;overflow:hidden}.sidebar.collapsed .nav-label{display:none}.sidebar.collapsed .sidebar-nav-item{justify-content:center;padding:10px 0;position:relative}.sidebar-divider{background:var(--border);height:1px;margin:var(--sp-2) var(--sp-2)}.sidebar-footer{padding:var(--sp-3);border-top:1px solid var(--border);border-right:1px solid var(--border);flex-shrink:0}.sidebar-user{align-items:center;gap:var(--sp-2);padding:var(--sp-2) var(--sp-2);border-radius:var(--radius);margin-bottom:var(--sp-2);display:flex;overflow:hidden}.sidebar-user-avatar{border-radius:var(--radius);background:var(--primary);color:#fff;width:32px;height:32px;font-size:14px;font-weight:700;font-family:var(--font-display);flex-shrink:0;justify-content:center;align-items:center;display:flex}.sidebar-user-info{flex:1;min-width:0;overflow:hidden}.sidebar-user-name{color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:600;overflow:hidden}.sidebar-user-rank{color:var(--text-dim);gap:var(--sp-1);align-items:center;font-size:11px;display:flex}.sidebar.collapsed .sidebar-user-info{display:none}.sidebar-ear{background:var(--bg-surface);border:1px solid var(--border);border-radius:0 var(--radius-sm) var(--radius-sm) 0;cursor:pointer;z-index:51;width:14px;height:40px;transition:background .15s, left var(--transition-slow);border-left:none;justify-content:center;align-items:center;padding:0;display:flex;position:absolute;top:50%;left:240px;transform:translateY(-50%)}.sidebar-ear:hover{background:var(--bg-hover)}.sidebar-ear-icon{color:var(--text-muted);font-size:9px;line-height:1}.sidebar-ear:hover .sidebar-ear-icon{color:var(--text)}.sidebar.collapsed~.sidebar-ear{left:64px}@media (height<=900px){.sidebar-nav-item,.sidebar.collapsed .sidebar-nav-item{padding-top:7px;padding-bottom:7px}.sidebar-section-label{padding-top:var(--sp-2)}}.main-content{flex-direction:column;flex:1;min-width:0;display:flex;position:relative;overflow:hidden}.main-header{padding:0 var(--sp-6);border-bottom:1px solid var(--border);background:var(--bg-surface);box-sizing:border-box;flex-shrink:0;justify-content:flex-end;align-items:center;height:60px;display:flex}.main-header-actions{align-items:center;gap:8px;display:flex}.view-content{flex-direction:column;flex:1;display:flex;overflow:hidden}.view-content .admin-tabs,.view-content .tab-bar{background:var(--bg-surface);padding:0 var(--sp-6);border-bottom:1px solid var(--border);box-sizing:border-box;flex-wrap:wrap;flex-shrink:0;align-items:stretch;min-height:60px;margin-bottom:0;display:flex}.view-content .admin-tab{border-bottom-width:2px;align-items:center;min-height:44px;padding:0 18px;font-size:13px;display:flex}.help-tab-spacer{flex:1}.help-external-link{color:var(--text-muted)!important;border-bottom-color:#0000!important;font-size:12px!important}.help-external-link:hover{color:var(--text)!important}.help-external-link.active{color:var(--primary)!important;border-bottom-color:var(--primary)!important}.view-content .admin-tab-content{padding:var(--sp-6);flex:1;overflow-y:auto}.main-body{flex-direction:column;flex:1;display:flex;position:relative;overflow-y:auto}.view-root{display:contents}.main-body>*,.view-root>*{z-index:1;position:relative}.panel-header{padding:var(--sp-5) var(--sp-6);border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:center;display:flex}.panel-content{padding:var(--sp-6);flex:1;overflow-y:auto}.panel-content.compact{padding:var(--sp-4)}.content-section{margin-bottom:var(--sp-6)}.content-section-title{color:var(--text-muted);text-transform:uppercase;letter-spacing:1px;margin-bottom:var(--sp-3);font-size:11px;font-weight:700;font-family:var(--font-display)}.tab-bar{border-bottom:2px solid var(--border);padding:0 var(--sp-6);flex-shrink:0;gap:0;display:flex;overflow-x:auto}.tab-item{padding:var(--sp-3) var(--sp-5);color:var(--text-dim);font-size:13px;font-weight:600;font-family:var(--font-display);letter-spacing:.5px;cursor:pointer;transition:all var(--transition);white-space:nowrap;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-2px}.tab-item:hover{color:var(--text);background:var(--bg-hover)}.tab-item.active{color:var(--text);border-bottom-color:var(--primary);background:var(--bg-hover)}.tab-bar.compact .tab-item{padding:var(--sp-2) 0;text-align:center;flex:1;font-size:12px}.data-table{border-collapse:separate;border-spacing:0;background:var(--bg-surface);border-radius:var(--radius);border:1px solid var(--border);width:100%;overflow:hidden}.data-table th{background:var(--bg-elevated);padding:var(--sp-3) var(--sp-4);text-align:left;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;font-size:11px;font-weight:700;font-family:var(--font-display);border-bottom:2px solid var(--border);z-index:1;position:sticky;top:0}.data-table td{padding:var(--sp-3) var(--sp-4);border-bottom:1px solid var(--border);font-size:13px}.data-table tbody tr{transition:background var(--transition)}.data-table tbody tr:nth-child(2n){background:var(--row-stripe)}.data-table tbody tr:hover{background:var(--bg-hover)}.data-table tbody tr.clickable{cursor:pointer}.data-table tbody tr.clickable:hover{background:var(--primary-dim)}.data-table .col-center{text-align:center}.data-table.compact th,.data-table.compact td{padding:var(--sp-2) var(--sp-3);font-size:12px}.input{background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius);width:100%;color:var(--text);font-size:14px;font-family:var(--font-body);transition:border-color var(--transition), box-shadow var(--transition);outline:none;padding:10px 14px}.input:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-dim)}.input::placeholder{color:var(--text-muted)}.input.sm{padding:7px 10px;font-size:12px}.select{background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius);width:100%;color:var(--text);font-size:14px;font-family:var(--font-body);cursor:pointer;transition:border-color var(--transition);outline:none;padding:10px 14px}.select:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-dim)}.toggle-switch{flex-shrink:0;width:40px;height:22px;display:inline-block;position:relative}.toggle-switch input{opacity:0;width:0;height:0;position:absolute}.toggle-slider{background:var(--border-bright);cursor:pointer;transition:background var(--transition);border-radius:11px;position:absolute;inset:0}.toggle-slider:before{content:"";background:var(--text);width:18px;height:18px;transition:transform var(--transition);border-radius:50%;position:absolute;top:2px;left:2px}.toggle-switch input:checked+.toggle-slider{background:var(--primary)}.toggle-switch input:checked+.toggle-slider:before{transform:translate(18px)}.setting-row{align-items:center;gap:var(--sp-3);padding:var(--sp-3) var(--sp-4);background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:var(--sp-2);transition:background var(--transition);display:flex}.setting-row:hover{background:var(--bg-elevated)}.setting-row-info{flex:1}.setting-row-label{color:var(--text);font-size:14px;font-weight:600}.setting-row-desc{color:var(--text-muted);margin-top:2px;font-size:12px}.form-grid{gap:var(--sp-3);grid-template-columns:repeat(3,1fr);display:grid}.form-grid .form-group{margin-bottom:0}.form-grid-2col{gap:var(--sp-2);grid-template-columns:1fr 1fr;display:grid}.form-grid-2col .form-group{margin-bottom:0}.collapsible-toggle{border:1px solid var(--border);border-radius:var(--radius);padding:var(--sp-2) var(--sp-3);cursor:pointer;color:var(--text);text-align:left;width:100%;transition:border-color var(--transition);background:0 0;justify-content:space-between;align-items:center;font-size:13px;font-weight:600;display:flex}.collapsible-toggle:hover{border-color:var(--border-bright)}.collapsible-arrow{transition:transform .2s}.collapsible-body{padding:var(--sp-3) var(--sp-4);margin-top:var(--radius-sm);background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);display:none}.settings-card{margin-top:20px}.settings-card>h3{color:var(--text);margin-bottom:var(--sp-3);font-size:15px;font-weight:600}.settings-grid{gap:var(--sp-3);padding:var(--sp-3) var(--sp-4);background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);flex-wrap:wrap;display:flex}.setting-item{align-items:center;gap:var(--sp-2);display:flex}.setting-item-label{color:var(--text);font-size:14px;font-weight:600}.setting-item-desc{color:var(--text-dim);font-size:12px}.setting-item-checkbox{align-items:center;gap:var(--sp-2);cursor:pointer;font-size:14px;display:flex}.setting-item-checkbox input[type=checkbox]{accent-color:var(--accent);width:16px;height:16px}.setting-item-checkbox .setting-item-label{cursor:pointer}.status-indicator{border-radius:50%;width:8px;height:8px;margin-right:6px;display:inline-block}.status-indicator.active{background:var(--success)}.status-indicator.inactive{background:var(--danger)}.override-badge{color:var(--accent);font-size:11px}.option-label{cursor:pointer;align-items:center;gap:5px;font-size:12px;display:flex}.option-label-sm{cursor:pointer;align-items:center;gap:4px;font-size:11px;display:flex}.flex-row{align-items:center;gap:var(--sp-2);display:flex}.flex-wrap{gap:var(--sp-2);flex-wrap:wrap;display:flex}.flex-gap-sm{gap:6px}.ml-auto{margin-left:auto}.subsection-label{color:var(--text-dim);margin-bottom:4px;font-size:11px;font-weight:600}.collapsible-section{margin-top:var(--sp-3)}.pw-field{position:relative}.pw-toggle{cursor:pointer;color:var(--text-dim);background:0 0;border:none;padding:2px 4px;font-size:11px;position:absolute;top:50%;right:4px;transform:translateY(-50%)}.pw-field input{padding-right:30px}.mt-sm{margin-top:10px}.mt-md{margin-top:14px}.nowrap{white-space:nowrap}.w-full{width:100%}.default-indicator{color:var(--text-muted);font-size:10px}.option-chip{background:var(--bg-deep);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;transition:all var(--transition);align-items:center;gap:5px;padding:5px 10px;font-size:12px;display:inline-flex}.option-chip span{font-weight:600}.option-chip:hover{border-color:var(--border-bright);background:var(--bg-surface)}.option-chips{gap:var(--sp-2);flex-wrap:wrap;align-items:center;display:flex}.mini-stat{background:var(--bg-deep);border-radius:var(--radius);padding:var(--sp-3);text-align:center;border:1px solid var(--border)}.mini-stat-value{color:var(--text);font-size:16px;font-weight:700;font-family:var(--font-display)}.mini-stat-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.3px;margin-top:2px;font-size:10px}.room-card.waiting{border-left-color:var(--success)}.room-card.playing{border-left-color:var(--warning)}.profile-role-badge{text-transform:uppercase;margin-left:var(--sp-2);font-size:11px;font-weight:600}.profile-xp-track{background:var(--bg-surface);border-radius:2px;height:4px;overflow:hidden}.profile-xp-fill{background:linear-gradient(90deg, var(--primary), var(--accent));border-radius:2px;height:100%;transition:width .3s}.profile-cosmetic-chip{padding:6px var(--sp-3);background:var(--bg-card);border-radius:var(--radius);color:var(--text);align-items:center;gap:6px;font-size:12px;display:flex}.profile-cosmetic-icon{font-size:16px}.modal-header{padding:var(--sp-5) var(--sp-6);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;display:flex}.modal-header h2{color:var(--primary);font-family:var(--font-display);letter-spacing:1px;margin:0;font-size:18px;font-weight:700}.modal-body{padding:var(--sp-5) var(--sp-6);flex:1;overflow-y:auto}.modal-footer{gap:var(--sp-3);padding:var(--sp-4) var(--sp-6);border-top:1px solid var(--border);display:flex}.modal-footer .btn{flex:1}.modal-close{color:var(--text-muted);cursor:pointer;transition:color var(--transition);background:0 0;border:none;flex-shrink:0;padding:0 4px;font-size:22px;line-height:1}.modal-close:hover,.modal-close:focus-visible{color:var(--text)}.theme-picker{gap:var(--sp-3);flex-wrap:wrap;display:flex}.theme-swatch{width:80px;padding:var(--sp-3) var(--sp-2);background:var(--bg-surface);border:2px solid var(--border);border-radius:var(--radius);cursor:pointer;text-align:center;transition:all var(--transition)}.theme-swatch:hover{border-color:var(--border-bright);transform:translateY(-2px)}.theme-swatch.active{border-color:var(--primary);box-shadow:var(--shadow-glow-primary)}.theme-swatch-colors{margin-bottom:var(--sp-2);justify-content:center;gap:3px;display:flex}.theme-swatch-dot{border:1px solid var(--border);border-radius:50%;width:16px;height:16px}.theme-swatch-name{color:var(--text);font-size:11px;font-weight:600;font-family:var(--font-display);letter-spacing:.3px}.art-style-intro{margin:0 0 var(--sp-3)}.art-style-picker{gap:var(--sp-3);grid-template-columns:repeat(auto-fill,minmax(132px,1fr));display:grid}.art-style-card{padding:var(--sp-2);background:var(--bg-surface);border:2px solid var(--border);border-radius:var(--radius);cursor:pointer;text-align:left;color:var(--text);transition:all var(--transition);flex-direction:column;gap:4px;display:flex}.art-style-card:hover{border-color:var(--border-bright);transform:translateY(-2px)}.art-style-card[aria-pressed=true]{border-color:var(--primary);box-shadow:var(--shadow-glow-primary)}.art-style-preview{aspect-ratio:5/3;border-radius:var(--radius-sm);background:var(--bg-deep);width:100%}.art-style-name{font-family:var(--font-display);letter-spacing:.3px;font-size:13px;font-weight:700}.art-style-desc{color:var(--text-dim);font-size:11px;line-height:1.35}.option-chip[aria-pressed=true]{border-color:var(--primary);background:var(--primary-dim);color:var(--text)}.settings-panel{max-width:500px}.settings-panel.wide{max-width:600px}.settings-section-title{color:var(--text);font-family:var(--font-display);margin-bottom:var(--sp-4);font-weight:700}.settings-separator{border-color:var(--border);margin:var(--sp-5) 0}.settings-hint{color:var(--text-muted);margin-top:var(--sp-1);font-size:11px}.settings-status{margin:var(--sp-2) 0}.settings-field-stack{flex-direction:column;gap:10px;display:flex}.settings-current-value{color:var(--text-dim);margin-bottom:10px;font-size:13px}.settings-current-value strong{color:var(--text)}.settings-pending-banner{color:var(--warning);margin-bottom:var(--sp-3);background:var(--warning-dim);border:1px solid var(--warning);border-radius:var(--radius);padding:10px;font-size:13px}.settings-toggle-list{gap:var(--sp-2);flex-direction:column;display:flex}.privacy-option{align-items:center;gap:var(--sp-3);padding:var(--sp-3) var(--sp-4);background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;display:flex}.privacy-option input[type=checkbox]{width:18px;height:18px;accent-color:var(--primary);cursor:pointer;flex-shrink:0}.privacy-option-label{color:var(--text);font-size:14px;font-weight:600}.privacy-option-desc{color:var(--text-muted);font-size:12px}.cosmetic-slot{margin-bottom:var(--sp-6)}.cosmetic-slot-title{color:var(--text);font-family:var(--font-display);margin-bottom:10px;font-weight:700}.cosmetic-grid{gap:var(--sp-2);flex-wrap:wrap;display:flex}.cosmetic-item{padding:var(--sp-2) var(--sp-3);border-radius:var(--radius-sm);border:2px solid var(--border);background:var(--bg-surface);color:var(--text);cursor:pointer;transition:border-color var(--transition);font-size:12px}.cosmetic-item:hover:not(:disabled){border-color:var(--border-bright)}.cosmetic-item.equipped{border-color:var(--primary)}.cosmetic-item:disabled{background:var(--bg-deep);color:var(--text-muted);cursor:not-allowed;opacity:.5}.cosmetic-item .locked-label{color:var(--text-muted);font-size:10px;display:block}.cosmetic-color-dot{vertical-align:middle;width:14px;height:14px;margin-right:var(--sp-1);border-radius:50%;display:inline-block}.cosmetic-preview{justify-content:center;align-items:center;gap:var(--sp-6);padding:var(--sp-4) var(--sp-3);margin-bottom:var(--sp-6);background:var(--bg-deep);border:1px solid var(--border);border-radius:var(--radius);display:flex}.cosmetic-preview-item{align-items:center;gap:var(--sp-2);flex-direction:column;display:flex}.cosmetic-preview-label{color:var(--text-dim);font-size:11px;font-family:var(--font-display);letter-spacing:.3px}.cosmetic-preview-trail{text-align:center;min-width:56px}.cosmetic-preview-trail-dot{border:2px solid var(--border-bright);border-radius:50%;width:18px;height:18px;display:none}.text-success{color:var(--success)}.text-danger{color:var(--danger)}.text-warning{color:var(--warning)}.text-dim{color:var(--text-dim)}.font-semibold{font-weight:600}.ml-1{margin-left:6px}.ml-2{margin-left:8px}.mt-3{margin-top:var(--sp-3)}.mt-6{margin-top:var(--sp-6)}.flex-1{flex:1}.section-header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.admin-section-title{color:var(--text);font-size:16px;font-family:var(--font-display);letter-spacing:.5px;margin:0;font-weight:600}.admin-count{color:var(--text-dim);font-size:13px}.btn-group{gap:8px;display:flex}.actions-cell{flex-wrap:wrap;gap:6px;display:flex}.form-stack{flex-direction:column;gap:10px;display:flex}.form-row{gap:12px;display:flex}.form-row>*{flex:1}.form-row>.form-row-half{flex:.5}.field-label{color:var(--text-dim);font-size:13px;display:block}.admin-select.w-full{width:100%;padding:8px 12px;font-size:14px}.admin-input.mt-label,.admin-select.mt-label{margin-top:4px}.modal-desc{color:var(--text-dim);margin-bottom:12px;font-size:13px}.modal-hint{color:var(--text-dim);margin-top:8px;font-size:13px}.modal-error{color:var(--danger);margin-top:8px;font-size:13px;display:none}.modal-scroll{max-height:85vh;overflow-y:auto}.icon-cell{text-align:center;font-size:20px}.truncate-cell{color:var(--text-dim);text-overflow:ellipsis;white-space:nowrap;max-width:200px;overflow:hidden}.conflict-card{background:var(--bg-elevated);border-radius:6px;margin-bottom:8px;padding:10px}.conflict-card-name{margin-bottom:6px;font-weight:600}.conflict-card-info{margin-bottom:8px;font-size:12px}.conflict-card-options{gap:12px;font-size:13px;display:flex}.color-picker-row{align-items:center;gap:8px;margin-top:4px;display:flex}.color-picker-swatch{cursor:pointer;border:none;width:48px;height:36px}.btn-danger.btn-confirm{padding:8px 16px;font-size:14px}.file-input{color:var(--text);margin-bottom:12px}.import-preview{margin-bottom:12px;display:none}.admin-textarea-mono{box-sizing:border-box;resize:vertical;width:100%;margin-top:4px;font-family:monospace;font-size:12px}.error-banner{color:var(--danger);padding:var(--sp-5)}.camp-tab-header{margin-bottom:var(--sp-4);justify-content:space-between;align-items:center;display:flex}.camp-tab-header h3{color:var(--text);margin:0}.camp-toolbar{margin-bottom:var(--sp-3)}.camp-toolbar-multi{margin-bottom:var(--sp-3);gap:var(--sp-2);display:flex}.camp-empty-cell{text-align:center;color:var(--text-dim);padding:var(--sp-6)}.camp-order-cell{align-items:center;gap:4px;display:flex}.camp-order-value{text-align:center;min-width:24px}.camp-level-order-cell{align-items:center;gap:2px;display:flex}.camp-level-order-btn{padding:0 2px;font-size:10px}.camp-level-order-value{text-align:center;min-width:18px}.camp-btn-group{flex-wrap:wrap;gap:6px;display:flex}.camp-world-row{cursor:pointer}.camp-expand-cell{text-align:center;font-size:11px}.camp-theme-badge{background:var(--bg-hover);padding:2px var(--sp-2);border-radius:var(--radius-sm);font-size:12px}.camp-levels-nested{background:var(--bg-deep);padding:0 0 0 32px}.camp-levels-inner{padding:var(--sp-3) 0}.camp-levels-header{margin-bottom:var(--sp-2);justify-content:space-between;align-items:center;display:flex}.camp-levels-title{color:var(--text-dim);font-size:13px;font-weight:600}.camp-levels-empty{color:var(--text-dim);padding:var(--sp-3);text-align:center}.camp-enemy-desc{color:var(--text-dim);margin-top:2px;font-size:12px}.camp-preview-canvas{border-radius:var(--radius-sm);background:var(--bg-deep)}.camp-modal-preview{border-radius:var(--radius);background:var(--bg-deep);border:1px solid var(--border)}.camp-modal-body{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--sp-6);max-width:90vw}.camp-modal-body.md{width:480px}.camp-modal-body.lg{width:600px;max-width:95vw;max-height:90vh;margin:20px 0;overflow-y:auto}.camp-modal-body.sm{width:420px}.camp-modal-body.conflict{width:560px;max-width:95vw;max-height:90vh;margin:20px 0;overflow-y:auto}.camp-modal-title{margin:0 0 var(--sp-4);color:var(--primary)}.camp-modal-title.danger{color:var(--danger)}.camp-modal-title.warning{color:var(--warning)}.camp-modal-form{gap:var(--sp-3);flex-direction:column;display:flex}.camp-modal-actions{gap:var(--sp-3);margin-top:var(--sp-2);justify-content:flex-end;display:flex}.camp-modal-actions.mt-md{margin-top:var(--sp-4)}.camp-modal-actions.mt-sm{margin-top:var(--sp-3)}.camp-form-label{color:var(--text-dim);margin-bottom:4px;font-size:13px;display:block}.camp-form-label.sm{font-size:12px}.camp-form-row{gap:var(--sp-2);display:flex}.camp-form-col{flex:1}.camp-checkbox-row{gap:var(--sp-3);flex-wrap:wrap;display:flex}.camp-checkbox-label{color:var(--text-dim);cursor:pointer;align-items:center;gap:4px;font-size:13px;display:flex}.camp-checkbox-label.sm{font-size:12px}.camp-enemy-columns{gap:var(--sp-6);display:flex}.camp-enemy-left{flex-direction:column;flex:1;gap:10px;display:flex}.camp-enemy-right{flex-direction:column;gap:10px;width:180px;display:flex}.camp-preview-center{text-align:center;margin-bottom:4px}.camp-color-row{gap:6px;display:flex}.camp-color-input{border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;background:0 0;width:100%;height:28px}.camp-conflict-card{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);padding:var(--sp-3);margin-bottom:var(--sp-2)}.camp-conflict-name{color:var(--text);margin-bottom:6px;font-weight:600}.camp-conflict-orig-id{color:var(--text-dim);font-size:12px}.camp-conflict-options{color:var(--text-dim);flex-direction:column;gap:4px;font-size:13px;display:flex}.camp-conflict-option{cursor:pointer;align-items:center;gap:4px;display:flex}.camp-import-status{color:var(--text-dim);margin-bottom:var(--sp-3);font-size:12px}.camp-import-hint{color:var(--text-dim);margin:0 0 var(--sp-3);font-size:13px}.camp-import-file{color:var(--text);font-size:13px}.camp-import-file-wrap{margin-bottom:var(--sp-4)}.camp-delete-confirm-text{color:var(--text-dim);margin:0 0 var(--sp-3)}.camp-delete-confirm-hint{color:var(--text-dim);margin:0 0 var(--sp-4);font-size:13px}.mb-md{margin-bottom:var(--sp-4)}.mb-0{margin-bottom:0}.text-accent{color:var(--accent)}.text-info{color:var(--info)}.text-sm{font-size:13px}.text-xs{font-size:12px}.text-capitalize{text-transform:capitalize}.sim-section-header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.sim-section-header h3{color:var(--text);margin:0}.sim-info-card{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;margin-bottom:16px;padding:16px}.sim-info-card h3,.sim-info-card h4{color:var(--text);margin:0}.sim-info-card h4{margin-bottom:8px}.sim-detail-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.sim-info-grid{color:var(--text-dim);grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:8px;font-size:13px;display:grid}.sim-info-grid strong{color:var(--text)}.sim-progress-section{margin-top:12px}.sim-progress-row{align-items:center;gap:12px;display:flex}.sim-progress-label{color:var(--text);font-size:14px}.sim-progress-track{background:var(--bg-deep);border-radius:4px;flex:1;height:8px;overflow:hidden}.sim-progress-fill{background:var(--accent);border-radius:4px;height:100%;transition:width .3s}.sim-progress-mini{background:var(--bg-card);border-radius:3px;flex:1;max-width:80px;height:6px;overflow:hidden}.sim-progress-mini .sim-progress-fill{border-radius:3px}.sim-tick-info{color:var(--text-dim);margin-top:4px;font-size:12px}.sim-action-row{gap:8px;margin-top:12px;display:flex}.sim-win-chips{flex-wrap:wrap;gap:12px;display:flex}.sim-win-chip{background:var(--bg-hover);border-radius:6px;padding:6px 12px}.sim-win-chip-name{color:var(--primary);font-weight:600}.sim-win-chip-count{color:var(--text-dim);margin-left:4px}.sim-status{text-transform:capitalize;font-weight:600}.sim-games-cell{align-items:center;gap:8px;display:flex}.sim-td-actions{gap:4px;display:flex}.sim-checkbox-row{flex-wrap:wrap;gap:16px;margin-top:12px;display:flex}.sim-checkbox-label{color:var(--text-dim);cursor:pointer;align-items:center;gap:6px;display:flex}.sim-checkbox-label.accent-label input{accent-color:var(--accent)}.sim-checkbox-label.accent-label span{color:var(--accent);font-weight:600}.sim-powerup-section{margin-top:12px}.sim-powerup-section>label{color:var(--text-dim);font-size:13px}.sim-powerup-chips{flex-wrap:wrap;gap:8px;margin-top:6px;display:flex}.sim-powerup-label{color:var(--text-dim);cursor:pointer;align-items:center;gap:4px;font-size:13px;display:flex}.sim-back-row{margin-bottom:16px}.sim-pagination{justify-content:center;align-items:center;gap:12px;margin-top:12px;display:flex}.sim-pagination-info{color:var(--text-dim);font-size:13px}.sortable-th{cursor:pointer;-webkit-user-select:none;user-select:none}.sim-winner-cell{color:var(--primary);font-weight:600}.sim-reason-cell{color:var(--text-dim);font-size:12px}.sim-empty-row{text-align:center;color:var(--text-dim)}.sim-error{color:var(--danger)}.sim-modal-grid{grid-template-columns:1fr 1fr 1fr;gap:10px;display:grid}.sim-modal-actions{margin-top:20px}.sim-modal{width:760px;max-width:95vw}.friends-page{flex-direction:column;flex:1;display:flex;overflow:hidden}.friends-page-header{justify-content:space-between;align-items:center;gap:var(--sp-4);background:var(--bg-surface);padding:0 var(--sp-6);border-bottom:1px solid var(--border);box-sizing:border-box;flex-wrap:wrap;flex-shrink:0;height:60px;display:flex}.friends-page-header .tab-bar{border-bottom:none;flex-shrink:0;height:auto;padding:0;overflow:visible}.friends-search-bar{gap:var(--sp-2);display:flex}.friends-search-bar .input{width:220px}.friends-grid{gap:var(--sp-2);padding:var(--sp-4) var(--sp-6);flex-direction:column;flex:1;display:flex;overflow-y:auto}.friend-card{align-items:center;gap:var(--sp-3);padding:var(--sp-3) var(--sp-4);background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);transition:background .15s,border-color .15s;display:flex}.friend-card:hover{background:var(--bg-hover);border-color:var(--border-bright)}.friend-card-avatar{width:40px;height:40px;color:var(--text);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:16px;font-weight:700;display:flex;position:relative}.friend-card-avatar .status-dot{border:2px solid var(--bg-surface);background:var(--text-muted);border-radius:50%;width:10px;height:10px;position:absolute;bottom:0;right:0}.friend-card-avatar .status-dot.online,.friend-card-avatar .status-dot.in_lobby{background:var(--success)}.friend-card-avatar .status-dot.in_game,.friend-card-avatar .status-dot.in_campaign{background:var(--warning)}.friend-card-info{flex:1;min-width:0}.friend-card-name{color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-weight:600;overflow:hidden}.friend-card-name.offline{color:var(--text-muted)}.friend-card-activity{color:var(--text-muted);font-size:12px}.friend-card-activity.active{color:var(--success)}.friend-card-activity.in-game{color:var(--warning)}.friend-card-actions{gap:var(--sp-1);flex-shrink:0;display:flex}.friends-section-label{text-transform:uppercase;letter-spacing:1px;color:var(--text-muted);padding:var(--sp-2) 0;font-size:11px;font-weight:600}.friends-empty{color:var(--text-muted);text-align:center;padding:60px 20px;font-size:15px}.messages-page{flex:1;display:flex;overflow:hidden}.messages-sidebar{border-right:1px solid var(--border);flex-direction:column;flex-shrink:0;width:300px;display:flex;overflow:hidden}.messages-sidebar-header{padding:var(--sp-3) var(--sp-4);text-transform:uppercase;letter-spacing:1px;color:var(--text-muted);border-bottom:1px solid var(--border);flex-shrink:0;font-size:14px;font-weight:700}.messages-conv-list{flex:1;overflow-y:auto}.messages-conv-item{align-items:center;gap:var(--sp-3);padding:var(--sp-3) var(--sp-4);cursor:pointer;border-bottom:1px solid var(--border);transition:background .15s;display:flex}.messages-conv-item:hover{background:var(--bg-hover)}.messages-conv-item.active{background:var(--bg-surface);border-left:3px solid var(--primary)}.messages-conv-item-avatar{width:36px;height:36px;color:var(--text);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:14px;font-weight:700;display:flex}.messages-conv-item-info{flex:1;min-width:0}.messages-conv-item-name{color:var(--text);font-size:13px;font-weight:600}.messages-conv-item-preview{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.messages-conv-item-time{color:var(--text-dim);flex-shrink:0;font-size:11px}.messages-unread-badge{background:var(--primary);color:var(--text);border-radius:10px;flex-shrink:0;padding:2px 7px;font-size:11px;font-weight:700}.messages-conv-empty{color:var(--text-muted);text-align:center;padding:40px 16px;font-size:14px}.messages-main{flex-direction:column;flex:1;display:flex;overflow:hidden}.messages-conv-header{align-items:center;gap:var(--sp-3);padding:var(--sp-3) var(--sp-4);border-bottom:1px solid var(--border);flex-shrink:0;display:flex}.messages-conv-avatar{width:32px;height:32px;color:var(--text);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:13px;font-weight:700;display:flex}.messages-conv-name{color:var(--text);font-size:15px;font-weight:700}.messages-body{padding:var(--sp-4);gap:var(--sp-2);flex-direction:column;flex:1;display:flex;overflow-y:auto}.messages-msg{flex-direction:column;max-width:65%;display:flex}.messages-msg.sent{align-self:flex-end;align-items:flex-end}.messages-msg.received{align-self:flex-start;align-items:flex-start}.messages-msg-bubble{padding:var(--sp-2) var(--sp-3);word-break:break-word;border-radius:12px;font-size:14px;line-height:1.4}.messages-msg.sent .messages-msg-bubble{background:var(--primary);color:var(--text);border-bottom-right-radius:4px}.messages-msg.received .messages-msg-bubble{background:var(--bg-surface);color:var(--text);border:1px solid var(--border);border-bottom-left-radius:4px}.messages-msg-meta{color:var(--text-dim);align-items:center;gap:4px;margin-top:2px;font-size:11px;display:flex}.messages-read-indicator{color:var(--info);font-size:10px}.messages-input-row{gap:var(--sp-2);padding:var(--sp-3) var(--sp-4);border-top:1px solid var(--border);background:var(--bg-deep);display:flex}.messages-input{flex:1}.messages-empty-state{color:var(--text-muted);justify-content:center;align-items:center;gap:var(--sp-3);flex-direction:column;flex:1;display:flex}.messages-empty-icon{opacity:.3;font-size:48px}.messages-empty-text{font-size:15px}.messages-empty-chat{color:var(--text-muted);text-align:center;padding:40px 20px;font-size:14px}.messages-disabled{padding:var(--sp-3) var(--sp-4);text-align:center;color:var(--text-muted);border-top:1px solid var(--border);font-size:13px}@media (width<=640px){.sidebar{position:absolute;top:0;left:0}.sidebar:not(.collapsed){box-shadow:var(--shadow-xl)}.main-content{margin-left:64px}.sidebar-ear{width:24px;height:44px}.main-header,.view-content .admin-tabs,.view-content .tab-bar{padding:0 var(--sp-3)}.main-body>*,.view-root>*{width:100%;min-width:0}.main-body{overflow-x:auto}.data-table th,.data-table td{padding:var(--sp-2) var(--sp-1)}.lobby-chat{width:auto;left:calc(64px + var(--sp-2));right:var(--sp-2);bottom:var(--sp-2)}.messages-page{flex-direction:column}.messages-sidebar{border-right:none;border-bottom:1px solid var(--border);width:100%;max-height:40%}}
