*{margin:0;padding:0;box-sizing:border-box}:root{--bg: #000004;--panel: rgba(8, 16, 26, .88);--panel-border: #1b3a52;--text: #cfe3ef;--dim: #6f8a9c;--accent: #4fc3f7;--green: #69f0ae;--amber: #ffd54f;--red: #ff3b2f;--font: "Cascadia Mono", "Consolas", "Menlo", monospace}html,body,#root{height:100%;overflow:hidden;background:var(--bg);color:var(--text);font-family:var(--font)}button{font-family:var(--font);cursor:pointer}button:disabled{cursor:not-allowed;opacity:.35}.nation-select{height:100%;overflow-y:auto;padding:48px 32px;background:radial-gradient(ellipse at 50% -20%,#0a1a2e,#000004 65%)}.nation-select header{text-align:center;margin-bottom:36px}.nation-select h1{font-size:44px;letter-spacing:14px;color:var(--accent);text-shadow:0 0 24px rgba(79,195,247,.45)}.subtitle{letter-spacing:6px;color:var(--dim);margin-top:8px}.tagline{margin-top:16px;color:var(--dim);font-size:12px}.nation-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;max-width:1280px;margin:0 auto}.nation-card{background:var(--panel);border:1px solid var(--panel-border);padding:0 0 16px;text-align:left;color:var(--text);transition:transform .12s,border-color .12s,box-shadow .12s;overflow:hidden}.nation-card:hover{transform:translateY(-3px);border-color:var(--accent);box-shadow:0 0 24px #4fc3f740}.nation-card-bar{height:4px;margin-bottom:14px}.nation-card h2{font-size:18px;letter-spacing:2px;padding:0 16px 10px}.nation-stats{display:flex;gap:18px;padding:0 16px 10px}.nation-stats>div{display:flex;flex-direction:column}.stat-label{font-size:9px;color:var(--dim);letter-spacing:1px}.stat-value{font-size:16px;color:var(--accent)}.nation-delivery{padding:0 16px 8px;font-size:11px;color:var(--green);letter-spacing:1px}.nation-doctrine{padding:0 16px;font-size:11px;color:var(--dim);line-height:1.5}.game-root{position:relative;height:100%}.globe-container{position:absolute;top:0;right:0;bottom:0;left:0}.panel{background:var(--panel);border:1px solid var(--panel-border);padding:12px 14px;pointer-events:auto}.panel h3{font-size:12px;letter-spacing:2px;color:var(--accent);margin-bottom:10px;display:flex;justify-content:space-between;align-items:baseline}.topbar{position:absolute;top:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;padding:10px 18px;background:linear-gradient(to bottom,#040a12f2,#040a1299);border-bottom:1px solid var(--panel-border);z-index:10}.topbar-nation{font-size:14px;letter-spacing:2px;display:flex;align-items:center;gap:8px}.nation-dot{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:6px}.defcon{display:flex;align-items:center;gap:4px}.defcon-label{font-size:11px;letter-spacing:2px;color:var(--dim);margin-right:8px}.defcon-seg{width:26px;text-align:center;padding:3px 0;font-size:13px;border:1px solid var(--panel-border);color:var(--dim)}.defcon-seg.active{font-weight:700;border-color:transparent}.defcon-1 .defcon-seg.active{animation:blink .8s steps(2) infinite}@keyframes blink{50%{filter:brightness(.4)}}.topbar-right{display:flex;gap:22px;align-items:center;font-size:12px}.casualties b{color:var(--red);font-size:15px;margin-left:6px}.clock{color:var(--dim)}.left-stack{position:absolute;top:64px;left:14px;width:330px;display:flex;flex-direction:column;gap:12px;z-index:5;max-height:calc(100% - 90px)}.right-stack{position:absolute;top:64px;right:14px;width:330px;display:flex;flex-direction:column;gap:12px;z-index:5}.missile-row{border-top:1px solid rgba(27,58,82,.6);padding:10px 0}.missile-row.depleted{opacity:.45}.missile-head{display:flex;justify-content:space-between;font-size:13px}.missile-stock{color:var(--green);font-weight:700}.missile-stats{font-size:10px;color:var(--dim);margin:4px 0 8px}.no-platform{color:var(--red)}.missile-actions{display:flex;gap:6px}.count-btn{width:34px;padding:4px 0;background:transparent;border:1px solid var(--panel-border);color:var(--text);font-size:11px}.count-btn.selected{border-color:var(--accent);color:var(--accent)}.target-btn{flex:1;border:1px solid var(--red);background:#ff3b2f1f;color:var(--red);font-size:11px;letter-spacing:2px;padding:4px 0}.target-btn:hover:not(:disabled){background:#ff3b2f4d}.target-btn.abort{border-color:var(--amber);color:var(--amber);background:#ffd54f1a}.aim-hint{margin-top:10px;text-align:center;font-size:11px;letter-spacing:2px;color:#fff;background:#ff3b2f40;border:1px solid var(--red);padding:7px 0;animation:blink 1.2s steps(2) infinite}.threat-panel{max-height:46vh;overflow-y:auto;flex-shrink:0}.threat-panel.under-attack{border-color:var(--red);box-shadow:0 0 18px #ff3b2f59}.interceptor-count{font-size:10px;color:var(--green)}.auto-defense{display:flex;gap:8px;align-items:center;font-size:11px;margin-bottom:8px}.auto-defense .hint{color:var(--dim);font-size:9px}.no-threats{font-size:11px;color:var(--dim);text-align:center;padding:8px 0 4px}.threat-row{display:flex;justify-content:space-between;align-items:center;border-top:1px solid rgba(255,59,47,.25);padding:7px 0;font-size:11px}.threat-info{display:flex;flex-direction:column;gap:2px}.threat-type{color:var(--red);font-weight:700}.threat-origin{color:var(--dim);font-size:10px}.threat-target{font-size:10px}.threat-actions{display:flex;align-items:center;gap:8px}.tti{color:var(--amber);font-size:14px;min-width:34px;text-align:right}.intercept-btn{border:1px solid var(--green);background:#69f0ae1a;color:var(--green);font-size:10px;padding:4px 8px;letter-spacing:1px}.intercept-btn:hover:not(:disabled){background:#69f0ae47}.engaged{color:var(--green);font-size:10px}.alert-feed{flex:1;min-height:0;overflow:hidden}.alert-list{overflow-y:auto;max-height:320px;display:flex;flex-direction:column;gap:4px}.alert{display:flex;gap:8px;font-size:10.5px;line-height:1.45}.alert-time{color:var(--dim);flex-shrink:0}.alert-info .alert-msg{color:var(--text)}.alert-warn .alert-msg{color:var(--amber)}.alert-crit .alert-msg{color:var(--red)}.modal-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:#0000048c;display:flex;align-items:center;justify-content:center;z-index:30}.modal{background:var(--panel);border:1px solid var(--accent);padding:24px 28px;min-width:420px;box-shadow:0 0 40px #4fc3f733}.modal h3{letter-spacing:3px;color:var(--accent);margin-bottom:16px}.confirm-grid{display:grid;grid-template-columns:130px 1fr;gap:8px 12px;font-size:12px}.confirm-grid span{color:var(--dim)}.est-deaths{color:var(--red)}.friendly-warning{margin-top:14px;color:var(--amber);font-size:12px;border:1px solid var(--amber);padding:6px 10px}.modal-actions{display:flex;gap:12px;margin-top:20px}.btn-launch{flex:1;background:var(--red);border:none;color:#fff;font-size:14px;letter-spacing:4px;padding:10px 0;font-weight:700}.btn-launch:hover{box-shadow:0 0 18px #ff3b2fb3}.btn-abort{flex:1;background:transparent;border:1px solid var(--dim);color:var(--text);letter-spacing:2px}.ceasefire-banner{position:absolute;bottom:22px;left:50%;transform:translate(-50%);display:flex;gap:14px;align-items:center;background:var(--panel);border:1px solid var(--amber);padding:12px 18px;font-size:12px;z-index:20}.btn-accept{border:1px solid var(--green);background:#69f0ae1f;color:var(--green);padding:6px 14px;letter-spacing:1px}.btn-reject{border:1px solid var(--red);background:#ff3b2f1f;color:var(--red);padding:6px 14px;letter-spacing:1px}.end-backdrop{background:#000004d1}.end-screen{min-width:560px;max-width:680px;text-align:center}.end-screen h1{font-size:30px;letter-spacing:8px;margin-bottom:8px}.outcome-annihilation h1{color:var(--red)}.outcome-victory h1{color:var(--green)}.outcome-defeat h1{color:var(--amber)}.outcome-ceasefire h1{color:var(--accent)}.end-sub{color:var(--dim);font-size:13px;margin-bottom:22px}.end-stats{display:flex;justify-content:space-around;margin-bottom:22px}.end-stats div{display:flex;flex-direction:column}.end-stats b{font-size:22px;color:var(--accent)}.end-stats span{font-size:10px;color:var(--dim);letter-spacing:1px}.end-table{width:100%;border-collapse:collapse;font-size:11px;margin-bottom:22px}.end-table th{color:var(--dim);font-weight:400;letter-spacing:1px;text-align:left;padding:6px 8px;border-bottom:1px solid var(--panel-border)}.end-table td{text-align:left;padding:6px 8px;border-bottom:1px solid rgba(27,58,82,.4)}.end-table .player-row td{color:var(--accent)}.btn-restart{background:transparent;border:1px solid var(--accent);color:var(--accent);padding:10px 34px;letter-spacing:3px;font-size:13px}.btn-restart:hover{background:#4fc3f726}.btn-mini{background:transparent;border:1px solid var(--panel-border);color:var(--text);font-size:10px;padding:4px 9px;letter-spacing:1px}.btn-mini:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.btn-mini.danger{border-color:var(--red);color:var(--red)}.btn-continue{border:1px solid var(--accent);background:#4fc3f71f;color:var(--accent);font-size:12px;letter-spacing:2px;padding:9px 18px}.btn-continue:hover{background:#4fc3f747}.speed-controls{display:flex;align-items:center;gap:4px}.speed-btn{background:transparent;border:1px solid var(--panel-border);color:var(--dim);font-size:10px;padding:3px 7px}.speed-btn.selected{border-color:var(--accent);color:var(--accent)}.speed-locked{color:var(--red);font-size:9px;letter-spacing:1px;animation:blink 1s steps(2) infinite}.mute-btn{background:transparent;border:1px solid var(--panel-border);color:var(--dim);font-size:10px;padding:3px 8px}.platform-status{font-size:10px;color:var(--dim);padding:10px 0 4px;display:flex;justify-content:space-between}.platform-status b{color:var(--green)}.terminal-open-btn{width:100%;margin-top:10px;border:1px solid var(--red);background:#ff3b2f24;color:var(--red);font-size:13px;letter-spacing:3px;padding:11px 0;font-weight:700}.terminal-open-btn:hover:not(:disabled){background:#ff3b2f52;box-shadow:0 0 18px #ff3b2f66}.terminal-screen{position:absolute;top:0;right:0;bottom:0;left:0;background:#020408ed;display:flex;align-items:center;justify-content:center;z-index:40}.terminal-frame{width:640px;max-height:88vh;overflow-y:auto;border:1px solid var(--red);background:repeating-linear-gradient(0deg,rgba(255,255,255,.015) 0 1px,transparent 1px 3px),#060a10;box-shadow:0 0 60px #ff3b2f2e;padding:18px 24px 24px}.terminal-header{display:flex;align-items:baseline;gap:14px;border-bottom:1px solid rgba(255,59,47,.4);padding-bottom:12px}.terminal-title{color:var(--red);font-size:15px;letter-spacing:3px;font-weight:700}.terminal-sub{color:var(--dim);font-size:9px;letter-spacing:2px;flex:1}.terminal-steps{display:flex;gap:8px;margin:12px 0}.term-step{font-size:9px;letter-spacing:1px;color:var(--dim);border:1px solid var(--panel-border);padding:4px 10px}.term-step.active{color:var(--red);border-color:var(--red);background:#ff3b2f1a}.term-hint{font-size:11px;color:var(--amber);letter-spacing:2px;margin-bottom:12px}.platform-row{width:100%;display:flex;align-items:center;gap:14px;background:#0a121cb3;border:1px solid var(--panel-border);color:var(--text);padding:10px 14px;margin-bottom:8px;text-align:left}.platform-row:hover:not(:disabled){border-color:var(--red)}.platform-row.dead{opacity:.4}.platform-main{flex:1;display:flex;flex-direction:column;gap:2px}.platform-name{font-size:13px}.platform-kind{font-size:9px;color:var(--dim);letter-spacing:1px}.platform-inv{display:flex;gap:10px;font-size:11px;color:var(--green)}.platform-destroyed{color:var(--red)}.readiness{font-size:9px;color:var(--green);letter-spacing:1px}.readiness.off{color:var(--red)}.type-select{display:flex;gap:10px;margin-bottom:16px}.type-btn{flex:1;display:flex;flex-direction:column;gap:3px;background:#0a121cb3;border:1px solid var(--panel-border);color:var(--text);padding:12px;font-size:10px}.type-btn b{font-size:13px;letter-spacing:1px}.type-btn .type-stock{color:var(--green)}.type-btn.selected{border-color:var(--red);background:#ff3b2f1a}.qty-row{display:flex;align-items:center;gap:12px;font-size:11px;color:var(--dim);margin-bottom:18px}.qty-value{color:var(--accent);font-size:22px;min-width:42px;text-align:center}.terminal-actions{display:flex;justify-content:space-between;gap:12px;margin-top:16px}.auth-summary{display:flex;gap:26px;margin-bottom:14px}.auth-summary div{display:flex;flex-direction:column;gap:3px;font-size:13px}.auth-summary span{font-size:9px;color:var(--dim);letter-spacing:1px}.auth-targets{border:1px solid var(--panel-border);padding:6px 10px;margin-bottom:18px;max-height:160px;overflow-y:auto}.auth-target-row{display:flex;align-items:center;gap:10px;font-size:11px;padding:5px 0;border-bottom:1px solid rgba(27,58,82,.4)}.auth-target-row span:first-child{flex:1}.hold-authorize{position:relative;width:100%;border:2px solid var(--red);background:#ff3b2f14;color:var(--red);font-size:15px;font-weight:700;letter-spacing:4px;padding:16px 0;overflow:hidden;-webkit-user-select:none;user-select:none}.hold-authorize .hold-fill{position:absolute;inset:0 auto 0 0;background:#ff3b2f73;transition:none}.hold-authorize span{position:relative}.hold-authorize.holding{color:#fff}.target-lock-strip{position:absolute;top:58px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:10px;background:#140404eb;border:1px solid var(--red);padding:9px 16px;z-index:25;max-width:86vw;flex-wrap:wrap}.lock-label{color:var(--red);font-size:11px;letter-spacing:2px;animation:blink 1.4s steps(2) infinite}.lock-chip{font-size:10px;color:var(--amber);border:1px solid var(--amber);padding:3px 8px;cursor:pointer}.intel-panel{border-color:#3d5a78}.intel-panel h3 span{display:flex;align-items:center}.intel-surrendered{color:var(--red);border:1px solid var(--red);text-align:center;font-size:11px;letter-spacing:3px;padding:5px 0;margin-bottom:10px}.intel-grid{display:grid;grid-template-columns:92px 1fr;gap:7px 10px;font-size:11px;margin-bottom:12px}.intel-grid>span{color:var(--dim);font-size:9px;letter-spacing:1px;padding-top:2px}.intel-note{color:var(--dim);font-size:10px;font-style:normal}.posture{letter-spacing:1px}.posture-PEACE{color:var(--green)}.posture-TENSION{color:#c6ff77}.posture-LIMITED{color:var(--amber)}.posture-FULL{color:#ff9046}.posture-MAD{color:var(--red);animation:blink .9s steps(2) infinite}.tension-bar{position:relative;display:block;height:14px;border:1px solid var(--panel-border);overflow:hidden}.tension-fill{position:absolute;inset:0 auto 0 0;background:linear-gradient(to right,#69f0ae,#ffd54f,#ff3b2f)}.tension-bar b{position:absolute;right:4px;top:0;font-size:10px;color:#fff}.intel-arsenal{border:1px solid var(--panel-border);padding:8px 10px;margin-bottom:10px}.intel-arsenal-head{font-size:9px;color:var(--dim);letter-spacing:1px;display:flex;justify-content:space-between;margin-bottom:6px}.confidence.conf-LOW{color:var(--red)}.confidence.conf-MODERATE{color:var(--amber)}.confidence.conf-HIGH{color:var(--green)}.intel-arsenal-row{display:flex;justify-content:space-between;font-size:11px;padding:3px 0}.recon-btn{width:100%;border:1px solid var(--accent);background:#4fc3f71a;color:var(--accent);font-size:11px;letter-spacing:1px;padding:8px 0}.news-ticker{position:absolute;bottom:0;left:0;right:0;display:flex;align-items:center;background:#04080eeb;border-top:1px solid var(--panel-border);z-index:8;height:30px;overflow:hidden}.ticker-label{flex-shrink:0;background:var(--red);color:#fff;font-size:10px;letter-spacing:2px;font-weight:700;padding:0 12px;line-height:30px;height:100%}.ticker-text{padding:0 14px;font-size:11px;color:var(--text);white-space:nowrap;animation:ticker-in .5s ease-out}@keyframes ticker-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.countdown-stack{position:absolute;bottom:44px;left:50%;transform:translate(-50%);display:flex;gap:12px;z-index:9}.countdown-chip{font-size:13px;letter-spacing:2px;padding:7px 16px;background:#04080ee0;border:1px solid}.countdown-chip.inbound{color:var(--red);border-color:var(--red)}.countdown-chip.inbound.critical{animation:blink .6s steps(2) infinite;font-weight:700}.countdown-chip.outbound{color:var(--accent);border-color:var(--panel-border)}.danger-pulse{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:35;box-shadow:inset 0 0 130px #ff1e148c;animation:pulse-red .9s ease-in-out infinite}@keyframes pulse-red{0%,to{opacity:.35}50%{opacity:1}}.impact-flash{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:#fff;z-index:50;animation:flash-fade .7s ease-out forwards}.impact-flash.big{animation:flash-fade 1.4s ease-out forwards}@keyframes flash-fade{0%{opacity:.85}to{opacity:0}}.report-modal{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:560px;background:var(--panel);border:1px solid var(--amber);box-shadow:0 0 44px #ffd54f26;padding:18px 22px;z-index:28}.report-modal.on-player{border-color:var(--red);box-shadow:0 0 44px #ff3b2f4d}.report-modal h3{color:var(--amber);font-size:12px;letter-spacing:2px;margin-bottom:14px}.report-modal.on-player h3{color:var(--red)}.report-body{display:flex;gap:18px;margin-bottom:14px}.report-map{flex-shrink:0;border:1px solid var(--panel-border)}.report-grid{display:grid;grid-template-columns:128px 1fr;gap:8px 10px;font-size:11px;align-content:start}.report-grid span{color:var(--dim);font-size:9px;letter-spacing:1px;padding-top:2px}.report-injured{color:var(--amber)}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-thumb{background:var(--panel-border)}
