
:root{color-scheme:dark;--bg:#050a12;--cyan:#63f7e1;--red:#ff627c;--muted:#8292a6;--line:#233345;--panel:rgba(8,17,29,.96)}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:#eaf6f7;font-family:Inter,"Segoe UI",sans-serif;overflow:hidden;touch-action:none}button{font:inherit;color:inherit;cursor:pointer;border:1px solid var(--line);background:#101e2c;border-radius:5px;min-height:38px;transition:background .15s,border-color .15s}button:hover{background:#183240;border-color:var(--cyan)}button:focus-visible{outline:2px solid var(--cyan);outline-offset:3px}button:disabled{opacity:.4;cursor:default}canvas{display:block}#world{position:fixed;inset:0;width:100%;height:100%;touch-action:none}#hud{position:absolute;top:0;left:0;right:0;height:72px;padding:12px 24px;display:flex;align-items:center;justify-content:space-between;background:linear-gradient(#09111df5,#09111dc7);border-bottom:1px solid #253344;gap:16px}.brand{min-width:190px}.brand b{font-size:20px;letter-spacing:4px}.brand b span{color:var(--cyan)}.brand small{display:block;margin-top:5px;font-size:9px;letter-spacing:3px;color:var(--muted)}.brand i{font-style:normal;letter-spacing:0;margin-left:5px}.resources{display:flex;gap:36px;margin:auto}.resource small{display:block;font-size:9px;letter-spacing:1.7px;color:var(--muted);margin-bottom:3px}.resource b{font-size:21px;font-weight:500;font-variant-numeric:tabular-nums}.resource:first-child b{color:var(--cyan)}nav{display:flex;gap:7px}nav button{width:38px;font-size:20px}#status{position:absolute;top:88px;left:24px;display:flex;align-items:center;gap:9px;font-size:10px;letter-spacing:1.8px;color:#a7bfca;pointer-events:none}.live-dot{width:5px;height:5px;background:var(--cyan);border-radius:50%;box-shadow:0 0 9px var(--cyan)}.status-hint{letter-spacing:0;color:#657c90;margin-left:10px}#minimapPanel{position:absolute;bottom:20px;right:20px;width:252px;background:var(--panel);border:1px solid var(--line);border-radius:7px;padding:10px;box-shadow:0 10px 40px #0005}.map-heading{display:flex;justify-content:space-between;font-size:8px;letter-spacing:1.7px;color:var(--muted);margin-bottom:8px}#minimap{width:230px;height:76px;cursor:crosshair;touch-action:none}.core-bars{display:flex;gap:20px;margin-top:8px}.core-bars span{flex:1;height:3px;background:#1b2836}.core-bars i{display:block;height:100%;width:100%;background:var(--cyan);transition:width .2s}.core-bars span:last-child i{background:var(--red)}#cameraControls{position:absolute;right:20px;top:88px;display:flex;gap:6px}#cameraControls button{font-size:17px;padding:0 12px;min-height:35px;background:#0c1722df}#cameraControls button span{font-size:11px;margin-left:4px}.zoom{display:flex;margin-left:4px}.zoom button{width:35px;padding:0!important}#selectionPanel{position:absolute;left:20px;bottom:20px;width:min(780px,calc(100% - 310px));border:1px solid #315162;border-radius:8px;background:var(--panel);box-shadow:0 18px 70px #0008;max-height:calc(100vh - 145px);overflow:auto;touch-action:pan-y}.panel-top{display:flex;justify-content:space-between;align-items:center;padding:14px 18px 10px}.panel-top small{font-size:8px;letter-spacing:2px;color:var(--cyan)}h2{font-size:20px;font-weight:500;margin:5px 0}.panel-top button{font-size:24px;background:transparent;border:0;width:34px}.build-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;padding:0 14px 14px}.build-card{text-align:left;padding:10px;position:relative;min-height:120px;background:#101c2b}.build-card svg{width:32px;height:32px;color:var(--cyan);float:right;opacity:.85}.build-card b{display:block;font-size:12px;font-weight:600;padding-right:32px}.build-card .cost{font-size:12px;color:var(--cyan);margin:6px 0;display:block}.build-card .role{display:block;font-size:9px;color:#b4c9d4;line-height:1.5}.build-card .meta{display:block;color:#728ea2;font-size:9px;margin-top:6px}.build-card.unaffordable{opacity:.55}.build-card.unaffordable:hover{opacity:.85}.inspect{padding:0 18px 18px}.inspect-head{display:flex;align-items:center;gap:16px;margin:4px 0 14px}.inspect-head svg{width:58px;height:58px;color:var(--cyan)}.inspect-head p{font-size:12px;line-height:1.6;margin:0;color:#a8c0cf}.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:12px}.stat{padding:8px;background:#101e2d;border-radius:4px}.stat small{font-size:8px;color:var(--muted);display:block;letter-spacing:1px}.stat b{display:block;margin-top:4px;font-size:15px;font-weight:500}.inspect-actions{display:flex;gap:8px;align-items:center}.inspect-actions button{padding:8px 15px;font-size:12px}.inspect-actions .primary{flex:1}.progress{height:3px;background:#1d3040;margin:10px 0}.progress i{display:block;background:var(--cyan);height:100%}.muted{font-size:11px;line-height:1.6;color:var(--muted)}.primary{border:1px solid #64f5dc;background:#1c4f49;color:#baffef;font-size:12px;letter-spacing:1.3px;padding:14px 20px;font-weight:600}.primary:hover{background:#28675f}.hidden{display:none!important}#toast{position:absolute;left:50%;top:128px;transform:translateX(-50%);padding:10px 18px;border:1px solid #355462;border-radius:5px;background:#102232;opacity:0;pointer-events:none;font-size:12px;transition:opacity .2s;z-index:20;max-width:85%;text-align:center}#toast.visible{opacity:1}.overlay{position:fixed;inset:0;z-index:30;background:#030812aa;backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;padding:20px;touch-action:pan-y;overflow:auto}.intro-card,.help-card,.end-card{position:relative;width:650px;padding:42px;border:1px solid #34545c;background:linear-gradient(135deg,#10202ceF,#080f1bee);border-radius:12px;box-shadow:0 0 100px #3bdcce10}.eyebrow{font-size:9px;letter-spacing:3px;color:var(--cyan)}h1{font-size:56px;letter-spacing:7px;font-weight:400;margin:20px 0 12px}h1 span{color:var(--cyan)}.tagline{font-size:20px;line-height:1.55;color:#b5c7d2;margin:0}.intro-line{height:1px;background:linear-gradient(90deg,#57e3ce,#57e3ce00);margin:26px 0}.instructions{display:flex;gap:22px}.instructions>div{flex:1}.instructions b{font-size:12px;font-weight:500;color:var(--cyan)}.instructions b span{color:#c6dce3;margin-left:7px;letter-spacing:1px}.instructions p{font-size:11px;color:#8da6b8;line-height:1.65}.input-guide{display:flex;gap:25px;margin:20px 0;font-size:10px;color:#7d95a9}.input-guide b{color:#c2d7df;margin-right:6px}#start{width:100%;display:flex;justify-content:space-between}.intro-footer{display:block;text-align:center;margin-top:15px;font-size:8px;letter-spacing:2px;color:#607e91}.help-card h2{font-size:30px;margin:14px 0}.help-card>p{font-size:13px;line-height:1.7;color:#a7c0cf}.help-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px 25px}.help-grid p{font-size:12px;line-height:1.7;color:#88a3b6}.help-grid b{color:var(--cyan)}.corner{position:absolute;right:16px;top:12px;font-size:23px;border:0;background:transparent}.end-card{text-align:center}.end-card h1{font-size:38px}.end-card p{color:#b3c9d3;line-height:1.7}.end-card .primary{margin-top:24px;width:100%}#endStats{font-size:13px;color:var(--cyan);line-height:2}#portraitHint{display:none}
@media(max-width:950px){#hud{height:58px;padding:8px 14px}.brand{min-width:150px}.brand b{font-size:16px;letter-spacing:3px}.brand small{font-size:8px}.resources{gap:20px}.resource small{font-size:8px;letter-spacing:1px}.resource b{font-size:17px}nav button{width:34px;min-height:32px}#status{top:70px;left:14px;font-size:8px}.status-hint{display:none}#cameraControls{top:68px;right:12px}#cameraControls button{padding:0 8px;min-height:32px}#minimapPanel{width:194px;bottom:12px;right:12px;padding:8px}#minimap{width:176px;height:58px}.map-heading{font-size:7px;letter-spacing:1px}#selectionPanel{left:12px;bottom:12px;width:calc(100% - 220px);max-height:calc(100vh - 108px)}.panel-top{padding:10px 12px 7px}h2{font-size:16px}.build-grid{padding:0 10px 10px;gap:5px}.build-card{padding:8px;min-height:100px}.build-card b{font-size:10px;padding-right:20px}.build-card svg{width:23px;height:23px}.build-card .role,.build-card .meta{font-size:8px}.build-card .cost{margin:4px 0}.inspect{padding:0 12px 12px}.inspect-head{margin:2px 0 10px}.inspect-head p{font-size:10px}.stat-grid{gap:5px}.stat{padding:6px}.stat small{font-size:7px}.stat b{font-size:12px}.inspect-actions button{padding:8px;font-size:10px}.intro-card,.help-card{padding:24px;width:620px}.intro-card h1{font-size:40px;margin:12px 0 8px}.tagline{font-size:16px}.intro-line{margin:15px 0}.instructions p{margin:7px 0}.input-guide{margin:12px 0}.intro-footer{margin-top:10px}.help-card h2{font-size:24px}.help-card>p,.help-grid p{font-size:10px}.help-grid p{margin:7px 0}#toast{top:106px}}
@media(max-height:480px){.intro-card{padding:20px 26px}.intro-card h1{font-size:32px;margin:8px 0}.tagline{font-size:14px}.tagline br{display:none}.intro-line{margin:13px 0}.instructions p{font-size:10px}.input-guide{margin:10px 0}.intro-footer{margin-top:8px}.overlay{padding:12px}.help-card{padding:20px}.help-card h2{margin:8px 0}.help-card>p{margin:8px 0}.help-grid p{font-size:10px;margin:4px 0}.help-card .primary{padding:10px 16px}.build-card{min-height:93px}.build-card .meta{margin-top:3px}#minimapPanel{bottom:10px}#selectionPanel{bottom:10px}}
@media(max-width:680px){.clock{display:none}.resources{gap:14px}.brand{min-width:125px}.brand b{font-size:14px}.brand small{letter-spacing:1.5px}#cameraControls button span{display:none}.build-grid{grid-template-columns:repeat(3,1fr)}#minimapPanel{width:166px}#minimap{width:148px;height:48px}#selectionPanel{width:calc(100% - 192px)}.stat-grid{grid-template-columns:repeat(2,1fr)}}
@media(orientation:portrait) and (max-width:700px){#portraitHint{position:fixed;inset:0;z-index:50;background:#060e19f7;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;font-size:40px;color:var(--cyan)}#portraitHint b{font-size:22px}#portraitHint span{font-size:13px;color:#a2bacb}#portraitHint button{font-size:12px;padding:8px 20px}.instructions{gap:12px}.intro-card{padding:24px}.intro-card h1{font-size:30px;letter-spacing:3px}.input-guide{flex-direction:column;gap:8px}#selectionPanel{width:calc(100% - 24px);bottom:115px}.build-grid{grid-template-columns:repeat(4,1fr)}#hud{padding:8px}.resources{gap:8px}nav{gap:3px}.brand{min-width:100px}.resource small{font-size:6px}.resource b{font-size:14px}}

.research-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.research-grid button,.core-actions button{display:flex;flex-direction:column;gap:7px;text-align:left;padding:13px;background:#102631;border:1px solid #335464;border-radius:5px;color:#bfe4eb}.research-grid small,.core-actions small{font-size:11px;line-height:1.5;color:#91acba}.research-grid span{color:#57edce}.core-actions{display:grid;gap:8px;margin-top:12px}.core-actions .danger{border-color:#98516c;background:#341827}.ability{padding:10px;border-left:2px solid #4eeacb;color:#a8c7d0;font-size:12px;line-height:1.6}.ability b,.economy .meta{color:#ffc86b}.build-card.economy{border-color:#876e39}.research-grid button:disabled,.core-actions button:disabled{opacity:.45;cursor:default}

.specializations{display:grid;grid-template-columns:1fr 1fr;gap:8px;border-top:1px solid #355365;padding-top:12px;margin-top:14px}.specializations>b,.specializations>small{grid-column:1/-1}.specializations small{display:block;font-size:11px;color:#91aebc;line-height:1.5}.specializations button{text-align:left;padding:10px}.specializations button b{display:block;color:#d2b7ff;margin-bottom:5px}@media(max-height:480px){.specializations{gap:5px}.specializations button{padding:8px}}

.build-hint{font-size:11px;line-height:1.5;color:#8eaebd;margin:4px 16px 12px}.placement-selected{border-color:#63f7e1!important;background:#173b40!important}.production-control{display:block;width:100%;margin:8px 0;color:#ffc86b;border-color:#796039}.research-status{color:#c79bff;font-size:12px}.report-budget{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.report-budget span{font-size:10px;background:#122332;padding:8px}.report-budget b{display:block;font-size:15px;color:#63f7e1}.report-table{border-collapse:collapse;width:100%;margin:14px 0;font-size:12px;text-align:right;color:#b4cbd8}.report-table th,.report-table td{padding:5px;border-bottom:1px solid #233544}.report-table th:first-child,.report-table td:first-child{text-align:left}.report-events{text-align:left;font-size:11px;line-height:1.5;color:#8ea8bb}.report-events p{margin:4px 0}.end-card{max-height:calc(100vh - 30px);overflow:auto;touch-action:pan-y}.end-card #endStats small{font-size:10px;color:#8ba4b6}.end-card h1{margin:12px 0}@media(max-height:480px){.end-card{padding:20px}.end-card h1{font-size:24px}.end-card .primary{margin-top:12px}.report-events{font-size:10px}}

.build-card.tower-card{border-color:#ca8cff;background:#231d34}.build-card.tower-card .cost,.build-card.tower-card .meta{color:#d8aaff}.build-card.tower-card:hover{border-color:#edcfff;background:#342548}

.volume-control{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px}.volume-control span{font-size:7px;color:#839bad;letter-spacing:1px}.volume-control input{width:65px;accent-color:#63f7e1;cursor:pointer}@media(max-width:680px){.volume-control input{width:40px}.volume-control span{display:none}}

.special-ready.ready{border-color:#c79bff!important;color:#e2caff;box-shadow:0 0 12px #c79bff44}.special-launch{width:100%;padding:15px;margin-top:12px;background:#322345;border:2px solid #ba8fff;color:#f0ddff;font-weight:700;letter-spacing:1px}.special-dialog{position:relative;width:min(850px,95vw);max-height:90vh;overflow:auto;background:#091420f5;border:1px solid #ae83d6;border-radius:10px;padding:28px}.special-dialog>p{font-size:12px;line-height:1.6;color:#96b0c2}.special-dialog h2{font-size:25px;color:#e4cfff}#specialOptions{display:grid;grid-template-columns:1fr 1fr;gap:15px}.special-choice{padding:18px;text-align:center;background:#152237;border:1px solid #6b4f86}.special-choice h3{font-size:23px;color:#e7d7ff;margin:8px}.special-choice p{font-size:13px;line-height:1.6;color:#adc0d0;min-height:42px}.special-unit svg{width:100px;height:100px;filter:drop-shadow(0 0 8px currentColor)}.special-stats{display:grid;grid-template-columns:1fr 1fr;gap:8px;font-size:11px;color:#9cabbf;margin:15px 0}.special-stats b{display:block;color:#e4ecf8;font-size:16px}.special-choice>strong{font-size:11px;color:#d7afff}.own-value{color:#63f7e1}.enemy-value{color:#ff8799}.report-research{display:grid;grid-template-columns:1fr 1fr;gap:12px;text-align:left;font-size:11px;color:#95aec1}.end-card{width:min(840px,95vw)}@media(max-height:480px){.special-dialog{padding:18px}.special-dialog h2{font-size:19px}.special-unit svg{width:60px;height:60px}.special-choice{padding:10px}.special-choice h3{font-size:18px}.special-choice p{font-size:11px}.special-stats{margin:8px 0}.special-dialog>p{margin:7px 0}.report-table{font-size:10px}}@media(max-width:950px){#cameraControls{max-width:calc(100vw - 20px)}#cameraControls #specialReady{font-size:10px;padding:0 6px}}

.faction-picker{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:15px 0}.faction-picker label{font-size:9px;letter-spacing:1.8px;color:#9bb5c7}.faction-picker select{display:block;width:100%;margin-top:7px;padding:11px;background:#102332;color:#dff2ff;border:1px solid #456172;border-radius:4px;font:inherit;font-size:15px;letter-spacing:0}.faction-preview{padding:12px;border-left:2px solid #bda3ff;background:#111e3022;color:#b6cbd9;font-size:12px}.faction-preview b{color:#e4d6ff}.faction-preview p{margin:6px 0;line-height:1.5}.faction-preview small{color:#859dae}.faction-badge{color:#c8b7ef;letter-spacing:0}.intro-card{max-height:calc(100vh - 28px);overflow:auto}.faction-picker select:focus-visible{outline:2px solid #63f7e1}@media(max-height:480px){.faction-picker{margin:8px 0}.faction-picker select{padding:6px}.faction-preview{padding:8px}.intro-card .instructions{display:none}.input-guide{margin:8px 0}.intro-line{margin:9px 0}}@media(max-width:950px){.faction-badge{font-size:8px}}
.story-overlay{position:fixed;inset:0;z-index:45;overflow:hidden;background:#02050d;color:#d8f8f4;isolation:isolate}
.story-stars{position:absolute;inset:-10%;background-image:radial-gradient(1px 1px at 12% 18%,#c7eaff 95%,transparent),radial-gradient(1px 1px at 74% 58%,#a0c7dd 95%,transparent),radial-gradient(2px 2px at 42% 82%,#8493c0 75%,transparent),radial-gradient(1px 1px at 86% 24%,#dae6ff 95%,transparent),radial-gradient(1px 1px at 33% 43%,#899cad 95%,transparent);background-size:213px 191px,307px 271px,491px 387px,347px 313px,173px 233px;opacity:.55;animation:starDrift 100s linear infinite;z-index:-2}
.story-horizon{position:absolute;left:-20%;right:-20%;top:58%;height:28%;background:radial-gradient(ellipse at center,#56dfd810,transparent 68%);border-top:1px solid #73ffdc19;transform:perspective(350px) rotateX(68deg);box-shadow:0 -10px 45px #61e8d909;z-index:-1}
.story-heading{position:absolute;left:0;right:0;top:clamp(16px,5vh,50px);text-align:center;z-index:2;pointer-events:none}.story-heading span,.story-heading small{display:block;font-size:10px;letter-spacing:4px;color:#8caaa9}.story-heading h2{font-size:clamp(24px,4vw,46px);letter-spacing:clamp(6px,1.2vw,16px);font-weight:400;color:#b6fff1;margin:13px 0;text-shadow:0 0 28px #61e5d84d}
.story-perspective{position:absolute;inset:18% 0 100px;perspective:650px;overflow:hidden;mask-image:linear-gradient(transparent,black 15%,black 90%,transparent);-webkit-mask-image:linear-gradient(transparent,black 15%,black 90%,transparent)}
.story-crawl{position:absolute;left:50%;top:0;width:min(680px,82vw);margin-left:max(-340px,-41vw);text-align:center;font-size:clamp(17px,2.3vw,25px);line-height:1.7;letter-spacing:.5px;transform-origin:50% 100%;animation:historyCrawl 86s linear both;will-change:transform}.story-crawl p{margin:0 0 1.7em}.story-crawl h3{font-size:1.5em;font-weight:500;line-height:1.4;margin:0 0 1.8em;color:#c8fff4}.story-crawl strong{font-weight:500;color:#bbfff0;letter-spacing:2px}.story-crawl .story-chapter{font-size:.5em;letter-spacing:7px;color:#8caaa9;margin-bottom:1.5em}.story-crawl .story-final{color:#9cfbe7;letter-spacing:4px;padding-top:1em}
.story-paused .story-crawl,.story-paused .story-stars{animation-play-state:paused}
.story-controls{position:absolute;bottom:max(18px,env(safe-area-inset-bottom));left:0;right:0;display:flex;justify-content:center;align-items:center;gap:12px;flex-wrap:wrap;padding:12px;background:linear-gradient(transparent,#02050de8 30%);z-index:2}.story-controls button{padding:10px 18px;font-size:11px;letter-spacing:1.5px}.story-controls .primary{width:auto;margin:0}.story-controls small{flex-basis:100%;text-align:center;font-size:8px;letter-spacing:1.7px;color:#6e9398}.story-replay{display:block;margin:12px auto 0;padding:5px 12px;border:0;background:transparent;font-size:9px;color:#a0bfca;letter-spacing:2px}
@keyframes historyCrawl{from{transform:rotateX(16deg) translateY(48vh)}to{transform:rotateX(16deg) translateY(-105%)}}
@keyframes starDrift{to{transform:translateY(45px)}}
@media(max-height:480px){.story-heading{top:12px}.story-heading span{font-size:8px}.story-heading h2{margin:7px 0;font-size:24px}.story-heading small{font-size:8px}.story-perspective{top:24%;bottom:72px}.story-crawl{width:min(600px,76vw);margin-left:max(-300px,-38vw);font-size:18px}.story-controls{bottom:4px;padding:6px}.story-controls button{padding:6px 14px;min-height:34px}.story-controls small{display:none}}
@media(prefers-reduced-motion:reduce){.story-stars{animation:none}.story-perspective{overflow-y:auto;touch-action:pan-y;perspective:none;mask-image:none;-webkit-mask-image:none;padding:14px 0}.story-crawl{position:relative;left:auto;top:auto;margin:0 auto;transform:none;animation:none;will-change:auto;font-size:18px}.story-controls #storyPause{display:none}.story-controls small{display:none}}

.income-meter{display:block;width:110px;height:3px;background:#1c3944;margin-top:5px;overflow:hidden;border-radius:4px}.income-meter i{display:block;width:0;height:100%;background:#63f7e1;box-shadow:0 0 8px #63f7e170}.resource small #incomeCountdown{color:#cee7e9;font-size:8px;letter-spacing:0;margin-left:6px}.scrap-resource b{color:#ffc184}.resources{gap:24px}.music-volume{display:flex;align-items:center;gap:5px;font-size:8px;color:#91a9b6}.music-volume input{width:48px;accent-color:#b5a3ff}.volume-control input{width:48px}#musicToggle[aria-pressed=true]{color:#c5acff;border-color:#9580bf}
.hangar-menu{width:min(1120px,96vw);padding:28px;background:linear-gradient(135deg,#0c1922f2,#050c17f2);border:1px solid #304250;border-radius:12px;max-height:calc(100dvh - 24px);overflow:auto;touch-action:pan-y;box-shadow:0 30px 120px #000b}.hangar-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:22px}.hangar-heading small{font-size:9px;letter-spacing:3px;color:#7797a5}.hangar-heading h1{font-size:clamp(26px,4vw,42px);letter-spacing:7px;margin:8px 0 0;font-weight:500}.hangar-heading h1 span{color:#63f7e1}.menu-links{display:flex;gap:10px}.menu-links button{background:transparent;font-size:9px;letter-spacing:1px;padding:8px 12px;color:#a6c5d1}.faction-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.faction-model{--faction:#63f7e1;position:relative;border:1px solid #34414e;background:radial-gradient(ellipse at 50% 50%,#12283590,#080f1c);padding:18px 12px 12px;text-align:left;border-radius:8px;overflow:hidden;transition:border-color .2s,background .2s;min-width:0}.faction-model.continuum{--faction:#b5a3ff}.faction-model.remnant{--faction:#ffc184}.faction-model:hover{background:radial-gradient(ellipse at center,#21323e,#0b1522);border-color:var(--faction)}.faction-model.selected{border-color:var(--faction);box-shadow:inset 0 0 25px #8bc4c510}.faction-model.selected:after{content:'GESELECTEERD';position:absolute;bottom:48px;left:50%;transform:translateX(-50%);font-size:8px;letter-spacing:2px;color:var(--faction)}.model-heading{padding:0 5px}.model-heading span{display:block;font-size:20px;letter-spacing:1px;color:var(--faction)}.model-heading small{display:block;font-size:8px;letter-spacing:1.7px;margin-top:7px;color:#8096a7}.faction-model canvas{width:100%;height:260px;touch-action:none;cursor:grab}.model-caption{display:flex;align-items:center;justify-content:space-between;padding:0 6px;color:#a5baca;font-size:11px}.model-caption small{font-size:7px;letter-spacing:1px;color:#647e8e}.mission-settings{display:flex;align-items:end;gap:24px;margin-top:24px}.mission-settings>div{margin-right:auto;display:grid;gap:7px}.mission-settings small,.mission-settings label{font-size:8px;letter-spacing:2px;color:#849dab}.mission-settings b{font-size:18px;font-weight:400;color:#e7f8fa}.mission-settings select,.codex-filters select,.codex-filters input{display:block;margin-top:7px;background:#13232f;color:#dff2f5;border:1px solid #405565;border-radius:5px;font:inherit;font-size:13px;letter-spacing:0;padding:9px;width:100%}.mission-settings label{min-width:190px}.mission-settings .primary{width:auto;min-width:210px;margin:0;padding:13px 20px;font-size:12px}
.overload-control{display:block;width:100%;border-color:#a57643;color:#ffd39c;margin-top:10px;font-size:10px;padding:10px}.scrap-report{color:#d4b68d;font-size:11px}
.codex-shell{position:relative;display:flex;flex-direction:column;width:min(1050px,96vw);height:min(800px,92dvh);padding:24px;background:#07131ff5;border:1px solid #405363;border-radius:10px;overflow:hidden}.codex-heading{flex-shrink:0;padding-right:24px}.codex-heading>small{font-size:9px;letter-spacing:3px;color:#87a2b3}.codex-heading h2{margin:7px 0 12px;font-size:22px;letter-spacing:4px;font-weight:400}.codex-heading nav{display:flex;border-bottom:1px solid #2a4150;padding-bottom:10px}.codex-heading nav button{width:auto;font-size:10px;letter-spacing:1px;padding:8px 18px}.codex-heading nav .active{color:#63f7e1;border-color:#63f7e1}.guide-rules{overflow-y:auto;flex:1;touch-action:pan-y;padding:12px 12px 0 0;display:grid;grid-template-columns:1fr 1fr;gap:10px 24px}.guide-rules h3{font-size:14px;font-weight:500;color:#a5e3d7;margin:10px 0}.guide-rules p,.unit-detail p{font-size:12px;line-height:1.75;color:#a6bfce;margin:8px 0}.guide-database{flex:1;min-height:0;display:flex;flex-direction:column}.codex-filters{display:flex;gap:12px;padding:12px 0;flex-shrink:0}.codex-filters label{font-size:8px;letter-spacing:1.5px;color:#8ca6b8;flex:1}.codex-filters label:first-child{max-width:240px}.codex-columns{display:grid;grid-template-columns:220px 1fr;gap:20px;flex:1;min-height:0}.unit-list{overflow-y:auto;touch-action:pan-y;padding-right:6px}.unit-entry{display:flex;align-items:center;gap:9px;width:100%;padding:9px;margin-bottom:6px;text-align:left;background:#0a1928}.unit-entry svg{width:34px;flex-shrink:0}.unit-entry b{display:block;font-weight:500;font-size:12px}.unit-entry small{display:block;font-size:8px;color:#89a6b8;margin-top:4px}.unit-entry.active{border-color:#63f7e1;background:#122e36}.unit-detail{overflow-y:auto;touch-action:pan-y;padding:4px 12px 12px 0}.codex-hero{display:flex;align-items:center;gap:20px}.codex-hero svg{width:110px;flex-shrink:0;filter:drop-shadow(0 0 10px #b3e5d330)}.codex-hero small{font-size:10px;color:#9ac5d1}.codex-hero h3{font-size:30px;margin:7px 0;font-weight:400}.unit-detail blockquote{border-left:2px solid #a8946e;margin:16px 0;padding:9px 14px;color:#dbc5a2;font-size:12px;font-style:italic;line-height:1.7;background:#e3a57108}.codex-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:7px}.codex-stats div{padding:9px;background:#172534}.codex-stats small{display:block;font-size:8px;color:#8ca6b8;margin-bottom:5px}.codex-stats b{font-size:12px;font-weight:500}.unit-detail h4{font-size:10px;letter-spacing:1.2px;color:#bddbe0;margin:18px 0 6px}.codex-specials{display:grid;grid-template-columns:1fr 1fr;gap:12px}.codex-specials article{border:1px solid #405065;padding:12px;border-radius:5px}.codex-specials b{font-size:12px;color:#ccb5f1}.codex-footer{flex-shrink:0;padding-top:12px}.codex-footer .primary{width:auto;margin:0;font-size:10px;padding:10px 20px}
@media(max-width:950px){.resources{gap:12px}.resource b{font-size:16px}.income-meter{width:75px}.music-volume input,.volume-control input{width:35px}nav{gap:4px}nav button{width:30px}.hangar-menu{padding:18px}.faction-gallery{gap:8px}.model-heading span{font-size:16px}.model-heading small{font-size:7px;letter-spacing:.7px}.faction-model canvas{height:190px}.faction-model{padding:12px 7px}.mission-settings{gap:15px}.mission-settings .primary{min-width:170px}.codex-columns{grid-template-columns:165px 1fr;gap:12px}.codex-hero svg{width:75px}.codex-hero h3{font-size:23px}.codex-stats{grid-template-columns:repeat(4,1fr)}.codex-shell{padding:16px}.music-volume span,.volume-control span{font-size:7px}}
@media(max-height:480px){.hangar-menu{padding:12px 18px}.hangar-heading{margin-bottom:10px}.hangar-heading h1{font-size:25px;letter-spacing:5px}.hangar-heading small{font-size:7px}.faction-model canvas{height:145px}.model-heading span{font-size:15px}.model-heading small{font-size:7px;margin-top:4px}.model-caption small{display:none}.mission-settings{margin-top:10px;gap:16px}.mission-settings b{font-size:14px}.mission-settings select{padding:7px;margin-top:4px}.mission-settings .primary{padding:11px 15px;min-width:170px}.menu-links button{font-size:8px;min-height:30px;padding:6px}.faction-model.selected:after{bottom:36px;font-size:7px}.codex-heading h2{font-size:17px;margin:5px 0 7px}.codex-heading nav{padding-bottom:6px}.codex-heading nav button{padding:5px 12px;min-height:30px}.codex-shell{padding:12px 16px}.codex-filters{padding:7px 0}.codex-filters input,.codex-filters select{padding:6px;margin-top:4px}.codex-footer{padding-top:6px}.codex-footer .primary{padding:6px 12px;min-height:29px}.unit-detail p,.guide-rules p{font-size:11px}.codex-hero svg{width:70px}.codex-hero h3{font-size:22px}.codex-hero{gap:12px}}
@media(max-width:650px){.brand{min-width:90px}.resources{gap:8px}.resource small{font-size:6px;letter-spacing:1px}.income-meter{width:55px}.music-volume input,.volume-control input{width:25px}.resource small #incomeCountdown{font-size:6px;margin-left:2px}.codex-columns{grid-template-columns:125px 1fr;gap:8px}.unit-entry{padding:6px;gap:5px}.unit-entry svg{width:26px}.unit-entry small{font-size:7px}.codex-stats{grid-template-columns:repeat(2,1fr)}.codex-hero{display:block}.codex-hero svg{width:65px}.codex-specials{grid-template-columns:1fr}.guide-rules{grid-template-columns:1fr}.model-heading span{font-size:12px}.model-heading small{font-size:6px}.mission-settings label{min-width:130px}.mission-settings .primary{min-width:130px;font-size:10px}.model-caption{font-size:9px}.menu-links{gap:5px}.hangar-heading h1{font-size:21px}}
@media(prefers-reduced-motion:reduce){button{transition:none}}


#sellOverlay{z-index:60}.sell-dialog{width:min(440px,90vw);background:#0b1825;border:1px solid #aa8356;border-radius:9px;padding:28px}.sell-dialog>small{font-size:9px;letter-spacing:2px;color:#caaa7a}.sell-dialog h2{font-size:23px;margin:14px 0}.sell-dialog p{font-size:13px;line-height:1.8;color:#aabecd}.sell-dialog>div{display:flex;gap:12px;margin-top:20px}.sell-dialog button{flex:1;padding:10px;font-size:11px}.sell-dialog #confirmSell{border-color:#b58b53;color:#ffdbaa}.aim-banner{position:fixed;z-index:12;top:125px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:18px;background:#15192eed;border:1px solid #ac91da;border-radius:5px;padding:8px 14px;color:#d3beff;font-size:10px;letter-spacing:1px;max-width:95vw}.aim-banner button{font-size:9px;min-height:30px;padding:5px 10px;white-space:nowrap}@media(max-height:480px){.aim-banner{top:75px;font-size:8px;padding:4px 8px;gap:8px}.sell-dialog{padding:18px}.sell-dialog h2{margin:10px 0}.sell-dialog p{font-size:12px}}
.faction-model.remnant{--faction:#eee2c4;background:radial-gradient(ellipse at center,#26312f80,#0b1220)}.faction-model.remnant:hover{background:radial-gradient(ellipse at center,#35433c,#111927)}