*,::after,::before{box-sizing:border-box}body,html{margin:0;height:100%;overflow:hidden;font-family:system-ui,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;color:#e6eef8;background:#030510}.space-bg{position:fixed;inset:0;z-index:0;background:radial-gradient(ellipse 80% 60% at 20% 80%,rgba(88,28,135,.35) 0,transparent 60%),radial-gradient(ellipse 70% 50% at 85% 15%,rgba(14,80,160,.3) 0,transparent 55%),radial-gradient(ellipse 50% 40% at 50% 50%,rgba(20,40,90,.2) 0,transparent 70%),linear-gradient(180deg,#020408 0,#0a0e1f 40%,#060a14 100%)}.stars,.stars2,.stars3{position:absolute;inset:0;background-repeat:repeat}.stars{background-image:radial-gradient(1px 1px at 10% 20%,rgba(255,255,255,.7) 50%,transparent 50%),radial-gradient(1px 1px at 30% 65%,rgba(255,255,255,.5) 50%,transparent 50%),radial-gradient(1.5px 1.5px at 55% 10%,rgba(200,220,255,.8) 50%,transparent 50%),radial-gradient(1px 1px at 70% 45%,rgba(255,255,255,.4) 50%,transparent 50%),radial-gradient(1px 1px at 85% 75%,rgba(255,255,255,.6) 50%,transparent 50%),radial-gradient(1px 1px at 15% 90%,rgba(255,255,255,.3) 50%,transparent 50%),radial-gradient(1.5px 1.5px at 45% 35%,rgba(180,210,255,.7) 50%,transparent 50%),radial-gradient(1px 1px at 92% 30%,rgba(255,255,255,.5) 50%,transparent 50%);background-size:350px 350px;animation:120s linear infinite drift}.stars2{background-image:radial-gradient(1px 1px at 25% 15%,rgba(255,255,255,.4) 50%,transparent 50%),radial-gradient(1.5px 1.5px at 60% 55%,rgba(200,230,255,.6) 50%,transparent 50%),radial-gradient(1px 1px at 80% 85%,rgba(255,255,255,.3) 50%,transparent 50%),radial-gradient(1px 1px at 5% 50%,rgba(255,255,255,.5) 50%,transparent 50%),radial-gradient(1px 1px at 40% 80%,rgba(255,255,255,.35) 50%,transparent 50%);background-size:500px 500px;animation:180s linear infinite reverse drift;opacity:.7}.stars3{background-image:radial-gradient(2px 2px at 50% 50%,rgba(120,180,255,.15) 50%,transparent 50%),radial-gradient(2px 2px at 20% 70%,rgba(180,100,255,.12) 50%,transparent 50%);background-size:800px 800px;animation:240s linear infinite drift;opacity:.5}@keyframes drift{from{transform:translateY(0)}to{transform:translateY(-350px)}}.screen{position:relative;z-index:1;height:100vh;display:none}.screen.active{display:flex}#menuScreen{flex-direction:column;align-items:center;justify-content:center;padding:24px}#menuScreen.menu-overlay{position:fixed;inset:0;z-index:1600;display:none;height:auto;background:rgba(2,6,18,.72);backdrop-filter:blur(8px)}#menuScreen.menu-overlay.active{display:flex}.menu-panel{width:min(440px,92vw);padding:40px 36px;background:rgba(8,14,32,.75);border:1px solid rgba(100,160,255,.2);border-radius:16px;backdrop-filter:blur(16px);box-shadow:0 0 60px rgba(40,100,200,.15),inset 0 1px 0 rgba(255,255,255,.06);text-align:center}.menu-title{margin:0 0 4px;font-size:28px;font-weight:700;letter-spacing:.04em;background:linear-gradient(135deg,#c8e0ff 0,#6eb8ff 50%,#b48aff 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.menu-subtitle{margin:0 0 32px;font-size:13px;color:#7f98c0;letter-spacing:.12em;text-transform:uppercase}.menu-field{text-align:left;margin-bottom:20px}.menu-field label{display:block;font-size:11px;color:#7f98c0;text-transform:uppercase;letter-spacing:.08em;margin-bottom:6px}.menu-field input[type=text],.menu-field select{width:100%;padding:10px 12px;border-radius:8px;border:1px solid rgba(100,160,255,.25);background:rgba(6,12,28,.9);color:#e6eef8;font-size:14px}.menu-field input[type=text]::placeholder{color:#5a7094}.menu-actions{display:flex;flex-direction:column;gap:10px;margin-top:28px}.btn{border:0;padding:12px 20px;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;letter-spacing:.03em;transition:transform .12s,box-shadow .12s,opacity .12s}.btn:hover{transform:translateY(-1px)}.btn:active{transform:translateY(0)}.btn-primary{background:linear-gradient(135deg,#1a5fd4 0,#3d8bf0 100%);color:#fff;box-shadow:0 4px 20px rgba(30,100,220,.4)}.btn-primary:hover{box-shadow:0 6px 28px rgba(30,100,220,.55)}.btn-secondary{background:rgba(20,40,80,.6);color:#c8e0ff;border:1px solid rgba(100,160,255,.3)}.btn-secondary:disabled{opacity:.35;cursor:not-allowed;transform:none}.btn-ghost{background:0 0;color:#7f98c0;border:1px solid rgba(127,152,192,.25);font-size:12px;padding:8px 16px}.hud-actions{display:flex;align-items:center;gap:6px;flex-shrink:0}#pauseBtn.paused{color:var(--era-accent);border-color:var(--era-accent);background:var(--era-accent-soft)}.simulation.paused{filter:brightness(.75) saturate(.88)}.simulation.paused .commerce-probe,.simulation.paused .factory,.simulation.paused .probe-ship,.simulation.paused .route-line,.simulation.paused .star-preview,.simulation.paused .star-system .star-core,.simulation.paused .star-system .star-influence{animation-play-state:paused!important}.overlay-chip.pause-badge{border-color:rgba(255,200,80,.45);color:#ffe8b0}.overlay-chip.pause-badge strong{color:#ffc860}.menu-footer{margin-top:24px;font-size:11px;color:#4a6080}#gameScreen{flex-direction:column;height:100vh;padding:0;--era-accent:#60a0ff;--era-accent-soft:rgba(96, 160, 255, 0.14);--era-border:rgba(100, 160, 255, 0.18);--era-sim-glow:rgba(20, 50, 100, 0.28);--era-hud-bg:rgba(6, 10, 24, 0.88);--era-dock-bg:rgba(6, 10, 24, 0.92)}#gameScreen.age-pioneer{--era-accent:#68a8ff;--era-accent-soft:rgba(80, 140, 220, 0.12);--era-border:rgba(90, 150, 230, 0.18);--era-sim-glow:rgba(18, 45, 90, 0.3)}#gameScreen.age-expansion{--era-accent:#48c8b8;--era-accent-soft:rgba(50, 180, 160, 0.14);--era-border:rgba(60, 190, 170, 0.22);--era-sim-glow:rgba(15, 60, 55, 0.28);--era-hud-bg:rgba(4, 14, 18, 0.88)}#gameScreen.age-automation{--era-accent:#50b0ff;--era-accent-soft:rgba(50, 150, 255, 0.15);--era-border:rgba(70, 170, 255, 0.22);--era-sim-glow:rgba(10, 40, 80, 0.32);--era-hud-bg:rgba(4, 8, 22, 0.9)}#gameScreen.age-stellar{--era-accent:#e8b040;--era-accent-soft:rgba(230, 170, 50, 0.14);--era-border:rgba(220, 160, 60, 0.22);--era-sim-glow:rgba(80, 50, 10, 0.25);--era-hud-bg:rgba(14, 10, 6, 0.88)}#gameScreen.age-dyson{--era-accent:#ff9040;--era-accent-soft:rgba(255, 130, 40, 0.16);--era-border:rgba(255, 140, 50, 0.24);--era-sim-glow:rgba(90, 35, 5, 0.3);--era-hud-bg:rgba(16, 8, 4, 0.9)}#gameScreen.age-singularity{--era-accent:#a070ff;--era-accent-soft:rgba(140, 90, 255, 0.15);--era-border:rgba(150, 100, 255, 0.24);--era-sim-glow:rgba(50, 20, 90, 0.3);--era-hud-bg:rgba(10, 6, 20, 0.9)}#gameScreen.age-transcendence{--era-accent:#c8b8ff;--era-accent-soft:rgba(180, 160, 255, 0.18);--era-border:rgba(190, 170, 255, 0.28);--era-sim-glow:rgba(60, 40, 100, 0.32);--era-hud-bg:rgba(8, 6, 18, 0.9)}#gameScreen.era-shift .action-dock,#gameScreen.era-shift .hud,#gameScreen.era-shift .simulation{animation:1.2s ease-out eraShift}@keyframes eraShift{0%{filter:brightness(1.4)}100%{filter:brightness(1)}}.hud{display:flex;align-items:center;gap:8px;padding:10px 16px;background:var(--era-hud-bg);border-bottom:1px solid var(--era-border);backdrop-filter:blur(10px);flex-shrink:0;transition:background .8s,border-color .8s}.era-badge{display:flex;align-items:center;gap:8px;padding:6px 12px;background:var(--era-accent-soft);border:1px solid var(--era-border);border-radius:10px;flex-shrink:0;transition:background .8s,border-color .8s,box-shadow .8s;box-shadow:0 0 16px var(--era-accent-soft)}.era-badge .era-roman{font-size:11px;font-weight:700;color:var(--era-accent);opacity:.85;letter-spacing:.05em;transition:color .8s}.era-badge .era-name{font-size:12px;font-weight:600;color:#e8f0ff;letter-spacing:.03em;white-space:nowrap}.player-badge{display:flex;align-items:center;max-width:148px;padding:6px 12px;background:rgba(8,16,36,.75);border:1px solid var(--era-border);border-radius:10px;flex-shrink:0}.player-badge span{font-size:12px;font-weight:600;color:#c8daf8;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.philosophy-badge{display:flex;flex-direction:column;align-items:flex-start;gap:1px;max-width:132px;padding:5px 10px;background:rgba(12,24,52,.8);border:1px solid var(--era-border);border-radius:10px;flex-shrink:0;cursor:pointer;text-align:left;transition:background .12s,border-color .8s,box-shadow .12s}.philosophy-badge:hover{background:var(--era-accent-soft);border-color:var(--era-accent);box-shadow:0 0 12px var(--era-accent-soft)}.philosophy-badge .phil-label{font-size:9px;font-weight:600;color:#7f98c0;text-transform:uppercase;letter-spacing:.08em}.philosophy-badge .phil-name{font-size:12px;font-weight:600;color:#dce8ff;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:112px}.tech-card.philosophy-card.active{border-color:var(--era-accent,#60a0ff);background:rgba(20,40,80,.55)}.tech-card.philosophy-card .phil-bonus{font-size:10px;color:#8be2ff;margin-top:4px;line-height:1.35}.hud-resources{display:flex;gap:6px;flex:1;flex-wrap:wrap}.res-pill{display:flex;align-items:center;gap:6px;padding:6px 12px;background:rgba(12,20,48,.8);border:1px solid var(--era-border);border-radius:20px;font-size:13px;min-width:0;transition:border-color .8s}.res-pill .val{font-weight:700;color:#fff;font-variant-numeric:tabular-nums}.res-pill .lbl{font-size:10px;color:#7f98c0;text-transform:uppercase;letter-spacing:.06em}.res-pill.matter .val{color:#a8d4ff}.res-pill.energy .val{color:#ffd080}.res-pill.knowledge .val{color:#b8a0ff}.res-pill.compute .val{color:#80ffc0}.hud-network{display:flex;gap:6px;flex-shrink:0}.stat-pill{padding:6px 10px;background:rgba(12,20,48,.6);border:1px solid var(--era-border);border-radius:8px;font-size:12px;text-align:center;min-width:52px;transition:border-color .8s}.stat-pill .val{font-weight:700;display:block;font-size:15px}.stat-pill .lbl{font-size:9px;color:#7f98c0;text-transform:uppercase;letter-spacing:.05em}.play-area{flex:1;display:flex;flex-direction:column;min-height:0;position:relative}.simulation{flex:1;position:relative;overflow:hidden;background:radial-gradient(ellipse 60% 50% at 50% 50%,var(--era-sim-glow) 0,transparent 70%),rgba(2,6,18,.6);border-top:1px solid var(--era-border);border-bottom:1px solid var(--era-border);transition:background .8s,border-color .8s}.simulation.age-dyson .star-system .star-corona,.simulation.age-singularity .star-system .star-corona,.simulation.age-stellar .star-system .star-corona,.simulation.age-transcendence .star-system .star-corona{animation:2s ease-in-out infinite coronaPulse,5s ease-in-out infinite solarHarvest}.simulation.age-dyson .star-system .dyson-swarm,.simulation.age-singularity .star-system .dyson-swarm,.simulation.age-transcendence .star-system .dyson-swarm{display:block}.simulation.age-automation .route-line,.simulation.age-dyson .route-line,.simulation.age-singularity .route-line,.simulation.age-stellar .route-line,.simulation.age-transcendence .route-line{opacity:.85}@keyframes solarHarvest{0%,100%{filter:brightness(1)}50%{filter:brightness(1.25)}}.network-svg{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:1}.route-line{fill:none;stroke-width:1.5;stroke-dasharray:6 10;opacity:.45;animation:2s linear infinite routeFlow}.route-line.matter{stroke:rgba(100,180,255,0.5)}.route-line.energy{stroke:rgba(255,190,80,0.5)}.route-line.knowledge{stroke:rgba(180,140,255,0.5)}.route-line.linked{stroke-width:2;opacity:.7;filter:drop-shadow(0 0 4px currentColor)}@keyframes routeFlow{to{stroke-dashoffset:-32}}.cargo-dot{filter:drop-shadow(0 0 4px currentColor)}.simulation::before{content:'';position:absolute;inset:0;background-image:radial-gradient(1px 1px at 8% 12%,rgba(255,255,255,.5) 50%,transparent 50%),radial-gradient(1px 1px at 22% 78%,rgba(255,255,255,.3) 50%,transparent 50%),radial-gradient(1.5px 1.5px at 48% 30%,rgba(180,210,255,.6) 50%,transparent 50%),radial-gradient(1px 1px at 67% 62%,rgba(255,255,255,.4) 50%,transparent 50%),radial-gradient(1px 1px at 88% 18%,rgba(255,255,255,.35) 50%,transparent 50%),radial-gradient(1px 1px at 35% 45%,rgba(255,255,255,.25) 50%,transparent 50%),radial-gradient(1px 1px at 75% 88%,rgba(255,255,255,.4) 50%,transparent 50%),radial-gradient(1.5px 1.5px at 92% 55%,rgba(200,220,255,.5) 50%,transparent 50%);background-size:100% 100%;pointer-events:none;opacity:.8}.sim-overlay{position:absolute;top:12px;left:12px;z-index:10;display:flex;flex-direction:column;gap:6px;pointer-events:none}.overlay-chip{padding:6px 12px;background:rgba(6,12,28,.75);border:1px solid var(--era-border);border-radius:8px;font-size:11px;color:#9fb0d7;backdrop-filter:blur(6px);transition:border-color .8s}.overlay-chip strong{color:var(--era-accent);transition:color .8s}.star-preview,.star-system{position:absolute;width:56px;height:56px;transform:translate(-50%,-50%);z-index:3;contain:layout style}.star-system{pointer-events:auto;cursor:pointer}.star-preview{pointer-events:none}.star-system:hover .star-core{filter:brightness(1.15)}.star-system.system-selected{z-index:5}.star-system.system-selected .star-influence{border-color:rgba(140,210,255,.65);box-shadow:0 0 22px rgba(100,180,255,.35)}.star-system .star-label{position:absolute;left:50%;top:calc(100% + 2px);transform:translateX(-50%);font-size:10px;font-weight:600;color:#b8d4ff;white-space:nowrap;max-width:88px;overflow:hidden;text-overflow:ellipsis;pointer-events:none;text-shadow:0 1px 4px rgba(0,0,0,.8)}.star-system .star-influence{position:absolute;left:50%;top:50%;width:var(--influence-r,90px);height:var(--influence-r,90px);margin-left:calc(var(--influence-r,90px)/ -2);margin-top:calc(var(--influence-r,90px)/ -2);border-radius:50%;border:1px solid rgba(100,180,255,.15);background:radial-gradient(circle,rgba(60,140,255,.1) 0,transparent 68%);animation:5s ease-in-out infinite influenceExpand;transition:border-color .4s,background .4s,box-shadow .4s}.star-system.influence-linked .star-influence{border-color:rgba(120,220,255,.45);background:radial-gradient(circle,rgba(80,180,255,.18) 0,rgba(40,100,200,.06) 50%,transparent 70%);box-shadow:0 0 20px rgba(80,180,255,.15)}.star-system .dyson-swarm{display:none;position:absolute;left:50%;top:50%;width:calc(var(--influence-r,90px) * .85);height:calc(var(--influence-r,90px) * .85);margin-left:calc(var(--influence-r,90px) * -.425);margin-top:calc(var(--influence-r,90px) * -.425);border-radius:50%;border:1px dotted rgba(255,200,80,.25);animation:40s linear infinite orbitSpin}.star-system .dyson-swarm::after,.star-system .dyson-swarm::before{content:'';position:absolute;width:4px;height:4px;border-radius:50%;background:#ffd060;box-shadow:0 0 6px #fa0}.star-system .dyson-swarm::before{top:0;left:50%;margin-left:-2px}.star-system .dyson-swarm::after{bottom:20%;right:5%}.star-system.colonize-burst .star-core{animation:.8s ease-out colonizeBurst}@keyframes influenceExpand{0%,100%{transform:scale(.9);opacity:.55}50%{transform:scale(1);opacity:.9}}@keyframes colonizeBurst{0%,100%{transform:scale(1);filter:brightness(1)}40%{transform:scale(2.2);filter:brightness(2.5)}}.harvest-pulse{position:absolute;left:50%;top:50%;width:6px;height:6px;margin:-3px 0 0 -3px;border-radius:50%;pointer-events:none;z-index:2;animation:1.2s ease-out forwards harvestFly}.harvest-pulse.matter{background:#80c0ff;box-shadow:0 0 8px #60a0ff}.harvest-pulse.energy{background:#ffd060;box-shadow:0 0 8px #fa0}@keyframes harvestFly{0%{transform:translate(0,0) scale(1);opacity:1}100%{transform:translate(var(--hx,0),var(--hy,-40px)) scale(.2);opacity:0}}.star-system .star-orbit{position:absolute;inset:4px;border-radius:50%;border:1px dashed rgba(140,200,255,.35);animation:24s linear infinite orbitSpin}.star-system .star-orbit::after{content:'';position:absolute;top:-2px;left:50%;width:5px;height:5px;margin-left:-2.5px;border-radius:50%;background:rgba(180,220,255,.9);box-shadow:0 0 8px rgba(150,210,255,.8)}.star-system .star-corona{position:absolute;inset:10px;border-radius:50%;animation:3s ease-in-out infinite coronaPulse}.star-system .star-core{position:absolute;inset:18px;border-radius:50%;box-shadow:0 0 12px currentColor,0 0 28px currentColor}.star-system .star-flare{position:absolute;inset:0;opacity:.5}.star-system .star-flare::after,.star-system .star-flare::before{content:'';position:absolute;background:linear-gradient(90deg,transparent,rgba(255,255,255,.5),transparent);top:50%;left:0;right:0;height:1px;margin-top:-.5px}.star-system .star-flare::after{transform:rotate(90deg)}.star-system.sol .star-corona{background:radial-gradient(circle,rgba(255,240,180,.5) 0,rgba(255,200,80,.15) 50%,transparent 70%);color:#ffd070}.star-system.sol .star-core{background:radial-gradient(circle at 35% 35%,#fff8e0,#ffb840 60%,#e08020)}.star-system.azure .star-corona{background:radial-gradient(circle,rgba(140,200,255,.5) 0,rgba(60,140,255,.15) 50%,transparent 70%);color:#60b0ff}.star-system.azure .star-core{background:radial-gradient(circle at 35% 35%,#e8f4ff,#5090ff 60%,#2060c0)}.star-system.ember .star-corona{background:radial-gradient(circle,rgba(255,180,100,.5) 0,rgba(255,120,40,.15) 50%,transparent 70%);color:#ff9040}.star-system.ember .star-core{background:radial-gradient(circle at 35% 35%,#ffe8d0,#ff7030 60%,#c04010)}.star-system.crimson .star-corona{background:radial-gradient(circle,rgba(255,120,120,.45) 0,rgba(200,50,80,.12) 50%,transparent 70%);color:#ff5060}.star-system.crimson .star-core{background:radial-gradient(circle at 35% 35%,#ffd0d8,#e04050 60%,#901030)}.star-system.white .star-corona{background:radial-gradient(circle,rgba(220,240,255,.55) 0,rgba(180,210,255,.15) 50%,transparent 70%);color:#d0e8ff}.star-system.white .star-core{background:radial-gradient(circle at 35% 35%,#fff,#c0d8f0 60%,#8090b0)}@keyframes influencePulse{0%,100%{transform:scale(1);opacity:.7}50%{transform:scale(1.08);opacity:1}}@keyframes coronaPulse{0%,100%{transform:scale(1);opacity:.85}50%{transform:scale(1.12);opacity:1}}@keyframes orbitSpin{to{transform:rotate(360deg)}}.star-preview .scan-ring{position:absolute;inset:0;border-radius:50%;border:1px solid rgba(100,180,255,.25);animation:2.5s ease-in-out infinite scanPulse}.star-preview .scan-ring::before{content:'';position:absolute;inset:8px;border-radius:50%;border:1px dashed rgba(100,180,255,.2);animation:18s linear infinite reverse orbitSpin}.star-preview .scan-sweep{position:absolute;inset:6px;border-radius:50%;background:conic-gradient(from 0deg,transparent 0deg,rgba(80,180,255,.25) 40deg,transparent 80deg);animation:3s linear infinite scanSweep}.star-preview .star-dim{position:absolute;inset:20px;border-radius:50%;background:radial-gradient(circle at 40% 40%,rgba(180,210,255,.5),rgba(80,120,180,.3));box-shadow:0 0 10px rgba(100,160,255,.2)}.star-preview .scan-label{position:absolute;bottom:-14px;left:50%;transform:translateX(-50%);font-size:8px;letter-spacing:.14em;text-transform:uppercase;color:rgba(120,190,255,.6);white-space:nowrap}@keyframes scanPulse{0%,100%{opacity:.5;transform:scale(1)}50%{opacity:1;transform:scale(1.05)}}@keyframes scanSweep{to{transform:rotate(360deg)}}.probe-ship{position:absolute;width:20px;height:20px;pointer-events:none;will-change:transform;transform-origin:center center;z-index:4;contain:layout style}.probe-ship .probe-trail{position:absolute;left:50%;top:50%;width:0;height:3px;margin-top:-1.5px;transform-origin:right center;background:linear-gradient(90deg,transparent,rgba(80,200,255,.1),rgba(100,220,255,.7),#fff);border-radius:2px;filter:blur(.5px);opacity:0;transition:opacity .15s}.probe-ship .probe-hull{position:absolute;inset:0;clip-path:polygon(50% 0%,100% 75%,72% 100%,28% 100%,0% 75%);background:linear-gradient(160deg,#c8e8ff 0,#5a9fd4 40%,#2a5080 100%);box-shadow:0 0 10px rgba(100,200,255,.6),inset 0 -2px 4px rgba(0,0,0,.3)}.probe-ship .probe-hull::before{content:'';position:absolute;top:22%;left:30%;right:30%;height:30%;clip-path:polygon(50% 0%,100% 100%,0% 100%);background:linear-gradient(180deg,rgba(200,240,255,.9),rgba(100,180,255,.4))}.probe-ship .probe-engine{position:absolute;bottom:2px;left:50%;width:6px;height:5px;margin-left:-3px;background:radial-gradient(ellipse,#fff 0,#60d0ff 40%,transparent 80%);filter:blur(1px);animation:.15s ease-in-out infinite alternate engineFlicker}.probe-ship .probe-nav{position:absolute;width:2px;height:2px;border-radius:50%;box-shadow:0 0 4px currentColor}.probe-ship .probe-nav.port{top:40%;left:2px;color:#ff4040;animation:1.2s ease-in-out infinite navBlink}.probe-ship .probe-nav.starboard{top:40%;right:2px;color:#40ff80;animation:1.2s ease-in-out .6s infinite navBlink}.probe-ship.migrating .probe-hull{box-shadow:0 0 14px rgba(100,255,180,.75),inset 0 -2px 4px rgba(0,0,0,.3)}.probe-ship.migrating .probe-trail{opacity:1!important;height:4px}@keyframes navBlink{0%,100%{opacity:.3}50%{opacity:1}}@keyframes engineFlicker{from{opacity:.7;transform:scaleX(.9)}to{opacity:1;transform:scaleX(1.1)}}.commerce-probe{position:absolute;width:26px;height:18px;pointer-events:none;will-change:transform;transform-origin:center center;z-index:5;contain:layout style}.commerce-probe .commerce-trail{position:absolute;left:50%;top:50%;width:0;height:4px;margin-top:-2px;transform-origin:right center;transform:translate(-50%,-50%) rotate(180deg);border-radius:2px;filter:blur(.5px);opacity:.7}.commerce-probe.matter .commerce-trail{background:linear-gradient(90deg,transparent,rgba(80,160,255,.2),rgba(100,200,255,.8),#fff)}.commerce-probe.energy .commerce-trail{background:linear-gradient(90deg,transparent,rgba(255,180,60,.2),rgba(255,200,80,.85),#fff)}.commerce-probe.knowledge .commerce-trail{background:linear-gradient(90deg,transparent,rgba(160,120,255,.2),rgba(180,140,255,.85),#fff)}.commerce-probe .commerce-hull{position:absolute;inset:2px 4px;clip-path:polygon(0% 35%,18% 0%,82% 0%,100% 35%,100% 65%,82% 100%,18% 100%,0% 65%);background:linear-gradient(160deg,#ffe8b0 0,#d4a040 35%,#8a6020 100%);box-shadow:0 0 12px rgba(255,190,80,.55),inset 0 -2px 4px rgba(0,0,0,.25)}.commerce-probe .commerce-pod{position:absolute;top:50%;width:7px;height:10px;margin-top:-5px;border-radius:2px;background:linear-gradient(180deg,rgba(255,255,255,.5),rgba(180,140,60,.8));box-shadow:0 0 6px rgba(255,200,100,.4)}.commerce-probe .commerce-pod.port{left:-2px}.commerce-probe .commerce-pod.starboard{right:-2px}.commerce-probe .commerce-engine{position:absolute;left:-4px;top:50%;width:8px;height:6px;margin-top:-3px;background:radial-gradient(ellipse,#fff 0,#ffb040 50%,transparent 85%);filter:blur(1px);animation:.12s ease-in-out infinite alternate engineFlicker}.commerce-probe.matter .commerce-hull{box-shadow:0 0 12px rgba(100,180,255,.5),inset 0 -2px 4px rgba(0,0,0,.25)}.commerce-probe.energy .commerce-hull{background:linear-gradient(160deg,#fff0c0 0,#e8a030 35%,#a06010 100%)}.commerce-probe.knowledge .commerce-hull{background:linear-gradient(160deg,#e8d8ff 0,#a070e0 35%,#5030a0 100%)}.factory{position:absolute;width:32px;height:32px;pointer-events:auto;cursor:pointer;transform:translate(-50%,-50%);z-index:3}.factory:hover .station-ring{border-color:rgba(255,200,100,.85);box-shadow:0 0 16px rgba(255,180,60,.55)}.factory.factory-selected{z-index:5}.factory.factory-selected .station-ring{border-color:#ffdc78;box-shadow:0 0 20px rgba(255,200,80,.75)}.factory .station-ring{position:absolute;inset:0;border-radius:50%;border:2px solid rgba(255,180,60,.5);box-shadow:0 0 12px rgba(255,160,40,.3);animation:16s linear infinite orbitSpin}.factory .station-body{position:absolute;inset:8px;border-radius:4px;background:linear-gradient(135deg,#4a3820 0,#8a6030 50%,#c09040 100%);border:1px solid rgba(255,200,100,.6);box-shadow:0 0 10px rgba(255,180,60,.5)}.factory .station-body::before{content:'';position:absolute;top:2px;left:50%;width:8px;height:8px;margin-left:-4px;border-radius:50%;background:radial-gradient(circle,#ffe080,#ff9000);box-shadow:0 0 6px #fa0}.factory.station-active .station-body{box-shadow:0 0 16px rgba(255,180,60,.8);animation:1.5s ease-in-out infinite stationWork}.factory.station-paused .station-body{filter:grayscale(.55) brightness(.75);animation:none;box-shadow:0 0 6px rgba(255,180,60,.25)}.factory.station-paused .station-ring{border-color:rgba(255,180,60,.25);animation-play-state:paused}@keyframes stationWork{0%,100%{filter:brightness(1)}50%{filter:brightness(1.35)}}.factory .station-dish{position:absolute;top:-4px;right:-2px;width:10px;height:10px;border-radius:50%;border:1px solid rgba(200,220,255,.5);background:radial-gradient(circle at 30% 30%,rgba(200,230,255,.6),rgba(60,100,160,.4));pointer-events:none}.factory-menu{position:absolute;z-index:20;min-width:188px;padding:10px;background:rgba(10,20,44,.94);border:1px solid var(--era-border);border-radius:10px;box-shadow:0 8px 28px rgba(0,0,0,.45);backdrop-filter:blur(10px);pointer-events:auto}.factory-menu[hidden]{display:none}.factory-menu-header{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:6px}.factory-menu-header strong{font-size:12px;color:#e6eef8}.factory-menu-close{width:22px;height:22px;border:1px solid rgba(255,255,255,.12);border-radius:6px;background:rgba(255,255,255,.06);color:#9fb0d7;cursor:pointer;font-size:14px;line-height:1}.factory-menu-close:hover{background:rgba(255,255,255,.12);color:#e6eef8}.factory-menu-status{font-size:11px;color:#9fb0d7;margin-bottom:8px;line-height:1.35}.factory-menu-btn{display:block;width:100%;margin-top:6px;padding:8px 10px;border-radius:8px;border:1px solid var(--era-border);background:rgba(14,28,60,.85);color:#c8e0ff;font-size:12px;text-align:left;cursor:pointer}.factory-menu-btn:hover{background:var(--era-accent-soft);border-color:var(--era-accent)}.factory-menu-btn.factory-menu-demolish{border-color:rgba(248,81,73,.35);color:#ffb4ae}.factory-menu-btn.factory-menu-demolish:hover{background:rgba(80,20,20,.55);border-color:rgba(248,81,73,.65)}.system-name-label{display:block;font-size:10px;color:#7f98c0;text-transform:uppercase;letter-spacing:.06em;margin-bottom:4px}.system-name-input{width:100%;box-sizing:border-box;margin-bottom:8px;padding:8px 10px;border-radius:8px;border:1px solid var(--era-border);background:rgba(6,12,28,.9);color:#e6eef8;font-size:12px}.action-dock{display:flex;align-items:stretch;gap:8px;padding:10px 16px;background:var(--era-dock-bg);border-top:1px solid var(--era-border);backdrop-filter:blur(10px);flex-shrink:0;overflow-x:auto;transition:background .8s,border-color .8s}.action-btn{flex:1;min-width:120px;padding:10px 12px;background:rgba(14,28,60,.8);border:1px solid var(--era-border);border-radius:10px;color:#c8e0ff;cursor:pointer;text-align:left;transition:background .12s,border-color .8s,transform .1s}.action-btn:hover{background:var(--era-accent-soft);border-color:var(--era-accent);transform:translateY(-1px)}.action-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.action-btn:disabled:hover{background:rgba(14,28,60,.8);border-color:var(--era-border);transform:none}.action-btn .action-name{display:block;font-size:13px;font-weight:600;margin-bottom:2px}.action-btn .action-cost{display:block;font-size:10px;color:#7f98c0}.dock-hint{flex:0 0 200px;padding:10px 12px;background:var(--era-accent-soft);border:1px solid var(--era-border);border-radius:10px;font-size:11px;color:var(--era-accent);line-height:1.45;display:flex;align-items:center;transition:background .8s,border-color .8s,color .8s}.dock-hint strong{display:block;font-size:9px;color:#7f98c0;text-transform:uppercase;letter-spacing:.06em;margin-bottom:4px}.research-panel{position:fixed;top:0;right:0;width:min(420px,94vw);height:100vh;z-index:1500;background:rgba(6,10,24,.96);border-left:1px solid var(--era-border,rgba(100,160,255,.2));backdrop-filter:blur(16px);display:flex;flex-direction:column;transform:translateX(100%);transition:transform .3s;box-shadow:-8px 0 40px rgba(0,0,0,.5)}.research-panel.open{transform:translateX(0)}.research-header{display:flex;align-items:center;justify-content:space-between;padding:16px 18px;border-bottom:1px solid var(--era-border,rgba(100,160,255,.15));flex-shrink:0}.research-header h2{margin:0;font-size:16px;color:#c8e0ff;letter-spacing:.04em}.research-header p{margin:4px 0 0;font-size:11px;color:#7f98c0}.research-close{background:0 0;border:1px solid rgba(127,152,192,.3);color:#9fb0d7;border-radius:6px;padding:6px 12px;cursor:pointer;font-size:12px}.research-close:hover{background:rgba(255,255,255,.06)}.research-body{flex:1;overflow-y:auto;padding:12px 14px 24px}.research-category{margin-bottom:18px}.research-category h3{margin:0 0 8px;font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:var(--era-accent,#60a0ff);padding-bottom:6px;border-bottom:1px solid rgba(100,160,255,.1)}.tech-card{padding:10px 12px;margin-bottom:8px;border-radius:10px;border:1px solid rgba(100,160,255,.12);background:rgba(12,20,48,.6);transition:border-color .15s,background .15s}.tech-card.completed{border-color:rgba(63,185,80,.35);background:rgba(20,50,30,.35);opacity:.75}.tech-card.available{border-color:rgba(100,180,255,.35);cursor:pointer}.tech-card.available:hover{background:rgba(20,40,80,.7);border-color:var(--era-accent,#60a0ff)}.tech-card.locked{opacity:.45}.upgrade-card.matter{border-left:3px solid #60a8ff}.upgrade-card.energy{border-left:3px solid #ffc860}.upgrade-card.knowledge{border-left:3px solid #b090ff}.upgrade-card.compute{border-left:3px solid #60e8c0}.upgrade-card.logistics{border-left:3px solid #88d0ff}.upgrade-card.maxed{opacity:.65;cursor:default}.tech-card .tech-name{font-size:13px;font-weight:600;color:#e6eef8;margin-bottom:3px}.tech-card .tech-desc{font-size:11px;color:#7f98c0;line-height:1.4;margin-bottom:6px}.tech-card .tech-meta{display:flex;justify-content:space-between;align-items:center;font-size:10px;color:#9fb0d7}.tech-card .tech-cost{color:#b8a0ff}.tech-card .tech-status{font-weight:600}.tech-card.completed .tech-status{color:#3fb950}.tech-card.available .tech-status{color:#8be2ff}.research-backdrop{position:fixed;inset:0;z-index:1499;background:rgba(0,0,0,.45);opacity:0;pointer-events:none;transition:opacity .3s}.research-backdrop.open{opacity:1;pointer-events:auto}.notificationContainer{position:fixed;bottom:80px;right:16px;z-index:2000;width:300px;pointer-events:none}.notification{display:flex;align-items:center;justify-content:space-between;gap:10px;background:rgba(12,22,50,.92);border-left:3px solid #1f6feb;padding:10px 14px;margin-bottom:8px;border-radius:6px;box-shadow:0 4px 20px rgba(0,0,0,.4);backdrop-filter:blur(8px);animation:.3s ease-out slideIn;pointer-events:auto;cursor:pointer;font-size:13px}.notification .notification-badge{background:rgba(255,255,255,.08);color:#e6eef8;font-size:11px;font-weight:700;padding:3px 7px;border-radius:999px;border:1px solid rgba(255,255,255,.12);min-width:28px;text-align:center}.notification.error{border-left-color:#f85149}.notification.success{border-left-color:#3fb950}.notification.warning{border-left-color:#d29922}@keyframes slideIn{from{transform:translateX(400px);opacity:0}to{transform:translateX(0);opacity:1}}@keyframes slideOut{to{transform:translateX(400px);opacity:0}}.notification.removing{animation:.3s ease-out forwards slideOut}@keyframes buildPulse{0%{transform:scale(1);opacity:1}100%{transform:scale(1.3);opacity:0}}@media (max-width:700px){.hud{flex-wrap:wrap}.era-badge .era-name{font-size:11px}.dock-hint{display:none}.action-btn{min-width:100px}}