:root{color:#e0eaf3;font-synthesis:none;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--accent:#79e6cf;--line:#8edbd530;--panel:#08132299;--panel-solid:#081322;--muted:#8b9caf;--weapon:#e2aaff;background:#070e20;font-family:Segoe UI,system-ui,sans-serif}*{box-sizing:border-box}body{margin:0}main{background:radial-gradient(at 80% 35%,#14284170,#0000 55%);flex-direction:column;min-height:100vh;display:flex}header,footer{border-bottom:1px solid #8edbd51c;align-items:center;gap:24px;padding:22px 4vw;display:flex}.brand{color:#e0eaf3;letter-spacing:3px;font-weight:750;text-decoration:none}.brand span,em{color:var(--accent)}.tag,.status,.eyebrow,footer,label,.hud-stat,.hud-bottom,.ordnance-status{letter-spacing:1.5px;font:11px/1.7 ui-monospace,Consolas,monospace}.status{color:var(--accent);margin-left:auto}.tag,.muted,footer{color:var(--muted)}.launch{width:min(1100px,90vw);margin:auto;padding:70px 0}.eyebrow{color:var(--accent)}h1{letter-spacing:-3px;margin:24px 0;font-size:clamp(42px,6vw,82px);font-weight:500;line-height:1.08}em{font-style:normal}p{line-height:1.7}.menu{gap:18px;max-width:410px;margin:38px 0;display:grid}button,input,select{font:inherit;border:1px solid #79e6cf50;border-radius:3px}select{color:#e0eaf3;background:#070e20;padding:12px}button{cursor:pointer;background:var(--accent);color:#081d23;padding:12px 18px;font-weight:650}button span{float:right}button:hover{filter:brightness(1.15)}button:disabled{cursor:default;opacity:.4}button:focus-visible,input:focus-visible{outline-offset:4px;outline:2px solid #cce783}.secondary{color:#c6d9e4;background:#12253b80;border-color:#7ba3b340}input{color:#e0eaf3;background:#070e20;min-width:0;padding:12px}.join{gap:8px;margin-top:8px;display:flex}.join input{flex:1}footer{border-top:1px solid #8edbd51c;border-bottom:0;justify-content:space-between;margin-top:auto;font-size:10px}.title-screen{background:radial-gradient(at 25%,#1a3a5a80,#0000 60%),radial-gradient(at 90% 100%,#2b1a4a80,#0000 55%),#050a16;flex:1;grid-template-columns:1fr minmax(300px,400px);align-items:center;gap:4vw;min-height:100vh;padding:0 8vw;display:grid;position:relative;overflow:hidden}.starfield{pointer-events:none;opacity:.7;background-image:radial-gradient(1px 1px at 20px 30px,#fff,#0000),radial-gradient(1px 1px at 140px 90px,#bfe,#0000),radial-gradient(1.5px 1.5px at 80px 160px,#fff,#0000),radial-gradient(1px 1px at 200px 200px,#9cf,#0000);background-size:240px 240px;animation:240s linear infinite drift;position:absolute;inset:-50%}@keyframes drift{to{transform:translate(240px,480px)}}.title-logo,.title-menu{position:relative}.title-logo h1{letter-spacing:8px;text-shadow:0 0 40px #79e6cf40;margin:20px 0;font-size:clamp(54px,9vw,130px);font-weight:800;line-height:.95}.title-logo h1 em{text-shadow:0 0 30px #79e6cf90}.title-menu{border-left:2px solid var(--line);flex-direction:column;gap:6px;padding:28px 0 28px 28px;display:flex}.title-menu form{display:contents}.title-menu button{text-align:left;text-transform:uppercase;letter-spacing:3px;color:#c6d9e4;background:0 0;border:1px solid #0000;border-left-width:3px;padding:14px 20px;font-weight:600;transition:transform .12s,background .12s,border-color .12s}.title-menu button span{letter-spacing:1.5px;color:var(--muted);font:10px/1.9 ui-monospace,Consolas,monospace}.title-menu button:hover:not(:disabled),.title-menu button:focus-visible,.title-menu button.active{filter:none;color:#fff;border-left-color:var(--accent);background:linear-gradient(90deg,#79e6cf30,#0000);outline:none;transform:translate(10px)}.title-menu input{margin-bottom:8px;padding:14px 16px}.title-menu .eyebrow{margin-bottom:8px}.title-status{letter-spacing:1.5px;color:var(--accent);min-height:1.7em;margin-top:16px;font:11px/1.7 ui-monospace,Consolas,monospace}.title-footer{border:0;padding:18px 4vw;position:absolute;bottom:0;left:0;right:0}@media (width<=760px){.title-screen{grid-template-columns:1fr;align-content:center;gap:12px;padding:0 6vw}.title-menu{border-left:0;padding-left:0}.title-footer{position:static}}@media (prefers-reduced-motion:reduce){.starfield{animation:none}.title-menu button{transition:none}}main.in-game{background:#070e20;height:100vh;min-height:0;position:relative;overflow:hidden}.arena{position:absolute;inset:0}canvas{touch-action:none;outline:none;width:100%;height:100%;display:block}canvas:focus-visible{outline:1px solid var(--accent);outline-offset:-1px}.loading{place-items:center;margin:0;display:grid;position:absolute;inset:0}.hud-top{z-index:3;pointer-events:none;background:linear-gradient(#070e20ee,#070e2000);align-items:center;gap:20px;padding:8px 16px;display:flex;position:absolute;top:0;left:0;right:0}.hud-top>*{pointer-events:auto}.hud-top .brand{font-size:13px}.hud-top button{padding:6px 12px;font-size:12px}.hud-stat strong{color:#fff}.hud-timer{color:#ffbc68;min-width:72px;font:700 20px ui-monospace,Consolas,monospace}.dock{z-index:2;background:var(--panel);border:1px solid var(--line);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);flex-direction:column;gap:12px;width:270px;padding:14px;display:flex;position:absolute;top:52px;bottom:56px;overflow-y:auto}.dock-left{left:12px}.dock-right{border-color:#ac8add50;width:320px;padding:0;right:12px;overflow:hidden}.dock-scroll{flex:1;min-width:0;padding:14px;overflow:hidden auto}.dock-hint{margin:0;font-size:13px}.fleet{gap:6px;display:grid}.fleet button{text-transform:capitalize;text-align:left;justify-content:space-between;align-items:center;padding:8px 12px;display:flex}.fleet button span{float:none;font:11px ui-monospace,Consolas,monospace}.maneuver{border-top:1px solid var(--line);gap:10px;padding-top:10px;display:grid}.maneuver label{gap:4px;display:grid}input[type=range]{width:100%;accent-color:var(--accent);padding:0}.ordnance-status{color:#aec5dc}.weapon-panel,.weapon-row,.weapon-head,.maneuver,.maneuver label{grid-template-columns:minmax(0,1fr);min-width:0}.weapon-panel>*,.weapon-row>*{box-sizing:border-box;min-width:0;max-width:100%}.weapon-panel{gap:12px;display:grid}.weapon-row{gap:6px;display:grid}.weapon-row+.weapon-row{border-top:1px solid #ac8add30;padding-top:12px}.weapon-head{gap:0;display:grid}.weapon-panel .eyebrow{color:var(--weapon)}.weapon-row select{width:100%;padding:8px}.weapon-row button{padding:8px 12px}.queued-weapon{border-color:var(--weapon);background:#d3b0f4}.target-feedback{color:#a6aec2;gap:2px;font-size:12px;line-height:1.4;display:grid}.readiness{text-align:center;background:#0a1220ee;border-top:1px solid #ac8add50;gap:8px;padding:12px 14px;display:grid}.execute{letter-spacing:1px;text-transform:uppercase;padding:16px;font-size:16px}.view-controls{z-index:2;gap:6px;display:grid;position:absolute;bottom:64px;right:346px}.view-controls button{width:40px;height:40px;padding:0;font-size:18px}.hud-bottom{z-index:2;background:var(--panel);border:1px solid var(--line);pointer-events:none;flex-wrap:wrap;align-items:baseline;gap:4px 18px;padding:8px 14px;display:flex;position:absolute;bottom:12px;left:294px;right:346px}.combat-log{overflow-wrap:anywhere;border-top:1px solid var(--line);padding-top:10px;font:12px/1.7 ui-monospace,Consolas,monospace}.error{z-index:10;background:#482e32;border:1px solid #ff907e60;justify-content:space-between;align-items:center;gap:16px;padding:10px 16px;display:flex;position:fixed;top:52px;left:50%;transform:translate(-50%)}.error button{color:#fff;background:0 0;padding:4px 10px}@media (width<=1000px){.tag{display:none}.dock{width:220px}.dock-right{width:260px}.view-controls{right:286px}.hud-bottom{left:244px;right:286px}.hud-top{flex-wrap:wrap;gap:10px}}.fire-time{gap:2px;display:grid}.turn-timeline{padding-bottom:6px}.timeline-bar{border-bottom:2px solid var(--line);background:repeating-linear-gradient(90deg,#8edbd520 0 1px,#0000 1px 16.6667%);height:22px;position:relative}.timeline-bar .mark{color:#081322;background:var(--weapon);border-radius:50%;place-items:center;width:18px;height:18px;font:700 10px ui-monospace,Consolas,monospace;display:grid;position:absolute;top:2px;transform:translate(-50%)}.mark-missile{background:#97d7ff!important}.mark-forwardMissile{background:#a8f0c0!important}.mark-mine{background:#ffdf75!important}.timeline-scale{color:var(--muted);justify-content:space-between;font:10px ui-monospace,Consolas,monospace;display:flex}.ship-labels{pointer-events:none;z-index:1;position:absolute;inset:0;overflow:hidden}.ship-label{white-space:nowrap;letter-spacing:1px;background:#070e20b0;border:1px solid #0000;border-radius:2px;padding:2px 5px;font:600 10px/1.2 ui-monospace,Consolas,monospace;position:absolute;top:0;left:0}.ship-label.team-0{color:#69eddb}.ship-label.team-1{color:#ff907e}.ship-label.selected{color:#fff;border-color:#ffffffa0}.ready-chip{border:1px solid var(--line);color:var(--muted);border-radius:10px;padding:2px 8px}.ready-chip.is-ready{color:#081d23;background:var(--accent);border-color:var(--accent)}.ship-card{color:#d6e4ee;font-size:13px}.modal{z-index:20;background:#040914c0;place-items:center;display:grid;position:fixed;inset:0}.modal-card{background:var(--panel-solid);border:1px solid var(--line);gap:14px;width:min(420px,90vw);padding:24px;display:grid}.modal-card h2{letter-spacing:1px;margin:0 0 4px;font-weight:500}.modal-card label{gap:6px;display:grid}.modal-card .check{align-items:center;gap:10px;display:flex}.modal-card .check input{width:18px;height:18px;padding:0}.modal-card p{margin:0;font-size:12px}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.module-list{flex-wrap:wrap;gap:6px;display:flex}.module-chip{color:#c9d4e2;border:1px solid #8b9caf60;border-radius:4px;padding:2px 6px;font-size:11px}.module-weapon{border-color:#ac8add80}.module-shield{color:#9fd9ff;border-color:#6cc4ff90}.module-utility{color:#ffe9a3;border-color:#ffdf7580}.fleet-screen{z-index:5;background:radial-gradient(at 20% 0,#1a3a5a80,#0000 60%),#050a16;flex-direction:column;gap:14px;padding:24px 5vw;display:flex;position:absolute;inset:0;overflow-y:auto}.fleet-head{border:0;flex-wrap:wrap;align-items:baseline;gap:6px 20px;padding:0;display:flex}.fleet-head h2{letter-spacing:2px;text-transform:uppercase;margin:0;font-weight:500}.fleet-head .hud-timer.urgent{color:#ff907e}.fleet-body{grid-template-columns:minmax(220px,280px) 1fr;align-items:start;gap:20px;display:grid}.fleet-list{gap:6px;display:grid}.fleet-list button{text-align:left;gap:2px;display:grid}.fleet-list button span{float:none;font:11px ui-monospace,Consolas,monospace}.fleet-list .selected{background:var(--accent)}.fleet-detail{gap:14px;display:grid}.fleet-title{flex-wrap:wrap;align-items:center;gap:12px 24px;display:flex}.fleet-title h3{margin:0;font-weight:500}.fleet-title input{width:min(320px,100%);font-size:18px}.budget{letter-spacing:1px;gap:4px;min-width:240px;font:12px ui-monospace,Consolas,monospace;display:grid}.budget strong{color:#fff;font-size:16px}.budget-bar{border:1px solid var(--line);background:#12253b;height:8px}.budget-bar div{background:var(--accent);height:100%}.budget.over{color:#ff907e}.budget.over .budget-bar div{background:#ff907e}.fleet-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.fleet-actions .spacer{flex:1}.fleet-actions .execute{padding:12px 28px}.fleet-error{color:#ff907e;font-size:13px}@media (width<=760px){.fleet-body{grid-template-columns:1fr}}.fleet-list .mini-fleet{gap:2px;margin-top:4px;display:flex}.thumb{object-fit:contain;background:radial-gradient(circle,#1b3350,#0a1424);border-radius:4px;display:block}.thumb-pending{background:#0d1b2e;animation:1.2s ease-in-out infinite alternate pulse}@keyframes pulse{to{opacity:.45}}.thumb.mini{width:34px;height:34px}.ship-stage{grid-template-columns:minmax(280px,1.1fr) minmax(300px,1fr);align-items:stretch;gap:16px;display:grid}.viewer-frame{border:1px solid var(--line);background:#050a16;min-height:340px;position:relative}.ship-viewer{cursor:grab;position:absolute;inset:0}.viewer-caption{letter-spacing:1.5px;color:var(--muted);pointer-events:none;font:11px ui-monospace,Consolas,monospace;position:absolute;bottom:8px;left:10px}.ship-config{align-content:start;gap:8px;display:grid}.ship-config-head{align-items:center;gap:10px;display:flex}.ship-config-head select{flex:1;padding:8px}.cost{color:#ffbc68;margin-left:auto;font:700 14px ui-monospace,Consolas,monospace}.module-list-3d{gap:6px;display:grid}.module-row{letter-spacing:0;background:#08132266;border:1px solid #8b9caf40;border-radius:4px;align-items:center;gap:10px;padding:4px 10px 4px 4px;font:13px Segoe UI,system-ui,sans-serif;display:flex}.module-row.pick{cursor:pointer}.module-row.pick:hover{border-color:var(--accent)}.module-row.on{border-color:var(--accent);background:#79e6cf1c}.module-row .module-thumb{flex:none;width:52px;height:52px}.module-text{flex:1;min-width:0;display:grid}.module-text small{color:var(--muted);font-size:11px}.module-row em{color:#ffbc68;font:700 13px ui-monospace,Consolas,monospace}.module-row input{width:18px;height:18px;padding:0}.ship-strip{flex-wrap:wrap;gap:10px;display:flex}.ship-tab{border:1px solid var(--line);background:var(--panel);cursor:pointer;grid-template-columns:56px 1fr;align-items:center;column-gap:10px;min-width:190px;padding:6px 34px 6px 6px;display:grid;position:relative}.ship-tab .strip-thumb{grid-row:span 2;width:56px;height:56px}.ship-tab span{color:var(--muted);font:11px ui-monospace,Consolas,monospace}.ship-tab.active{border-color:var(--accent);background:#79e6cf1c}.ship-tab button{padding:2px 8px;position:absolute;top:4px;right:4px}.ship-tab:focus-visible{outline-offset:2px;outline:2px solid #cce783}.add-ship{min-width:120px}@media (width<=900px){.ship-stage{grid-template-columns:1fr}}
