.weapon-lab-overlay{z-index:900;color:#f8fafc;justify-content:center;align-items:center;font-family:Inter,system-ui,sans-serif;display:flex;position:fixed;inset:0}.weapon-lab-overlay[hidden]{display:none!important}.lab-backdrop{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#030712c7;position:absolute;inset:0}.lab-modal{z-index:1;background:#0b1320;border:1px solid #38bdf859;border-radius:12px;flex-direction:column;width:95vw;max-width:1100px;height:90vh;max-height:820px;display:flex;position:relative;overflow:hidden;box-shadow:0 20px 60px #000000e6,0 0 30px #38bdf826}.lab-header{background:#0f1c2e;border-bottom:1px solid #ffffff1a;justify-content:space-between;align-items:center;padding:16px 24px;display:flex}.lab-title-group h2{letter-spacing:.5px;color:#38bdf8;margin:0;font-family:Outfit,sans-serif;font-size:22px;font-weight:800}.lab-subtitle{color:#94a3b8;font-size:12px}.lab-close{color:#94a3b8;cursor:pointer;background:0 0;border:1px solid #fff3;border-radius:6px;place-items:center;width:32px;height:32px;font-size:16px;display:grid}.lab-close:hover{color:#ef4444;background:#ef444433;border-color:#ef4444}.lab-body{flex-direction:column;flex:1;gap:16px;padding:16px 24px;display:flex;overflow:hidden}.lab-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.lab-search-input{color:#f8fafc;background:#050b14;border:1px solid #334155;border-radius:6px;width:280px;padding:8px 14px;font-size:13px}.lab-search-input:focus{border-color:#38bdf8;outline:none;box-shadow:0 0 10px #38bdf84d}.lab-categories{gap:6px;display:flex}.lab-cat-pill{color:#94a3b8;cursor:pointer;background:#1e293b;border:1px solid #334155;border-radius:6px;padding:6px 12px;font-size:11px;font-weight:700;transition:all .15s}.lab-cat-pill.active,.lab-cat-pill:hover{color:#fff;background:#0284c7;border-color:#38bdf8}.lab-main-layout{flex:1;grid-template-columns:1fr 340px;gap:16px;display:grid;overflow:hidden}.lab-weapon-column{padding-right:6px;overflow-y:auto}.lab-weapon-list{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px;display:grid}.lab-weapon-card{background:#0f172a;border:1px solid #1e293b;border-radius:8px;flex-direction:column;gap:6px;padding:12px 14px;transition:transform .12s,border-color .12s;display:flex}.lab-weapon-card:hover{border-color:#38bdf8;transform:translateY(-2px)}.lab-weapon-card-header{justify-content:space-between;align-items:center;display:flex}.lab-weapon-combat-name{color:#f8fafc;font-size:15px;font-weight:800}.lab-badge-group{gap:4px;display:flex}.lab-flight-badge{color:#38bdf8;background:#1e293b;border:1px solid #38bdf866;border-radius:4px;padding:2px 6px;font-size:10px;font-weight:800}.lab-wind-badge{color:#a7f3d0;background:#1e293b;border-radius:4px;padding:2px 5px;font-size:10px}.lab-weapon-full-name{color:#94a3b8;font-size:11px}.lab-weapon-meta{color:#64748b;text-transform:uppercase;font-size:10px;font-weight:700}.lab-verb{color:#fbbf24}.lab-weapon-role{color:#cbd5e1;flex:1;margin:0;font-size:12px;line-height:1.4}.lab-select-btn{color:#fff;cursor:pointer;background:#0369a1;border:1px solid #38bdf8;border-radius:6px;margin-top:6px;padding:6px 12px;font-size:12px;font-weight:700}.lab-select-btn:hover{background:#0284c7}.lab-controls-column{flex-direction:column;gap:12px;display:flex;overflow-y:auto}.lab-panel{background:#0f172a;border:1px solid #1e293b;border-radius:8px;flex-direction:column;gap:10px;padding:12px 14px;display:flex}.lab-panel h3{letter-spacing:.5px;color:#94a3b8;text-transform:uppercase;margin:0;font-size:12px;font-weight:800}.lab-panel-desc{color:#64748b;margin:0;font-size:11px}.lab-button-row{flex-direction:column;gap:6px;display:flex}.lab-btn{color:#e2e8f0;cursor:pointer;text-align:left;background:#1e293b;border:1px solid #334155;border-radius:6px;padding:8px 12px;font-size:12px;font-weight:700;transition:all .15s}.lab-btn:hover{color:#fff;background:#334155;border-color:#64748b}.lab-btn-primary{color:#fff;text-align:center;background:#0369a1;border-color:#38bdf8}.lab-btn-primary:hover{background:#0284c7}.lab-presets-grid{flex-direction:column;gap:8px;display:flex}.lab-presets-grid label{color:#64748b;text-transform:uppercase;margin-bottom:4px;font-size:10px;font-weight:700;display:block}.lab-pill-group{flex-wrap:wrap;gap:4px;display:flex}.lab-mini-pill{color:#cbd5e1;cursor:pointer;background:#1e293b;border:1px solid #334155;border-radius:4px;padding:4px 8px;font-size:11px}.lab-mini-pill:hover{color:#020617;background:#38bdf8;font-weight:700}.lab-compare-row{align-items:center;gap:8px;display:flex}.lab-compare-select{color:#f8fafc;background:#050b14;border:1px solid #334155;border-radius:6px;flex:1;padding:6px 8px;font-size:11px}.lab-dev-panel{border-color:#f59e0b}.lab-dev-panel h3{color:#f59e0b}.lab-dev-controls{gap:6px;display:flex}.lab-dev-btn{color:#fde68a;cursor:pointer;background:#1e293b;border:1px solid #d97706;border-radius:6px;flex:1;padding:6px;font-size:11px;font-weight:700}.lab-dev-btn:hover{color:#020617;background:#d97706}.lab-telemetry-grid{background:#050b14;border-radius:6px;grid-template-columns:1fr 1fr;gap:6px;padding:8px;font-size:11px;display:grid}.telemetry-label{color:#64748b;font-size:10px;display:block}.telemetry-val{color:#38bdf8;font-variant-numeric:tabular-nums;font-weight:800}:root{color:#eef4ff;font-synthesis:none;text-rendering:optimizelegibility;background:#030712;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html,body{overscroll-behavior:none;background:radial-gradient(circle,#0a1727 0%,#060e1a 60%,#02060e 100%);width:100%;height:100%;margin:0;overflow:hidden}.backdrop-host{z-index:0;pointer-events:none;background:radial-gradient(circle,#0a1727 0%,#060e1a 60%,#02060e 100%);width:100vw;height:100vh;position:fixed;inset:0;overflow:hidden}#game-root{isolation:isolate;z-index:1;width:100%;height:100%;position:relative;overflow:hidden}body{justify-content:center;align-items:center;display:flex;overflow:hidden}#game-root>canvas:not(.immersive-backdrop){z-index:1;max-width:100vw;max-height:100vh;display:block;position:relative;box-shadow:0 0 24px #00000073}.immersive-webgl #game-root>canvas:not(.immersive-backdrop){box-shadow:0 0 32px #02060c73}.immersive-backdrop{z-index:0;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.match-setup{z-index:3;color:#eef4ff;background:#050a12ad;flex-direction:column;justify-content:center;padding:28px max(24px,50% - 460px);font-size:15px;display:flex;position:absolute;inset:0;overflow:auto}.match-setup[hidden],.match-setup [hidden]{display:none}.setup-header{justify-content:space-between;align-items:center;gap:20px;margin-bottom:28px;display:flex}.setup-eyebrow{color:#88d9b8;font-size:11px}.setup-header h1{margin:4px 0 0;font-family:Fredoka,sans-serif;font-size:34px;font-weight:500}.setup-header nav{gap:8px;display:flex}.match-setup button,.match-setup select{font:inherit;color:inherit;cursor:pointer;background:#202732;border:1px solid #56616f;border-radius:6px}.match-setup :focus-visible{outline-offset:4px;outline:3px solid #f0c46f}.match-setup button:hover{border-color:#88d9b8}.setup-icon{width:38px;height:38px;font-size:20px!important}.setup-form{gap:26px;display:grid}.setup-form fieldset{border:0;min-width:0;margin:0;padding:0}.setup-form legend{color:#b7c1ce;margin-bottom:10px}.setup-modes{grid-template-columns:repeat(4,minmax(0,1fr));gap:0;display:grid}.setup-modes label{min-width:0;position:relative}.setup-modes input{opacity:0;width:100%;height:100%;margin:0;position:absolute}.setup-modes label>span{cursor:pointer;background:#171e28;border:1px solid #56616f;padding:15px 18px;font-weight:600;display:block}.setup-modes label:first-of-type>span{border-radius:6px 0 0 6px}.setup-modes label:last-of-type>span{border-radius:0 6px 6px 0}.setup-modes input:checked+span{color:#b6f5d7;background:#234139;border-color:#88d9b8}.setup-modes input:focus-visible+span{outline-offset:3px;outline:3px solid #f0c46f;position:relative}.setup-modes small{color:#b7c1ce;margin-top:5px;font-size:12px;font-weight:400;display:block}.setup-difficulty{padding-bottom:6px}.setup-label-row{justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:14px;display:flex}.setup-label-row output{color:#f0c46f;font-size:14px}.setup-difficulty input[type=range]{accent-color:#88d9b8;cursor:pointer;width:100%;margin:0}.setup-ticks{color:#b7c1ce;justify-content:space-between;padding:0 5px;font-size:12px;display:flex}.setup-form p{color:#b7c1ce;margin:10px 0 0;font-size:13px;line-height:1.5}.setup-form .setup-fairness{color:#9aa9b9;margin-top:4px;font-size:12px}.setup-environment{grid-template-columns:1fr 1fr;gap:28px;display:grid}.setup-environment select{width:100%;padding:12px}.setup-environment select:disabled{opacity:.7;cursor:not-allowed}.setup-form footer{border-top:1px solid #414b57;justify-content:space-between;align-items:center;gap:20px;padding-top:22px;display:flex}.setup-form footer>span{color:#b7c1ce;font-size:12px}.setup-form .setup-start{color:#10261e;white-space:nowrap;background:#88d9b8;border-color:#88d9b8;padding:14px 24px;font-weight:700}.setup-actions{grid-template-columns:repeat(2,minmax(172px,1fr));align-items:stretch;gap:12px;display:grid}.setup-actions .setup-replay-btn,.setup-actions .setup-start{justify-content:center;width:100%;min-width:0;min-height:50px}.setup-start span{margin-left:12px}.setup-dialog{color:#eef4ff;background:#171e28;border:1px solid #56616f;border-radius:8px;width:min(760px,100% - 32px);max-height:calc(100% - 32px);padding:26px;overflow:auto}.setup-dialog::backdrop{background:#000c}.setup-dialog h2{margin-top:0;font-size:23px}.setup-dialog h3{color:#88d9b8;font-size:15px}.setup-dialog button{padding:10px 18px}.control-columns{grid-template-columns:1fr 1fr;gap:28px;display:grid}.control-columns dl>div{justify-content:space-between;gap:16px;margin-bottom:16px;font-size:13px;display:flex}.setup-replay-btn{color:#78dcb9;cursor:pointer;background:#16262ce6;border:1px solid #78dcb9;border-radius:6px;align-items:center;gap:8px;padding:10px 18px;font-size:14px;font-weight:700;transition:all .15s;display:inline-flex}.setup-replay-btn:hover{color:#0b171c;background:#78dcb9}.setup-replay-input{color:#78dcb9;resize:vertical;box-sizing:border-box;background:#081116;border:1px solid #78dcb966;border-radius:6px;width:100%;margin:12px 0;padding:10px;font-family:monospace;font-size:13px}.setup-replay-input:focus{outline:2px solid #f3ca78}.setup-dialog-error{color:#fda4af;background:#f43f5e26;border:1px solid #f43f5e;border-radius:6px;margin:10px 0;padding:8px 14px;font-size:13px}.setup-dialog-actions{gap:12px;margin-top:14px;display:flex}.control-columns dd{text-align:right;color:#b7c1ce;max-width:58%;margin:0}@media (height<=700px){.match-setup{justify-content:flex-start;padding-top:20px;padding-bottom:20px}.setup-form{gap:18px}.setup-header{margin-bottom:16px}}@media (width<=600px){.match-setup{justify-content:flex-start;padding:22px 18px}.setup-header{align-items:flex-start;gap:12px}.setup-header h1{font-size:26px}.setup-header nav{gap:4px}.setup-icon{width:32px;height:32px}.setup-modes{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.setup-modes label:first-of-type>span,.setup-modes label:last-of-type>span,.setup-modes label>span{border-radius:6px;min-height:72px;padding:12px 8px;font-size:13px}.setup-modes small{font-size:11px}.setup-environment,.control-columns{grid-template-columns:1fr;gap:18px}.setup-label-row output{font-size:12px}.setup-form footer{flex-wrap:wrap}.setup-actions{grid-template-columns:repeat(2,minmax(0,1fr));width:100%}.setup-actions .setup-replay-btn,.setup-actions .setup-start{padding:12px 10px;font-size:13px}.setup-start{width:100%}}html:not(.immersive-webgl) .backdrop-host:before{content:"";pointer-events:none;background-image:radial-gradient(1.5px 1.5px at 14% 22%,#e2e8f0b3,#0000),radial-gradient(1px 1px at 31% 68%,#94a3b88c,#0000),radial-gradient(2px 2px at 49% 18%,#7dd3fca6,#0000),radial-gradient(1.5px 1.5px at 67% 41%,#e2e8f099,#0000),radial-gradient(1px 1px at 82% 76%,#bae6fd8c,#0000),radial-gradient(2px 2px at 90% 24%,#fbbf2473,#0000),radial-gradient(60% 45% at 50% 105%,#0e749038,#0000);position:absolute;inset:0}.menu-settings-grid{gap:10px;margin:12px 0 18px;display:grid}.menu-setting-row{grid-template-columns:1fr auto;align-items:center;gap:12px;font-size:13px;display:grid}.menu-setting-row input[type=range],.menu-setting-row select{width:170px}.menu-setting-toggle{cursor:pointer;align-items:center;gap:10px;font-size:13px;display:flex}.menu-settings-actions{justify-content:space-between;gap:10px;display:flex}.runtime-loading[hidden],.runtime-error[hidden]{display:none}.runtime-loading,.runtime-error{z-index:30;color:#eef4ff;background:#050a12d1;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.runtime-loading-card,.runtime-error-card{background:#0d1624;border:1px solid #78dcb959;border-radius:12px;align-items:center;gap:14px;width:100%;max-width:420px;padding:20px 24px;font-size:14px;display:flex;box-shadow:0 18px 48px #0000008c}.runtime-error-card{border-color:#f871718c;flex-direction:column;align-items:stretch}.runtime-error-card h2{color:#fecaca;margin:0;font-size:18px}.runtime-error-message{color:#cbd5e1;margin:0;line-height:1.45}.runtime-error-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.runtime-error-actions button{color:#f8fafc;cursor:pointer;background:#1e293b;border:1px solid #94a3b866;border-radius:8px;padding:8px 14px}.runtime-spinner{border:2px solid #78dcb940;border-top-color:#78dcb9;border-radius:50%;flex-shrink:0;width:18px;height:18px;animation:.8s linear infinite runtime-spin}@keyframes runtime-spin{to{transform:rotate(360deg)}}
