:root{--bg-dark: #0a0c14;--panel-bg: rgba(18, 22, 36, .75);--border-color: rgba(255, 255, 255, .12);--text-main: #f0f4fc;--text-muted: #8a96b4;--accent-cyan: #00f0ff;--accent-pink: #ff0055;--accent-yellow: #ffcc00;--accent-purple: #9d00ff;--accent-green: #00ff66;--accent-magenta: #ff00ff;--font-family: "Outfit", -apple-system, sans-serif;--font-mono: "JetBrains Mono", monospace;--control-bg: #1d2437;--control-bg-hover: #27304a;--option-bg: #141a2a;color-scheme:dark;--ui-scale: 1}*{box-sizing:border-box;margin:0;padding:0}html{font-size:calc(16px * var(--ui-scale))}body{background-color:var(--bg-dark);color:var(--text-main);font-family:var(--font-family);height:100vh;overflow:hidden;-webkit-user-select:none;user-select:none}#app-container{width:100vw;height:100vh;display:flex;flex-direction:column;background:radial-gradient(circle at center,#151a2c,#06070a)}#game-hud{flex:0 0 auto;height:46px;background:var(--panel-bg);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--border-color);display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 14px;z-index:25}.hud-brand{display:flex;align-items:baseline;gap:8px;min-width:0;flex-shrink:1;overflow:hidden}.hud-brand h1{font-size:1.2rem;font-weight:800;letter-spacing:1.5px;display:flex;align-items:center;gap:8px;white-space:nowrap}.hud-brand .badge{font-size:.55rem;font-weight:600;background:linear-gradient(135deg,var(--accent-purple),var(--accent-cyan));padding:2px 6px;border-radius:5px;letter-spacing:1px;white-space:nowrap}.build-version{font-family:JetBrains Mono,monospace;font-size:.6rem;color:var(--text-muted);letter-spacing:.3px;cursor:pointer;-webkit-user-select:all;user-select:all;transition:color .15s ease;white-space:nowrap}.build-version:hover,.build-version.copied{color:var(--accent-cyan)}.build-version.copied:after{content:" copied"}.hud-stats{display:flex;gap:6px;flex-wrap:nowrap;min-width:0}.stat-card{background:#ffffff0a;border:1px solid var(--border-color);border-radius:6px;padding:3px 9px;display:flex;flex-direction:column;align-items:flex-start;min-width:0}.stat-label{font-size:.5rem;font-weight:600;color:var(--text-muted);letter-spacing:.8px;line-height:1.2;white-space:nowrap}.stat-value{font-family:var(--font-mono);font-size:.8rem;font-weight:700;line-height:1.25;white-space:nowrap}.tier-critical{text-shadow:0 0 12px currentColor,0 0 24px currentColor;animation:plasmaFlicker .25s infinite alternate}.stat-hot{color:var(--accent-pink)}.stat-value.cooling{color:var(--accent-cyan);opacity:.7}.holder-tag{color:var(--accent-green)}@keyframes plasmaFlicker{0%{opacity:.85}to{opacity:1}}@media(max-width:900px){.ability-key{display:none}}@media(max-width:760px){#game-hud{padding:0 8px;gap:8px}.hud-brand h1{font-size:1rem}.hud-brand .badge{display:none}.hud-stats{gap:4px}.stat-card{padding:3px 6px}.stat-value{font-size:.72rem}}@media(max-width:620px){.stat-card:nth-child(2),.stat-card:nth-child(3){display:none}.hud-abilities{gap:8px}}#canvas-wrapper{flex:1;position:relative;display:flex;justify-content:center;align-items:center;overflow:hidden}#game-canvas{background:#0d111d;box-shadow:0 0 40px #000c,0 0 1px 1px #ffffff0d;border-radius:12px;cursor:crosshair;width:100%;height:100%}.hud-abilities{display:flex;align-items:center;gap:14px;flex-shrink:0}.hud-right{display:flex;align-items:center;gap:12px;flex-shrink:0}.hud-right .btn{padding:5px 12px;font-size:.7rem;letter-spacing:.5px;white-space:nowrap}.ability{display:flex;align-items:center;gap:6px;white-space:nowrap}.ability-icon{font-size:.9rem;opacity:.9}.ability-name{font-size:.68rem;font-weight:700;letter-spacing:.5px}.ability-key{font-family:var(--font-mono);font-size:.58rem;color:var(--text-muted)}.status-text{font-family:var(--font-mono);font-size:.58rem;font-weight:700;padding:1px 5px;border-radius:3px;min-width:46px;text-align:center}.status-text.ready{color:var(--accent-green);background:#00ff6626}.status-text.cooldown{color:var(--accent-yellow);background:#ffcc0026}#countdown-display{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:15;pointer-events:none}#countdown-display.hidden{display:none}#countdown-number{font-size:8rem;font-weight:800;color:#fff;text-shadow:0 0 30px var(--accent-cyan),0 0 60px var(--accent-purple);animation:pulseScale .8s cubic-bezier(.175,.885,.32,1.275) forwards}#countdown-number.go{color:var(--accent-green);text-shadow:0 0 40px var(--accent-green)}@keyframes pulseScale{0%{transform:scale(1.4);opacity:0}30%{transform:scale(1);opacity:1}80%{transform:scale(.95);opacity:.9}to{transform:scale(.8);opacity:0}}#achievement-toast-container{position:fixed;top:20px;left:50%;transform:translate(-50%);z-index:40;pointer-events:none;display:flex;flex-direction:column;align-items:center;gap:8px}.achievement-toast{display:flex;align-items:center;gap:12px;min-width:280px;max-width:360px;background:var(--panel-bg);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--accent-yellow);border-radius:10px;padding:10px 16px 10px 10px;box-shadow:0 0 24px #ffcc0040,0 8px 20px #0006;opacity:0;transform:translateY(-16px);transition:opacity .35s ease,transform .35s ease}.achievement-toast.visible{opacity:1;transform:translateY(0)}.achievement-toast.leaving{opacity:0;transform:translateY(-10px)}.achievement-toast-icon{flex:0 0 auto;width:44px;height:44px}.achievement-toast-icon svg{width:100%;height:100%;display:block}.achievement-toast-body{min-width:0}.achievement-toast-kicker{font-family:var(--font-mono);font-size:.7rem;font-weight:700;letter-spacing:1.5px;color:var(--accent-yellow);text-transform:uppercase}.achievement-toast-name{font-size:1.05rem;font-weight:700;color:var(--text-main);margin:2px 0}.achievement-toast-desc{font-size:.8rem;color:var(--text-muted);line-height:1.3}#pause-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:flex-start;justify-content:center;padding-top:12%;z-index:19;pointer-events:none;opacity:0;transition:opacity .15s ease;background:#06080e59}#pause-overlay.visible{opacity:1}.pause-card{display:flex;flex-direction:column;align-items:center;gap:6px;background:#0c101ce6;border:1px solid rgba(0,240,255,.35);border-radius:12px;padding:14px 28px;box-shadow:0 10px 30px #0009}.pause-title{font-size:1.6rem;font-weight:800;letter-spacing:6px;color:var(--accent-cyan);text-shadow:0 0 18px rgba(0,240,255,.5)}.pause-hint{font-size:.78rem;color:var(--text-muted)}.pause-step-hint{font-size:.72rem;color:var(--text-main);font-family:var(--font-mono)}.pause-step-hint kbd{margin-right:4px}@keyframes stepPulse{0%{color:var(--accent-green);transform:scale(1.12)}to{color:var(--text-main);transform:scale(1)}}.pause-step-hint{animation:stepPulse .25s ease-out}#btn-lobby-pause.is-paused{background:#00f0ff29;border-color:#00f0ff73;color:var(--accent-cyan)}#score-tab{position:absolute;top:12px;left:12px;min-width:150px;max-width:230px;background:var(--panel-bg);border:1px solid var(--border-color);border-radius:10px;padding:10px 12px;font-family:var(--font-mono);z-index:15;display:none}#score-tab.visible{display:block}.score-tab-header{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:1rem;font-weight:700;letter-spacing:1.5px;color:var(--text-muted);margin-bottom:8px}.score-tab-round{color:var(--accent-cyan);font-size:.85rem;font-weight:600}#score-tab-list{list-style:none;display:flex;flex-direction:column;gap:6px}.score-row{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:.95rem}.score-identity{display:flex;align-items:center;gap:6px;overflow:hidden}.score-dot{width:9px;height:9px;border-radius:50%;flex-shrink:0}#powerup-status-tab{position:absolute;top:12px;right:12px;min-width:150px;max-width:230px;background:var(--panel-bg);border:1px solid var(--border-color);border-radius:10px;padding:10px 12px;font-family:var(--font-mono);z-index:15;display:none}#powerup-status-tab.visible{display:block}.powerup-status-header{font-size:1.1rem;font-weight:700;letter-spacing:1.5px;color:var(--text-muted);margin-bottom:8px}#powerup-status-list{list-style:none;display:flex;flex-direction:column;gap:8px}.powerup-status-row{display:flex;flex-direction:column;gap:4px}.powerup-status-name{font-size:.95rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.powerup-status-row.is-you .powerup-status-name{font-weight:700}.powerup-status-icons{display:flex;flex-wrap:wrap;gap:4px}.powerup-status-icon{width:18px;height:18px;flex-shrink:0}#powerup-legend{position:absolute;bottom:12px;right:12px;min-width:110px;max-width:230px;background:var(--panel-bg);border:1px solid var(--border-color);border-radius:10px;padding:10px 12px;font-family:var(--font-mono);z-index:15;display:none}#powerup-legend.visible{display:block}#powerup-legend-list{list-style:none;display:flex;flex-direction:column;gap:8px}.powerup-legend-row{display:flex;align-items:center;gap:8px}.powerup-legend-icon{width:20px;height:20px;flex-shrink:0}.powerup-legend-label{font-size:.85rem;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#chat-panel{position:absolute;bottom:12px;left:12px;width:260px;max-width:calc(100% - 24px);z-index:21;display:none;font-family:var(--font-mono)}#chat-panel.visible{display:block}#chat-log{list-style:none;display:flex;flex-direction:column;gap:3px;max-height:140px;overflow-y:auto;margin-bottom:6px}.chat-line{font-size:.72rem;line-height:1.35;background:var(--panel-bg);border-radius:6px;padding:3px 8px;word-break:break-word}.chat-line-name{color:var(--accent-cyan);font-weight:600;margin-right:4px}.chat-line.is-you .chat-line-name{color:var(--accent-yellow)}#chat-input-row{background:var(--panel-bg);border:1px solid var(--border-color);border-radius:8px;padding:4px}#chat-input{width:100%;background:transparent;border:none;outline:none;color:var(--text-main);font-family:var(--font-mono);font-size:.78rem;padding:4px 6px}#chat-input::placeholder{color:var(--text-muted)}.score-row.eliminated{opacity:.4;text-decoration:line-through}.score-row.is-you .score-name{color:var(--accent-cyan)}.score-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.score-points{color:var(--text-muted);font-weight:700;flex-shrink:0}.score-row.leader .score-points{color:var(--accent-yellow)}#debug-panel{position:absolute;top:12px;right:12px;width:320px;max-height:calc(100% - 24px);overflow-y:auto;background:#080a12f0;border:1px solid var(--border-color);border-radius:10px;padding:12px;font-family:var(--font-mono);font-size:.7rem;z-index:30;display:none}#debug-panel.open{display:block}.debug-header{display:flex;align-items:center;gap:8px;margin-bottom:10px;padding-bottom:8px;border-bottom:1px solid var(--border-color)}.debug-header strong{color:var(--accent-cyan);letter-spacing:1px}.debug-hint{color:var(--text-muted);flex:1;font-size:.62rem}.btn.btn-tiny{padding:3px 8px;font-size:.62rem;border-radius:4px;background:#ffffff14;color:#fff;border:1px solid var(--border-color);cursor:pointer}.debug-select{padding:3px 6px;font-size:.62rem;border-radius:4px;background:#ffffff14;color:#fff;border:1px solid var(--border-color);font-family:var(--font-family)}#debug-readout{display:grid;grid-template-columns:1fr 1fr;gap:2px 10px}#debug-readout div{color:var(--text-main)}#debug-readout b{color:var(--text-muted);font-weight:400}#debug-readout .warn{color:var(--accent-pink);font-weight:700}#debug-readout .muted{color:var(--text-muted)}.debug-tuning-status{display:none;margin:0 0 8px;padding:6px 8px;font-size:11px;line-height:1.45;color:var(--accent-yellow, #ffcc00);background:#ffcc0014;border-left:2px solid rgba(255,204,0,.5);border-radius:4px}.debug-tuning-status.visible{display:block}#stat-card-net.hidden{display:none}.stat-value.net-good{color:#0f6}.stat-value.net-fair{color:#fc0}.stat-value.net-poor{color:#ff5c7a}.debug-section{margin:12px 0 6px;color:var(--accent-cyan);letter-spacing:1px;font-size:.62rem;border-top:1px solid var(--border-color);padding-top:8px}.debug-row{display:grid;grid-template-columns:1fr auto;gap:2px 8px;margin-bottom:6px;align-items:center}.debug-name{color:var(--text-muted);font-size:.65rem}.debug-value{color:var(--accent-yellow);font-size:.65rem}.debug-row input[type=range]{grid-column:1 / -1;width:100%;accent-color:var(--accent-cyan)}#debug-log div{color:var(--text-muted);font-size:.62rem;padding:1px 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.screen{position:absolute;top:0;right:0;bottom:0;left:0;background:#06080ed9;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;justify-content:center;align-items:center;z-index:20;opacity:0;pointer-events:none;transition:opacity .25s ease}.screen.active{opacity:1;pointer-events:auto}.modal-card{width:90%;max-width:580px;max-height:92vh;overflow-y:auto;background:#141a2af5;border:1px solid rgba(255,255,255,.15);border-radius:16px;padding:28px;text-align:center;box-shadow:0 20px 50px #000000b3,0 0 30px #00f0ff26}.modal-card h2{font-size:2rem;font-weight:800;letter-spacing:2px;margin-bottom:12px;background:linear-gradient(135deg,#fff,var(--accent-cyan));-webkit-background-clip:text;-webkit-text-fill-color:transparent}.modal-card p{color:var(--text-muted);font-size:.9rem;line-height:1.55;margin-bottom:20px}.modal-card em{color:var(--accent-cyan);font-style:normal;font-weight:600}.controls-guide{background:#0000004d;border-radius:10px;padding:14px;margin-bottom:18px;display:flex;flex-direction:column;gap:8px;text-align:left}.control-item{font-size:.82rem;display:flex;align-items:center;gap:8px}kbd{background:#ffffff1f;border:1px solid rgba(255,255,255,.2);border-radius:4px;padding:2px 7px;font-family:var(--font-mono);font-size:.72rem;color:var(--accent-cyan);box-shadow:0 2px #00000080}.modal-settings{background:#ffffff0a;border:1px solid var(--border-color);border-radius:10px;padding:16px;margin-bottom:22px;display:flex;flex-direction:column;gap:12px;text-align:left}.modal-settings h3{font-size:.75rem;font-weight:700;letter-spacing:1px;color:var(--accent-cyan)}.setting-row{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:.82rem}#lobby-settings-panel{display:grid;grid-template-columns:max-content 1fr;align-items:center;column-gap:12px;row-gap:10px}#lobby-settings-panel>h3{grid-column:1 / -1}#lobby-settings-mount,#lobby-settings-panel .setting-row{display:contents}#lobby-settings-mount .setting-hint{grid-column:1 / -1}#lobby-settings-mount.is-readonly label,#lobby-settings-mount.is-readonly select,#lobby-settings-mount.is-readonly .setting-toggle{opacity:.6}.setting-control-group{display:flex;align-items:center;gap:10px}.setting-control-group select{flex:0 1 140px;max-width:140px}.setting-control-group select.setting-inactive{visibility:hidden;pointer-events:none}.setting-row label{color:var(--text-muted);white-space:nowrap}.setting-row label[title]{cursor:help}.setting-row select{background:var(--control-bg);color:var(--text-main);border:1px solid var(--border-color);padding:6px 10px;border-radius:6px;font-family:var(--font-family);font-weight:600;font-size:.78rem;flex:1;max-width:340px;cursor:pointer;transition:background .15s ease,border-color .15s ease}.setting-row select:hover{background:var(--control-bg-hover);border-color:#00f0ff59}.setting-row select:focus-visible{outline:none;border-color:var(--accent-cyan);box-shadow:0 0 0 2px #00f0ff33}.setting-row select option{background:var(--option-bg);color:var(--text-main)}.setting-row select option:checked{background:var(--control-bg-hover);color:var(--accent-cyan)}.setup-notice{display:none;margin:0;font-size:.75rem!important;color:var(--accent-yellow)!important;background:#ffcc001a;border-radius:6px;padding:8px 10px}.setup-notice.visible{display:block}.setting-toggle{-moz-appearance:none;appearance:none;-webkit-appearance:none;position:relative;width:42px;height:22px;margin:0;border-radius:999px;background:var(--control-bg);border:1px solid var(--border-color);cursor:pointer;flex:0 0 auto;transition:background .15s ease,border-color .15s ease}.setting-toggle:before{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:var(--text-muted);transition:transform .15s ease,background .15s ease}.setting-toggle:checked{background:#ff005540;border-color:var(--accent-pink)}.setting-toggle:checked:before{transform:translate(20px);background:var(--accent-pink)}.setting-toggle:hover:not(:disabled){border-color:#00f0ff59}.setting-toggle:focus-visible{outline:none;box-shadow:0 0 0 2px #00f0ff33}.setting-toggle:disabled{cursor:not-allowed;opacity:.5}.setting-hint{margin:0;font-size:.72rem;color:var(--text-muted);line-height:1.4}.hidden{display:none!important}.menu-actions{display:flex;flex-direction:column;gap:12px;margin-bottom:18px}.menu-actions .btn{width:100%}.menu-note{font-size:.75rem!important;color:var(--text-muted);margin:0!important}.menu-note code{font-family:var(--font-mono);color:var(--accent-cyan);font-size:.72rem}.lobby-card{max-width:760px;text-align:left}.lobby-header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:14px}.lobby-header h2{margin:0;font-size:1.5rem}.conn-pill{font-family:var(--font-mono);font-size:.7rem;padding:4px 10px;border-radius:999px;border:1px solid var(--border-color);color:var(--text-muted);white-space:nowrap}.conn-pill.state-connecting{color:var(--accent-yellow);border-color:#fc06}.conn-pill.state-lobby{color:var(--accent-green);border-color:#0f66}.conn-pill.state-error{color:var(--accent-pink);border-color:#ff005573}.lobby-banner{display:none;font-size:.75rem!important;color:var(--accent-yellow)!important;background:#ffcc001a;border:1px solid rgba(255,204,0,.25);border-radius:6px;padding:8px 10px;margin-bottom:14px!important}.lobby-banner.visible{display:block}.lobby-result{display:none;font-size:.78rem!important;color:var(--accent-green)!important;background:#00ff6614;border-radius:6px;padding:8px 10px;margin-bottom:12px!important}.lobby-result.visible{display:block}.lobby-result.match-over{color:var(--accent-cyan)!important;background:#00f0ff1a;border:1px solid rgba(0,240,255,.3);font-size:.95rem!important;font-weight:700;letter-spacing:.5px;padding:12px 14px;text-align:center}.lobby-match-progress{color:var(--text-muted)}.match-summary-list{display:none;flex-direction:column;gap:8px;max-height:56vh;overflow-y:auto;margin-bottom:14px}.match-summary-list.visible{display:flex}.match-summary-row{display:flex;align-items:center;flex-wrap:wrap;gap:10px;background:#ffffff0a;border:1px solid var(--border-color);border-radius:10px;padding:10px 14px}.ms-dot{flex:0 0 auto;width:12px;height:12px;border-radius:50%;box-shadow:0 0 6px currentColor}.ms-name{font-weight:700;font-size:.88rem}.ms-score{font-family:var(--font-mono);font-size:.72rem;color:var(--text-muted);margin-left:auto}.match-awards-list{display:none;flex-direction:column;gap:8px;margin-bottom:14px}.match-awards-list.visible{display:flex}.match-award-row{display:flex;align-items:center;gap:12px;background:#ffcc000f;border:1px solid rgba(255,204,0,.25);border-radius:10px;padding:10px 14px}.ma-icon{flex:0 0 auto;width:40px;height:40px}.ma-icon svg{width:100%;height:100%;display:block}.ma-body{min-width:0;flex:1 1 auto}.ma-header{font-size:.9rem}.ma-name{color:var(--accent-yellow);font-weight:700}.ma-count{color:var(--accent-yellow)}.ma-winners{display:flex;align-items:center;flex-wrap:wrap;gap:4px;font-weight:700;font-size:.82rem;margin-top:4px}.ma-desc{font-size:.72rem;color:var(--text-muted);margin-top:2px}.player-tag.tag-points{background:#00f0ff1f;color:var(--accent-cyan)}.lobby-help{font-size:.75rem!important;color:var(--text-muted);margin-bottom:14px!important}.lobby-help code{font-family:var(--font-mono);color:var(--accent-cyan);background:#00f0ff14;padding:1px 5px;border-radius:4px}.lobby-help strong{color:var(--text-main);font-weight:600}.lobby-connect{background:#ffffff0a;border:1px solid var(--border-color);border-radius:10px;padding:14px;margin-bottom:16px;display:flex;flex-direction:column;gap:10px}.lobby-connect input[type=text],.lobby-connect input[type=password]{background:var(--control-bg);color:var(--text-main);border:1px solid var(--border-color);border-radius:6px;padding:6px 10px;font-family:var(--font-mono);font-size:.78rem;flex:1;max-width:340px}.lobby-connect input[type=text]:focus-visible,.lobby-connect input[type=password]:focus-visible{outline:none;border-color:var(--accent-cyan);box-shadow:0 0 0 2px #00f0ff33}.lobby-body{display:grid;grid-template-columns:1.3fr 1fr;align-items:start;gap:18px;margin-bottom:14px}@media(max-width:700px){.lobby-body{grid-template-columns:1fr}}.lobby-body.single-column{grid-template-columns:1fr}.lobby-body h3{font-size:.72rem;font-weight:700;letter-spacing:1px;color:var(--accent-cyan);margin-bottom:10px}.lobby-subtle{color:var(--text-muted);font-weight:400;letter-spacing:0;text-transform:none}#lobby-player-list{list-style:none;display:flex;flex-direction:column;gap:6px}.lobby-player{display:grid;grid-template-columns:var(--lobby-columns, 9px 1fr 34px 42px 52px);align-items:center;gap:6px;background:#ffffff0a;border:1px solid var(--border-color);border-radius:8px;padding:7px 10px;font-size:.8rem}.lobby-player.is-you{border-color:#00f0ff66}.player-dot{width:9px;height:9px;border-radius:50%;flex-shrink:0}.color-select{width:34px;height:20px;padding:0 0 0 2px;border:1px solid var(--border-color);border-radius:4px;color:inherit;cursor:pointer;vertical-align:middle}.color-select option{color:transparent}.player-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:36px}.lobby-player.is-you .player-name{color:var(--accent-cyan)}.lobby-cell{display:flex;align-items:center}.lobby-points{font-family:var(--font-mono);font-weight:700;font-size:.85rem;color:var(--text-muted);text-align:right}.lobby-points.leader{color:var(--accent-yellow)}.player-tag{font-family:var(--font-mono);font-size:.58rem;padding:2px 5px;border-radius:4px;letter-spacing:.5px;white-space:nowrap}.tag-host{background:#9d00ff33;color:#c98bff}.tag-bot{background:#ffffff14;color:var(--text-muted)}.tag-ready{background:#00ff6626;color:var(--accent-green)}.tag-waiting{background:#ffcc0026;color:var(--accent-yellow)}.tag-ping-good{background:#00ff6626;color:#0f6}.tag-ping-fair{background:#ffcc0026;color:#fc0}.tag-ping-poor{background:#ff5c7a2e;color:#ff5c7a}.tag-ping-unknown{background:#ffffff14;color:var(--text-muted)}.btn.btn-tiny.btn-host-transfer{padding:3px 6px;font-size:.56rem;white-space:nowrap}#lobby-settings-mount.is-readonly select{cursor:not-allowed}.lobby-error{display:none;font-size:.78rem!important;color:var(--accent-pink)!important;background:#ff00551a;border-radius:6px;padding:8px 10px;margin-bottom:12px!important}.lobby-error.visible{display:block}.modal-actions{display:flex;gap:10px;justify-content:center}.lobby-card .modal-actions{justify-content:flex-end}.lobbylist-filters{display:flex;gap:10px;margin-bottom:14px}.lobbylist-filters input[type=text]{background:var(--control-bg);color:var(--text-main);border:1px solid var(--border-color);border-radius:6px;padding:8px 12px;font-family:var(--font-family);font-size:.82rem;flex:1}.lobbylist-filters input[type=text]:focus-visible{outline:none;border-color:var(--accent-cyan);box-shadow:0 0 0 2px #00f0ff33}.lobbylist-filters select{background:var(--control-bg);color:var(--text-main);border:1px solid var(--border-color);border-radius:6px;padding:8px 10px;font-family:var(--font-family);font-size:.8rem;cursor:pointer}.lobbylist-filters select option{background:var(--option-bg);color:var(--text-main)}.lobbylist-empty{font-size:.82rem!important;color:var(--text-muted);text-align:center;padding:24px 0!important}.lobbylist-empty.hidden{display:none}.lobbylist-rooms{list-style:none;display:flex;flex-direction:column;gap:8px;max-height:40vh;overflow-y:auto;margin-bottom:16px}.lobbylist-room{display:flex;align-items:center;gap:10px;background:#ffffff0a;border:1px solid var(--border-color);border-radius:8px;padding:10px 12px}.lobbylist-room-info{flex:1;min-width:0}.lobbylist-room-name{font-size:.88rem;font-weight:600;display:flex;align-items:center;gap:6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lobbylist-room-meta{font-size:.72rem;color:var(--text-muted);margin-top:2px}.lobbylist-room-tags{display:flex;gap:4px;flex-shrink:0}.lobbylist-tag-full{color:var(--accent-pink)}.lobbylist-tag-inround{color:var(--accent-yellow)}.lobbylist-room .btn{padding:6px 16px;font-size:.78rem;flex-shrink:0}.gamemode-card{max-width:480px}.gamemode-options{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin:18px 0}.gamemode-option{width:220px;background:#ffffff0a;border:1px solid var(--border-color);border-radius:10px;padding:18px 14px;text-align:left;cursor:pointer;transition:all .15s ease;color:var(--text-main);font-family:var(--font-family)}.gamemode-option:hover:not(:disabled){border-color:var(--accent-cyan);background:#00f0ff14;transform:translateY(-2px)}.gamemode-option.selected{border-color:var(--accent-green);background:#00ff661a}.gamemode-option-name{display:block;font-weight:700;font-size:1rem;margin-bottom:6px;color:var(--accent-cyan)}.gamemode-option-desc{display:block;font-size:.8rem;color:var(--text-muted);line-height:1.4}.lobbypopup-card{max-width:420px;text-align:left}.lobbypopup-card h2{font-size:1.4rem;margin-bottom:16px}.lobbypopup-card .lobby-connect{margin-bottom:4px}.settings-card{max-width:440px;text-align:left}.settings-card h2{font-size:1.4rem;margin-bottom:16px}.settings-section{margin-bottom:18px}.settings-section h3{font-size:1.1rem;font-weight:700;letter-spacing:.5px;color:var(--text-main);margin-bottom:10px}.settings-section .setting-row{margin-bottom:6px}.keybind-btn{min-width:64px;text-align:center}.keybind-btn.listening{color:var(--accent-cyan);border-color:var(--accent-cyan);animation:plasmaFlicker .6s infinite alternate}.settings-scale-control{display:flex;align-items:center;gap:8px}.settings-scale-value{font-family:var(--font-mono);font-size:.78rem;color:var(--text-muted);width:118px;text-align:right}.achievements-card{max-width:640px;text-align:left}.achievements-card h2{font-size:1.4rem;margin-bottom:4px}.achievements-summary{font-family:var(--font-mono);font-size:.78rem;color:var(--text-muted);margin-bottom:16px}.achievements-list{display:flex;flex-direction:column;gap:10px;max-height:60vh;overflow-y:auto;margin-bottom:20px}.achievement-row{display:flex;align-items:center;gap:14px;background:#ffffff0a;border:1px solid var(--border-color);border-radius:10px;padding:10px 14px}.achievement-row.unlocked{border-color:#ffcc0059}.achievement-row.locked{opacity:.55}.achievement-row.locked .achievement-row-icon{filter:grayscale(1)}.achievement-row-icon{flex:0 0 auto;width:40px;height:40px}.achievement-row-icon svg{width:100%;height:100%;display:block}.achievement-row-body{min-width:0;flex:1 1 auto}.achievement-row-name{font-size:.95rem;font-weight:700;color:var(--text-main)}.achievement-row-desc{font-size:.78rem;color:var(--text-muted);line-height:1.3;margin:2px 0 6px}.achievement-row-progress{display:flex;align-items:center;gap:10px}.achievement-progress-bar{flex:1 1 auto;height:6px;background:#ffffff14;border-radius:3px;overflow:hidden}.achievement-progress-fill{height:100%;background:var(--accent-yellow);border-radius:3px}.achievement-row.unlocked .achievement-progress-fill{background:var(--accent-green)}.achievement-progress-count{flex:0 0 auto;font-family:var(--font-mono);font-size:.68rem;color:var(--text-muted);white-space:nowrap}.achievement-row.unlocked .achievement-progress-count{color:var(--accent-green)}#btn-lobby-ready.is-ready{background:#00ff6629;border-color:#00ff6673;color:var(--accent-green)}#btn-lobby-endgame{border-color:#ff005559;color:var(--accent-pink)}#btn-lobby-endgame:hover{background:#ff00551f}.btn{padding:12px 28px;border-radius:8px;font-family:var(--font-family);font-weight:700;font-size:.95rem;letter-spacing:1px;cursor:pointer;border:none;transition:all .2s ease}.btn-primary{background:linear-gradient(135deg,var(--accent-cyan),var(--accent-purple));color:#fff;box-shadow:0 4px 20px #00f0ff66}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 6px 26px #00f0ff99}.btn-secondary{background:#ffffff14;color:#fff;border:1px solid var(--border-color)}.btn-secondary:hover{background:#ffffff26}.btn-warning{background:#ff00551f;color:var(--accent-pink);border:1px solid rgba(255,0,85,.5)}.btn-warning:hover{background:#ff005538}
