html,body{margin:0;padding:0;width:100%;height:100%;overflow:hidden;background:#000;user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}#game{position:absolute;top:0;left:0;width:100%;height:100%;display:block}#ui{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;user-select:none;-webkit-user-select:none;--hud-font-mono: ui-monospace, "SF Mono", SFMono-Regular, Menlo, Consolas, monospace;--hud-font-sans: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--hud-text: #ffffff;--hud-text-dim: #9aa6b2;--hud-panel-bg: rgba(0, 0, 0, .62);--hud-panel-radius: 4px;--hud-text-shadow: 0 1px 2px rgba(0, 0, 0, .65)}#menu input,#menu textarea{user-select:text;-webkit-user-select:text}#menu{--menu-color-bg: #07090c;--menu-color-surface: #0f1217;--menu-color-border: #1c2129;--menu-color-text: #f1f3f5;--menu-color-text-dim:#7a8693;--menu-color-accent: #FF4500;--menu-color-danger: #ff5d5d;--menu-color-success: #5dcd97;--menu-font-display: "JetBrains Mono", ui-monospace, "SF Mono", Menlo, Consolas, monospace;--menu-font-body: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--menu-space-1: 4px;--menu-space-2: 8px;--menu-space-3: 12px;--menu-space-4: 16px;--menu-space-5: 24px;--menu-space-6: 32px;--menu-space-7: 48px;--menu-space-8: 64px;--menu-size-rail-width: 220px;--menu-size-topbar-height: 64px;--menu-size-panel-padding: 32px;--menu-size-content-max-width: 880px}.menu-shell{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;width:100%;height:100%;font-family:var(--menu-font-body);color:var(--menu-color-text);z-index:100;pointer-events:auto}.menu-shell:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:#000000e6;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);z-index:0;pointer-events:none}.menu-shell>*{position:relative;z-index:1}.menu-topbar{display:flex;align-items:center;justify-content:space-between;height:var(--menu-size-topbar-height);padding:0 var(--menu-size-panel-padding);border-bottom:1px solid var(--menu-color-border);flex-shrink:0}.menu-brand{display:flex;align-items:baseline;gap:var(--menu-space-3);font-family:var(--menu-font-display);font-size:22px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--menu-color-text);margin:0}.menu-brand-accent{color:var(--menu-color-accent)}.menu-brand-version{font-family:var(--menu-font-display);font-size:10px;font-weight:700;letter-spacing:.16em;color:var(--menu-color-text-dim);text-transform:uppercase}.menu-topbar-actions{display:flex;align-items:center;gap:var(--menu-space-3)}.menu-body{display:flex;flex-direction:row;flex:1;min-height:0}.menu-rail{display:flex;flex-direction:column;width:var(--menu-size-rail-width);padding:var(--menu-space-6) 0;border-right:1px solid var(--menu-color-border);flex-shrink:0}.menu-rail-item{background:transparent;color:var(--menu-color-text-dim);border:none;border-left:3px solid transparent;padding:var(--menu-space-3) var(--menu-space-5);font-family:var(--menu-font-display);font-size:12px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;cursor:pointer;text-align:left;transition:color 80ms linear,background 80ms linear}.menu-rail-item:hover{background:var(--menu-color-surface);color:var(--menu-color-text)}.menu-rail-item--active{background:var(--menu-color-surface);color:var(--menu-color-accent);border-left-color:var(--menu-color-accent)}.menu-rail-footer{margin-top:auto;display:flex;flex-direction:column}.menu-content{flex:1;min-width:0;min-height:0;overflow-y:auto;padding:var(--menu-space-6) var(--menu-space-7)}.menu-content-inner{width:100%;max-width:var(--menu-size-content-max-width);margin:0 auto}.menu-button-primary{background:var(--menu-color-accent);color:var(--menu-color-bg);border:none;padding:var(--menu-space-3) 28px;font-family:var(--menu-font-display);font-size:13px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;border-radius:4px;cursor:pointer;transition:filter 80ms linear}.menu-button-primary:hover{filter:brightness(1.1)}.menu-button-primary:disabled{opacity:.45;cursor:not-allowed;filter:none}.menu-button-secondary{background:transparent;color:var(--menu-color-text);border:1px solid var(--menu-color-border);padding:var(--menu-space-3) 20px;font-family:var(--menu-font-display);font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;border-radius:4px;cursor:pointer;transition:border-color 80ms linear,color 80ms linear}.menu-button-secondary:hover{border-color:var(--menu-color-accent);color:var(--menu-color-accent)}.menu-button-danger{background:transparent;color:var(--menu-color-danger);border:1px solid var(--menu-color-danger);padding:var(--menu-space-3) 20px;font-family:var(--menu-font-display);font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;border-radius:4px;cursor:pointer}.menu-card{background:var(--menu-color-surface);border:1px solid var(--menu-color-border);border-radius:6px;padding:var(--menu-space-4)}.menu-card-title{font-family:var(--menu-font-display);font-size:13px;font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:var(--menu-color-text);margin:0;padding-bottom:var(--menu-space-3);border-bottom:1px solid var(--menu-color-border);margin-bottom:var(--menu-space-4)}.menu-divider{height:1px;background:var(--menu-color-border);margin:var(--menu-space-4) 0;border:0}.menu-home-grid{display:grid;grid-template-columns:1fr;gap:var(--menu-space-5)}@media (min-width: 720px){.menu-home-grid-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--menu-space-5)}}.menu-radio-list{display:flex;flex-direction:column;gap:var(--menu-space-2)}.menu-radio-row{display:flex;align-items:center;justify-content:space-between;background:transparent;color:var(--menu-color-text);border:1px solid var(--menu-color-border);border-left:2px solid transparent;padding:var(--menu-space-3) var(--menu-space-4);font-family:var(--menu-font-body);font-size:14px;font-weight:600;letter-spacing:.02em;border-radius:4px;cursor:pointer;text-align:left;transition:background 80ms linear,border-color 80ms linear}.menu-radio-row:hover{background:var(--menu-color-surface)}.menu-radio-row--active{background:var(--menu-color-surface);border-color:var(--menu-color-border);border-left:2px solid var(--menu-color-accent);color:var(--menu-color-accent)}.menu-radio-row-meta{font-family:var(--menu-font-display);font-size:11px;font-weight:700;letter-spacing:.14em;color:var(--menu-color-text-dim);font-variant-numeric:tabular-nums}.menu-radio-row--active .menu-radio-row-meta{color:var(--menu-color-accent)}.menu-info-row{display:flex;align-items:center;justify-content:space-between;gap:var(--menu-space-3);padding:var(--menu-space-2) 0;border-bottom:1px solid var(--menu-color-border)}.menu-info-row:last-child{border-bottom:none}.menu-info-label{font-family:var(--menu-font-display);font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--menu-color-text-dim)}.menu-info-value{font-family:var(--menu-font-body);font-size:14px;font-weight:600;color:var(--menu-color-text);display:flex;align-items:center;gap:var(--menu-space-2)}.menu-info-edit{background:transparent;border:1px solid var(--menu-color-border);color:var(--menu-color-text-dim);padding:2px var(--menu-space-2);font-family:var(--menu-font-display);font-size:9px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;border-radius:3px;cursor:pointer}.menu-info-edit:hover{border-color:var(--menu-color-accent);color:var(--menu-color-accent)}.menu-status-pill{display:inline-block;padding:2px var(--menu-space-2);font-family:var(--menu-font-display);font-size:10px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;border-radius:999px;border:1px solid var(--menu-color-border)}.menu-status-pill--connected,.menu-status-pill--hosting{color:var(--menu-color-success);border-color:var(--menu-color-success)}.menu-status-pill--connecting{color:var(--menu-color-accent);border-color:var(--menu-color-accent)}.menu-status-pill--disconnected{color:var(--menu-color-text-dim);border-color:var(--menu-color-border)}.menu-card-actions{display:flex;flex-direction:row;gap:var(--menu-space-2);margin-top:var(--menu-space-4);flex-wrap:wrap}.menu-loadout-pane{display:flex;flex-direction:column}.menu-loadout-grid{display:grid;grid-template-columns:1fr;gap:var(--menu-space-5);box-sizing:border-box}@media (min-width: 720px){.menu-loadout-grid{grid-template-columns:1fr 1fr}}.menu-radio-row-name{flex:1;font-family:var(--menu-font-body);font-size:13px;color:inherit}.menu-radio-swatch{display:inline-block;width:16px;height:16px;border-radius:2px;border:1px solid var(--menu-color-border);flex-shrink:0}.menu-pane-header{margin-bottom:var(--menu-space-5)}.menu-pane-title{font-family:var(--menu-font-display);font-size:24px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--menu-color-text);margin:0}.menu-tabstrip{display:flex;flex-direction:row;gap:0;border-bottom:1px solid var(--menu-color-border);margin-bottom:var(--menu-space-5)}.menu-tab{background:transparent;color:var(--menu-color-text-dim);border:none;border-bottom:3px solid transparent;transform:translateY(1px);padding:var(--menu-space-3) var(--menu-space-4);font-family:var(--menu-font-display);font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;cursor:pointer;position:relative;transition:color 80ms linear,border-color 80ms linear}.menu-tab:hover{color:var(--menu-color-text)}.menu-tab--active{color:var(--menu-color-text);border-bottom-color:var(--menu-color-accent)}#menu{--menu-row-label-width: 220px}.menu-section{padding:var(--menu-space-4) 0;border-bottom:1px solid var(--menu-color-border)}.menu-section:last-child{border-bottom:none}.menu-section-heading{font-family:var(--menu-font-display);font-size:16px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--menu-color-text);margin:0 0 var(--menu-space-3) 0}.menu-row{display:grid;grid-template-columns:var(--menu-row-label-width) 1fr auto;gap:var(--menu-space-4);align-items:center;padding:var(--menu-space-2) 0}.menu-row-label{font-family:var(--menu-font-display);font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--menu-color-text-dim)}.menu-row-control{display:flex;align-items:center;min-width:0}.menu-row-value{font-family:var(--menu-font-display);font-size:13px;font-weight:700;letter-spacing:.04em;color:var(--menu-color-text);text-align:right;min-width:56px;font-variant-numeric:tabular-nums}.menu-slider{width:100%;accent-color:var(--menu-color-accent);cursor:pointer}.menu-color-input{width:56px;height:28px;background:transparent;border:1px solid var(--menu-color-border);border-radius:4px;cursor:pointer;padding:0}.menu-toast{position:fixed;top:80px;right:48px;padding:12px 16px;background:var(--menu-color-surface);border:1px solid var(--menu-color-border);border-left:3px solid var(--menu-color-accent);border-radius:4px;color:var(--menu-color-text);font-family:var(--menu-font-body);font-size:13px;letter-spacing:.02em;z-index:50;box-shadow:0 4px 12px #0006;animation:menuToastSlide .2s ease-out}@keyframes menuToastSlide{0%{transform:translate(20px);opacity:0}to{transform:translate(0);opacity:1}}.menu-toggle{background:transparent;color:var(--menu-color-text);border:1px solid var(--menu-color-border);height:24px;padding:0 var(--menu-space-3);font-family:var(--menu-font-display);font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;border-radius:4px;cursor:pointer;transition:background 80ms linear,border-color 80ms linear,color 80ms linear;min-width:64px}.menu-toggle:hover{border-color:var(--menu-color-accent)}.menu-toggle--on{background:var(--menu-color-accent);color:var(--menu-color-bg);border-color:var(--menu-color-accent)}.menu-multiplayer-pane,.menu-stats-pane{display:flex;flex-direction:column}.menu-multiplayer-stack{display:flex;flex-direction:column;gap:var(--menu-space-5)}.menu-input{background:var(--menu-color-surface);border:1px solid var(--menu-color-border);color:var(--menu-color-text);padding:var(--menu-space-3) var(--menu-space-4);font-family:var(--menu-font-body);font-size:14px;letter-spacing:.02em;border-radius:4px;width:100%;box-sizing:border-box;transition:border-color 80ms linear}.menu-input:focus-visible{border-color:var(--menu-color-accent);outline:none}.menu-input--code{font-family:var(--menu-font-display);font-weight:700;letter-spacing:.18em;text-transform:uppercase}.menu-room-code{font-family:var(--menu-font-display);font-size:18px;font-weight:800;letter-spacing:.24em;text-transform:uppercase;color:var(--menu-color-accent)}@keyframes menu-spinner-rotate{to{transform:rotate(360deg)}}.menu-spinner{display:inline-block;width:14px;height:14px;border:2px solid var(--menu-color-border);border-top-color:var(--menu-color-accent);border-radius:50%;animation:menu-spinner-rotate .7s linear infinite;vertical-align:middle}.menu-status-line{font-family:var(--menu-font-display);font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--menu-color-accent);padding:var(--menu-space-2) 0;font-variant-numeric:tabular-nums}.menu-card-actions--bordered{border-top:1px solid var(--menu-color-border);padding-top:var(--menu-space-4)}.menu-confirm-label{flex:1;font-family:var(--menu-font-display);font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--menu-color-text-dim);align-self:center}.menu-player-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.menu-player-row{display:flex;align-items:center;justify-content:space-between;padding:var(--menu-space-2) var(--menu-space-3);font-family:var(--menu-font-body);font-size:13px;color:var(--menu-color-text);border-bottom:1px solid var(--menu-color-border)}.menu-player-row:last-child{border-bottom:none}.menu-player-row--self{color:var(--menu-color-accent);font-weight:700}.menu-player-row--empty{justify-content:center;color:var(--menu-color-text-dim);font-style:italic}.menu-player-name{font-variant-numeric:tabular-nums}.menu-player-ping{font-family:var(--menu-font-display);font-size:11px;font-weight:700;letter-spacing:.12em;color:var(--menu-color-text-dim);font-variant-numeric:tabular-nums}.menu-error-banner{background:var(--menu-color-bg);border:1px solid var(--menu-color-danger);border-radius:4px;padding:var(--menu-space-3) var(--menu-space-4);margin-bottom:var(--menu-space-4)}.menu-error-title{font-family:var(--menu-font-display);font-size:11px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--menu-color-danger);margin-bottom:var(--menu-space-1)}.menu-error-message{font-family:var(--menu-font-body);font-size:13px;color:var(--menu-color-text);line-height:1.4;margin-bottom:var(--menu-space-3)}.menu-diag-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}.menu-diag-list>li{display:flex;align-items:center;justify-content:space-between;font-family:var(--menu-font-display);font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--menu-color-text-dim)}.menu-diag-value{color:var(--menu-color-text)}.menu-rail-footer-item{background:transparent;color:var(--menu-color-text-dim);border:none;border-left:3px solid transparent;padding:var(--menu-space-3) var(--menu-space-5);font-family:var(--menu-font-display);font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;cursor:pointer;text-align:left;transition:color 80ms linear,background 80ms linear}.menu-rail-footer-item:hover{background:var(--menu-color-surface);color:var(--menu-color-text)}.menu-modal-scrim{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:100}.menu-modal-card{background:var(--menu-color-surface);border:1px solid var(--menu-color-border);border-radius:6px;padding:var(--menu-space-6);max-width:480px;width:90%;box-shadow:0 24px 64px #00000080}.menu-modal-title{font-family:var(--menu-font-display);font-size:20px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--menu-color-text);margin:0 0 var(--menu-space-4) 0;padding-bottom:var(--menu-space-3);border-bottom:1px solid var(--menu-color-border)}.menu-modal-body{font-family:var(--menu-font-body);font-size:14px;color:var(--menu-color-text);line-height:1.5}.menu-modal-body p{margin:0 0 var(--menu-space-3) 0}.menu-modal-body p:last-child{margin-bottom:0}.menu-modal-body strong{color:var(--menu-color-accent);font-weight:700}.menu-modal-actions{display:flex;justify-content:flex-end;padding-top:var(--menu-space-4)}.menu-rail--disabled{opacity:.4;pointer-events:none}.menu-loading-card{max-width:480px;margin:0 auto;text-align:center;display:flex;flex-direction:column;align-items:stretch;gap:var(--menu-space-3)}.menu-loading-title{font-family:var(--menu-font-display);font-size:28px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--menu-color-text);margin:0}.menu-loading-subtitle{font-family:var(--menu-font-body);font-size:13px;font-weight:600;letter-spacing:.04em;color:var(--menu-color-text-dim);margin:0}.menu-progress-track{width:100%;height:6px;background:var(--menu-color-surface);border:1px solid var(--menu-color-border);border-radius:999px;overflow:hidden}.menu-progress-fill{height:100%;background:var(--menu-color-accent);transition:width .2s ease-out}.menu-loading-pct{font-family:var(--menu-font-display);font-size:13px;font-weight:700;letter-spacing:.18em;color:var(--menu-color-text-dim);font-variant-numeric:tabular-nums}.menu-version-label{position:absolute;bottom:12px;left:12px;font-family:var(--menu-font-display);font-size:10px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--menu-color-text-dim);opacity:.55;font-variant-numeric:tabular-nums;pointer-events:none;-webkit-user-select:none;user-select:none;z-index:2}#menu :focus-visible{outline:2px solid var(--menu-color-accent);outline-offset:2px}
