:root{color-scheme:dark;--bg-deep: #081018;--bg-panel: rgba(11, 22, 31, .96);--bg-panel-soft: rgba(17, 31, 42, .94);--bg-accent: rgba(24, 51, 65, .94);--line: rgba(120, 177, 198, .28);--line-bright: rgba(193, 228, 242, .78);--text-main: #edf5f8;--text-soft: #bfd0da;--text-dim: #8ea8b7;--accent-solar: #f3d672;--accent-mineral: #80c9f6;--accent-scrap: #f0ad8a;--accent-good: #98dfbc;--accent-cta: #2c7286;--accent-cta-strong: #3b8ea7;--accent-brass: #b08d57;--glow-soft: rgba(89, 186, 214, .18);--glow-cta: rgba(103, 214, 236, .34);font-family:Trebuchet MS,Verdana,sans-serif;background:radial-gradient(circle at top left,rgba(112,175,211,.18),transparent 28%),radial-gradient(circle at bottom right,rgba(240,208,122,.08),transparent 22%),linear-gradient(180deg,#09131b,#050a10)}*{box-sizing:border-box}html,body,#app{margin:0;width:100%;height:100%}body{min-height:100vh;color:var(--text-main);overflow:hidden}button{font:inherit}strong,h1,h2,h3{font-family:Georgia,serif}.app-shell{position:relative;isolation:isolate;width:100%;height:100vh;padding:8px;display:grid;grid-template-rows:auto minmax(0,1fr);gap:8px;overflow:clip}.app-shell:before,.app-shell:after{content:"";position:absolute;top:-12%;right:-12%;bottom:-12%;left:-12%;pointer-events:none;z-index:-1}.app-shell:before{background-image:radial-gradient(circle at 14% 22%,rgba(216,241,255,.85) 0 1px,transparent 1.7px),radial-gradient(circle at 32% 74%,rgba(176,141,87,.7) 0 1.1px,transparent 1.8px),radial-gradient(circle at 56% 18%,rgba(216,241,255,.66) 0 1px,transparent 1.9px),radial-gradient(circle at 74% 46%,rgba(216,241,255,.8) 0 1.1px,transparent 1.8px),radial-gradient(circle at 88% 68%,rgba(176,141,87,.64) 0 1px,transparent 1.8px);opacity:.24;animation:sky-drift 120s linear infinite}.app-shell:after{background-image:radial-gradient(circle at 18% 38%,rgba(216,241,255,.9) 0 1.3px,transparent 2px),radial-gradient(circle at 44% 86%,rgba(216,241,255,.78) 0 1px,transparent 1.8px),radial-gradient(circle at 63% 28%,rgba(176,141,87,.7) 0 1.2px,transparent 1.9px),radial-gradient(circle at 82% 58%,rgba(216,241,255,.76) 0 1px,transparent 1.8px);opacity:.16;animation:sky-drift-reverse 170s linear infinite}.hud-strip{display:grid;grid-template-columns:minmax(200px,1.2fr) repeat(4,minmax(120px,.72fr)) minmax(260px,1.55fr);gap:8px;align-items:stretch}.hud-card,.dock-nav,.dock-panel,.canvas-shell,.core-panel,.mission-bar,.modal-card,.tutorial-card{position:relative;background:linear-gradient(180deg,#111f2afa,#08121af5);border:1px solid rgba(120,177,198,.22);box-shadow:inset 0 1px #ffffff0d,inset 0 -18px 28px #0000002e,0 0 0 1px #4283990f,0 18px 32px #0000003d,0 0 28px var(--glow-soft)}.hud-card{border-radius:12px;padding:5px 10px;display:flex;flex-direction:column;justify-content:center;gap:1px;min-width:0;min-height:52px}.hud-card strong{font-size:clamp(15px,1.05vw,18px);line-height:1.05}.threat-headline{font-size:clamp(13px,.92vw,16px);line-height:1.05}.hud-card.resource.solar strong{color:var(--accent-solar)}.hud-card.resource.minerals strong{color:var(--accent-mineral)}.hud-card.resource.scrap strong{color:var(--accent-scrap)}.eyebrow{font-size:9px;letter-spacing:.16em;text-transform:uppercase;color:var(--text-dim)}.play-layout{min-width:0;min-height:0;display:grid;grid-template-columns:minmax(400px,480px) minmax(0,1fr);gap:10px}.dock-shell{min-width:0;display:grid;grid-template-columns:70px minmax(0,1fr);gap:8px;min-height:0}.dock-nav{border-radius:18px;padding:8px;display:flex;flex-direction:column;gap:8px}.dock-button,.ui-button,.module-card,.upgrade-card,.reward-card,.mission-button{position:relative;border:1px solid rgba(134,193,214,.24);border-radius:14px;background:linear-gradient(180deg,#1f3d4df5,#142a37f5);color:var(--text-main);padding:11px 12px;cursor:pointer;text-align:left;transition:background .18s ease,border-color .18s ease,transform .18s ease,opacity .18s ease,box-shadow .18s ease}.upgrade-card{width:100%;display:flex;flex-direction:column;align-items:flex-start;gap:4px}.dock-button:hover,.ui-button:hover,.module-card:hover,.upgrade-card:hover,.reward-card:hover,.mission-button:hover{transform:translateY(-1px);border-color:#97e2bea3;box-shadow:0 0 18px #54c2da2e}.dock-button{min-height:44px;text-align:center;display:flex;align-items:center;justify-content:center;padding:6px;font-size:13px}.dock-button.selected,.ui-button.selected,.module-card.selected,.mission-button.selected{background:#305668f5;border-color:#f0cf7db8}button:disabled,.module-card:disabled,.upgrade-card:disabled,.reward-card:disabled,.mission-button:disabled,.dock-button:disabled{cursor:default;opacity:.5;transform:none;border-color:#86c1d62e}.dock-panel,.core-panel{border-radius:20px;padding:16px}.dock-panel{min-height:0;overflow:auto;display:flex;flex-direction:column;gap:12px}.panel-block{position:relative;border-radius:16px;padding:14px;background:linear-gradient(180deg,#162836f0,#0c1822f0);border:1px solid rgba(120,177,198,.16);box-shadow:inset 0 1px #ffffff0a,inset 0 -14px 24px #00000024}.panel-block strong,.core-panel strong,.modal-card strong,.tutorial-card h2{display:block;margin-top:4px;font-size:22px;color:#f2e7c5}.panel-block p,.core-panel p,.modal-card p,.tutorial-card p,.hud-card span{line-height:1.35;color:var(--text-soft)}.hud-card span{font-size:11px}.emphasis-block{background:linear-gradient(180deg,#19303ef5,#111f2af5);border-color:#f0cf7d38}.selection-copy{margin:8px 0 0}.message-list,.upgrade-stack{display:grid;grid-template-columns:minmax(0,1fr);gap:10px;margin-top:12px}.scroll-stack,.button-stack{display:flex;flex-direction:column;gap:10px}.message-list,.scroll-stack{min-height:0;overflow:auto}.message-entry,.discovery-entry,.bot-card,.artifact-card{border-radius:14px;padding:12px;background:#0d1822e6;border:1px solid rgba(120,177,198,.14)}.discovery-entry{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:start}.discovery-entry.discovered{border-color:#f0cf7d52}.discovery-entry.known_mastered_lite{border-color:#97e2be6b}.state-pill{align-self:start;display:inline-flex;align-items:center;padding:6px 10px;border-radius:999px;background:#264354eb;font-size:12px}.board-column{min-width:0;min-height:0;display:grid;grid-template-rows:minmax(0,1fr) auto;justify-items:center;align-content:stretch;gap:8px}.canvas-shell{width:100%;height:100%;max-width:1260px;min-height:0;align-self:stretch;border-radius:24px;padding:8px 10px 10px;background:linear-gradient(180deg,#0d1822fa,#070f16fa);display:flex;align-items:center;justify-content:center;overflow:hidden}#game-canvas{width:min(100%,1180px);max-width:100%;aspect-ratio:3 / 2;min-height:0;display:flex;align-items:center;justify-content:center;margin:0 auto;align-self:center}#game-canvas canvas{width:100%!important;height:auto!important;max-width:100%;max-height:100%;aspect-ratio:3 / 2;border-radius:16px}.core-rail{min-width:0;min-height:0;display:flex;flex-direction:column;gap:12px;overflow:auto}.module-grid.compact{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:12px}.module-card strong,.upgrade-card strong,.reward-card strong,.bot-card strong,.artifact-card strong{font-size:18px;margin:0 0 4px}.module-card span,.upgrade-card span,.reward-card span,.bot-card span,.artifact-card span,.ui-button span,.upgrade-card small,.module-card small,.reward-card small,.bot-card small{display:block;color:var(--text-soft)}.doctrine-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:12px}.compact-stats,.summary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.compact-stats strong,.summary-grid strong{font-size:18px;margin-top:2px}.fine-print{font-size:12px;color:var(--text-dim)}.full-width{width:100%}.mission-bar-wrap{width:100%;display:flex;justify-content:center}.mission-bar{width:min(760px,100%);border-radius:20px;padding:9px 14px;display:flex;align-items:center;justify-content:space-between;gap:12px;position:sticky;bottom:0;background:linear-gradient(180deg,#111f2afa,#0b161ffa)}.mission-copy{min-width:0;display:flex;flex-direction:column;gap:2px}.mission-copy strong{font-size:19px;line-height:1.05}.mission-controls{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:nowrap;flex:0 0 auto}.mission-controls .mission-button{min-width:220px;padding:16px 20px;border-radius:16px;font-size:20px;text-align:center;background:linear-gradient(135deg,var(--accent-cta-strong),var(--accent-cta));border-color:var(--line-bright);box-shadow:0 0 18px #2f85a02e}.mission-hint{font-size:13px;line-height:1.18;color:var(--text-soft)}.mission-button{min-width:220px;padding:16px 20px;border-radius:16px;font-size:20px;text-align:center;background:linear-gradient(135deg,var(--accent-cta-strong),var(--accent-cta));border-color:var(--line-bright);box-shadow:0 0 18px #2f85a02e}.mission-bar.running .mission-copy{flex:1 1 auto}.mission-bar.running .mission-copy strong{font-size:18px}.mission-bar.running .mission-hint{font-size:12px}.mission-bar.running .mission-button{min-width:220px;padding:16px 20px;border-radius:16px;font-size:20px;text-align:center;background:linear-gradient(135deg,var(--accent-cta-strong),var(--accent-cta));border-color:var(--line-bright);box-shadow:0 0 18px #2f85a02e}.mission-bar.running .mission-button.selected{background:#305668f5;border-color:#f0cf7db8;box-shadow:inset 0 0 0 1px #f0cf7d2e}.mission-button.muted{background:linear-gradient(135deg,#39596a,#2a4352)}.empty-state{color:var(--text-dim)}.modal-layer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:auto;pointer-events:none;display:flex;align-items:center;justify-content:center;padding:18px}.modal-card,.tutorial-card{pointer-events:auto}.modal-card{width:min(780px,calc(100vw - 36px));max-height:calc(100vh - 36px);overflow:auto;border-radius:24px;padding:22px;background:#0d1822fa}.reward-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:14px}.reward-card{min-height:160px}.tutorial-shade{position:fixed;top:0;right:0;bottom:0;left:0;background:#04090ead;z-index:54}.tutorial-card{position:fixed;left:50%;top:14px;transform:translate(-50%);width:min(760px,calc(100vw - 24px));max-height:calc(100vh - 24px);overflow:auto;border-radius:16px;padding:10px 12px;background:#0b161ffa;z-index:90;display:grid;grid-template-columns:auto minmax(0,1fr) auto;column-gap:12px;row-gap:2px;align-items:center}.tutorial-card h2{grid-column:2;margin:0;font-size:16px;line-height:1.1}.tutorial-card .eyebrow{grid-column:1;grid-row:1 / span 2;align-self:start;padding-top:3px;font-size:8px;letter-spacing:.14em}.tutorial-card p{grid-column:2;margin:0;font-size:12px;line-height:1.2}.tutorial-actions{grid-column:3;grid-row:1 / span 2;display:grid;grid-auto-flow:column;grid-auto-columns:max-content;align-items:center;justify-content:end;gap:8px;margin-top:0}.tutorial-actions .ui-button{min-width:0;padding:7px 10px;border-radius:10px;font-size:12px;line-height:1.1;white-space:nowrap;text-align:center}.tutorial-highlight{position:relative;z-index:56;box-shadow:0 0 0 3px #f0cf7de6,0 0 0 10px #f0cf7d29}.menu-mode .play-layout{grid-template-columns:1fr}.menu-mode .board-column{justify-items:center}.menu-mode .canvas-shell{height:min(100%,calc(100vh - 44px));max-width:920px;padding:12px}.menu-mode #game-canvas{width:min(100%,960px);max-width:100%}.menu-mode .dock-shell,.menu-mode .core-rail,.menu-mode .mission-bar-wrap{display:none}@media (max-width: 1480px){.play-layout{grid-template-columns:minmax(360px,420px) minmax(0,1fr)}.hud-strip{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width: 1180px){body{overflow:auto}.app-shell{height:auto;min-height:100vh}.play-layout,.dock-shell{grid-template-columns:1fr}.dock-nav{flex-direction:row;flex-wrap:wrap}.board-column{order:-1}}@media (max-width: 760px){.hud-strip{grid-template-columns:repeat(3,minmax(0,1fr))}.hud-card{min-height:48px;padding:5px 8px}.hud-card strong{font-size:14px}.threat-headline{font-size:12px;line-height:1.1}.hud-card span{font-size:10px}.module-grid.compact,.reward-grid,.compact-stats,.doctrine-grid{grid-template-columns:1fr}.mission-bar{flex-direction:column;align-items:stretch}.mission-button{width:100%;min-width:0}.tutorial-card{top:10px;width:min(560px,calc(100vw - 12px));max-height:calc(100vh - 16px);padding:9px 10px;grid-template-columns:auto minmax(0,1fr) auto;column-gap:8px}.tutorial-card h2{font-size:15px}.tutorial-card p{font-size:11px}.tutorial-actions{gap:6px}.tutorial-actions .ui-button{padding:6px 8px;font-size:11px}}@media (min-width: 1600px) and (min-height: 900px){.tutorial-card{top:14px;width:min(420px,calc(100vw - 40px));padding:12px 14px}}.ambient-panel:before,.ambient-panel:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;border-radius:inherit}.ambient-panel:before{background:linear-gradient(180deg,rgba(113,195,218,.08),transparent 30%,transparent 72%,rgba(176,141,87,.05));animation:panel-breathe var(--panel-breathe-duration, 8s) ease-in-out infinite;animation-delay:var(--panel-breathe-delay, 0s)}.ambient-panel:after{background:radial-gradient(circle at 12px 12px,rgba(176,141,87,.5) 0 1.6px,transparent 2.2px),radial-gradient(circle at calc(100% - 12px) 12px,rgba(176,141,87,.5) 0 1.6px,transparent 2.2px),radial-gradient(circle at 12px calc(100% - 12px),rgba(176,141,87,.5) 0 1.6px,transparent 2.2px),radial-gradient(circle at calc(100% - 12px) calc(100% - 12px),rgba(176,141,87,.5) 0 1.6px,transparent 2.2px);opacity:.3}.ambient-button{overflow:hidden}.ambient-button:before{content:"";position:absolute;inset:-35% auto -35% -65%;width:58%;transform:skew(-18deg);background:linear-gradient(180deg,transparent,rgba(201,238,247,.18),transparent);animation:button-shimmer var(--button-shimmer-duration, 10s) linear infinite;animation-delay:var(--button-shimmer-delay, 0s);pointer-events:none;opacity:.55}.ambient-button:hover{box-shadow:0 0 22px #54c2da33,inset 0 0 0 1px #c9eef70d}.ambient-primary-cta{overflow:visible}.ambient-primary-cta.ready{animation:cta-pulse 3.4s ease-in-out infinite}.ambient-primary-cta.ready:after{content:"";position:absolute;top:-10px;right:-10px;bottom:-10px;left:-10px;border-radius:22px;border:1px solid rgba(111,214,236,.16);animation:cta-ring-spin 16s linear infinite;pointer-events:none}.counter-pulse{animation:counter-surge .7s ease-out}.counter-pulse strong{text-shadow:0 0 14px rgba(125,222,242,.32)}@keyframes sky-drift{0%{transform:translateZ(0) scale(1)}to{transform:translate3d(-2.5%,-1.6%,0) scale(1.03)}}@keyframes sky-drift-reverse{0%{transform:translateZ(0) scale(1.04)}to{transform:translate3d(2.8%,1.8%,0) scale(1.08)}}@keyframes panel-breathe{0%,to{opacity:.42}50%{opacity:.8}}@keyframes button-shimmer{0%,78%,to{transform:translate(-145%) skew(-18deg)}88%{transform:translate(245%) skew(-18deg)}}@keyframes counter-surge{0%{transform:scale(1);filter:brightness(1)}38%{transform:scale(1.03);filter:brightness(1.16)}to{transform:scale(1);filter:brightness(1)}}@keyframes cta-pulse{0%,to{box-shadow:0 0 16px #2f85a02e}50%{box-shadow:0 0 30px var(--glow-cta)}}@keyframes cta-ring-spin{0%{transform:rotate(0);opacity:.32}to{transform:rotate(360deg);opacity:.12}}
