.icon{width:1em;height:1em;display:inline-block;vertical-align:-.125em;flex:none}.icon-round,.icon-round-spent{width:.4em}.icon-captions{width:1.429em}.icon-play-fast{width:1.417em}.icon-play-fastest{width:2em}.portrait{position:relative;display:inline-block;flex:none;overflow:hidden;border-radius:8px;background:radial-gradient(120% 90% at 50% 12%,#6fa8c729,#0000),#0a101a8c}.portrait-head{border-radius:50%;background:radial-gradient(120% 90% at 50% 8%,#6fa8c74d,#0000),#101824d1}.portrait-canvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;opacity:0;transition:opacity .26s ease-out}.portrait-canvas.shown{opacity:1}.portrait-placeholder{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;transition:opacity .26s ease-out}.portrait-placeholder.hidden{opacity:0}.portrait-silhouette{position:absolute;bottom:0;left:50%;transform:translate(-50%);height:78%;fill:#8cacc829}.portrait-initials{position:relative;font-size:15px;font-weight:700;letter-spacing:.06em;color:#bed4e8b3}.portrait-figure .portrait-initials{font-size:20px}@media(prefers-reduced-motion:reduce){.portrait-canvas,.portrait-placeholder{transition:none}}.soldier-portrait{border-radius:10px;border:1px solid var(--geo-line, rgba(111, 168, 199, .25))}.soldier-row:has(.soldier-portrait){grid-template-columns:auto 190px 1fr;align-items:center}.unit-headshot{position:relative;display:inline-flex;align-items:center;justify-content:center;width:66px;height:66px}.unit-headshot .portrait{margin:0}.action-ring{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:visible}.action-arc{fill:none;stroke-width:6;stroke-linecap:round}.action-arc.lit{stroke:var(--player, #6fa8c7);filter:drop-shadow(0 0 3px rgba(111,168,199,.55))}.action-arc.spent{stroke:#788ca547}.unit-headshot.spent .portrait{filter:grayscale(.55) brightness(.72)}.unit-headshot.dead .portrait{filter:grayscale(1) brightness(.5)}.unit-card:has(.unit-headshot){grid-template-columns:auto 1fr;column-gap:9px;align-items:center}.unit-card:has(.unit-headshot)>.unit-headshot{grid-column:1;grid-row:1 / span 4}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.medallion-canvas{display:block;max-width:100%}.medallion-stack{position:relative;max-width:100%}.medallion-stack .medallion-canvas{position:absolute;inset:0;width:100%;height:100%}.medallion-sweep{position:absolute;inset:3%;border-radius:50%;border:2px solid transparent;border-top-color:#6fa8c7e6;border-right-color:#6fa8c74d;animation:medallion-sweep 2.4s linear infinite;will-change:transform;pointer-events:none}@keyframes medallion-sweep{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.level-veil{position:fixed;inset:0;z-index:60;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:26px;background:radial-gradient(circle at 50% 47%,#6fa8c713,#0000 42%),#000;color:#93a2b5;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif;opacity:1;animation:level-veil-in .2s ease-out;transition:opacity .42s ease-in}.level-veil.is-leaving{opacity:0;pointer-events:none}@keyframes level-veil-in{0%{opacity:0}to{opacity:1}}.medallion-caption{margin:0;max-width:min(60ch,82vw);text-align:center;font-size:11px;font-weight:600;letter-spacing:.36em;text-transform:uppercase;color:#6b7a8d}.medallion-caption.is-failed{letter-spacing:.02em;text-transform:none;font-size:13px;color:#d96b5a}@media(prefers-reduced-motion:reduce){.medallion-sweep{animation:none;opacity:0}.medallion-caption{animation:medallion-breathe 2.8s ease-in-out infinite}}@keyframes medallion-breathe{0%,to{opacity:.35}50%{opacity:1}}.after-action .aar-crest{position:relative;overflow:hidden;display:flex;flex-direction:column;align-items:center;gap:8px;padding:4px 0 12px;margin-bottom:4px;--glow-w: 200px;--glow-h: 88px;border-radius:12px}.after-action .aar-crest.struck{background:radial-gradient(ellipse var(--glow-w) var(--glow-h) at 50% 44%,rgba(201,165,78,.15),rgba(0,0,0,0) 70%)}.after-action .aar-crest.turned{background:radial-gradient(ellipse var(--glow-w) var(--glow-h) at 50% 44%,rgba(208,160,90,.08),rgba(0,0,0,0) 70%)}.after-action .aar-crest.withheld{background:radial-gradient(ellipse var(--glow-w) var(--glow-h) at 50% 44%,rgba(111,168,199,.06),rgba(0,0,0,0) 70%)}.after-action .aar-crest.turned .medallion-canvas{filter:saturate(.55) brightness(.88)}.after-action .aar-crest.withheld .medallion-canvas{filter:grayscale(.85) brightness(.7) contrast(1.06)}.after-action .aar-crest-caption{font-size:10px;font-weight:600;letter-spacing:.28em;text-transform:uppercase;color:var(--geo-ink-soft)}.after-action .aar-crest.struck .aar-crest-caption{color:#7fae7a}.after-action .aar-crest.turned .aar-crest-caption{color:#d0a05a}.after-action .aar-crest.withheld .aar-crest-caption{color:var(--geo-warn)}.after-action .aar-outcome.abort{color:#d0a05a}.after-action .aar-confetti{position:absolute;inset:0 0 26px;pointer-events:none;z-index:0;-webkit-mask-image:linear-gradient(to bottom,#000 62%,rgba(0,0,0,0) 100%);mask-image:linear-gradient(to bottom,#000 62%,#0000)}.after-action .aar-crest .medallion-canvas,.after-action .aar-crest-caption{position:relative;z-index:1}.after-action .aar-confetti i{position:absolute;top:0;left:var(--x);--fall: 200px;width:var(--w);height:var(--h);border-radius:1px;opacity:0;animation:aar-fall var(--dur) linear var(--delay) 4 both}.after-action .aar-confetti i.tint-0{background:#c9a54e}.after-action .aar-confetti i.tint-1{background:var(--geo-accent)}.after-action .aar-confetti i.tint-2{background:#cdd8e6}@keyframes aar-fall{0%{transform:translate3d(0,-140%,0) rotate(0);opacity:0}12%{opacity:1}82%{opacity:1}to{transform:translate3d(var(--drift),var(--fall),0) rotate(var(--spin));opacity:0}}@media(prefers-reduced-motion:reduce){.after-action .aar-confetti{display:none}}@media(max-width:900px),(max-height:560px){.after-action .aar-crest{gap:6px;padding:2px 0 8px;--glow-w: 130px;--glow-h: 62px}.after-action .aar-crest .medallion-canvas{max-width:84px;max-height:84px}.after-action .aar-confetti i:nth-child(2n){display:none}.after-action .aar-confetti i{--fall: 120px}}@media(max-height:560px){.after-action .aar-crest{--glow-w: 108px;--glow-h: 52px}.after-action .aar-crest .medallion-canvas{max-width:64px;max-height:64px}.after-action .aar-crest-caption{font-size:9px;letter-spacing:.2em}.after-action .aar-confetti i{--fall: 95px}}.difficulty{margin:0 0 16px}.difficulty-legend{margin:0 0 8px;font-size:10px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--geo-ink-soft)}.difficulty-options{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}@media(max-width:720px){.difficulty-options{grid-template-columns:repeat(2,1fr)}}.difficulty-option{font:inherit;font-size:12px;font-weight:600;padding:9px 6px;text-align:center;border:1px solid var(--geo-line);border-radius:8px;background:#17202d;color:var(--geo-ink-soft);cursor:pointer;touch-action:manipulation}.difficulty-option:hover{color:var(--geo-ink);border-color:var(--geo-accent);background:#6fa8c724}.difficulty-option.is-chosen{background:var(--geo-accent);border-color:var(--geo-accent);color:#0e1420}.difficulty-option:focus-visible{outline:2px solid var(--geo-accent);outline-offset:2px}.difficulty-blurb{margin:10px 0 0;min-height:2.8em;font-size:11px;line-height:1.4;color:var(--geo-ink-soft)}.screen-button{position:fixed;top:16px;right:68px;z-index:6;display:flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;border:1px solid var(--geo-line);border-radius:50%;background:#1319228c;backdrop-filter:blur(6px);color:var(--geo-ink-soft);font-size:16px;cursor:pointer;touch-action:manipulation}.screen-button:hover{color:var(--geo-ink);border-color:var(--geo-accent);background:#6fa8c72e}.screen-button:focus-visible{outline:2px solid var(--geo-accent);outline-offset:2px}@media(max-width:900px),(max-height:560px){.screen-button{top:calc(12px + env(safe-area-inset-top,0px));right:calc(64px + env(safe-area-inset-right,0px))}}@media(pointer:coarse){.screen-button{width:44px;height:44px}}:root{--geo-ink: #e8eef6;--geo-ink-soft: #93a2b5;--geo-panel: rgba(20, 27, 38, .92);--geo-line: #2f3d51;--geo-accent: #6fa8c7;--geo-warn: #d96b5a;--doom-empty: #263248;--defcon-5: #57c98a;--defcon-4: #d9c04a;--defcon-3: #e08a3c;--defcon-2: #e0563f;--defcon-1: #ff4b32}*{box-sizing:border-box}html,body{margin:0;height:100%;background:#131922;color:var(--geo-ink);font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif;overflow:hidden}#globe{position:fixed;inset:0;width:100%;height:100%;display:block;touch-action:none;opacity:0;transition:opacity .9s ease-out}#globe.ready{opacity:1}@media(prefers-reduced-motion:reduce){#globe{transition:none}}.dot-aura{position:fixed;inset:0;width:100%;height:100%;pointer-events:none;z-index:0}.geo{position:fixed;inset:0;pointer-events:none;padding:16px;z-index:1}.geo button{pointer-events:auto}.geo-top{display:flex;align-items:center;gap:20px;flex-wrap:wrap;background:var(--geo-panel);border:1px solid var(--geo-line);border-radius:12px;padding:10px 16px;width:fit-content}.geo-top-strip{display:contents}.geo-clock{display:flex;flex-direction:column;line-height:1.15}.geo-clock strong{font-size:17px}.geo-clock span{font-size:11px;color:var(--geo-ink-soft)}.geo-resources{display:flex;gap:16px}.geo-res{display:flex;flex-direction:column;line-height:1.15}.geo-res strong{font-size:15px}.geo-res em{font-size:10px;font-style:normal;color:var(--geo-ink-soft);text-transform:uppercase;letter-spacing:.06em}.geo-doom{display:flex;align-items:center;gap:10px;--tier: var(--defcon-5)}.level-secure{--tier: var(--defcon-5)}.level-rising{--tier: var(--defcon-4)}.level-severe{--tier: var(--defcon-3)}.level-critical{--tier: var(--defcon-2)}.level-countdown{--tier: var(--defcon-1)}.geo-doom-head{display:flex;align-items:center;gap:7px}.geo-doom-title{font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:var(--tier);white-space:nowrap}.geo-doom-tier{font-weight:700}.geo-doom-count{font-size:13px;font-weight:700;color:var(--geo-ink);font-variant-numeric:tabular-nums;white-space:nowrap}.geo-doom-count i{font-style:normal;font-weight:400;color:var(--geo-ink-soft)}.geo-doom-status{font-size:10px;text-transform:uppercase;letter-spacing:.06em;white-space:nowrap;color:var(--tier)}.geo-doom-mark{visibility:hidden;width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-bottom:9px solid var(--tier)}.geo-doom-pips{display:flex;gap:3px}.geo-doom .pip{width:9px;height:18px;border-radius:2px;background:var(--doom-empty);border:1px solid transparent}.geo-doom .pip.band{margin-left:4px}.geo-doom .pip.lit{background:var(--tier)}.level-critical .geo-doom-status,.level-countdown .geo-doom-status{padding:2px 6px;border-radius:4px;font-weight:700;color:#16110c}.level-critical .geo-doom-status,.level-countdown .geo-doom-status{background:var(--tier)}.level-critical .geo-doom-mark,.level-countdown .geo-doom-mark{visibility:visible}.level-critical .pip:not(.lit),.level-countdown .pip:not(.lit){border-color:#ffffff38}.geo-doom .pip.hazard{background-image:repeating-linear-gradient(-45deg,rgb(255 255 255 / 20%) 0 2px,transparent 2px 4px)}.geo-doom .pip.hazard.lit{background-image:repeating-linear-gradient(-45deg,rgb(0 0 0 / 30%) 0 2px,transparent 2px 4px)}@keyframes doom-pulse{50%{filter:brightness(1.45)}}.level-critical .pip.lit:nth-last-child(-n+3),.level-countdown .pip.lit{animation:doom-pulse 1.6s ease-in-out infinite}@media(prefers-reduced-motion:reduce){.level-critical .pip.lit:nth-last-child(-n+3),.level-countdown .pip.lit{animation:none}}.geo-doom-note{display:none}.geo-panel{position:absolute;left:16px;top:292px;transform:none;max-height:calc(100dvh - 400px);overflow-y:auto;width:290px;background:var(--geo-panel);border:1px solid var(--geo-line);border-radius:12px;padding:16px;pointer-events:auto}.geo-panel h2{margin:0 0 2px;font-size:18px}.geo-continent{margin:0 0 12px;font-size:11px;color:var(--geo-ink-soft);text-transform:capitalize}.geo-hint{font-size:12px;color:var(--geo-ink-soft);line-height:1.5}.geo-stats{margin:0 0 14px;display:flex;flex-direction:column;gap:5px}.geo-stats>div{display:flex;justify-content:space-between;font-size:12px}.geo-stats dt{color:var(--geo-ink-soft);margin:0}.geo-stats dd{margin:0}.geo-panel button{width:100%;font:inherit;font-size:13px;padding:9px 12px;border:1px solid var(--geo-accent);border-radius:8px;background:#6fa8c729;color:var(--geo-ink);cursor:pointer}.geo-panel button:disabled{opacity:.42;cursor:default;border-color:var(--geo-line);background:transparent}.geo-log{margin-top:14px;display:flex;flex-direction:column;gap:3px;font-size:11px;color:var(--geo-ink-soft)}.geo-bottom{position:absolute;left:50%;bottom:calc(20px + env(safe-area-inset-bottom,0px));transform:translate(-50%);display:flex;align-items:center;gap:14px;background:var(--geo-panel);border:1px solid var(--geo-line);border-radius:999px;padding:8px 10px 8px 18px}.geo-advance,.geo-ack{font:inherit;font-size:14px;font-weight:600;padding:9px 22px;border-radius:999px;border:1px solid var(--geo-accent);background:var(--geo-accent);color:#0e1420;cursor:pointer}.geo-ack{border-color:var(--geo-warn);background:var(--geo-warn);color:#fff}.geo-speed{display:flex;align-items:center;gap:6px}.geo-rate{display:inline-flex;align-items:center;justify-content:center;font:inherit;font-size:12px;line-height:1;min-width:38px;padding:9px 8px;border-radius:999px;cursor:pointer;border:1px solid var(--geo-line);background:transparent;color:var(--geo-ink-soft)}.geo-rate .icon{font-size:13px}.geo-rate:hover{border-color:var(--geo-accent);color:var(--geo-ink)}.geo-rate.active{border-color:var(--geo-accent);background:#6fa8c738;color:#fff}.geo-advance.paused{background:transparent;color:var(--geo-accent)}.geo-lock{font-size:13px;font-weight:600;color:var(--geo-accent);padding:9px 4px}.geo-nav button:disabled{opacity:.32;cursor:not-allowed}.geo-contacts{font-size:11px;color:var(--geo-ink-soft)}@media(max-width:720px){.geo-panel{position:static;transform:none;width:auto;margin-top:12px}.geo-top{width:auto}}.geo-nav{position:absolute;left:16px;top:76px;display:flex;flex-direction:column;gap:4px;pointer-events:auto}.geo-nav button{font:inherit;font-size:12px;text-align:left;padding:6px 12px;border-radius:6px;border:1px solid var(--geo-line);background:var(--geo-panel);color:var(--geo-ink);cursor:pointer}.geo-nav button.active{border-color:var(--geo-accent);color:#fff}.screen{position:absolute;inset:76px 16px 80px 150px;overflow:auto;pointer-events:auto;background:var(--geo-panel);border:1px solid var(--geo-line);border-radius:12px;padding:16px}.screen-head{display:flex;align-items:baseline;gap:16px;margin-bottom:14px}.screen-head h2{margin:0;font-size:18px}.screen-head .rate,.screen-head .power{margin-left:auto;font-size:12px;color:var(--geo-ink-soft)}.screen-head .power.over{color:var(--geo-warn)}.screen h4{margin:14px 0 6px;font-size:12px;color:var(--geo-ink-soft);text-transform:uppercase;letter-spacing:.06em}.hint{font-size:12px;color:var(--geo-ink-soft);line-height:1.5}.completed{font-size:11px;color:var(--geo-ink-soft);margin-top:14px;line-height:1.6}.base-body{display:flex;gap:16px;align-items:flex-start}.base-tabs{display:flex;gap:6px}.base-tabs button{font:inherit;font-size:11px;padding:4px 10px;border-radius:999px;border:1px solid var(--geo-line);background:transparent;color:var(--geo-ink);cursor:pointer}.base-tabs button.active{border-color:var(--geo-accent)}.cutaway{display:grid;gap:6px;flex:1 1 auto;max-width:460px}.room{position:relative;aspect-ratio:4 / 3;min-height:60px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;font:inherit;font-size:10px;text-align:center;border:1px solid var(--geo-line);border-radius:8px;cursor:pointer;background:#1a2130;color:var(--geo-ink-soft)}.room-blocked{background:#10141c}.room-empty{background:#202a3a;color:var(--geo-ink);border-style:dashed}.room-built{background:#22354a;color:var(--geo-ink)}.room-excavating,.room-building{background:#1d2738}.room.magnetic{box-shadow:inset 0 0 0 2px #ffd27f80}.room.selected{border-color:var(--geo-accent)}.room-progress{position:absolute;left:6px;right:6px;bottom:6px;height:3px;background:#0d121a;border-radius:2px}.room-progress span{display:block;height:100%;background:var(--geo-accent);border-radius:2px}.room-staff{position:absolute;top:4px;right:6px;color:var(--geo-accent)}.room-detail{flex:0 0 250px}.room-detail h3{margin:0 0 6px;font-size:14px}.room-detail button,.build-option{display:flex;justify-content:space-between;gap:8px;width:100%;font:inherit;font-size:12px;margin-top:5px;padding:7px 10px;border:1px solid var(--geo-line);border-radius:6px;background:#6fa8c71f;color:var(--geo-ink);cursor:pointer;text-align:left}.build-option em{font-style:normal;font-size:10px;color:var(--geo-ink-soft)}.room-detail button:disabled,.build-option:disabled{opacity:.4;cursor:default}.staff-tray{margin-top:16px;border-top:1px solid var(--geo-line);padding-top:12px}.staff-tray h4{margin-top:0}.staff-chips{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:8px}.chip{font-size:11px;padding:3px 8px;border-radius:999px;background:#223047;display:flex;gap:5px}.chip em{font-style:normal;font-size:9px;color:var(--geo-ink-soft)}.chip.scientist{background:#23384a}.staff-assign button{font-size:11px}.current-project{display:flex;flex-direction:column;gap:5px;margin-bottom:14px}.current-project .bar{height:6px;background:#16202e;border-radius:3px;overflow:hidden}.current-project .bar span{display:block;height:100%;background:var(--geo-accent)}.current-project em{font-style:normal;font-size:11px;color:var(--geo-ink-soft)}.current-project.stalled .bar span{background:var(--geo-warn)}.current-project.stalled em{color:var(--geo-warn)}.research-stall{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin:-6px 0 14px;padding:9px 12px;border-radius:8px;border:1px solid #5c4436;border-left:3px solid var(--geo-warn);background:#d96b5a12}.research-stall-what{font-size:12px;color:var(--geo-ink)}.research-stall-pay{font:inherit;font-size:11px;padding:6px 12px;border-radius:999px;cursor:pointer;border:1px solid var(--geo-warn);background:#d96b5a2e;color:var(--geo-ink);margin-left:auto}.research-stall-pay:hover:not(:disabled){background:var(--geo-warn);color:#fff}.research-stall-pay:disabled{opacity:.45;cursor:default}.briefing-text .research-stall-pay{margin-left:0;align-self:flex-start;font-size:13px;padding:8px 20px;background:var(--geo-warn);border-color:var(--geo-warn);color:#fff}.briefing-text .research-stall-pay:disabled{background:transparent;color:var(--geo-ink-soft)}.research-stall-note,.research-opened{font-size:11px;color:var(--geo-ink-soft);line-height:1.5}.research-opened{color:var(--geo-accent)}.project-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:10px}.project{display:flex;flex-direction:column;gap:0;text-align:left;font:inherit;padding:0;overflow:hidden;border:1px solid var(--geo-line);border-radius:8px;background:#6fa8c714;color:var(--geo-ink);cursor:pointer}.project:disabled{opacity:.4;cursor:default}.project:not(:disabled):hover{border-color:var(--geo-accent)}.project-name{font-size:13px;font-weight:600;padding:9px 12px 0}.project-cost{font-size:11px;color:var(--geo-accent);padding:3px 12px 0}.project-blurb{font-size:11px;color:var(--geo-ink-soft);line-height:1.4;padding:5px 12px 11px}.project .project-gate{padding:0 12px 10px}.research-art{display:block;position:relative;width:100%;overflow:hidden;background:#0d131c;color:var(--geo-ink-soft)}.research-art.research-art-card{aspect-ratio:640 / 200}.research-art.research-art-detail{aspect-ratio:768 / 576}.research-art img,.research-art svg{display:block;width:100%;height:100%;object-fit:cover}.research-art-card img{filter:saturate(.86) brightness(.82)}.project:not(:disabled):hover .research-art-card img{filter:saturate(1) brightness(.95)}.research-art-card:after{content:"";position:absolute;inset:auto 0 0;height:40%;background:linear-gradient(180deg,#10161f00,#10161feb);pointer-events:none}.project-detail-scrim{position:fixed}.briefing-panel.project-detail{width:min(800px,94vw);max-height:88vh;overflow-y:auto}.project-detail-art{flex:0 0 340px;width:340px;align-self:flex-start;border-radius:10px;border:1px solid var(--geo-line)}.project-detail-name{margin:0;font-size:20px}.project-detail-blurb{margin:0;font-size:13px;line-height:1.6;color:var(--geo-ink)}.project-detail-cost{display:grid;gap:4px;margin:4px 0 0;padding-top:10px;border-top:1px solid var(--geo-line);font-size:12px}.project-detail-cost>div{display:flex;gap:10px}.project-detail-cost dt{margin:0;min-width:66px;color:var(--geo-ink-soft);text-transform:uppercase;letter-spacing:.06em;font-size:10px;line-height:1.5}.project-detail-cost dd{margin:0;color:var(--geo-ink)}.project-detail-gate{margin:0;font-size:11px;color:var(--geo-warn)}.project-detail-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:auto}.project-begin{font:inherit;font-size:13px;font-weight:600;padding:9px 18px;border-radius:999px;cursor:pointer;border:1px solid var(--geo-accent);background:var(--geo-accent);color:#0e1420}.project-begin:disabled{opacity:.4;cursor:default}.project-cancel{font:inherit;font-size:11px;padding:9px 14px;border-radius:999px;cursor:pointer;border:1px solid var(--geo-line);background:transparent;color:var(--geo-ink-soft);display:inline-flex;align-items:center;gap:6px}.project-cancel:hover{color:var(--geo-ink);border-color:var(--geo-ink-soft)}.briefing.project-detail-scrim{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;overflow-y:auto;padding:16px 0}.project-detail-scrim>.scientist-over{margin-top:auto}.project-detail-scrim>.briefing-panel{margin-bottom:auto}.scientist-over{width:min(800px,94vw);display:flex;align-items:flex-end;justify-content:center;gap:14px;margin-bottom:-22px;position:relative;z-index:1;pointer-events:none}.scientist-bust{position:relative;flex:0 0 auto;padding:0;border:0;background:none;font:inherit;color:inherit;overflow:visible;pointer-events:auto;cursor:pointer;border-radius:50% 50% 16% 16%/44% 44% 12% 12%}.scientist-bust:before{content:"";position:absolute;inset:-5px;border:1px solid transparent;border-radius:inherit;transition:border-color .14s ease-out}.scientist-bust:hover:before{border-color:#6fa8c7bf}.scientist-bust:focus-visible{outline:2px solid var(--geo-accent);outline-offset:4px}.scientist-cc{position:absolute;right:8px;bottom:16px;display:grid;place-items:center;width:28px;height:21px;border:1px solid var(--geo-line);border-radius:6px;background:var(--geo-panel);color:var(--geo-ink-soft);transition:color .14s ease-out,border-color .14s ease-out}.scientist-cc svg{width:17px;height:auto}.scientist-bust:hover .scientist-cc{color:var(--geo-ink);border-color:var(--geo-accent)}.scientist-bust[aria-expanded=true] .scientist-cc{color:#0e1420;border-color:var(--geo-accent);background:var(--geo-accent)}.scientist-over .scientist-bust{width:150px;height:162px;background:radial-gradient(ellipse 56% 44% at 50% 66%,#080c128c,#080c1200 72%)}.scientist-over .scientist-canvas{width:100%;height:100%;border-radius:0;background:none;filter:drop-shadow(0 6px 10px rgba(4,7,11,.6));-webkit-mask-image:linear-gradient(180deg,#000 58%,rgba(0,0,0,.3) 85%,transparent 99%);mask-image:linear-gradient(180deg,#000 58%,rgba(0,0,0,.3) 85%,transparent 99%)}.scientist-bubble{pointer-events:auto;flex:1 1 auto;min-width:0;margin-bottom:30px;display:grid;gap:5px;padding:9px 13px 11px;background:var(--geo-panel);border:1px solid var(--geo-line);border-left:3px solid var(--geo-accent);border-radius:10px;backdrop-filter:blur(6px)}.scientist-bubble .briefing-caption{font-size:13px;line-height:1.5}.scientist-briefing .scientist-bust{border-radius:10px;align-self:flex-start}.autopsy-block{margin-top:22px}.autopsy-block h3{margin:0 0 8px;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--geo-ink-soft);display:flex;align-items:center;gap:8px}.autopsy-count{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:var(--geo-warn);color:#fff;font-size:11px;letter-spacing:0}.autopsy-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:10px;align-items:stretch}.autopsy{display:flex;flex-direction:column;gap:6px;padding:12px 14px;border:1px solid #5c4436;border-left:3px solid var(--geo-warn);border-radius:8px;background:#d96b5a12}.autopsy-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.autopsy-name{font-size:13px;font-weight:600}.autopsy-from{font-size:10px;color:var(--geo-ink-soft);text-transform:uppercase;letter-spacing:.05em}.autopsy-report+.autopsy-actions{margin-top:auto}.autopsy-blurb{margin:0;font-size:11px;color:var(--geo-ink-soft);line-height:1.4}.autopsy-report{margin:0;font-size:11px;line-height:1.5;color:var(--geo-ink);font-style:italic;opacity:.85;border-left:1px solid var(--geo-line);padding-left:9px}.autopsy-actions{display:flex;gap:6px;flex-wrap:wrap}.autopsy-listen,.autopsy-start{font:inherit;font-size:11px;padding:5px 10px;border-radius:6px;cursor:pointer;border:1px solid var(--geo-line);background:transparent;color:var(--geo-ink)}.autopsy-listen:hover{border-color:var(--geo-accent);color:#fff}.autopsy-start{border-color:var(--geo-warn);background:#d96b5a2e}.autopsy-start:hover{background:var(--geo-warn);color:#fff}.autopsy-unlocks{font-size:10px;color:var(--geo-accent);text-transform:uppercase;letter-spacing:.05em}.soldier-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:8px}.soldier{display:flex;flex-direction:column;gap:2px;padding:10px 12px;border:1px solid var(--geo-line);border-radius:8px;background:#1a2231}.soldier.wounded{border-color:#a8763f}.soldier.dead{opacity:.45}.soldier-name{font-size:13px;font-weight:600}.soldier-rank,.soldier-stats,.soldier-status{font-size:11px;color:var(--geo-ink-soft)}.mission-list,.dark-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:8px}.mission,.dark-event{display:flex;flex-direction:column;gap:4px;padding:10px 12px;border:1px solid var(--geo-line);border-radius:8px;background:#1a2231}.mission-name{font-size:13px;font-weight:600}.mission-meta,.mission-blurb{font-size:11px;color:var(--geo-ink-soft)}.mission-danger{display:flex;align-items:center;gap:6px;font-size:11px;font-weight:600;color:var(--geo-ink);text-transform:lowercase}.danger-pips{display:inline-flex;gap:2px}.danger-pips i{width:6px;height:10px;border-radius:1px;border:1px solid currentColor;opacity:.35}.danger-pips i.on{background:currentColor;opacity:1}.mission-danger.danger-1{color:#7fd8a0}.mission-danger.danger-2{color:#e0c06a}.mission-danger.danger-3{color:var(--geo-warn)}.mission button,.dark-event button{font:inherit;font-size:11px;margin-top:4px;padding:5px 10px;border:1px solid var(--geo-accent);border-radius:6px;background:#6fa8c726;color:var(--geo-ink);cursor:pointer}.mission button:disabled{opacity:.4;cursor:default}.dark-event em{font-style:normal;font-size:11px;color:var(--geo-ink-soft)}.geo-outcome{position:absolute;inset:0;display:grid;place-content:center;gap:6px;text-align:center;background:#06090ee0;pointer-events:auto}.geo-outcome strong{font-size:30px}.geo-outcome.victory strong{color:#7fd8a0}.geo-outcome.doom strong,.geo-outcome.wiped strong{color:var(--geo-warn)}.geo-outcome span{font-size:13px;color:var(--geo-ink-soft)}.briefing{position:absolute;inset:0;display:grid;place-items:center;background:#05080cd1;pointer-events:auto;z-index:30}.briefing-panel{display:flex;gap:18px;align-items:stretch;width:min(680px,92vw);padding:18px;background:var(--geo-panel);border:1px solid var(--geo-accent);border-radius:14px}.commander-canvas{width:220px;height:240px;flex:0 0 auto;border-radius:10px;background:linear-gradient(180deg,#1b2534,#101720)}.briefing-text{display:flex;flex-direction:column;gap:8px;flex:1 1 auto}.briefing-who{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--geo-accent)}.briefing-caption{margin:0;font-size:15px;line-height:1.55}.briefing-novoice{font-size:10px;color:var(--geo-ink-soft)}.briefing-dismiss{margin-top:auto;align-self:flex-start;font:inherit;font-size:13px;padding:8px 20px;border-radius:999px;border:1px solid var(--geo-accent);background:var(--geo-accent);color:#0e1420;cursor:pointer}@media(max-width:720px){.screen{left:16px;top:200px}.geo-nav{flex-direction:row;flex-wrap:wrap;top:130px}.briefing-panel{flex-direction:column}.commander-canvas{width:100%;height:180px}.scientist-briefing .scientist-bust{align-self:stretch;width:100%}.scientist-over{flex-direction:column-reverse;align-items:stretch;gap:8px;margin-bottom:-16px}.scientist-over .scientist-bust{align-self:center;width:116px;height:126px}.scientist-bubble{margin-bottom:0}.project-detail-art{flex:0 0 auto;width:100%}}.after-action .aar-panel{width:min(920px,94vw);max-height:88vh;overflow-y:auto;background:var(--geo-panel);border:1px solid var(--geo-line);border-radius:14px;padding:22px 24px;backdrop-filter:blur(8px)}.aar-head{margin-bottom:16px}.aar-head h2{margin:4px 0 2px;font-size:20px;text-transform:capitalize}.aar-outcome{font-size:11px;letter-spacing:.1em;text-transform:uppercase}.aar-outcome.win{color:#7fae7a}.aar-outcome.loss,.aar-outcome.abort{color:var(--geo-warn)}.aar-sub{font-size:11px;color:var(--geo-ink-soft)}.aar-rows{display:flex;flex-direction:column;gap:12px}.aar-soldier{display:grid;grid-template-columns:190px 1fr;gap:12px 18px;padding:14px;border:1px solid var(--geo-line);border-radius:10px;background:#6fa8c70d}.aar-soldier.promoted{border-color:var(--geo-accent);background:#6fa8c71c}.aar-soldier.dead{opacity:.55;border-color:#5c3a36}.aar-id{display:flex;flex-direction:column;gap:3px}.aar-id strong{font-size:14px}.aar-class{font-size:11px;color:var(--geo-ink-soft)}.aar-kia{font-size:11px;color:var(--geo-warn);text-transform:uppercase;letter-spacing:.06em}.aar-wounded{font-size:11px;color:#d0a05a}.aar-progress{display:flex;flex-direction:column;gap:5px}.aar-rankline{display:flex;align-items:baseline;gap:8px;font-size:13px}.rank-old{color:var(--geo-ink-soft)}.rank-arrow{color:var(--geo-accent)}.rank-new{color:#fff;font-weight:600}.rank-same{color:var(--geo-ink-soft)}.aar-xp{margin-left:auto;font-size:12px;color:var(--geo-accent)}.aar-bar{height:5px;border-radius:3px;background:#1b2432;overflow:hidden}.aar-bar span{display:block;height:100%;background:var(--geo-accent)}.aar-next{font-size:10px;color:var(--geo-ink-soft)}.aar-stats{display:flex;gap:12px;font-size:11px;color:var(--geo-ink-soft);margin-top:2px}.stat-delta em{font-style:normal;color:#7fae7a;margin-left:3px}.aar-choice{grid-column:1 / -1;display:flex;flex-direction:column;gap:7px}.aar-choice-label{font-size:10px;letter-spacing:.09em;text-transform:uppercase;color:var(--geo-warn)}.aar-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:8px}.aar-option{display:flex;flex-direction:column;gap:3px;text-align:left;font:inherit;padding:10px 12px;cursor:pointer;border:1px solid var(--geo-line);border-radius:8px;background:#17202d;color:var(--geo-ink)}.aar-option:hover:not(:disabled){border-color:var(--geo-accent);background:#6fa8c729}.aar-option:disabled{opacity:.4;cursor:default}.aar-option.suggested{border-color:var(--geo-accent)}.aar-option-path{font-size:9px;letter-spacing:.08em;text-transform:uppercase;color:var(--geo-ink-soft)}.aar-option-name{font-size:13px;font-weight:600}.aar-option-blurb{font-size:11px;color:var(--geo-ink-soft);line-height:1.4}.aar-foot{display:flex;align-items:center;gap:14px;margin-top:18px}.aar-pending{font-size:11px;color:var(--geo-warn)}.aar-dismiss{margin-left:auto;font:inherit;font-size:13px;font-weight:600;padding:9px 22px;border-radius:999px;cursor:pointer;border:1px solid var(--geo-accent);background:var(--geo-accent);color:#0e1420}.settings-list{display:flex;flex-direction:column;gap:2px;max-width:640px}.settings-row{display:flex;align-items:center;gap:18px;padding:14px 4px;border-bottom:1px solid var(--geo-line)}.settings-copy{display:flex;flex-direction:column;gap:3px}.settings-copy strong{font-size:13px}.settings-copy span{font-size:11px;color:var(--geo-ink-soft);line-height:1.4}.settings-toggle{margin-left:auto;flex:none;width:46px;height:26px;padding:3px;border-radius:999px;cursor:pointer;border:1px solid var(--geo-line);background:#151d29}.settings-toggle .knob{display:block;width:18px;height:18px;border-radius:50%;background:var(--geo-ink-soft);transition:transform .14s ease,background .14s ease}.settings-toggle.on{border-color:var(--geo-accent);background:#6fa8c74d}.settings-toggle.on .knob{transform:translate(20px);background:#fff}.settings-foot{margin-top:18px;font-size:11px;color:var(--geo-ink-soft);max-width:640px;line-height:1.5}.confirm-panel{width:min(460px,92vw);background:var(--geo-panel);border:1px solid var(--geo-warn);border-radius:14px;padding:22px 24px}.confirm-panel h3{margin:0 0 8px;font-size:18px}.confirm-panel p{margin:0 0 18px;font-size:12px;line-height:1.55;color:var(--geo-ink-soft)}.confirm-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.confirm-no{font:inherit;font-size:13px;font-weight:600;padding:9px 18px;border-radius:999px;cursor:pointer;border:1px solid var(--geo-accent);background:var(--geo-accent);color:#0e1420}.confirm-yes{font:inherit;font-size:11px;padding:9px 14px;border-radius:999px;cursor:pointer;border:1px solid var(--geo-line);background:transparent;color:var(--geo-ink-soft)}.confirm-yes:hover{color:var(--geo-ink);border-color:var(--geo-ink-soft)}.menu{position:fixed;inset:0;display:grid;grid-template-columns:1fr 1fr;align-items:center;z-index:2}.menu>.menu-panel{justify-self:center}@media(max-width:900px){.menu{grid-template-columns:1fr;place-items:center}}.menu-panel{width:min(460px,88vw);padding:34px 36px;background:var(--geo-panel);border:1px solid var(--geo-line);border-radius:16px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}@supports ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))){@media(max-width:900px){.menu-panel{width:78vw;background:#141b269e;-webkit-backdrop-filter:blur(20px) saturate(120%);backdrop-filter:blur(20px) saturate(120%)}}}.menu-mark{display:flex;justify-content:center;margin:-8px 0 12px}.menu-title{margin:0;text-align:center;font-size:26px;font-weight:700;letter-spacing:.16em}.menu-title span{display:block;margin-top:6px;font-size:11px;font-weight:500;letter-spacing:.44em;text-transform:uppercase;color:var(--geo-accent)}.menu-tagline{margin:12px 0 26px;font-size:12px;text-align:center;color:var(--geo-ink-soft);line-height:1.5}.menu-actions{display:flex;flex-direction:column;gap:10px}.menu-actions button{display:flex;flex-direction:column;gap:3px;align-items:flex-start;font:inherit;font-size:15px;font-weight:600;text-align:left;padding:14px 18px;border-radius:10px;cursor:pointer;border:1px solid var(--geo-line);background:#17202d;color:var(--geo-ink)}.menu-actions button em{font-style:normal;font-size:11px;font-weight:400;color:var(--geo-ink-soft)}.menu-actions button:hover:not(:disabled){border-color:var(--geo-accent);background:#6fa8c724}.menu-actions button:disabled{opacity:.45;cursor:default}.menu-primary{border-color:var(--geo-accent)!important;background:var(--geo-accent)!important;color:#0e1420!important}.menu-primary:hover{filter:brightness(1.08)}.menu-primary em{color:inherit!important;opacity:.74}.menu-error{margin-top:14px;font-size:12px;color:var(--geo-warn)}.menu-foot{margin:22px 0 0;font-size:11px;color:var(--geo-ink-soft);line-height:1.5}.menu-slots .slot-list{display:flex;flex-direction:column;gap:8px;margin-bottom:18px}.slot{display:flex;flex-direction:column;gap:3px;text-align:left;font:inherit;padding:11px 14px;border-radius:8px;cursor:pointer;border:1px solid var(--geo-line);background:#17202d;color:var(--geo-ink)}.slot:hover{border-color:var(--geo-accent)}.slot-name{font-size:13px;font-weight:600}.slot-detail{font-size:11px;color:var(--geo-ink-soft)}.barracks-body{display:grid;grid-template-columns:1fr 330px;gap:16px;align-items:start}@media(max-width:900px){.barracks-body{grid-template-columns:1fr}}.hire{margin-left:auto;font:inherit;font-size:12px;font-weight:600;padding:8px 16px;border-radius:999px;cursor:pointer;border:1px solid var(--geo-accent);background:var(--geo-accent);color:#0e1420}.hire:disabled{opacity:.4;cursor:default}.soldier-column{display:flex;flex-direction:column;gap:10px}.soldier-row{display:grid;grid-template-columns:190px 1fr;gap:14px;padding:12px 14px;border:1px solid var(--geo-line);border-radius:10px;background:#6fa8c70d}.soldier-row.wounded{border-color:#a8763f}.soldier-row.dead{opacity:.45}.soldier-id{display:flex;flex-direction:column;gap:2px}.soldier-id strong{font-size:13px}.soldier-id span{font-size:11px;color:var(--geo-ink-soft)}.soldier-line{color:var(--geo-accent)!important}.slots{display:grid;grid-template-columns:repeat(auto-fit,minmax(132px,1fr));gap:7px}.slot-box{display:flex;flex-direction:column;gap:4px;min-height:62px;padding:7px 9px;border:1px dashed var(--geo-line);border-radius:8px;background:#151d29;cursor:default}.slot-box.armed{border-color:var(--geo-accent);cursor:pointer}.slot-box.over{border-style:solid;border-color:var(--geo-accent);background:#6fa8c72e}.slot-label{font-size:9px;letter-spacing:.07em;text-transform:uppercase;color:var(--geo-ink-soft)}.slot-filled{display:flex;align-items:center;gap:7px}.slot-item-name{font-size:11px;line-height:1.25}.slot-empty{font-size:11px;color:#4d5c72;font-style:italic}.slot-clear{margin-left:auto;font:inherit;font-size:13px;line-height:1;width:18px;height:18px;border-radius:50%;cursor:pointer;border:1px solid var(--geo-line);background:transparent;color:var(--geo-ink-soft)}.slot-clear:hover{border-color:var(--geo-warn);color:var(--geo-warn)}.armoury{padding:14px;border:1px solid var(--geo-line);border-radius:10px;background:var(--geo-panel);position:sticky;top:16px}.armoury h3{margin:0 0 9px;font-size:11px;letter-spacing:.09em;text-transform:uppercase;color:var(--geo-ink-soft)}.shop-head{margin-top:20px!important}.stock-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(88px,1fr));gap:7px}.stock-item{display:flex;flex-direction:column;align-items:center;gap:3px;font:inherit;padding:9px 6px;cursor:grab;border:1px solid var(--geo-line);border-radius:8px;background:#17202d;color:var(--geo-ink)}.stock-item:active{cursor:grabbing}.stock-item.held{border-color:var(--geo-accent);background:#6fa8c733}.stock-name{font-size:10px;text-align:center;line-height:1.2}.stock-count{font-size:10px;color:var(--geo-accent)}.held-hint{margin:9px 0 0;font-size:11px;color:var(--geo-accent)}.shop-grid{display:flex;flex-direction:column;gap:5px}.shop-item{display:flex;align-items:center;gap:8px;text-align:left;font:inherit;padding:7px 9px;cursor:pointer;border:1px solid var(--geo-line);border-radius:7px;background:transparent;color:var(--geo-ink)}.shop-item:hover:not(:disabled){border-color:var(--geo-accent);background:#6fa8c71a}.shop-item:disabled{opacity:.38;cursor:default}.shop-name{font-size:11px;flex:1}.shop-cost{font-size:10px;color:var(--geo-accent)}.shop-build{font-size:10px;color:var(--geo-ink-soft);min-width:74px;text-align:right}.shop-item:disabled .shop-build{color:var(--geo-warn)}.bench-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:5px}.bench-item{display:flex;align-items:center;gap:8px;padding:7px 9px;border:1px dashed var(--geo-line);border-radius:7px;background:#6fa8c70d}.bench-name{font-size:11px;flex:1;display:flex;flex-direction:column;gap:1px}.bench-count{font-size:9px;color:var(--geo-ink-soft)}.bench-eta{font-size:12px;font-style:normal;font-variant-numeric:tabular-nums;color:var(--geo-accent)}.bench-hint{margin:7px 0 0;font-size:10px}.item-icon{display:block;object-fit:contain;image-rendering:auto}.item-fallback{display:inline-flex;align-items:center;justify-content:center;border-radius:6px;background:#212c3c;color:var(--geo-ink-soft);font-size:11px;font-weight:600;letter-spacing:.04em}.project-gate{font-size:10px;color:var(--geo-warn)}.slot-box.barred{border-color:#5c4436;opacity:.45}.stock-class{font-size:9px;color:var(--geo-warn);text-align:center}.project-cell{position:relative;display:flex}.project-cell .project{flex:1}.project-pitch{position:absolute;top:8px;right:8px;z-index:1;display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;line-height:1;font-size:10px;border-radius:50%;cursor:pointer;border:1px solid var(--geo-line);background:#17202d;color:var(--geo-ink-soft)}.project-pitch .icon{font-size:11px;margin-left:1px}.project-pitch:hover{border-color:var(--geo-accent);color:#fff}.base3d{display:flex;flex-direction:column;overflow:hidden}.base3d-body{display:flex;gap:16px;flex:1 1 auto;min-height:0}.base3d-stage{position:relative;flex:1 1 auto;min-width:0;min-height:280px;border:1px solid var(--geo-line);border-radius:10px;overflow:hidden;background:radial-gradient(120% 90% at 50% 8%,#1b2430,#0d1219 62%,#080b10)}.base3d-canvas{display:block;width:100%;height:100%;touch-action:none;cursor:pointer}.base3d-overlay{position:absolute;left:10px;top:10px;display:flex;align-items:center;gap:8px}.base3d-back{pointer-events:auto;font:inherit;font-size:12px;font-weight:600;padding:7px 14px 7px 10px;display:inline-flex;align-items:center;gap:6px;border:1px solid var(--geo-accent);border-radius:999px;background:var(--geo-accent);color:#0b1119;cursor:pointer;box-shadow:0 2px 10px #00000073}.base3d-back:hover{filter:brightness(1.12)}.base3d-back .icon{width:16px;height:16px}.base3d-missing{font-size:11px;color:var(--geo-ink-soft);background:var(--geo-panel);border:1px solid var(--geo-line);border-radius:999px;padding:4px 10px}.base3d-tip{position:fixed;z-index:5;pointer-events:none;display:flex;flex-direction:column;gap:2px;background:var(--geo-panel);border:1px solid var(--geo-line);border-radius:6px;padding:5px 9px;font-size:11px}.base3d-tip em{font-style:normal;font-size:10px;color:var(--geo-ink-soft)}.base3d .room-detail{flex:0 0 260px;overflow-y:auto;padding-right:4px}.base3d-zoom{margin-top:10px}.base3d-fallback{position:absolute;inset:0;padding:12px;overflow:auto;background:#0d1219f5}.base3d-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:6px}.fixed-note{margin:0 0 10px;font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:var(--geo-ink-soft);opacity:.75}.fixed-facts{margin:0 0 10px;display:flex;flex-direction:column;gap:4px}.fixed-fact{display:flex;justify-content:space-between;gap:10px;font-size:12px}.fixed-fact dt{color:var(--geo-ink-soft)}.fixed-fact dd{margin:0;color:var(--geo-ink);font-variant-numeric:tabular-nums}.room-detail button.fixed-open{border-color:var(--geo-accent);background:#6fa8c733}.build-queue{list-style:none;margin:0 0 10px;padding:0;display:flex;flex-direction:column;gap:3px}.build-queue li{display:flex;justify-content:space-between;gap:8px;font-size:11px;color:var(--geo-ink-soft)}.build-queue em{font-style:normal;font-variant-numeric:tabular-nums}.memorial-back{font:inherit;font-size:11px;padding:4px 10px;border:1px solid var(--geo-line);border-radius:999px;background:transparent;color:var(--geo-ink-soft);cursor:pointer}.memorial-back:hover{color:var(--geo-ink)}.memorial-empty{padding:40px 0;text-align:center}.memorial-quiet{margin:0 0 6px;font-size:15px;color:var(--geo-ink-soft);letter-spacing:.08em}.memorial-wall{list-style:none;margin:0;padding:0;border-top:1px solid var(--geo-line)}.memorial-plate{display:grid;grid-template-columns:minmax(120px,1.2fr) 1fr 1.4fr auto;gap:12px;align-items:baseline;padding:11px 4px;border-bottom:1px solid var(--geo-line)}.memorial-name{font-size:14px;letter-spacing:.05em}.memorial-rank,.memorial-where,.memorial-kills{font-size:11px;color:var(--geo-ink-soft)}.memorial-kills{text-align:right;font-variant-numeric:tabular-nums}@media(max-width:900px){.memorial-plate{grid-template-columns:1fr;gap:2px}.memorial-kills{text-align:left}}.menu-actions .menu-google{display:flex;flex-direction:row;text-align:center;align-items:center;justify-content:center;gap:12px;width:100%;padding:14px 20px;border:1px solid #dadce0;border-radius:10px;background:#fff;color:#1f1f1f;font-size:15px;font-weight:600;cursor:pointer}.menu-actions .menu-google:hover:not(:disabled){background:#f7f8f8;border-color:#dadce0}.menu-actions .menu-google:disabled{opacity:.6;cursor:default}.google-mark{width:18px;height:18px;flex:none}.account{position:fixed;top:16px;right:16px;z-index:6}.account-button{display:block;padding:0;border:1px solid var(--geo-line);border-radius:50%;background:none;cursor:pointer;line-height:0}.account-button:hover{border-color:var(--geo-accent)}.account-avatar{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;overflow:hidden;background:#24303f;color:var(--geo-ink);font-size:14px;font-weight:700}.account-photo{display:block;width:100%;height:100%;object-fit:cover}.account-menu{position:absolute;top:44px;right:0;min-width:210px;padding:6px;border:1px solid var(--geo-line);border-radius:10px;background:var(--geo-panel);backdrop-filter:blur(10px);box-shadow:0 10px 30px #00000059}.account-who{display:grid;gap:2px;padding:8px 10px 10px;border-bottom:1px solid var(--geo-line);font-size:12px}.account-who span{color:var(--geo-ink-soft);font-size:11px}.account-signout{width:100%;margin-top:6px;padding:9px 10px;border:none;border-radius:6px;background:none;color:var(--geo-ink);font:inherit;font-size:13px;text-align:left;cursor:pointer}.account-signout:hover{background:#6fa8c729}.giveto{position:fixed}.giveto-panel{width:min(760px,94vw);max-height:88vh;display:flex;flex-direction:column;background:var(--geo-panel);border:1px solid var(--geo-accent);border-radius:14px;padding:18px 20px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.giveto-head{display:flex;gap:14px;align-items:flex-start;margin-bottom:14px}.giveto-head-text{display:flex;flex-direction:column;gap:4px}.giveto-head h3{margin:0;font-size:17px}.giveto-sub{margin:0;font-size:11px;line-height:1.5;color:var(--geo-ink-soft)}.giveto-rows{display:flex;flex-direction:column;gap:7px;overflow-y:auto;flex:1 1 auto;min-height:0;margin:0 -4px;padding:0 4px 2px}.giveto-row{display:grid;flex:none;grid-template-columns:160px minmax(0,1fr) auto;grid-template-areas:"who swap score" "who axes score";gap:3px 14px;align-items:center;text-align:left;font:inherit;padding:9px 12px;cursor:pointer;border:1px solid var(--geo-line);border-radius:9px;background:#17202d;color:var(--geo-ink)}.giveto-row:hover:not(:disabled){border-color:var(--geo-accent);background:#6fa8c724}.giveto-row.pick{border-color:var(--geo-accent);background:#6fa8c71a}.giveto-pick-tag{font-size:9px!important;letter-spacing:.07em;text-transform:uppercase;color:var(--geo-accent)!important}.giveto-row:disabled{cursor:default}.giveto-row.barred{border-color:#5c4436;opacity:.5}.giveto-who{grid-area:who;display:flex;flex-direction:column;gap:2px}.giveto-who strong{font-size:13px}.giveto-who span{font-size:10px;color:var(--geo-ink-soft)}.giveto-swap{grid-area:swap;display:flex;align-items:center;flex-wrap:wrap;gap:6px;font-size:11px}.giveto-from{color:var(--geo-ink-soft)}.giveto-to{color:var(--geo-ink);font-weight:600}.giveto-swap svg{width:12px;height:12px;flex:none;color:var(--geo-accent)}.giveto-axes{grid-area:axes;display:flex;flex-wrap:wrap;gap:5px}.giveto-chip{font-size:10px;line-height:1.5;padding:1px 7px;border-radius:999px;border:1px solid var(--geo-line);color:var(--geo-ink-soft)}.giveto-chip i{font-style:normal;letter-spacing:.06em;text-transform:uppercase;opacity:.75}.giveto-chip.up{border-color:#40613c;color:#9fc79a}.giveto-chip.down{border-color:#6a4640;color:#d9a196}.giveto-score{grid-area:score;display:flex;flex-direction:column;align-items:flex-end;gap:1px}.giveto-score em{font-style:normal;font-size:16px;font-weight:600}.giveto-score em.up{color:#7fae7a}.giveto-score em.down{color:var(--geo-warn)}.giveto-score span{font-size:9px;color:var(--geo-ink-soft);white-space:nowrap}.giveto-bar{grid-area:axes;font-size:10px;color:var(--geo-warn)}.giveto-foot{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:14px}.giveto-auto{font:inherit;font-size:13px;font-weight:600;padding:9px 18px;border-radius:999px;cursor:pointer;border:1px solid var(--geo-accent);background:var(--geo-accent);color:#0e1420}.giveto-auto:disabled{opacity:.4;cursor:default}.giveto-note{font-size:10px;color:var(--geo-ink-soft);flex:1 1 140px}.giveto-close{font:inherit;font-size:12px;padding:9px 16px;border-radius:999px;cursor:pointer;border:1px solid var(--geo-line);background:transparent;color:var(--geo-ink-soft)}.giveto-close:hover{color:var(--geo-ink);border-color:var(--geo-ink-soft)}.geo-countdowns{margin-top:14px;border-top:1px solid var(--geo-line);padding-top:12px}.geo-countdowns-head{margin:0 0 8px;font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--geo-ink-soft);font-weight:600}.geo-countdown-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.geo-countdown{position:relative;display:grid;grid-template-columns:64px minmax(0,1fr);grid-template-areas:"time label" "time detail";align-items:baseline;column-gap:9px;padding-left:9px}.geo-countdown-rail{position:absolute;left:0;top:1px;bottom:1px;width:3px;border-radius:2px;background:var(--geo-line)}.geo-countdown-time{grid-area:time;align-self:center;font-size:14px;font-weight:650;font-variant-numeric:tabular-nums}.geo-countdown-est{display:block;margin-top:1px;font-size:8.5px;font-style:normal;font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:var(--geo-ink-soft);opacity:.75}.geo-countdown-label{grid-area:label;font-size:12px;color:var(--geo-ink)}.geo-countdown-detail{grid-area:detail;font-size:10.5px;color:var(--geo-ink-soft);line-height:1.35}.geo-countdown.urgency-calm .geo-countdown-time{color:var(--geo-ink-soft)}.geo-countdown.urgency-soon .geo-countdown-rail{background:#e0c06a}.geo-countdown.urgency-soon .geo-countdown-time{color:#e0c06a}.geo-countdown.urgency-urgent .geo-countdown-rail{background:var(--geo-warn)}.geo-countdown.urgency-urgent .geo-countdown-time{color:var(--geo-warn)}.geo-countdown.urgency-none .geo-countdown-rail{background:#f2c46a;opacity:.5}.geo-countdown.urgency-none .geo-countdown-time{font-size:11px;font-weight:500;color:var(--geo-ink-soft)}.geo-stalled{margin:0 0 10px;font-size:11px;line-height:1.45;color:#e0c06a}.geo-notice{position:relative;margin:12px 0 0;padding:8px 30px 8px 10px;font-size:11px;line-height:1.45;color:var(--geo-ink);border:1px solid var(--geo-warn);border-radius:8px;background:#d96b5a1f}.geo-notice-clear{position:absolute;top:4px;right:4px;width:22px;height:22px;padding:0;display:grid;place-items:center;border:0;border-radius:6px;background:transparent;color:var(--geo-ink-soft);cursor:pointer}.geo-notice-clear:hover{color:var(--geo-ink)}.mission-brief .briefing-panel{width:min(760px,94vw);max-height:88vh;overflow-y:auto}.mission-brief-facts{display:flex;flex-direction:column;gap:9px}.mission-brief-name{margin:0;font-size:19px}.mission-brief-stats{margin:2px 0 0;display:flex;flex-direction:column;gap:5px}.mission-brief-stats>div{display:flex;justify-content:space-between;gap:12px;font-size:12px}.mission-brief-stats dt{margin:0;color:var(--geo-ink-soft)}.mission-brief-stats dd{margin:0;text-align:right}.mission-brief-stats dd.urgent{color:var(--geo-warn);font-weight:600}.mission-brief-tabs{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:2px}.mission-brief-tabs button{font:inherit;font-size:11px;padding:6px 11px;border:1px solid var(--geo-line);border-radius:999px;background:transparent;color:var(--geo-ink-soft);cursor:pointer}.mission-brief-tabs button.active{border-color:var(--geo-accent);color:var(--geo-ink);background:#6fa8c729}.mission-brief-actions{margin-top:14px;display:flex;flex-wrap:wrap;align-items:center;gap:10px}.mission-brief-launch{font:inherit;font-size:13px;padding:8px 20px;border:1px solid var(--geo-accent);border-radius:999px;background:var(--geo-accent);color:#0e1420;cursor:pointer}.mission-brief-launch:disabled{opacity:.42;cursor:default;background:transparent;border-color:var(--geo-line);color:var(--geo-ink-soft)}.mission-brief-close{font:inherit;font-size:13px;padding:8px 18px;border:1px solid var(--geo-line);border-radius:999px;background:transparent;color:var(--geo-ink-soft);cursor:pointer}.mission-brief-gate{flex:1 1 100%;font-size:11px;color:var(--geo-warn)}.mission-brief-mandatory{flex:1 1 200px;font-size:11px;line-height:1.5;color:var(--geo-ink-soft)}.briefing-head{padding:0;border:0;background:none;cursor:pointer;flex:0 0 auto;border-radius:10px;line-height:0}.briefing-head:focus-visible{outline:2px solid var(--geo-accent);outline-offset:3px}.mission-brief-head{display:flex;flex-direction:column;gap:6px}.room-warning{margin:8px 0;padding:7px 9px;font-size:11px;line-height:1.45;color:var(--geo-ink);background:#d96b5a24;border:1px solid var(--geo-warn);border-left-width:3px;border-radius:3px}.room-timer{margin:10px 0 12px}.room-timer-bar{height:7px;border-radius:999px;overflow:hidden;background:#ffffff14;border:1px solid var(--geo-line)}.room-timer-bar>span{display:block;height:100%;background:var(--geo-accent);transition:width .24s linear}.room-timer-line{display:flex;justify-content:space-between;gap:8px;margin:5px 0 0;font-size:11px;color:var(--geo-ink-soft)}.room-timer-line strong{color:var(--geo-ink);font-variant-numeric:tabular-nums}.room-timer-line em{font-style:normal;text-align:right}.room-slots{margin-top:14px}.room-slots h4{margin:0 0 8px;font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--geo-ink-soft)}.room-slot{margin-bottom:8px;padding:8px 9px;border-radius:4px;border:1px solid var(--geo-line);background:#ffffff08}.room-slot.filled{opacity:.86}.room-slot.empty{border-style:dashed}.room-slot-head{display:flex;flex-direction:column;gap:2px}.room-slot-head strong{font-size:12px;color:var(--geo-ink)}.room-slot-head em{font-style:normal;font-size:11px;line-height:1.4;color:var(--geo-accent)}.room-slot-offers{display:flex;flex-wrap:wrap;gap:4px;margin-top:7px}.room-detail .room-slot-offers button{margin:0;width:auto;flex:1 1 auto}.room-detail .room-slot .hint{margin:6px 0 0;font-size:10px}.room-detail button.room-act{margin-top:10px;border-color:var(--geo-accent)}.room-detail button.room-breaker{margin-top:12px;display:inline-flex;align-items:center;gap:7px}.room-breaker .icon{width:15px;height:15px;flex:0 0 auto}.room-detail button.room-breaker.is-off{border-color:var(--geo-warn);color:var(--geo-warn)}.build-queue li{align-items:center}.build-queue-bar{flex:1 1 auto;height:4px;min-width:30px;border-radius:999px;background:#ffffff14;overflow:hidden}.build-queue-bar>span{display:block;height:100%;background:var(--geo-accent)}.build-queue li.is-line .build-queue-bar>span{background:var(--geo-ok, #7fb069)}.build-queue li.is-gear .build-queue-bar>span{background:#c9a227}.eng-rate{margin:2px 0 12px;line-height:1.5}.eng-rate strong{color:var(--geo-accent)}@media(max-width:720px){.room-slot{padding:10px}.room-detail .room-slot-offers button{flex:1 1 100%;min-height:40px}.base3d-back{min-height:40px}}.base3d-brief{position:absolute;inset:auto 0 12px;z-index:3;display:flex;justify-content:center;pointer-events:none}.base3d-brief>*{pointer-events:auto}.base3d-brief .scientist-over{width:min(560px,92%);margin-bottom:0}@media(max-width:720px){.base3d-brief{inset:auto 0 6px}.base3d-brief .scientist-over{width:96%}}@media(pointer:coarse){.geo button,.screen button,.menu button,.briefing-panel button,.after-action button,.confirm-panel button{touch-action:manipulation}.geo button:not(.slot-clear):not(.project-pitch):not(.geo-notice-clear),.screen button:not(.slot-clear):not(.project-pitch):not(.geo-notice-clear),.menu button,.briefing-panel button,.after-action button,.confirm-panel button{min-height:44px}.geo-rate{min-width:44px}.geo-nav button,.base-tabs button,.base3d-back,.memorial-back,.autopsy-listen,.autopsy-start,.mission button,.dark-event button,.room-detail button,.build-option,.settings-toggle,.hire,.shop-item{display:inline-flex;align-items:center;padding-block:0}.build-option,.room-detail button{justify-content:space-between}.base-tabs button{padding-inline:16px;border-radius:10px}.slot-clear{position:relative}.slot-clear:after,.project-pitch:after,.geo-notice-clear:after{content:"";position:absolute;inset:-11px}.settings-toggle{justify-content:flex-start}}@media(max-width:900px),(max-height:560px){html,body{height:100dvh;overscroll-behavior:none}.geo{display:flex;flex-direction:column;gap:6px;top:0;bottom:auto;height:100dvh;padding:calc(8px + env(safe-area-inset-top,0px)) calc(8px + env(safe-area-inset-right,0px)) calc(8px + env(safe-area-inset-bottom,0px)) calc(8px + env(safe-area-inset-left,0px))}.geo-top{flex:0 0 auto;width:auto;flex-direction:column;align-items:stretch;gap:0;padding:7px 0 0;border-radius:10px}.geo-top-strip{display:flex;align-items:center;flex-wrap:nowrap;gap:14px;padding:0 12px;overflow-x:auto;scrollbar-width:none}.geo-top-strip::-webkit-scrollbar{display:none}.geo-top-strip:after{content:"";flex:0 0 40px}.geo-clock,.geo-resources,.geo-res{flex:0 0 auto}.geo-clock strong{font-size:15px}.geo-res strong{font-size:13px}.geo-resources{gap:12px}.geo-doom{flex-direction:column;align-items:stretch;gap:5px;margin-top:7px;padding:7px 12px 8px;border-top:1px solid var(--geo-line);border-radius:0 0 10px 10px;background:#00000038}.geo-doom-head{gap:8px}.geo-doom-title{margin-right:auto}.geo-doom-count{font-size:14px}.geo-doom-pips{gap:4px}.geo-doom .pip{flex:1 1 0;width:auto;height:18px}.geo-doom-note{display:block;margin:0;font-size:11px;line-height:1.35;color:var(--geo-ink-soft)}.level-critical .geo-doom-note,.level-countdown .geo-doom-note{color:var(--geo-ink);font-weight:600}.geo-doom.level-critical{border-top-color:var(--tier);background:#e0563f24}.geo-doom.level-countdown{border-top-color:var(--tier);background:#ff4b322e}.account{top:calc(12px + env(safe-area-inset-top,0px));right:calc(12px + env(safe-area-inset-right,0px))}.geo-nav{position:static;flex:0 0 auto;flex-direction:row;flex-wrap:nowrap;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:none;gap:5px}.geo-nav::-webkit-scrollbar{display:none}.geo-nav button{flex:0 0 auto;white-space:nowrap;padding-inline:14px;border-radius:999px}.screen{position:static;flex:1 1 auto;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:12px;border-radius:10px}.screen-head{flex-wrap:wrap;gap:8px 12px;align-items:center}.screen-head h2{font-size:16px}.screen-head .rate,.screen-head .power{margin-left:0}.geo-panel{position:static;transform:none;width:auto;margin-top:auto;max-height:44dvh;overflow-y:auto;padding:12px}.geo-countdown-list{max-height:108px;overflow-y:auto}.geo-bottom{position:static;flex:0 0 auto;transform:none;flex-wrap:wrap;justify-content:center;gap:8px;padding:6px 8px;border-radius:12px}.geo-speed{flex:1 1 auto;justify-content:center;flex-wrap:wrap}.geo-advance,.geo-ack{flex:1 1 auto;padding-inline:14px;font-size:13px}.geo-lock,.geo-contacts{flex:1 1 100%;text-align:center;padding:0}.base3d-body,.base-body{flex-direction:column;gap:10px}.base3d-stage{flex:0 0 auto;min-height:0;height:42dvh}.base3d .room-detail,.base-body .room-detail{flex:1 1 auto;min-height:0}.cutaway{max-width:none}.soldier-row,.soldier-row:has(.soldier-portrait){grid-template-columns:auto 1fr;gap:10px}.soldier-row .slots{grid-column:1 / -1}.armoury{position:static}.giveto-panel{width:96vw;max-height:90dvh;padding:14px}.giveto-row{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"who score" "swap swap" "axes axes";align-items:start;gap:6px 10px}.giveto-score{align-self:center}.giveto-note{order:3;flex-basis:100%}.after-action .aar-panel{padding:14px;max-height:86dvh}.aar-soldier{grid-template-columns:1fr;gap:8px;padding:10px}.aar-foot{flex-wrap:wrap;gap:10px}.aar-dismiss{flex:1 1 auto;margin-left:0}.briefing-panel{max-height:88dvh;overflow-y:auto;padding:14px;gap:12px}.briefing-caption{font-size:14px}.briefing-dismiss{align-self:stretch;justify-content:center}.confirm-panel{padding:16px}.confirm-actions{gap:8px}.confirm-no{flex:1 1 auto;justify-content:center}.menu-panel{padding:20px 18px}.menu-title{font-size:21px}.menu-tagline{margin-bottom:18px}.menu-actions button{padding:12px 14px}.geo-outcome strong{font-size:22px}}@media(max-height:560px){.geo{gap:4px;padding:calc(6px + env(safe-area-inset-top,0px)) calc(6px + env(safe-area-inset-right,0px)) calc(6px + env(safe-area-inset-bottom,0px)) calc(6px + env(safe-area-inset-left,0px))}.geo-top{flex-direction:row;align-items:center;gap:14px;padding:4px 12px}.geo-top-strip{padding:0}.geo-top-strip:after{display:none}.geo-clock strong{font-size:13px}.geo-doom{flex:0 0 auto;flex-direction:row;align-items:center;gap:10px;margin-top:0;padding:0;border-top:none;border-radius:0;background:none}.geo-doom.level-critical,.geo-doom.level-countdown{border-top:none;background:none}.geo-doom-title{margin-right:0}.geo-doom-count{font-size:13px}.geo-doom-pips{gap:3px}.geo-doom .pip{flex:0 0 auto;width:9px;height:16px}.geo-doom-note{display:none}.geo-panel{position:absolute;left:calc(8px + env(safe-area-inset-left,0px));bottom:calc(68px + env(safe-area-inset-bottom,0px));top:auto;margin-top:0;width:min(300px,40vw);max-height:calc(100dvh - 180px)}.geo-countdown-list{max-height:none}.geo-bottom{margin-top:auto;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;justify-content:flex-start}.geo-bottom::-webkit-scrollbar{display:none}.geo-speed,.geo-advance,.geo-ack{flex:0 0 auto}.geo-lock,.geo-contacts{flex:0 0 auto;white-space:nowrap}.base3d-body,.base-body{flex-direction:row}.base3d-stage{flex:1 1 auto;height:auto;min-height:0}.base3d .room-detail,.base-body .room-detail{flex:0 0 210px;overflow-y:auto}.soldier-row:has(.soldier-portrait){grid-template-columns:auto 170px 1fr;align-items:center}.soldier-row .slots{grid-column:auto}.after-action .aar-panel,.briefing-panel{max-height:92dvh}.giveto-panel{max-height:94dvh;padding:12px 14px}.giveto-row{grid-template-columns:140px minmax(0,1fr) auto;grid-template-areas:"who swap score" "who axes score";align-items:center}.briefing-panel{flex-direction:row}.commander-canvas{width:150px;height:auto}.menu-panel{padding:14px 18px;max-height:94dvh;overflow-y:auto}.menu-mark{display:none}}body>#root{background:transparent;color:inherit}html[data-view=strategic],html[data-view=strategic] body{background:#131922;color:var(--geo-ink, #e8eef6);color-scheme:dark}html[data-view=battle],html[data-view=battle] body{background:var(--paper, #f6f1ea);color:var(--ink, #2f2a33);color-scheme:light}.shell-veil{position:fixed;inset:0;z-index:70;background:#05070a;opacity:0;pointer-events:none;transition:opacity .26s ease-in-out}.shell-veil.is-up{opacity:1;pointer-events:auto}@media(prefers-reduced-motion:reduce){.shell-veil{transition-duration:1ms}}html[data-chrome-overlays=true],html[data-chrome-overlays=true] body,html[data-chrome-overlays=true] body>#root,html[data-chrome-overlays=true] body>canvas{height:var(--visible-height, 100dvh)}html[data-scroll-collapse=on]{overflow-y:auto;overscroll-behavior-y:none}html[data-scroll-collapse=on] body{overflow:visible}.scroll-runway{position:absolute;top:0;left:0;width:1px;height:calc(var(--visible-height, 100lvh) + var(--collapse-runway, 160px));visibility:hidden;pointer-events:none}
