:root{--buncss-light: ;--buncss-dark:initial;color-scheme:dark;--neon-cyan:#00e5ff;--neon-amber:#f59e0b;--neon-lime:#9dff3a;--text-mute:#93a3b3;--text-bright:#d7e4ec;--bg-panel:#0f1f2c;--bg-base:#0a131c;--border-base:#3a4d5c;--text-sub:#aebccb;--text-default:#e0e7ff;--cyan-wash:color-mix(in srgb,var(--neon-cyan)6%,transparent);--cyan-line:color-mix(in srgb,var(--neon-cyan)18%,transparent);--cyan-edge:color-mix(in srgb,var(--neon-cyan)22%,transparent);--cyan-glow:color-mix(in srgb,var(--neon-cyan)40%,transparent)}:focus{outline:none}:focus-visible{outline:2px solid var(--neon-cyan);outline-offset:2px;border-radius:3px}html,body{overflow:hidden;height:100%}body{position:relative;box-sizing:border-box;color:var(--text-default);display:flex;background-color:#05090f;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='56' height='100'%3E%3Cpath d='M28 66L0 50L0 16L28 0L56 16L56 50L28 66L28 100' fill='none' stroke='%2300e5ff' stroke-opacity='0.045' stroke-width='1'/%3E%3C/svg%3E");background-size:72px 128px;flex-direction:column;gap:.6rem;max-width:1280px;margin:0 auto;padding:.8rem 1rem 1rem;font-family:ui-monospace,SF Mono,Menlo,monospace}#rotate-prompt{display:none}@media (orientation:portrait) and (width<=820px){#rotate-prompt{display:flex;position:fixed;z-index:1000;text-align:center;background:#05090f;flex-direction:column;justify-content:center;align-items: center;gap:.9rem;padding:2rem;inset:0}}.rotate-prompt-icon{color:var(--neon-cyan);filter:drop-shadow(0 0 10px color-mix(in srgb,var(--neon-cyan)45%,transparent));animation:rotate-hint 2.4s ease-in-out infinite;width:64px;height:64px}@keyframes rotate-hint{0%,55%,to{transform:rotate(0)}72%,92%{transform:rotate(-90deg)}}@media (prefers-reduced-motion:reduce){.rotate-prompt-icon{animation:none}}.rotate-prompt-title{letter-spacing:.12em;text-transform:uppercase;color:var(--neon-amber);margin:0;font-size:1.1rem;font-weight:700}.rotate-prompt-sub{color:var(--text-sub);margin:0;font-size:.85rem}h1{display:none}h2{margin:0 0 .75rem;font-size:1rem;font-weight:600}.btn,button{background:var(--bg-panel);color:var(--text-bright);border:1px solid var(--cyan-glow);font:inherit;cursor:pointer;text-decoration:none;display:inline-block;border-radius:3px;padding:.6rem 1.1rem;transition:border-color .12s,background .12s,color .12s}.btn:hover:not(:disabled),button:hover:not(:disabled){border-color:var(--neon-cyan);color:var(--neon-cyan);background:var(--cyan-wash)}.btn:disabled,button:disabled{opacity:.35;cursor:not-allowed}.btn--ghost{border:1px solid var(--cyan-glow);color:var(--text-mute);background:0 0;padding:.4rem .85rem;font-size:.85rem}.btn--ghost:hover:not(:disabled){border-color:var(--neon-cyan);color:var(--neon-cyan);background:0 0}#identity{display:inline-flex;border:1px solid var(--cyan-edge);letter-spacing:.06em;white-space:nowrap;background:#0f1f2c8c;border-radius:4px;align-items: center;gap:.55rem;margin-left:auto;padding:.4rem .75rem;font-size:.95rem}#current-player{color:var(--text-sub);margin:0}#current-player:empty{display:none}#current-player strong{color:var(--neon-cyan);text-shadow:0 0 8px color-mix(in srgb,var(--neon-cyan)35%,transparent);font-weight:700}.current-player-guest{color:var(--text-mute);margin-left:.15rem}#account{display:inline-flex;align-items: center;gap:.5rem}#account:empty{display:none}#current-player:not(:empty)+#account{border-left:1px solid var(--cyan-edge);padding-left:.6rem}.auth-link{font:inherit;letter-spacing:inherit;color:var(--neon-cyan);text-decoration:none;cursor:pointer;text-shadow:0 0 8px color-mix(in srgb,var(--neon-cyan)30%,transparent);background:0 0;border:0;padding:0;transition:color .15s,text-shadow .15s}.auth-link:hover{color:#4aeeff;text-shadow:0 0 12px color-mix(in srgb,var(--neon-cyan)60%,transparent)}.auth-link--primary{color:var(--neon-amber);text-shadow:0 0 8px color-mix(in srgb,var(--neon-amber)40%,transparent);font-weight:700}.auth-link--primary:hover{color:#ffc24d;text-shadow:0 0 12px color-mix(in srgb,var(--neon-amber)65%,transparent)}body>#identity{position:absolute;z-index:5;top:1rem;right:1.25rem}#connection-status{letter-spacing:.18em;text-transform:uppercase;margin-bottom:.85rem;font-size:.7rem}#connection-status:empty{display:none}#connection-status:not(:empty){display:flex;background:color-mix(in srgb,var(--neon-amber)8%,transparent);border:1px solid color-mix(in srgb,var(--neon-amber)50%,transparent);color:var(--neon-amber);border-radius:3px;align-items: center;gap:.5rem;padding:.5rem .85rem;font-weight:600}#connection-status:not(:empty):before{content:"";background:var(--neon-amber);box-shadow:0 0 8px color-mix(in srgb,var(--neon-amber)70%,transparent);animation:pulse-amber 1.4s ease-in-out infinite;border-radius:50%;flex-shrink:0;width:8px;height:8px}@keyframes pulse-amber{0%,to{opacity:1}50%{opacity:.35}}#view{display:flex;border:1.5px solid color-mix(in srgb,var(--neon-cyan)28%,transparent);box-shadow:inset 0 1px 0 var(--cyan-wash),0 8px 32px #00000080;background:#070d15b8;border-radius:4px;flex-direction:column;flex:1;min-height:0;padding:1.25rem}#view.view-enter{animation:view-enter .16s ease-out}@keyframes view-enter{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){#view.view-enter{animation:none}}.lobby{display:flex;flex-direction:column;flex:1;align-items:stretch;gap:1rem;min-height:0}.lobby-main{display:flex;flex-direction:column;gap:1rem;min-height:0}.lobby-rooms{display:flex;overflow-y:auto;flex-direction:column;flex:1 1 0;min-height:0}.lobby-rooms-list{flex:none}.chat--lobby{flex:0 0 200px}.chat{display:flex;background:var(--bg-base);border:1.5px solid var(--cyan-edge);border-radius:4px;flex-direction:column;min-height:0;padding:.85rem 1rem;box-shadow:0 2px 8px #0000004d}.chat-messages{display:flex;overflow-y:auto;border:1px solid color-mix(in srgb,var(--neon-cyan)14%,transparent);background:#060c14;border-radius:3px;flex-direction:column;flex:1;gap:.35rem;min-height:0;padding:.6rem .7rem;font-size:.85rem}.chat-row{display:flex;align-items:baseline;gap:.55rem;min-width:0}.chat-name{letter-spacing:.04em;color:var(--text-bright);flex-shrink:0;font-weight:700}.chat-text{color:var(--text-bright);overflow-wrap:anywhere}.chat-row--muted .chat-name{color:var(--text-mute)}.chat-row--muted .chat-text{color:var(--text-mute);font-style:italic}.chat-inputrow{display:flex;gap:.4rem;margin-top:.55rem}.chat-input{background:var(--bg-panel);border:1px solid color-mix(in srgb,var(--neon-cyan)32%,transparent);color:var(--text-bright);font:inherit;border-radius:3px;flex:1;min-width:0;padding:.5rem .7rem;font-size:.85rem}.chat-input::placeholder{color:var(--border-base);letter-spacing:.06em}.chat-send{letter-spacing:.14em;text-transform:uppercase;padding:.5rem .9rem;font-size:.75rem;font-weight:700}.lobby-body--multiplayer{display:grid;grid-template-columns:minmax(0,1fr)280px;flex:1;align-items:stretch;gap:1.5rem;min-height:0}.lobby-body--settings{display:flex;flex-direction:column;gap:.85rem}.lobby-settings-card{background:var(--bg-base);border:1px solid var(--cyan-line);border-radius:4px;padding:.9rem 1.1rem}.lobby-settings-card+.lobby-settings-card{margin-top:0}.lobby-settings-heading{letter-spacing:.18em;color:var(--neon-cyan);margin:0 0 .7rem;font-size:.78rem}.lobby-settings-row{display:flex;flex-wrap:wrap;align-items: center;gap:.6rem;margin-bottom:.7rem}.lobby-settings-label{letter-spacing:.16em;text-transform:uppercase;color:var(--text-mute);font-size:.72rem}.lobby-settings-input{background:var(--bg-panel);border:1px solid var(--cyan-glow);color:var(--text-bright);font:inherit;text-transform:uppercase;border-radius:3px;flex:none;width:12rem;padding:.5rem .7rem;font-size:.95rem}.lobby-settings-input:focus{outline:none;border-color:var(--neon-cyan);background:var(--cyan-wash)}.lobby-settings-saved{color:var(--neon-lime);white-space:nowrap;font-size:.75rem}.lobby-settings-errors{list-style:none;color:#ff6b6b;margin:.4rem 0 0;padding:0;font-size:.78rem;line-height:1.7}.lobby-settings-card--guest .lobby-settings-empty{color:var(--text-mute);margin:0;font-size:.85rem}.lobby-settings-toggle-row{display:flex;justify-content:space-between;align-items: center;gap:1rem}.lobby-settings-toggle-text{display:flex;flex-direction:column;gap:.25rem;min-width:0}.lobby-settings-hint{color:var(--text-mute);margin:0;font-size:.7rem}.lobby-settings-toggle{position:relative;cursor:pointer;flex-shrink:0;width:44px;height:22px}.lobby-settings-toggle-input{position:absolute;opacity:0;cursor:pointer;width:100%;height:100%;margin:0;inset:0}.lobby-settings-toggle-track{display:block;background:var(--bg-panel);border:1px solid var(--cyan-glow);position:relative;border-radius:12px;width:100%;height:100%;transition:background .12s,border-color .12s}.lobby-settings-toggle-thumb{position:absolute;background:var(--text-mute);border-radius:50%;width:16px;height:16px;transition:transform .12s,background .12s,box-shadow .12s;top:2px;left:2px}.lobby-settings-toggle-input:checked~.lobby-settings-toggle-track{background:color-mix(in srgb,var(--neon-cyan)10%,transparent);border-color:var(--neon-cyan)}.lobby-settings-toggle-input:checked~.lobby-settings-toggle-track .lobby-settings-toggle-thumb{background:var(--neon-cyan);box-shadow:0 0 6px var(--neon-cyan);transform:translate(22px)}.lobby-body--maps{display:flex;flex-direction:column;gap:.85rem}.lobby-maps-header{display:flex;justify-content:space-between;align-items:baseline;gap:.75rem}.lobby-maps-heading{letter-spacing:.22em;color:var(--neon-cyan);text-shadow:0 0 10px var(--cyan-glow);margin:0;font-size:1rem;font-weight:700}.lobby-maps-status{letter-spacing:.18em;text-transform:uppercase;color:var(--text-mute);font-size:.7rem}.lobby-maps-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:.85rem}.lobby-maps-card{display:grid;grid-template-columns:96px minmax(0,1fr);background:linear-gradient(180deg,var(--bg-panel)0%,var(--bg-base)100%);border:1.5px solid var(--cyan-edge);border-radius:4px;align-items: center;gap:1rem;padding:.9rem 1rem;box-shadow:0 2px 8px #0000004d}.lobby-maps-body{display:flex;flex-direction:column;gap:.4rem;min-width:0}.lobby-maps-cardheader{display:flex;align-items:baseline;gap:.6rem}.lobby-maps-name{letter-spacing:.06em;color:var(--neon-cyan);text-shadow:0 0 8px color-mix(in srgb,var(--neon-cyan)30%,transparent);margin:0;font-size:1.05rem;font-weight:700}.lobby-maps-size{letter-spacing:.14em;text-transform:uppercase;color:var(--text-sub);font-variant-numeric:tabular-nums;font-size:.72rem}.lobby-maps-tagline{color:var(--text-bright);margin:0;font-size:.85rem}.lobby-maps-tags{list-style:none;display:flex;flex-wrap:wrap;gap:.3rem;margin:.25rem 0 0;padding:0}.lobby-maps-tags li{letter-spacing:.12em;text-transform:uppercase;border:1px solid color-mix(in srgb,var(--neon-cyan)32%,transparent);color:var(--text-sub);border-radius:999px;padding:.15rem .45rem;font-size:.66rem}.lobby-maps-note{letter-spacing:.06em;color:var(--text-mute);margin:0;font-size:.7rem}.lobby-body--placeholder{display:flex;border:1px dashed var(--cyan-line);color:var(--text-mute);background:#0f172a;border-radius:6px;flex-direction:column;justify-content:center;align-items: center;gap:.5rem;padding:3rem 1rem}.lobby-placeholder-icon{color:var(--cyan-glow);margin:0;font-size:2rem}.lobby-placeholder-text{letter-spacing:.12em;text-transform:uppercase;margin:0;font-size:.85rem}.lobby-tabs{display:flex;border:1.5px solid color-mix(in srgb,var(--neon-cyan)28%,transparent);background:var(--bg-base);overflow:hidden;box-shadow:inset 0 1px 0 var(--cyan-wash);border-radius:4px;gap:0}.lobby-tab{color:var(--text-sub);font:inherit;letter-spacing:.2em;text-transform:uppercase;cursor:pointer;background:0 0;border:0;border-radius:0;flex:1;padding:.95rem 1rem;transition:color .12s,background .12s;font-size:1.2rem;font-weight:700}.lobby-tab:hover:not(.lobby-tab--active){color:var(--text-bright);background:#ffffff05}.lobby-tab--active{color:var(--neon-cyan);background:linear-gradient(180deg,color-mix(in srgb,var(--neon-cyan)16%,transparent),color-mix(in srgb,var(--neon-cyan)2%,transparent));box-shadow:inset 0 -3px 0 var(--neon-cyan),inset 0 1px 0 var(--cyan-line);text-shadow:0 0 10px color-mix(in srgb,var(--neon-cyan)50%,transparent)}.banner{position:relative;display:flex;background:linear-gradient(135deg,var(--bg-base)0%,#112030 100%);border:1.5px solid color-mix(in srgb,var(--neon-cyan)32%,transparent);box-shadow:inset 0 1px 0 color-mix(in srgb,var(--neon-cyan)8%,transparent),0 4px 18px #00000073;border-radius:4px;align-items: center;gap:1rem;padding:1rem 1.25rem}.banner:before,.banner:after,.match-end-hero:before,.match-end-hero:after{content:"";position:absolute;border:2px solid var(--neon-cyan);filter:drop-shadow(0 0 4px color-mix(in srgb,var(--neon-cyan)60%,transparent));pointer-events:none;z-index:1;width:14px;height:14px}.banner:before,.match-end-hero:before{border-bottom:0;border-right:0;top:-2px;left:-2px}.banner:after,.match-end-hero:after{border-top:0;border-left:0;bottom:-2px;right:-2px}.banner-mark{display:flex;border:1.5px solid color-mix(in srgb,var(--neon-amber)55%,transparent);background:var(--bg-panel);box-shadow:inset 0 0 12px color-mix(in srgb,var(--neon-amber)15%,transparent),0 0 10px color-mix(in srgb,var(--neon-amber)25%,transparent);flex-shrink:0;justify-content:center;align-items: center;width:46px;height:46px}.banner-mark svg{width:32px;height:32px}.banner-text{display:flex;flex-direction:column;gap:4px;min-width:0}.banner-label{letter-spacing:.22em;color:var(--neon-amber);text-shadow:0 0 14px color-mix(in srgb,var(--neon-amber)55%,transparent);font-size:1.15rem;font-weight:700;line-height:1}.banner-tagline{letter-spacing:.22em;color:var(--text-mute);text-transform:uppercase;font-size:.7rem}.lobby-players{display:flex;overflow-y:auto;background:var(--bg-panel);border:1.5px solid var(--cyan-edge);border-left:3px solid var(--neon-cyan);box-shadow:inset 0 1px 0 var(--cyan-wash),0 2px 8px #0000004d;border-radius:4px;flex-direction:column;min-height:0;padding:.85rem 1rem;font-size:.85rem}.lobby-body--multiplayer:has(.lobby-create-card) .lobby-rooms-list{display:none}.lobby-body--multiplayer:has(.lobby-create-card) .chat--lobby{display:none}@media (width<=720px){.lobby-body--multiplayer:has(.lobby-create-card) .lobby-players{display:none}}.lobby-players-list{list-style:none;margin:0;padding:0}.lobby-player{display:flex;color:var(--text-default);align-items: center;gap:.5rem;padding:.2rem 0}.lobby-player-dot{display:inline-block;clip-path:polygon(0% 0%,100% 50%,0% 100%);flex-shrink:0;width:10px;height:10px}.lobby-player-dot--available{filter:drop-shadow(0 0 4px #22c55e8c);background:#22c55e}.lobby-player-dot--in-match{background:var(--neon-amber);filter:drop-shadow(0 0 4px color-mix(in srgb,var(--neon-amber)55%,transparent))}.lobby-player-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;min-width:0}.lobby-player--self .lobby-player-name{color:var(--neon-cyan);font-weight:600}.lobby-player-points{color:var(--text-mute);font-variant-numeric:tabular-nums;flex-shrink:0;font-size:.72rem}.lobby-player-tier{display:inline-flex;flex-shrink:0;align-items: center;gap:1px}.lobby-player-star{color:#1f2937;font-size:.85rem;line-height:1}.lobby-player-star--on{color:var(--neon-amber);text-shadow:0 0 8px color-mix(in srgb,var(--neon-amber)50%,transparent)}.lobby-player-guest{letter-spacing:.14em;text-transform:uppercase;color:var(--border-base);flex-shrink:0;font-size:.65rem}@media (width<=720px){.lobby-body--multiplayer{grid-template-columns:1fr}.lobby-tab{letter-spacing:.1em;padding:.6rem .4rem;font-size:.8rem}.banner{flex-wrap:wrap}.banner #identity{white-space:normal;flex-wrap:wrap;justify-content:flex-start;width:100%;margin-left:0}body>#identity{position:static;margin-bottom:.5rem}}.lobby-rooms-header{display:flex;justify-content:space-between;align-items: center;gap:.75rem;margin:0 0 .6rem}.lobby-create{letter-spacing:.14em;text-transform:uppercase;background:var(--neon-amber);color:#1a1206;border-color:var(--neon-amber);box-shadow:0 0 14px color-mix(in srgb,var(--neon-amber)40%,transparent);padding:.55rem 1rem;font-size:.82rem;font-weight:700}.lobby-create:hover:not(:disabled){color:#1a1206;background:#ffc24d;border-color:#ffc24d}.lobby-create--cancel{color:var(--text-sub);border-color:var(--cyan-glow);box-shadow:none;background:0 0}.lobby-create--cancel:hover:not(:disabled){color:var(--neon-cyan);border-color:var(--neon-cyan);background:0 0}.lobby-create-card{display:flex;background:linear-gradient(180deg,#0e1c28 0%,var(--bg-base)100%);border:1.5px solid var(--cyan-glow);box-shadow:inset 0 1px 0 color-mix(in srgb,var(--neon-cyan)10%,transparent),0 4px 18px #00000073;animation:create-card-in .18s cubic-bezier(.34,1.4,.64,1);border-radius:4px;flex-direction:column;gap:1rem;margin-bottom:1rem;padding:1rem 1.1rem}@keyframes create-card-in{0%{opacity:0;transform:translateY(-8px)scaleY(.96);transform-origin:top}to{opacity:1;transform:translateY(0)scaleY(1)}}@media (prefers-reduced-motion:reduce){.lobby-create-card{animation:none}}.lobby-create-title{letter-spacing:.22em;color:var(--neon-cyan);text-shadow:0 0 10px var(--cyan-glow);margin:0;font-size:.95rem;font-weight:700}.lobby-create-fields{display:grid;grid-template-columns:1fr 1fr;align-items: start;gap:1.25rem}.lobby-create-options{display:flex;flex-direction:column;gap:1rem}.lobby-create-actions{display:flex;justify-content:flex-end;gap:.6rem}@media (width<=720px){.lobby-create-fields{grid-template-columns:1fr;gap:.85rem}.lobby-create-card{gap:.7rem}}.lobby-create-confirm{letter-spacing:.14em;text-transform:uppercase;background:var(--neon-amber);color:#1a1206;border-color:var(--neon-amber);box-shadow:0 0 18px color-mix(in srgb,var(--neon-amber)40%,transparent);padding:.65rem 1.4rem;font-size:.85rem;font-weight:700}.lobby-create-confirm:hover:not(:disabled){color:#1a1206;background:#ffc24d;border-color:#ffc24d}.lobby-create-field{display:flex;flex-direction:column;gap:.5rem}.lobby-create-fieldlabel{letter-spacing:.16em;text-transform:uppercase;color:#6b7280;font-size:.7rem}.lobby-create-hint{color:var(--text-mute);letter-spacing:.04em;margin:0;font-size:.72rem}.lobby-create-mapcards{display:grid;grid-template-columns:1fr;gap:.5rem}.lobby-create-mapcard{background:var(--bg-panel);border:1px solid var(--cyan-line);cursor:pointer;font:inherit;color:var(--text-bright);display:flex;border-radius:4px;flex-direction:column;align-items:stretch;gap:.45rem;padding:.5rem;transition:border-color .12s,background .12s}.lobby-create-mapcard:hover{border-color:var(--cyan-glow)}.lobby-create-mapcard--selected{border-color:var(--neon-cyan);background:var(--cyan-wash);box-shadow:0 0 14px var(--cyan-line)}.lobby-create-mapthumb{display:block;border-radius:2px;width:100%;max-width:240px;height:auto;margin-inline-start:auto;margin-inline-end:auto}@media (width<=720px){.lobby-create-mapthumb{max-width:120px}}.lobby-create-mapname{letter-spacing:.04em;text-align:center;font-size:.82rem;font-weight:700}.lobby-create-mapcard--selected .lobby-create-mapname{color:var(--neon-cyan)}.lobby-create-stepper{display:flex;align-items: center;gap:.85rem}.lobby-create-stepper-btn{background:var(--bg-panel);border:1px solid var(--cyan-glow);color:var(--neon-cyan);cursor:pointer;display:flex;border-radius:3px;justify-content:center;align-items: center;width:36px;height:36px;padding:0;font-size:1rem;font-weight:700}.lobby-create-stepper-btn:hover:not(:disabled){background:color-mix(in srgb,var(--neon-cyan)12%,transparent)}.lobby-create-stepper-btn:disabled{opacity:.35;cursor:not-allowed}.lobby-create-stepper-value{color:var(--text-bright);text-align:center;font-variant-numeric:tabular-nums;min-width:28px;font-size:1.4rem;font-weight:700}.lobby-create-stepper-dots{display:flex;flex:1;justify-content:flex-end;gap:4px}.lobby-create-stepper-dot{border:1px solid var(--cyan-glow);border-radius:1px;width:8px;height:8px}.lobby-create-stepper-dot--filled{background:var(--neon-cyan);border-color:var(--neon-cyan);box-shadow:0 0 6px color-mix(in srgb,var(--neon-cyan)60%,transparent)}.lobby-create-friendly{flex-direction:row;justify-content:space-between;align-items: center;gap:1rem}.lobby-create-friendly-text{display:flex;flex-direction:column;gap:2px;min-width:0}.lobby-create-switch{position:relative;cursor:pointer;flex-shrink:0;width:44px;height:22px}.lobby-create-switch input{position:absolute;opacity:0;cursor:pointer;width:100%;height:100%;margin:0;inset:0}.lobby-create-switch-track{position:relative;display:block;background:var(--bg-panel);border:1px solid var(--cyan-glow);border-radius:12px;width:100%;height:100%;transition:background .12s,border-color .12s}.lobby-create-switch-thumb{position:absolute;background:var(--text-mute);border-radius:50%;width:16px;height:16px;transition:transform .12s,background .12s,box-shadow .12s;top:2px;left:2px}.lobby-create-switch input:checked~.lobby-create-switch-track{background:color-mix(in srgb,var(--neon-lime)10%,transparent);border-color:var(--neon-lime)}.lobby-create-switch input:checked~.lobby-create-switch-track .lobby-create-switch-thumb{background:var(--neon-lime);box-shadow:0 0 6px var(--neon-lime);transform:translate(22px)}.lobby-room-card{display:grid;grid-template-columns:8px minmax(0,1fr)auto auto;background:var(--bg-panel);border:1.5px solid var(--cyan-edge);border-left:4px solid var(--neon-cyan);border-radius:4px;align-items: center;gap:.85rem;margin-bottom:.5rem;padding:.85rem 1rem;transition:border-color .12s,transform 80ms,box-shadow .12s;box-shadow:0 2px 8px #0000004d}.lobby-room-card:hover{border-color:color-mix(in srgb,var(--neon-cyan)55%,transparent);box-shadow:0 2px 8px #0000004d,-3px 0 14px var(--cyan-edge);transform:translate(2px)}.lobby-room-card--in-progress{border-left-color:var(--neon-amber)}.lobby-room-card--in-progress:hover{border-color:color-mix(in srgb,var(--neon-amber)40%,transparent)}.lobby-room-dot{background:var(--neon-cyan);box-shadow:0 0 6px color-mix(in srgb,var(--neon-cyan)60%,transparent);border-radius:50%;width:8px;height:8px}.lobby-room-dot--in-progress{background:var(--neon-amber);box-shadow:0 0 6px color-mix(in srgb,var(--neon-amber)60%,transparent)}.lobby-room-main{display:flex;flex-direction:column;gap:2px;min-width:0}.lobby-room-map{letter-spacing:.08em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:.9rem;font-weight:700}.lobby-room-host{letter-spacing:.04em;color:var(--text-sub);font-size:.78rem}.lobby-room-host-name{color:var(--text-bright);font-weight:700}.lobby-room-count{font-variant-numeric:tabular-nums;color:var(--text-bright);font-size:.9rem;font-weight:700}.lobby-room-action{letter-spacing:.08em;text-transform:uppercase;padding:.35rem .7rem;font-size:.75rem}.lobby-room-state{letter-spacing:.14em;text-transform:uppercase;color:var(--neon-amber);border:1px solid color-mix(in srgb,var(--neon-amber)40%,transparent);border-radius:3px;padding:.35rem .7rem;font-size:.7rem}.lobby-empty{color:var(--text-mute);margin:0;padding:.5rem 0;font-size:.85rem}@media (width<=720px){.lobby-room-card{grid-template-columns:8px minmax(0,1fr)auto;grid-template-areas:"dot main count" "dot action action";row-gap:.45rem}.lobby-room-action,.lobby-room-state{grid-area:action;justify-self:end}}.room{display:flex;flex-direction:column;flex:1;gap:1rem;min-height:0}.room-header{display:flex;background:var(--bg-base);border:1px solid var(--cyan-line);border-radius:4px;flex-wrap:wrap;justify-content:space-between;align-items: center;gap:1rem;padding:.9rem 1.1rem}.room-header-main{display:flex;flex-direction:row;align-items: center;gap:.9rem;min-width:0}.room-header-thumb{border:1px solid var(--cyan-line);overflow:hidden;display:block;border-radius:4px;flex-shrink:0;width:56px;height:56px}.room-header-thumb svg{display:block;width:100%;height:100%}.room-header-text{display:flex;flex-direction:column;gap:.25rem;min-width:0}.room-header-map{letter-spacing:.08em;color:var(--text-default);margin:0;font-size:1.3rem;font-weight:700}.room-header-meta{display:flex;color:var(--text-mute);letter-spacing:.06em;align-items: center;gap:.4rem;font-size:.78rem}.room-header-host{color:var(--text-bright)}.room-header-sep{opacity:.6}.room-header-status{display:inline-flex;letter-spacing:.18em;text-transform:uppercase;align-items: center;gap:.5rem;font-size:.72rem;font-weight:600}.room-header-status--open{color:var(--neon-amber)}.room-header-status--in_progress{color:var(--neon-cyan)}.room-header-dot{background:currentColor;border-radius:50%;width:7px;height:7px;box-shadow:0 0 6px}.room-players{background:var(--bg-base);border:1px solid var(--cyan-line);overflow-y:auto;border-radius:4px;flex:1;min-height:0;padding:.9rem 1.1rem}.room-players-header{display:flex;justify-content:space-between;align-items: center;margin:0 0 .7rem}.room-players-title{letter-spacing:.18em;color:var(--neon-cyan);margin:0;font-size:.78rem}.room-players-count{color:var(--text-mute);font-variant-numeric:tabular-nums;font-size:.78rem}.room-slots{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:.5rem}.room-slot{display:flex;background:var(--bg-panel);border:1px solid var(--cyan-line);border-radius:4px;align-items: center;gap:.7rem;padding:.6rem .75rem}.room-slot--empty{background:0 0;border-style:dashed;border-color:#6b7a8966}.room-slot--self{box-shadow:0 0 12px color-mix(in srgb,var(--neon-cyan)15%,transparent)}.room-slot-ident{display:flex;background:var(--cyan-wash);border:1px solid;border-radius:3px;flex-shrink:0;justify-content:center;align-items: center;width:30px;height:30px;font-size:.95rem;font-weight:700}.room-slot-ident--empty{color:var(--border-base);background:0 0;border-style:dashed}.room-slot-name{color:var(--text-bright);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;min-width:0;font-size:.88rem;font-weight:600}.room-slot-name--empty{color:var(--text-mute);font-style:italic;font-weight:400}.room-slot-tag{letter-spacing:.16em;text-transform:uppercase;border:1px solid;border-radius:3px;padding:.18rem .45rem;font-size:.65rem}.room-slot-tag--host{color:var(--neon-amber)}.room-slot-tag--you{color:var(--neon-cyan)}.room-actions{display:flex;justify-content:flex-end;gap:.5rem}.room-action{letter-spacing:.12em;text-transform:uppercase;padding:.7rem 1.2rem;font-size:.85rem;font-weight:700}.room-action--leave{flex:none}.room-action--start{background:var(--neon-amber);color:#1a1206;box-shadow:0 0 18px color-mix(in srgb,var(--neon-amber)35%,transparent)}.room-action--start:hover:not(:disabled){background:#ffc24d}.room-action--start:disabled{background:var(--bg-panel);color:var(--border-base);border:1px solid var(--cyan-line);box-shadow:none}@media (width<=620px){.room-actions{flex-direction:column}.room-action{width:100%}}.planning{display:flex;flex-direction:column;gap:.75rem}.planning-header{display:flex;justify-content:space-between;align-items:baseline;gap:.5rem}.planning-header h2{letter-spacing:.18em;color:var(--neon-cyan);text-transform:uppercase;margin:0;font-size:.78rem}.planning-countdown{color:var(--neon-amber);font-variant-numeric:tabular-nums;font-size:.85rem;font-weight:700}.planning-countdown--urgent{color:#f44;text-shadow:0 0 10px #ff44448c;animation:countdown-urgent 1s ease-in-out infinite}@keyframes countdown-urgent{0%,to{opacity:1}50%{opacity:.45}}@media (prefers-reduced-motion:reduce){.planning-countdown--urgent{animation:none}}.planning-queue{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:.4rem}.planning-slot{position:relative;display:flex;border:1.5px dashed var(--cyan-glow);color:var(--border-base);aspect-ratio:1;cursor:pointer;background:0 0;border-radius:3px;justify-content:center;align-items: center;padding:0;transition:border-color .12s,background .12s,color .12s}.planning-slot:hover:not(:disabled){border-color:color-mix(in srgb,var(--neon-cyan)80%,transparent)}.planning-slot--filled{border-style:solid;border-color:var(--neon-cyan);background:color-mix(in srgb,var(--neon-cyan)7%,transparent);color:var(--neon-cyan)}.planning-slot--filled:hover:not(:disabled){color:#ff2bd6;background:#ff2bd614;border-color:#ff2bd6}.planning-slot--strafe.planning-slot--filled{border-color:var(--neon-lime);background:color-mix(in srgb,var(--neon-lime)8%,transparent);color:var(--neon-lime)}.planning-slot-num{position:absolute;color:currentColor;opacity:.6;font-size:.6rem;font-weight:600;top:4px;left:5px}.planning-slot-icon{display:flex;color:currentColor;justify-content:center;align-items: center;width:60%;height:60%}.planning-slot-icon svg{width:100%;height:100%}.planning-palette{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-areas:".     forward  ." "left  .        right" ".     backward ." "laser blast    boost";gap:.4rem}.planning-action[data-kind=forward]{grid-area:forward}.planning-action[data-kind=backward]{grid-area:backward}.planning-action[data-kind=left]{grid-area:left}.planning-action[data-kind=right]{grid-area:right}.planning-action[data-kind=laser]{grid-area:laser}.planning-action[data-kind=blast]{grid-area:blast}.planning-action[data-kind=boost]{grid-area:boost}.planning-action{position:relative;display:flex;background:var(--bg-panel);border:1px solid var(--cyan-glow);color:var(--text-bright);aspect-ratio:1;cursor:pointer;border-radius:3px;justify-content:center;align-items: center;padding:0;transition:border-color .12s,background .12s,color .12s}.planning-action:hover:not(:disabled){border-color:var(--neon-cyan);background:var(--cyan-wash);color:var(--neon-cyan)}.planning-action:disabled{opacity:.35;cursor:not-allowed}.planning-action[data-kind=laser]{border-color:color-mix(in srgb,var(--neon-amber)45%,transparent)}.planning-action[data-kind=laser]:hover:not(:disabled){border-color:var(--neon-amber);background:color-mix(in srgb,var(--neon-amber)7%,transparent);color:var(--neon-amber)}.planning-action[data-kind=blast]{border-color:#ff2bd666}.planning-action[data-kind=blast]:hover:not(:disabled){color:#ff2bd6;background:#ff2bd612;border-color:#ff2bd6}.planning-action[data-kind=boost]{border-color:color-mix(in srgb,var(--neon-lime)45%,transparent)}.planning-action[data-kind=boost]:hover:not(:disabled){border-color:var(--neon-lime);background:color-mix(in srgb,var(--neon-lime)7%,transparent);color:var(--neon-lime)}.planning-action--boosted[data-kind=left],.planning-action--boosted[data-kind=right],.planning-action--boosted[data-kind=forward],.planning-action--boosted[data-kind=backward]{border-color:var(--neon-lime);background:color-mix(in srgb,var(--neon-lime)5%,transparent);color:var(--neon-lime)}.planning-action-icon{display:flex;color:currentColor;justify-content:center;align-items: center;width:56%;height:56%}.planning-action-icon svg{width:100%;height:100%}.planning-action-count{position:absolute;letter-spacing:.04em;color:currentColor;opacity:.85;font-variant-numeric:tabular-nums;font-size:.6rem;font-weight:700;top:3px;right:6px}.planning-validate{letter-spacing:.12em;text-transform:uppercase;background:var(--neon-amber);color:#1a1206;box-shadow:0 0 18px color-mix(in srgb,var(--neon-amber)35%,transparent);padding:.7rem 1rem;font-size:.85rem;font-weight:700}.planning-validate:hover:not(:disabled){background:#ffc24d}.planning-validate:disabled{background:var(--bg-panel);color:var(--border-base);box-shadow:none;border:1px solid var(--cyan-line)}.planning-status{color:var(--text-mute);letter-spacing:.04em;margin:0;font-size:.78rem}.planning-status--error{color:#f44}.match{display:grid;gap:1rem}.match-hud{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,260px));justify-content:center;gap:.5rem}.match-hud-card{display:flex;background:var(--bg-panel);border:1px solid var(--cyan-line);border-left:3px solid var(--neon-cyan);border-radius:3px;flex-direction:column;gap:.4rem;padding:.55rem .7rem;transition:opacity .2s;font-size:.85rem}.match-hud-card--eliminated{opacity:.45}.match-hud-top{display:flex;align-items: center;gap:.5rem}.match-hud-tag{letter-spacing:.16em;text-transform:uppercase;border:1px solid;border-radius:3px;flex-shrink:0;padding:1px 5px;font-size:.6rem}.match-hud-tag--eliminated{color:#f44}.match-hud-tag--you{color:var(--neon-cyan)}.match-hud-card--self{box-shadow:0 0 14px var(--cyan-line)}.match-hud-letter{display:inline-flex;color:#0a0f1c;border-radius:3px;flex-shrink:0;justify-content:center;align-items: center;width:24px;height:24px;font-size:.85rem;font-weight:700}.match-hud-name{color:var(--text-bright);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;min-width:0;font-weight:600}.match-hud-pips{display:inline-flex;gap:3px}.match-hud-hp{position:relative;display:block;border:1px solid var(--cyan-line);overflow:hidden;background:#0a0a12;border-radius:2px;width:100%;height:12px}.match-hud-hp-fill{position:absolute;background:linear-gradient(90deg,#ef4444 0%,var(--neon-amber)50%,var(--neon-lime)100%);background-size:var(--hp-bg-size,100%)100%;transition:width .24s ease-out;inset:0 auto 0 0}.match-hud-hp-label{position:relative;display:block;text-align:center;letter-spacing:.08em;color:var(--text-default);text-shadow:0 0 4px #000;font-size:.62rem;font-weight:700;line-height:12px}.pip{display:inline-block;background:#1f2937;border:1px solid #334155;border-radius:2px;width:8px;height:8px}.pip--life-on{background:#fbbf24;border-color:#b45309;border-radius:50%}.pip--life-off{background:0 0;border-color:#334155;border-radius:50%}.match-board-wrap{display:flex;justify-content:center}.match-board-inner{position:relative;display:inline-block;max-width:100%}.match-board{display:block;background:#020617;border:1px solid #1f2937;border-radius:6px;max-width:100%;height:auto}.match-slot-pill{position:absolute;color:#c7d2fe;letter-spacing:.04em;text-transform:uppercase;pointer-events:none;background:#1e1b4b;border:1px solid #4f46e5;border-radius:999px;padding:.15rem .6rem;font-size:.75rem;top:8px;right:8px}.match-planning{display:block}@media (orientation:landscape) and (height<=520px){.match{grid-template-columns:minmax(120px,160px)minmax(0,1fr)minmax(170px,200px);flex:1;align-items:stretch;gap:.7rem;height:100%;min-height:0}.match-hud{grid-template-columns:1fr;overflow-y:auto;align-content: start;min-height:0}.match-board-wrap{align-items: center;min-height:0}.match-board-inner{max-height:100%}.match-board{width:auto;max-width:100%;height:auto;max-height:100%}.match-planning{overflow-y:auto;min-height:0}.planning{gap:.5rem}.planning-palette{gap:.3rem}}.match-end{display:flex;flex-direction:column;gap:1rem}.match-end-hero{position:relative;background:var(--bg-base);border:1px solid var(--cyan-line);text-align:center;display:flex;border-radius:4px;flex-direction:column;align-items: center;gap:.6rem;padding:1.6rem 1rem 1.4rem}.match-end-hero-glow{position:absolute;background:radial-gradient(circle at 50% 0%,var(--cyan-line),transparent 60%);pointer-events:none;inset:0}.match-end-hero--no-winner .match-end-hero-glow{background:radial-gradient(circle at 50% 0%,color-mix(in srgb,var(--neon-amber)18%,transparent),transparent 60%)}.match-end-eyebrow{position:relative;letter-spacing:.28em;color:var(--text-mute);text-transform:uppercase;margin:0;font-size:.7rem}.match-end-ident{position:relative;display:flex;background:color-mix(in srgb,var(--neon-cyan)8%,transparent);box-shadow:0 0 24px color-mix(in srgb,var(--neon-cyan)30%,transparent);border:2px solid;border-radius:3px;justify-content:center;align-items: center;width:64px;height:64px;font-size:1.7rem;font-weight:700}.match-end-ident--blank{color:var(--text-mute);box-shadow:none;background:0 0;border-style:dashed}.match-end-title{position:relative;letter-spacing:.02em;color:var(--text-default);margin:0;font-size:clamp(1.4rem,3vw,1.9rem);font-weight:700}.match-end-sub{position:relative;letter-spacing:.12em;text-transform:uppercase;color:var(--text-mute);margin:0;font-size:.78rem}.match-end-placement{background:var(--bg-base);border:1px solid var(--cyan-line);border-radius:4px;padding:.9rem 1.1rem}.match-end-placement-header{display:flex;justify-content:space-between;align-items: center;margin:0 0 .6rem}.match-end-placement-title{letter-spacing:.18em;color:var(--neon-cyan);margin:0;font-size:.78rem}.match-end-placement-count{color:var(--text-mute);font-size:.78rem}.match-end-placement-list{display:flex;flex-direction:column;gap:.4rem}.match-end-placement-row{display:grid;grid-template-columns:40px 32px minmax(0,1fr)auto;background:var(--bg-panel);border:1px solid var(--cyan-line);border-radius:3px;align-items: center;gap:.7rem;padding:.55rem .7rem}.match-end-placement-row--self{background:var(--cyan-wash);box-shadow:0 0 10px color-mix(in srgb,var(--neon-cyan)15%,transparent)}.match-end-rank{color:var(--text-mute);text-align:center;font-size:1.35rem;font-weight:700}.match-end-rank--top1{color:#ffb020;text-shadow:0 0 10px #ffb02080}.match-end-rank--top2{color:#c9d6e0}.match-end-rank--top3{color:#cd9a5b}.match-end-row-ident{display:flex;background:var(--cyan-wash);border:1px solid;border-radius:3px;justify-content:center;align-items: center;width:30px;height:30px;font-size:.95rem;font-weight:700}.match-end-row-name{color:var(--text-default);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:.9rem;font-weight:600}.match-end-row-youtag{letter-spacing:.16em;text-transform:uppercase;color:var(--neon-cyan);opacity:.75;margin-left:.5rem;font-size:.62rem}.match-end-row-delta{font-variant-numeric:tabular-nums;color:var(--text-mute);text-align:right;min-width:40px;font-size:.9rem;font-weight:700}.match-end-empty{background:var(--bg-base);border:1px dashed var(--cyan-line);color:var(--text-mute);text-align:center;border-radius:4px;margin:0;padding:1rem;font-size:.85rem}.match-end-points-note{letter-spacing:.06em;color:var(--text-mute);text-align:center;margin:0;font-size:.7rem}.match-end-actions{display:flex;justify-content:flex-end}.match-end-back{letter-spacing:.12em;text-transform:uppercase;background:var(--neon-cyan);color:#00131a;box-shadow:0 0 18px color-mix(in srgb,var(--neon-cyan)35%,transparent);padding:.75rem 1.2rem;font-size:.85rem;font-weight:700}.match-end-back:hover{background:#4aeeff}@media (width<=620px){.match-end-placement-row{grid-template-columns:32px 28px minmax(0,1fr)auto;gap:.5rem}.match-end-actions{justify-content:stretch}.match-end-back{width:100%}}.toast{background:color-mix(in srgb,var(--neon-amber)8%,transparent);color:var(--neon-amber);border:1px solid color-mix(in srgb,var(--neon-amber)50%,transparent);letter-spacing:.04em;border-radius:3px;margin-bottom:.85rem;padding:.55rem .85rem;font-size:.82rem}.lobby-tab:focus-visible{outline-offset:-2px}.planning-slot:focus-visible{outline-offset:-2px}.planning-action:focus-visible{outline-offset:-2px}.lobby-create-switch input:focus-visible~.lobby-create-switch-track{outline:2px solid var(--neon-cyan);outline-offset:2px}.lobby-settings-toggle-input:focus-visible~.lobby-settings-toggle-track{outline:2px solid var(--neon-cyan);outline-offset:2px}
