:root{--bg:#03070f;--panel:#060e1cdb;--panel-edge:#4da6ff2e;--text:#cfe3ff;--dim:#6f86a8;--accent:#4da6ff;--danger:#ff4d4d;--font:"JetBrains Mono", "Cascadia Mono", Consolas, Menlo, monospace;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body{background:var(--bg);height:100%;color:var(--text);font-family:var(--font);-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;margin:0;overflow:hidden}[hidden]{display:none!important}#stage,.map-canvas{touch-action:none;cursor:grab;display:block;position:fixed;inset:0}.map-canvas.dragging{cursor:grabbing!important}#ui{touch-action:manipulation;pointer-events:none;position:fixed;inset:0}#ui>*{pointer-events:auto}button{font:inherit;color:inherit;cursor:pointer}.brand{top:max(14px, env(safe-area-inset-top));position:absolute;left:18px;pointer-events:none!important}.brand .title{letter-spacing:.32em;color:#e8f2ff;text-shadow:0 0 12px #4da6ff8c;margin:0;font-size:22px;font-weight:700}.brand .title span{color:var(--danger);letter-spacing:.05em;text-shadow:0 0 12px #ff4d4d99}.brand p{letter-spacing:.2em;color:var(--dim);text-transform:uppercase;margin:4px 0 0;font-size:11px}.panel{background:var(--panel);border:1px solid var(--panel-edge);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);box-shadow:0 0 30px #00000080}.select-panel{border-radius:6px;flex-direction:column;gap:12px;width:340px;padding:16px;display:flex;position:absolute;top:14px;bottom:48px;right:14px}.select-panel h2{letter-spacing:.25em;text-transform:uppercase;color:var(--dim);margin:0;font-size:12px;font-weight:500}.country-list{flex:0 auto;grid-template-columns:1fr;gap:6px;min-height:0;margin:0;padding:0;list-style:none;display:grid;overflow-y:auto}.country-card{--c:var(--accent);border:1px solid #ffffff0f;border-left:3px solid var(--c);text-align:left;background:#ffffff05;border-radius:4px;grid-template-columns:34px 1fr auto;align-items:center;gap:10px;width:100%;padding:8px 10px;transition:background .15s,border-color .15s,box-shadow .15s;display:grid}.country-card .code{color:var(--c);text-shadow:0 0 8px var(--c);letter-spacing:.08em;font-weight:700}.country-card .name{font-size:13px}.country-card .meta{color:var(--dim);font-size:10px}.country-card:hover,.country-card.hovered{background:#ffffff0d}.country-card.selected{background:color-mix(in srgb, var(--c) 14%, transparent);border-color:color-mix(in srgb, var(--c) 60%, transparent);box-shadow:0 0 14px color-mix(in srgb, var(--c) 30%, transparent)}.doctrine{--c:var(--accent);flex:auto;min-height:0;font-size:12px;line-height:1.5;overflow-y:auto}.doctrine h3{color:var(--c);letter-spacing:.12em;text-transform:uppercase;text-shadow:0 0 10px var(--c);margin:0 0 8px;font-size:15px}.doctrine dl{grid-template-columns:76px 1fr;gap:4px 8px;margin:0;display:grid}.doctrine dt{color:var(--dim);text-transform:uppercase;letter-spacing:.15em;padding-top:2px;font-size:10px}.doctrine dd{margin:0}.doctrine .cities{color:var(--dim);font-size:11px}.doctrine .hint{color:var(--dim);margin:0}.deploy{border:1px solid var(--danger);color:#ffd6d6;letter-spacing:.2em;text-transform:uppercase;background:#ff4d4d1f;border-radius:4px;flex:none;padding:12px;font-weight:700;transition:background .15s,box-shadow .15s}.deploy:not(:disabled):hover{background:#ff4d4d40;box-shadow:0 0 18px #ff4d4d66}.deploy:disabled{color:var(--dim);cursor:default;background:0 0;border-color:#ffffff1a}.hud{--credits:#ffe08a;position:absolute;inset:0;pointer-events:none!important}.hud>*{pointer-events:auto}.hud-left{top:max(12px, env(safe-area-inset-top));flex-direction:column;align-items:flex-start;gap:6px;display:flex;position:absolute;left:12px;pointer-events:none!important}.hud-left>*{pointer-events:auto}.hud-right{top:max(12px, env(safe-area-inset-top));position:absolute;right:12px}.credits{border-radius:4px;align-items:baseline;gap:8px;padding:6px 12px;display:flex}.credits .label{color:var(--credits);opacity:.7}.credits-value{color:var(--credits);text-shadow:0 0 10px #ffe08a59;font-variant-numeric:tabular-nums;font-size:18px;font-weight:700}.credits-income{color:var(--dim);font-size:11px}.clock{--phase:#4da6ff;top:max(8px, env(safe-area-inset-top));background:var(--panel);border:1px solid color-mix(in srgb, var(--phase) 35%, transparent);border-radius:40px;align-items:center;gap:10px;padding:5px 16px 5px 5px;transition:border-color .6s;display:flex;position:absolute;left:50%;transform:translate(-50%);pointer-events:none!important}.clock[data-phase=defcon2]{--phase:#ffb03d}.clock[data-phase=defcon1]{--phase:#ff4d4d;animation:1.6s ease-in-out infinite alarm}.clock[data-phase=winter],.clock[data-phase=ended]{--phase:#d8ecff}@keyframes alarm{50%{box-shadow:0 0 22px #ff4d4d73}}.clock-face{width:58px;height:58px;position:relative}.clock-ring{width:100%;height:100%;transform:rotate(-90deg)}.clock-ring circle{fill:none;stroke-width:4px}.clock-ring .track{stroke:#ffffff12}.clock-ring .progress{stroke:var(--phase);stroke-linecap:round;filter:drop-shadow(0 0 3px var(--phase));transition:stroke .6s}.clock-text{flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.clock-time{font-variant-numeric:tabular-nums;font-size:14px;font-weight:700}.phase{flex-direction:column;gap:2px;display:flex}.phase-name{letter-spacing:.2em;text-transform:uppercase;color:var(--phase);text-shadow:0 0 10px var(--phase);white-space:nowrap;font-size:13px;font-weight:700}.phase-note{color:var(--dim);white-space:nowrap;font-size:10px}.scoreboard{border-radius:6px;flex-direction:column;gap:3px;width:180px;margin:0;padding:8px 10px;font-size:11px;list-style:none;display:flex;position:absolute;top:118px;left:12px}.scoreboard li{cursor:pointer;--c:var(--accent);border-radius:3px;grid-template-columns:24px 1fr 34px;align-items:center;gap:6px;padding:2px 4px;display:grid}.scoreboard li.me{background:color-mix(in srgb, var(--c) 12%, transparent);cursor:default}.scoreboard li:not(.me):hover{background:#ffffff0d}.scoreboard .tag{color:#c8ffd0;margin-left:2px;font-size:9px}.scoreboard li.ally{box-shadow:inset 2px 0 #5dff6a}.proposals{z-index:3;flex-direction:column;gap:6px;width:min(300px,100% - 24px);display:flex;position:absolute;top:60px;right:12px;pointer-events:none!important}.proposal{--c:var(--accent);border-left:3px solid var(--c);pointer-events:auto;border-radius:4px;padding:10px 12px;font-size:12px}.proposal p{margin:0 0 8px}.proposal strong{color:var(--c)}.proposal .timer{color:var(--dim)}.proposal .row,.result-actions{gap:6px;display:flex}.act.accept{color:#c8ffd0;border-color:#5dff6a99}.act.danger{color:#ffd0d0;border-color:#ff4d4d99}.nation-card{--c:var(--accent);z-index:4;border-left:3px solid var(--c);border-radius:6px;width:260px;padding:12px 14px;font-size:12px;position:absolute;top:118px;left:254px}.nation-card h3{letter-spacing:.14em;text-transform:uppercase;color:var(--c);margin:0 24px 4px 0;font-size:14px}.nation-card .status{color:var(--text);margin:0 0 10px}.nation-card .act{width:100%}.nation-card .hint{color:var(--dim);margin:8px 0 0;font-size:10px}.nation-card .close{color:var(--dim);background:0 0;border:none;font-size:18px;position:absolute;top:4px;right:6px}.result-actions{margin-top:14px}.result-actions .act{letter-spacing:.1em;text-transform:uppercase;padding:10px;font-size:12px}.scoreboard .code{color:var(--c);font-weight:700}.scoreboard .bar{background:#ffffff0f;border-radius:3px;height:5px;overflow:hidden}.scoreboard .fill{background:var(--c);height:100%;box-shadow:0 0 6px var(--c);transition:width .3s;display:block}.scoreboard .pct{text-align:right;color:var(--dim);font-variant-numeric:tabular-nums}.banner{--phase:#4da6ff;opacity:0;text-align:center;flex-direction:column;align-items:center;gap:6px;transition:opacity .5s,transform .5s;display:flex;position:absolute;top:28%;left:50%;transform:translate(-50%,10px);pointer-events:none!important}.banner.visible{opacity:1;transform:translate(-50%)}.banner[data-phase=defcon2]{--phase:#ffb03d}.banner[data-phase=defcon1]{--phase:#ff4d4d}.banner[data-phase=winter]{--phase:#d8ecff}.banner strong{letter-spacing:.3em;text-transform:uppercase;color:var(--phase);text-shadow:0 0 24px var(--phase);font-size:34px}.banner span{letter-spacing:.2em;text-transform:uppercase;color:var(--text);font-size:12px}.toast{z-index:9;text-align:center;background:var(--panel);color:#ffd6d6;opacity:0;border:1px solid #ff4d4d99;border-radius:4px;max-width:min(460px,100% - 24px);padding:8px 14px;font-size:12px;transition:opacity .3s;position:absolute;top:86px;left:50%;transform:translate(-50%);pointer-events:none!important}.toast.visible{opacity:1}.toast[data-tone=good]{color:#d4ffd8;border-color:#5dff6a99}.toast[data-tone=info]{color:#ffe6c2;border-color:#ffb03d99}.command{letter-spacing:.15em;color:#9fd4ff;border-radius:4px;padding:4px 12px;font-size:12px}.targeting{color:#ffd6d6;border:1px solid #ff4d4db3;border-radius:4px;align-items:center;gap:12px;max-width:min(420px,100% - 24px);padding:8px 8px 8px 14px;font-size:12px;animation:1.6s ease-in-out infinite alarm;display:flex;position:absolute;top:82px;left:50%;transform:translate(-50%)}.incoming{z-index:3;border-radius:6px;width:min(480px,100% - 24px);max-height:46vh;padding:10px 12px 12px;position:absolute;bottom:16px;left:50%;overflow-y:auto;transform:translate(-50%)}.incoming.alarm{border-color:#ff3b3bbf;box-shadow:0 0 24px #ff3b3b40}.incoming header{justify-content:space-between;align-items:baseline;margin-bottom:8px;display:flex}.incoming h3{letter-spacing:.25em;text-transform:uppercase;color:#ff6b6b;text-shadow:0 0 10px #ff3b3b99;margin:0;font-size:13px}.incoming:not(.alarm) h3{color:var(--dim);text-shadow:none}.command-pips{letter-spacing:.15em;color:#9fd4ff;font-size:12px}.threats{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.threats li{--c:var(--accent);border:1px solid #ff3b3b40;border-left:3px solid var(--c);background:#ff3b3b0f;border-radius:4px;padding:8px 10px}.threats li.urgent{background:#ff3b3b24;border-color:#ff3b3b99}.threats li.outgoing{border-color:#ffffff14;border-left-color:var(--c);background:#ffffff08}.threat-head{grid-template-columns:auto 1fr auto;align-items:baseline;gap:8px;display:grid}.threat-head .who{color:var(--c);font-weight:700}.threat-head .what{font-size:12px}.threat-head .countdown{color:#ff6b6b;font-variant-numeric:tabular-nums;font-size:16px;font-weight:700}.outgoing .countdown{color:var(--dim);font-size:12px}.threat-odds{flex-wrap:wrap;align-items:baseline;gap:4px 10px;margin:4px 0 6px;font-size:11px;display:flex}.threat-odds .odds{color:#9fd4ff;font-weight:700}.threat-odds.uncovered .odds,.threat-odds.uncovered .breakdown{opacity:.4;text-decoration:line-through}.threat-odds .breakdown{color:var(--dim);font-size:10px}.threat-odds .status{letter-spacing:.15em;color:#ffb03d;margin-left:auto;font-weight:700}.threat-odds .status.miss{color:#ff6b6b}.threat-actions{flex-wrap:wrap;gap:6px;display:flex}.act{background:#ffffff0a;border:1px solid #ffffff26;border-radius:3px;flex:auto;padding:7px 8px;font-size:11px}.act.intercept{color:#cfe6ff;border-color:#4da6ff99}.act.evacuate{color:#ffe0b0;border-color:#ffb03d8c}.act.retaliate{color:#ffd0d0;border-color:#ff4d4d99}.act:not(:disabled):hover{background:#ffffff1a}.act:disabled{opacity:.4;cursor:default}.act.evacuate.done{opacity:.6}.result{z-index:5;text-align:center;border-radius:8px;width:min(420px,100% - 24px);max-height:calc(100% - 24px);padding:20px;position:absolute;top:50%;left:50%;overflow-y:auto;transform:translate(-50%,-50%)}.result h2{letter-spacing:.35em;text-transform:uppercase;color:#d8ecff;text-shadow:0 0 18px #d8ecff99;margin:0 0 6px;font-size:26px}.result .verdict{margin:0;font-size:13px}.result .you{color:var(--dim);margin:4px 0 14px;font-size:12px}.standings{text-align:left;margin:0;padding:0;font-size:12px;list-style:none}.standings li{--c:var(--accent);border-radius:3px;grid-template-columns:20px 30px 1fr auto;gap:8px;padding:4px 8px;display:grid}.standings li.me{background:color-mix(in srgb, var(--c) 15%, transparent)}.standings .place{color:var(--dim)}.standings .code{color:var(--c);font-weight:700}.standings .pct{font-variant-numeric:tabular-nums}.build-panel{z-index:2;border-radius:6px;width:330px;max-height:calc(100% - 72px);padding:14px;position:absolute;top:60px;right:12px;overflow-y:auto}.build-panel .close{color:var(--dim);background:0 0;border:none;padding:2px 8px;font-size:20px;line-height:1;position:absolute;top:6px;right:8px}.build-panel .close:hover{color:var(--text)}.build-panel header{--c:var(--accent)}.build-panel h3{letter-spacing:.14em;text-transform:uppercase;color:var(--c);text-shadow:0 0 10px var(--c);margin:0 28px 2px 0;font-size:15px}.build-panel .stats{color:var(--dim);margin:0;font-size:11px}.build-panel h4{letter-spacing:.22em;text-transform:uppercase;color:var(--dim);margin:14px 0 6px;font-size:10px;font-weight:500}.units{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.units li{background:#ffffff08;border-radius:3px;grid-template-columns:1fr auto auto auto;align-items:center;gap:8px;padding:5px 8px;font-size:12px;display:grid}.units li.empty{color:var(--dim);font-size:11px;font-style:italic;display:block}.units .detail{color:var(--dim);font-variant-numeric:tabular-nums;font-size:11px}.units .load{color:var(--credits);background:0 0;border:1px solid #ffe08a59;border-radius:3px;padding:3px 7px;font-size:10px}.units .launch,.units .toggle{background:0 0;border-radius:3px;padding:3px 7px;font-size:10px}.units .launch{color:#ffd0d0;border:1px solid #ff4d4d8c}.units .toggle{color:var(--dim);border:1px solid #ffffff26}.units .toggle.on{color:#c8ffd0;border-color:#5dff6a99}.units .launch:disabled,.units .load:disabled,.build-btn:disabled,.evac:disabled{opacity:.4;cursor:default}.build-grid{grid-template-columns:1fr 1fr;gap:6px;display:grid}.build-btn{text-align:left;background:#ffffff08;border:1px solid #ffffff14;border-radius:4px;grid-template-columns:1fr auto;gap:2px 6px;padding:8px;transition:border-color .15s,background .15s;display:grid}.build-btn:not(:disabled):hover{background:#4da6ff14;border-color:#4da6ff99}.build-btn .what{font-size:12px;font-weight:700}.build-btn .cost{color:var(--credits);font-size:11px}.build-btn .blurb,.build-btn .why{color:var(--dim);grid-column:1/-1;font-size:10px;line-height:1.35}.build-btn .why{color:#ff8a8a}.build-btn .why:empty{display:none}.evac{color:#ffd9a0;background:#ffb03d14;border:1px solid #ffb03d73;border-radius:4px;width:100%;margin-top:12px;padding:8px;font-size:11px}.identity{--c:var(--accent);background:var(--panel);border:1px solid color-mix(in srgb, var(--c) 45%, transparent);border-radius:4px;align-items:center;gap:10px;padding:8px 12px;display:flex}.identity .code{color:var(--c);text-shadow:0 0 8px var(--c);font-weight:700}.identity .name{text-transform:uppercase;letter-spacing:.12em;font-size:13px}.identity .meta{color:var(--dim);font-size:10px}.ghost{background:var(--panel);color:var(--dim);border:1px solid #ffffff1a;border-radius:4px;padding:8px 12px;font-size:12px}.ghost:hover{color:var(--text)}.tooltip{--c:var(--accent);background:var(--panel);border:1px solid color-mix(in srgb, var(--c) 50%, transparent);white-space:nowrap;border-radius:3px;flex-direction:column;gap:2px;margin:14px 0 0 14px;padding:6px 9px;font-size:11px;display:flex;position:absolute;top:0;left:0;pointer-events:none!important}.tooltip strong{color:var(--c);letter-spacing:.1em;text-transform:uppercase}.tooltip span{color:var(--dim)}.tooltip em{color:#ffd0d0;font-style:normal}@media (width<=720px){.brand .title{font-size:17px}.select-panel{width:auto;max-height:52vh;padding:12px 12px max(12px, env(safe-area-inset-bottom));border-bottom:none;border-radius:12px 12px 0 0;gap:10px;inset:auto 0 0}.select-panel h2{display:none}.country-list{flex:none;grid-template-columns:repeat(3,1fr)}.country-card{text-align:center;border-left-width:1px;border-top:3px solid var(--c);grid-template-columns:1fr;gap:0;padding:6px 8px}.country-card .name{white-space:nowrap;text-overflow:ellipsis;font-size:10px;overflow:hidden}.country-card .meta{display:none}.doctrine{font-size:11px}.doctrine h3{margin-bottom:4px;font-size:13px}.doctrine dl{grid-template-columns:64px 1fr}.identity .meta,.identity .name,.phase-note,.credits .label{display:none}.identity,.ghost{padding:6px 10px}.credits{padding:4px 10px}.credits-value{font-size:15px}.clock{gap:6px;padding-right:12px}.clock-face{width:46px;height:46px}.clock-time{font-size:12px}.phase-name{letter-spacing:.12em;font-size:11px}.scoreboard{top:auto;bottom:max(8px, env(safe-area-inset-bottom));grid-template-columns:repeat(9,1fr);gap:4px;width:auto;padding:6px;font-size:9px;display:grid;left:8px;right:8px}.scoreboard li{text-align:center;grid-template-columns:1fr;gap:3px;padding:2px}.scoreboard .bar{height:4px}.scoreboard .pct{text-align:center}.banner strong{font-size:24px}.toast{top:124px}.incoming{max-height:40vh;bottom:64px}.nation-card{width:auto;inset:auto 12px 70px}.proposals{top:122px}.targeting{white-space:normal;width:calc(100% - 24px);font-size:11px;top:64px}.build-panel{width:auto;max-height:62vh;padding:14px 12px max(14px, env(safe-area-inset-bottom));border-bottom:none;border-radius:12px 12px 0 0;inset:auto 0 0}}.scoreboard{width:230px}.scoreboard li{grid-template-columns:24px 1fr 34px}.scoreboard .mid{flex-direction:column;gap:2px;min-width:0;display:flex}.scoreboard .who{color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-size:10px;overflow:hidden}.scoreboard li.me .who{color:var(--c)}.standings .name small{color:var(--dim);font-size:10px}.nation-card .nation{letter-spacing:.15em;text-transform:uppercase;color:var(--dim);margin:-2px 0 6px;font-size:10px}.comms{border-radius:6px;flex-direction:column;width:min(340px,50% - 260px);min-width:240px;display:flex;position:absolute;bottom:16px;left:12px;overflow:hidden}.comms-log{flex-direction:column;gap:3px;max-height:180px;margin:0;padding:8px 10px 4px;font-size:11px;line-height:1.35;list-style:none;display:flex;overflow-y:auto}.comms-log li{--c:var(--accent);overflow-wrap:anywhere}.comms-log .who{color:var(--c);margin-right:6px;font-weight:700}.comms-log li.me .text{color:#e8f2ff}.comms-log li.system{color:var(--dim);font-style:italic}.comms-row{gap:6px;margin:4px 8px 8px;display:flex}.comms-send,.comms-close,.chat-btn{display:none}.comms-input{min-width:0;font:inherit;color:var(--text);background:#ffffff0a;border:1px solid #ffffff1a;border-radius:3px;outline:none;flex:1;padding:6px 8px;font-size:11px}.comms-input:focus{border-color:#4da6ff99}.callsign-row{letter-spacing:.2em;text-transform:uppercase;color:var(--dim);grid-template-columns:auto 1fr;align-items:center;gap:4px 10px;font-size:10px;display:grid}.callsign{font:inherit;letter-spacing:.05em;text-transform:none;color:var(--text);background:#ffffff0a;border:1px solid #ffffff1f;border-radius:4px;outline:none;padding:7px 9px;font-size:13px}.callsign:focus{border-color:#4da6ff99}.callsign-hint{color:#ff8a8a;letter-spacing:.05em;text-transform:none;grid-column:2}.callsign-hint:empty{display:none}@media (width<=1100px){.comms{width:260px}.comms-log{max-height:120px}}@media (width<=720px){.scoreboard{width:auto}.scoreboard li{grid-template-columns:1fr}.scoreboard .who{display:none}.comms{width:auto;min-width:0;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border:none;inset:108px 8px auto;pointer-events:none!important}.comms-log{text-shadow:0 1px 3px #000;justify-content:flex-end;max-height:34px;padding:0 4px;overflow:hidden}.comms-row{display:none}.chat-btn{z-index:6;border:1px solid var(--panel-edge);background:var(--panel);cursor:pointer;border-radius:4px;width:40px;height:32px;padding:0;font-size:16px;line-height:1;display:block;position:absolute;top:82px;right:8px}.chat-btn[hidden],.chat-btn.active,body.aiming .chat-btn,body.aiming .audio-toggles{display:none}.comms.open{top:auto;bottom:var(--kb,0px);z-index:8;padding-bottom:env(safe-area-inset-bottom);border-top:1px solid var(--panel-edge);background:#060e1c;border-radius:12px 12px 0 0;left:0;right:0;pointer-events:auto!important}.comms.open .tip-slot{display:none}.comms.open .comms-log{max-height:30vh;text-shadow:none;padding:10px 12px 4px;overflow-y:auto}.comms.open .comms-row{margin:6px 10px 10px;display:flex}.comms.open .comms-input{padding:9px 10px;font-size:16px}.comms.open .comms-send,.comms.open .comms-close{font:inherit;color:var(--text);cursor:pointer;background:#4da6ff24;border:1px solid #4da6ff73;border-radius:4px;padding:0 12px;font-size:13px;display:block}.comms.open .comms-close{border-color:var(--panel-edge);color:var(--dim);background:0 0}.callsign-row span:first-child{display:none}.callsign-row{grid-template-columns:1fr}.callsign-hint{grid-column:1}}.audio-toggles{z-index:6;gap:6px;display:flex;position:absolute;bottom:16px;right:12px}.audio-btn{letter-spacing:.1em;background:var(--panel);color:var(--text);border:1px solid #ffffff1f;border-radius:3px;padding:5px 9px;font-size:10px}.audio-btn.off{color:var(--dim);text-decoration:line-through}.tip{background:#4da6ff14;border-left:3px solid #4da6ff;border-radius:4px;grid-template-columns:1fr auto;align-items:center;gap:4px 10px;margin:8px 8px 0;padding:8px 10px;font-size:11px;line-height:1.45;animation:.35s ease-out tip-in;display:grid}.tip .ghost{padding:4px 8px;font-size:10px}.tip strong{letter-spacing:.25em;text-transform:uppercase;color:#4da6ff;grid-column:1/-1;font-size:10px}.tip p{margin:0}@keyframes tip-in{0%{opacity:0;transform:translateY(-4px)}}.fx-vignette,.fx-flash,.fx-ash{position:absolute;inset:0;pointer-events:none!important}.fx-vignette[data-phase=defcon1]{background:radial-gradient(#0000 55%,#ff1e1e38 100%);animation:2.4s ease-in-out infinite vignette-pulse}.fx-vignette[data-phase=winter],.fx-vignette[data-phase=ended]{background:radial-gradient(#0000 45%,#aabed72e 100%)}@keyframes vignette-pulse{50%{opacity:.45}}.fx-flash{opacity:0}.fx-flash.go{animation:1.2s ease-out phase-flash}.fx-flash[data-phase=defcon2]{background:#ffb03d2e}.fx-flash[data-phase=defcon1]{background:#ff28284d}.fx-flash[data-phase=winter],.fx-flash[data-phase=ended]{background:#e6f0ff59}@keyframes phase-flash{0%{opacity:1}to{opacity:0}}.fx-ash{overflow:hidden}.fx-ash i{background:#d8e4f2;border-radius:50%;width:3px;height:3px;animation-name:ash-fall;animation-timing-function:linear;animation-iteration-count:infinite;position:absolute;top:-10px}@keyframes ash-fall{to{transform:translate(var(--drift), 105vh)}}@media (prefers-reduced-motion:reduce){.fx-ash,.fx-flash.go{display:none}.fx-vignette,.clock[data-phase=defcon1],.targeting{animation:none}}@media (width<=720px){.audio-toggles{top:52px;bottom:auto;right:8px}.act,.build-btn,.units .launch,.units .load,.units .toggle{min-height:40px}.tip{pointer-events:auto;background:#060e1ce6;margin:0 0 4px}}.select-notice{border:1px solid color-mix(in srgb, var(--danger) 50%, transparent);color:#ffb3b3;border-radius:4px;margin:0;padding:8px 10px;font-size:12px}.session-finder{z-index:30;border-radius:6px;flex-direction:column;gap:10px;width:min(380px,100vw - 32px);max-height:calc(100vh - 32px);padding:18px 18px 16px;display:flex;position:absolute;top:50%;left:50%;overflow-y:auto;transform:translate(-50%,-50%)}.session-finder header{justify-content:space-between;align-items:baseline;display:flex}.session-finder h2{letter-spacing:.18em;text-transform:uppercase;color:var(--accent);text-shadow:0 0 10px color-mix(in srgb, var(--accent) 60%, transparent);margin:0;font-size:14px}.session-finder.found h2{color:#7dffb0;text-shadow:0 0 12px #7dffb099}.finder-timer{font-variant-numeric:tabular-nums;color:var(--dim);font-size:13px}.finder-status{color:var(--dim);min-height:1.4em;margin:0;font-size:12px}.session-finder:not(.found) .finder-status:after{content:"";background:var(--accent);vertical-align:middle;border-radius:50%;width:6px;height:6px;margin-left:8px;animation:1.2s ease-in-out infinite finder-pulse;display:inline-block}.finder-seats{gap:4px;margin:0;padding:0;list-style:none;display:grid}.finder-seat{--c:var(--accent);border-left:3px solid color-mix(in srgb, var(--c) 30%, transparent);opacity:.55;background:#ffffff05;border-radius:3px;grid-template-columns:30px 1fr auto;align-items:center;gap:8px;padding:6px 10px;font-size:12px;transition:opacity .3s,background .3s,border-color .3s;display:grid}.finder-seat .code{color:var(--c);font-weight:700}.finder-seat .nation{color:var(--dim);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.finder-seat .seat-name{color:var(--text);text-overflow:ellipsis;white-space:nowrap;max-width:150px;overflow:hidden}.finder-seat:not(.filled) .seat-name:before{content:"waiting";color:color-mix(in srgb, var(--dim) 60%, transparent);font-style:italic}.finder-seat.filled{opacity:1;border-left-color:var(--c);background:color-mix(in srgb, var(--c) 8%, transparent)}.finder-seat.you .seat-name{color:var(--c);text-shadow:0 0 8px var(--c)}.finder-seat.joined{animation:.9s ease-out seat-joined}.finder-cancel{color:var(--dim);border:1px solid var(--panel-edge);font:inherit;cursor:pointer;background:0 0;border-radius:4px;align-self:center;margin-top:4px;padding:7px 22px;font-size:12px}.finder-cancel:hover:not(:disabled){color:var(--text);border-color:var(--accent)}.finder-cancel:disabled{opacity:.3;cursor:default}@keyframes finder-pulse{0%,to{opacity:.25;transform:scale(.8)}50%{opacity:1;transform:scale(1.2)}}@keyframes seat-joined{0%{background:color-mix(in srgb, var(--c) 35%, transparent)}to{background:color-mix(in srgb, var(--c) 8%, transparent)}}@media (prefers-reduced-motion:reduce){.finder-seat.joined,.session-finder:not(.found) .finder-status:after{animation:none}}.incoming .summary{display:none}.incoming.compact{z-index:4;bottom:calc(var(--sheet-top,0px) + 8px);cursor:pointer;max-height:none;padding:8px 12px;overflow:hidden}.incoming.compact header{gap:10px;margin:0}.incoming.compact .summary{text-align:right;color:#ffd6d6;font-variant-numeric:tabular-nums;white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:12px;display:inline;overflow:hidden}.incoming.compact .command-pips,.incoming.compact .threats{display:none}.comms-input.wait{border-color:#ffb03db3;animation:.35s ease-in-out chat-wait}@keyframes chat-wait{25%{transform:translate(-3px)}75%{transform:translate(3px)}}.flag{vertical-align:-.12em;border-radius:2px;flex:none;width:1.5em;height:1em;margin-right:.4em;display:inline-block;overflow:hidden;box-shadow:0 0 0 1px #ffffff2e}.flag svg{width:100%;height:100%;display:block}.code .flag{margin-right:0;font-size:13px}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.noscript{color:var(--text);padding:24px}.noscript a,.brand .guide{color:var(--accent)}.brand .guide{letter-spacing:.08em;pointer-events:auto;margin-top:6px;font-size:11px;text-decoration:none;display:inline-block}.brand .guide:hover{text-decoration:underline}.select-panel .party{color:var(--accent);font:inherit;letter-spacing:.08em;cursor:pointer;background:0 0;border:1px solid #4da6ff73;border-radius:4px;margin-top:-4px;padding:9px;font-size:12px}.select-panel .party:hover:not(:disabled){background:#4da6ff1f}.select-panel .party:disabled{opacity:.35;cursor:default}.finder-party{gap:6px;display:grid}.finder-party[hidden],.finder-start[hidden],.finder-link[hidden]{display:none}.finder-invite,.finder-start{font:inherit;letter-spacing:.08em;cursor:pointer;border-radius:4px;padding:9px;font-size:12px;font-weight:700}.finder-invite{color:var(--accent);background:#4da6ff1a;border:1px solid #4da6ff80}.finder-start{color:#fff;background:#7dffb02e;border:1px solid #7dffb099}.finder-start:disabled{opacity:.4;cursor:default}.finder-link{font:inherit;color:var(--text);background:#ffffff0a;border:1px solid #ffffff1f;border-radius:3px;padding:7px 8px;font-size:11px}.comms.no-chat .comms-row,.chat-btn.no-chat{display:none!important}@media (width>=721px) and (height<=600px){.comms-log{max-height:46px}.scoreboard li{padding-top:1px;padding-bottom:1px}.comms .tip-slot{display:none}}
