:root{--bg: #04050a;--bg-2: #07090f;--ink: #e8e6df;--ink-dim: #aaa69c;--ink-faint: #5c5a54;--rule: #1a1a20;--rule-bright: #34343d;--accent: #f0f4ff;--accent-2: #88bbff;--warn: #ff5544;--good: #88ddaa;--font-display: Georgia, "Times New Roman", serif;--font-mono: "SFMono-Regular", Consolas, "Liberation Mono", monospace;color:var(--ink);background:#000;font-family:var(--font-mono);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}html,body,#root{width:100%;height:100%}body{margin:0;min-width:320px;overflow:hidden;background:#000}button,select{font:inherit}.stage-host{position:fixed;inset:0;overflow:hidden;background:#000}.stage{position:relative;width:100%;height:100%;overflow:hidden;background:var(--bg)}.hud-top{position:fixed;z-index:20;top:0;right:0;left:0;min-height:72px;display:grid;grid-template-columns:minmax(260px,1fr) auto minmax(320px,1fr) auto;align-items:center;gap:20px;padding:10px 24px;border-bottom:1px solid var(--rule);background:linear-gradient(to bottom,#000000db,#000000ad);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.hud-spacer{min-width:260px}.omega-readout b{color:var(--ink);font-weight:400}.hud-title{display:flex;flex-direction:column;align-items:center;gap:3px;white-space:nowrap}.hud-title strong{display:inline-flex;align-items:baseline;gap:12px;color:var(--accent);font-family:var(--font-display);font-size:30px;font-weight:400;line-height:1}.hud-title span{color:var(--ink-dim);font-family:var(--font-mono);font-size:13px;letter-spacing:.12em;text-transform:uppercase}.hud-title small{display:flex;flex-wrap:wrap;justify-content:center;gap:4px 14px;color:var(--ink-dim);font-family:var(--font-mono);font-size:12px;font-weight:400;letter-spacing:.08em;text-transform:uppercase}.hud-title small b{color:var(--ink);font-weight:400}.hud-title small span{color:var(--ink-dim);font-family:inherit;font-size:inherit;letter-spacing:inherit;text-transform:inherit}.omega-readout{display:flex;flex-direction:column;align-items:flex-end;gap:4px;min-width:290px}.omega-readout strong{color:var(--accent);font-size:28px;font-weight:400;font-variant-numeric:tabular-nums}.omega-readout span{color:var(--ink-dim);font-size:15px;letter-spacing:.06em;text-transform:uppercase}.settings-button{width:50px;height:50px;border:1px solid var(--rule-bright);color:var(--ink);background:#00000059;cursor:pointer;font-size:27px;line-height:1}.icon-button{width:40px;height:40px;border:1px solid var(--rule-bright);color:var(--ink);background:#00000059;cursor:pointer;font-size:22px;line-height:1}.settings-button:hover,.icon-button:hover{border-color:var(--accent);color:var(--accent)}.middle-scroll{position:fixed;inset:72px 0 0;overflow:hidden;padding:24px;background:radial-gradient(circle at 50% 15%,rgba(45,62,120,.12),transparent 30%),#000}.game-area{width:min(1320px,100%);height:100%;min-height:0;margin:0 auto;display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:18px;align-items:stretch}.viewport,.right-rail{height:100%;min-height:0;border:1px solid var(--rule);background:#00000059}.viewport{position:relative;overflow:hidden;border-radius:6px}.phase-observation{background:radial-gradient(ellipse at 50% 55%,#0f1630f5,#04050afa 62%,#020308)}.phase-observation:before{content:"";position:absolute;inset:0;pointer-events:none;background-image:radial-gradient(circle at 20% 30%,rgba(255,255,255,.018) 0%,transparent 40%),radial-gradient(circle at 70% 70%,rgba(255,255,255,.012) 0%,transparent 50%)}.phase-stellar{background:radial-gradient(ellipse at 50% 50%,#261108fa,#0a0709fa 54%,#030204)}.phase-stellar:before{content:"";position:absolute;inset:0;pointer-events:none;background-image:radial-gradient(circle at 28% 34%,rgba(255,190,100,.08),transparent 24%),radial-gradient(circle at 66% 62%,rgba(110,170,255,.08),transparent 28%),radial-gradient(circle at 50% 48%,rgba(255,110,42,.08),transparent 32%);mix-blend-mode:screen}.phase-harvest{background:radial-gradient(ellipse at 50% 52%,#2a1608fa,#090707fc 58%,#030202)}.phase-harvest:before{content:"";position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(rgba(255,190,110,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,190,110,.035) 1px,transparent 1px),radial-gradient(circle at 50% 50%,rgba(255,162,88,.13),transparent 38%);background-size:38px 38px,38px 38px,auto;mix-blend-mode:screen}.industry-glow{position:absolute;inset:-12%;pointer-events:none;opacity:calc(.28 + var(--risk) * .32);background:radial-gradient(circle at 50% 50%,rgba(255,210,140,.24),transparent 18%),radial-gradient(circle at 35% 36%,rgba(255,120,60,.15),transparent 18%),radial-gradient(circle at 66% 64%,rgba(120,180,255,.1),transparent 22%),conic-gradient(from 10deg at 50% 50%,transparent,rgba(255,180,100,.08),transparent,rgba(255,80,54,.05),transparent);filter:blur(20px) saturate(1.15);animation:industry-drift 14s ease-in-out infinite alternate}@keyframes industry-drift{to{transform:rotate(-3deg) scale(1.04)}}.sector-network{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.sector-network line{stroke:#ffcd9633;stroke-width:.12;vector-effect:non-scaling-stroke}.sector-network .ring{stroke:#ffb46e24;stroke-dasharray:2 4}.harvest-hub{position:absolute;left:50%;top:50%;width:126px;height:126px;display:grid;place-items:center;color:var(--accent);transform:translate(-50%,-50%);pointer-events:none}.harvest-hub span{position:absolute;inset:0;border:1px solid rgba(255,230,190,.72);border-radius:50%;background:radial-gradient(circle,rgba(255,210,140,.38),rgba(255,120,60,.12) 55%,transparent 76%);box-shadow:0 0 60px #ff96466b}.harvest-hub:after{content:"";position:absolute;inset:-34px;border:1px dashed rgba(255,190,110,.22);border-radius:50%;animation:harvest-spin 18s linear infinite}@keyframes harvest-spin{to{transform:rotate(360deg)}}.harvest-hub b,.harvest-hub em{position:relative;z-index:1;font-weight:400;font-style:normal}.harvest-hub b{align-self:end;font-family:var(--font-display);font-size:24px}.harvest-hub em{align-self:start;color:var(--ink-dim);font-size:11px}.harvest-sector{position:absolute;width:104px;height:104px;padding:0;border:0;color:var(--ink);background:transparent;cursor:pointer;transform:translate(-50%,-50%);transition:opacity .16s ease,filter .16s ease}.harvest-sector:hover{filter:brightness(1.22) saturate(1.12)}.harvest-sector span{position:absolute;inset:0;border-radius:50%;background:radial-gradient(circle,hsla(var(--hue),94%,76%,calc(.5 + var(--output) * .12)),hsla(var(--hue),82%,46%,.18) 48%,transparent 72%);filter:blur(4px)}.harvest-sector:after{content:"";position:absolute;inset:24%;border:1px solid rgba(255,230,190,.44);border-radius:50%}.harvest-sector.medium:after{border-color:#88bbff9e}.harvest-sector.high:after{border-color:#ff5544b8;box-shadow:0 0 26px #ff55443d}.harvest-sector b,.harvest-sector em{position:absolute;left:50%;transform:translate(-50%);white-space:nowrap;font-weight:400;text-transform:uppercase}.harvest-sector b{top:-10px;color:var(--accent);font-size:11px;letter-spacing:.12em}.harvest-sector em{bottom:-8px;color:var(--ink-dim);font-size:10px;font-style:normal;letter-spacing:.12em}.nebula-flow{position:absolute;inset:-14%;pointer-events:none;opacity:calc(.34 + var(--eta) * 2.2);background:radial-gradient(circle at 35% 44%,rgba(255,184,92,.34),transparent 18%),radial-gradient(circle at 58% 54%,rgba(255,92,46,.2),transparent 20%),radial-gradient(circle at 70% 36%,rgba(126,180,255,.14),transparent 22%),conic-gradient(from 80deg at 50% 50%,transparent,rgba(255,210,140,.08),transparent,rgba(80,140,255,.08),transparent);filter:blur(24px) saturate(1.2);animation:nebula-drift 18s ease-in-out infinite alternate}@keyframes nebula-drift{to{transform:translate3d(2%,-2%,0) rotate(4deg) scale(1.05)}}.stellar-orbits{position:absolute;left:50%;top:50%;pointer-events:none}.stellar-orbits span{position:absolute;border:1px dashed rgba(255,204,140,.1);border-radius:50%}.stellar-region{position:absolute;padding:0;border:0;border-radius:50%;color:var(--accent);background:transparent;cursor:pointer;transform:translate(-50%,-50%);transition:opacity .16s ease,filter .16s ease}.stellar-region:hover{filter:brightness(1.25) saturate(1.2)}.stellar-region span{position:absolute;inset:0;border-radius:50%;background:radial-gradient(circle,hsla(var(--hue),94%,76%,.88),hsla(var(--hue),82%,48%,.22) 42%,transparent 70%);filter:blur(7px);animation:stellar-pulse 2.8s ease-in-out infinite alternate}.stellar-region i{position:absolute;inset:32%;border:1px solid rgba(255,232,190,.38);border-radius:50%;box-shadow:0 0 28px #ffc6782e}.stellar-region.massive i{inset:24%;border-color:#ffffff94}.stellar-region.nursery i{border-style:dashed;border-color:#96c8ff75}.stellar-region b{position:absolute;left:50%;top:-8px;transform:translate(-50%);color:var(--accent);font-size:11px;font-weight:400;letter-spacing:.14em;text-transform:uppercase}@keyframes stellar-pulse{to{transform:scale(1.08);opacity:.74}}.starfield{position:absolute;inset:0;pointer-events:none}.starfield span{position:absolute;display:block;border-radius:50%;background:var(--ink);opacity:.42;animation:twinkle 3.4s infinite alternate ease-in-out}@keyframes twinkle{0%{opacity:.18}to{opacity:.82}}.cmb-layer{position:absolute;inset:0;opacity:calc(.14 + var(--noise) * .44);mix-blend-mode:screen;background-image:repeating-linear-gradient(0deg,rgba(255,255,255,.035) 0 1px,transparent 1px 18px),repeating-linear-gradient(90deg,rgba(255,255,255,.028) 0 1px,transparent 1px 18px),radial-gradient(circle at 25% 30%,rgba(120,160,255,.22),transparent 24%),radial-gradient(circle at 72% 66%,rgba(255,200,150,.12),transparent 30%),radial-gradient(circle at 48% 82%,rgba(180,120,255,.18),transparent 28%)}.cmb-layer.tier-2{background-size:28px 28px,28px 28px,auto,auto,auto}.cmb-layer.tier-3{background-size:16px 16px,16px 16px,auto,auto,auto;filter:saturate(1.4)}.thermal-field{position:absolute;inset:-12%;pointer-events:none;background:radial-gradient(circle at 35% 42%,rgba(136,170,255,.24),transparent 16%),radial-gradient(circle at 62% 58%,rgba(255,238,190,.18),transparent 15%),radial-gradient(circle at 48% 22%,rgba(120,255,220,.1),transparent 18%);filter:blur(22px);animation:drift 16s ease-in-out infinite alternate}@keyframes drift{to{transform:translate3d(2%,-1%,0) scale(1.04)}}.crosshair{position:absolute;left:50%;top:50%;width:480px;height:480px;transform:translate(-50%,-50%);opacity:.18;pointer-events:none}.crosshair:before,.crosshair:after{content:"";position:absolute;background:var(--ink-faint)}.crosshair:before{top:0;bottom:0;left:50%;width:1px}.crosshair:after{top:50%;right:0;left:0;height:1px}.annotation{position:absolute;color:var(--ink-dim);font-size:14px;letter-spacing:.08em;text-transform:uppercase}.annotation b{color:var(--ink);font-weight:400}.annotation.top-left{left:32px;top:28px}.annotation.second{top:54px}.annotation.bottom-right{right:32px;bottom:30px}.hotspot{position:absolute;padding:0;border:0;border-radius:50%;color:var(--accent);background:transparent;cursor:pointer;transform:translate(-50%,-50%);transition:opacity .16s ease,filter .16s ease}.hotspot:hover{filter:brightness(1.25)}.hotspot span{position:absolute;inset:0;border-radius:50%;background:radial-gradient(circle,hsla(var(--hue),78%,74%,.72),hsla(var(--hue),72%,48%,.16) 43%,transparent 68%);filter:blur(7px)}.hotspot:after{content:"";position:absolute;inset:32%;border:1px dashed rgba(220,232,255,.42);border-radius:50%}.hotspot.anomaly:after{border-style:solid;border-color:#ffffff9e}.hotspot b{position:absolute;left:50%;top:-10px;transform:translate(-50%);color:var(--accent);font-size:11px;font-weight:400;letter-spacing:.14em;text-transform:uppercase}.phase-summary{position:absolute;top:16px;right:16px;z-index:7;min-width:260px;padding:12px 14px;border:1px solid var(--rule);background:#00000094;color:var(--ink-dim);font-size:14px;letter-spacing:.03em}.phase-summary.collapsed{min-width:210px}.phase-summary-toggle{width:100%;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:0 0 8px;border:0;border-bottom:1px solid var(--rule);color:var(--ink-faint);background:transparent;cursor:pointer;font-size:12px;letter-spacing:.14em;text-align:left;text-transform:uppercase;touch-action:none;-webkit-user-select:none;user-select:none}.phase-summary-toggle:active{cursor:grabbing}.phase-summary-toggle b{color:var(--accent);font-size:16px;font-weight:400;line-height:1}.phase-summary.collapsed .phase-summary-toggle{padding-bottom:0;border-bottom:0}.phase-summary-body{padding-top:8px}.phase-summary .head{color:var(--ink-faint);font-size:12px;letter-spacing:.14em;text-transform:uppercase}.metric{display:flex;justify-content:space-between;gap:18px;padding:4px 0;width:100%;border:0;color:var(--ink-dim);background:transparent;font:inherit;text-align:left}.metric b{color:var(--ink);font-weight:400;font-variant-numeric:tabular-nums}.metric.good b{color:var(--good)}.metric.danger b{color:var(--warn)}.metric.inspectable{cursor:pointer}.metric.inspectable:hover span,.metric.inspectable:hover b{color:var(--accent)}.right-rail{display:flex;flex-direction:column;gap:20px;padding:24px;overflow-y:auto;border-radius:6px;background:linear-gradient(to left,#00000073,#0000002e)}.right-rail section{display:flex;flex-direction:column;gap:12px}.right-rail p,.target,.locked-note{margin:0;color:var(--ink-dim);font-size:14px;line-height:1.55}.target{color:var(--accent);font-size:14px}.locked-note,.error-text{color:var(--warn);font-size:14px}.rail-header{display:flex;justify-content:space-between;align-items:baseline;color:var(--ink-dim);font-size:13px;letter-spacing:.14em;text-transform:uppercase}.rail-header b{color:var(--accent);font-weight:400}.upgrade{display:grid;grid-template-columns:1fr auto;gap:14px;width:100%;padding:14px 0;border:0;border-top:1px solid var(--rule);color:var(--ink-dim);background:transparent;text-align:left;cursor:pointer}.upgrade:disabled{cursor:default;opacity:.52}.upgrade.affordable,.upgrade.affordable strong{color:var(--accent)}.upgrade span{display:flex;flex-direction:column;gap:5px}.upgrade b{color:var(--ink);font-size:15px;font-weight:400}.upgrade small{color:var(--ink-dim);font-size:13px;line-height:1.45}.upgrade em{color:var(--accent);font-size:12px;font-style:normal}.upgrade strong{color:var(--ink-dim);font-size:15px;font-weight:400;white-space:nowrap;font-variant-numeric:tabular-nums}.command{width:100%;min-height:42px;border:1px solid var(--rule-bright);color:var(--ink);background:transparent;cursor:pointer;font-size:13px;letter-spacing:.1em;text-transform:uppercase}.command:hover,.command.primary:not(:disabled){border-color:var(--accent);color:var(--accent)}.command:disabled{cursor:default;opacity:.42}.io-row{display:grid;grid-template-columns:1fr 1fr;gap:8px}.constants{margin-top:auto}.epigraph{padding-top:10px}.epigraph span{color:var(--ink-faint);font-size:12px;letter-spacing:.14em;text-transform:uppercase}.epigraph p{margin:8px 0 0;color:var(--ink-dim);font-family:var(--font-display);font-size:19px;font-style:italic;line-height:1.35}.progress-row{display:flex;align-items:center;gap:12px}.progress-bar{position:relative;height:4px;flex:1;overflow:hidden;background:var(--rule)}.progress-bar span{position:absolute;top:0;bottom:0;left:0;background:var(--accent);transition:width .22s ease}.progress-row b{color:var(--accent);font-size:14px;font-weight:400}.rail-progress{display:flex;flex-direction:column;gap:8px}.floating-gain{position:absolute;pointer-events:none;color:var(--accent);font-size:16px;white-space:nowrap;animation:float-up 1s ease-out forwards}.event-toast{position:absolute;left:50%;bottom:24px;z-index:6;width:min(520px,calc(100% - 48px));border:1px solid rgba(255,255,255,.16);background:#0000009e;color:var(--ink-dim);transform:translate(-50%);pointer-events:none;animation:toast-fade 3s ease-out forwards}.event-toast div{display:flex;gap:12px;align-items:baseline;padding:10px 12px;font-size:13px}.event-toast b{color:var(--ink-faint);font-weight:400}.event-toast span{color:var(--ink-dim)}.event-toast i{display:block;height:2px;background:#ffffff47;transform-origin:left center;animation:toast-progress 3s linear forwards}@keyframes toast-progress{0%{transform:scaleX(1)}to{transform:scaleX(0)}}@keyframes toast-fade{0%{opacity:0;transform:translate(-50%,8px)}10%,82%{opacity:.78;transform:translate(-50%)}to{opacity:0;transform:translate(-50%,-4px)}}@keyframes float-up{0%{opacity:1;transform:translate(-50%)}to{opacity:0;transform:translate(-50%,-56px)}}.dialog-backdrop{position:fixed;z-index:40;inset:0;display:grid;place-items:center;background:#0000009e}.settings-dialog{width:min(420px,calc(100vw - 32px));padding:20px;border:1px solid var(--rule-bright);background:#08090f;box-shadow:0 24px 80px #00000080}.info-dialog{width:min(460px,calc(100vw - 32px));padding:20px;border:1px solid var(--rule-bright);background:#08090f;box-shadow:0 24px 80px #00000080}.info-dialog p{margin:0;color:var(--ink-dim);font-size:15px;line-height:1.7}.dialog-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}.dialog-head h2{margin:0;color:var(--accent);font-family:var(--font-display);font-size:28px;font-weight:400}.setting-row{display:grid;grid-template-columns:1fr 180px;align-items:center;gap:16px;color:var(--ink);font-size:15px}.setting-row select{height:40px;padding:0 10px;border:1px solid var(--rule-bright);color:var(--ink);background:#05060a}.settings-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:18px}.settings-actions .error-text{grid-column:1 / -1}.file-input,.rotate-overlay{display:none}@media(max-width:980px)and (orientation:landscape){.hud-top{min-height:62px;grid-template-columns:1fr auto auto;gap:12px;padding:8px 14px}.hud-spacer{display:none}.hud-title{align-items:flex-start}.hud-title strong{font-size:24px}.omega-readout{min-width:240px}.omega-readout strong{font-size:22px}.omega-readout span{font-size:14px}.middle-scroll{top:62px;bottom:0;padding:12px}.game-area{width:100%;grid-template-columns:minmax(0,1fr) 330px}}@media(max-width:760px)and (orientation:portrait){.middle-scroll,.hud-top{filter:blur(3px);pointer-events:none}.rotate-overlay{position:fixed;z-index:60;inset:0;display:grid;place-items:center;padding:32px;color:var(--accent);background:#000;font-size:22px;text-align:center}}
