*{box-sizing:border-box;margin:0;padding:0}body{--bg-deep:#120f12;--bg-ember:#281b14;--bg-mist:#1b2731;--panel-bg:linear-gradient(180deg, #181b24eb, #0e1018f0);--panel-border:#d6b06540;--panel-shadow:0 18px 40px #00000047;--accent-gold:#d6b065;--accent-teal:#6eb5b0;background:radial-gradient(circle at top, #ba7f352e, transparent 28%), radial-gradient(circle at 20% 20%, #4e918c29, transparent 22%), linear-gradient(180deg, var(--bg-mist), var(--bg-deep) 40%, #09080c);color:#d8d0c8;min-height:100vh;font-family:IBM Plex Mono,SFMono-Regular,Consolas,monospace}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:#0d0d1a}::-webkit-scrollbar-thumb{background:#333;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#555}button:focus-visible,select:focus-visible,input:focus-visible,g[role=button]:focus-visible{outline-offset:2px;outline:2px solid #c8a040}.game-container{border-top:2px solid #0000;max-width:1080px;margin:0 auto;padding:18px 16px 28px;transition:border-color 1s}.game-container.era-1{border-top-color:#8a7a3a}.game-container.era-2{border-top-color:#a08030}.game-container.era-3{border-top-color:#7a8a5a}.game-container.era-4{border-top-color:#8a8060}.game-container.era-5{border-top-color:#b09030}.game-container.era-6{border-top-color:#6a7a8a}.game-container.era-7{border-top-color:#c08030}.game-container.era-8{border-top-color:#8a6a50}.game-container.era-9{border-top-color:#7a9070}.game-container.era-10{border-top-color:#c0a040}.game-header{border-bottom:1px solid #d6b0652e;justify-content:space-between;align-items:center;margin-bottom:16px;padding:14px 0 16px;display:flex;overflow:hidden}.game-header h1{letter-spacing:.02em;color:#f2e4cb;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-family:Iowan Old Style,Palatino Linotype,Book Antiqua,Georgia,serif;overflow:hidden}.title-block{min-width:0}.header-omen{color:#aeb8c4;max-width:44rem;margin-top:6px;font-size:.8em;font-style:italic;line-height:1.4}.header-controls{gap:8px;display:flex}.control-ribbon{flex-wrap:wrap;gap:8px;margin:0 0 12px;display:flex}.control-chip{color:#c4ced9;text-transform:uppercase;letter-spacing:.05em;background:#ffffff0a;border:1px solid #d6b0652e;border-radius:999px;align-items:center;padding:5px 10px;font-size:.75em;display:inline-flex}.mini-status-dots{background:#ffffff0a;border:1px solid #d6b0652e;border-radius:999px;align-items:center;gap:3px;padding:2px 6px;display:inline-flex}.mini-dot{cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;width:18px;height:18px;font-family:inherit;font-size:.55em;font-weight:700;transition:opacity .2s;display:flex}.mini-dot.active{color:#8e8;background:#2d6a2d;box-shadow:0 0 4px #64c86466}.mini-dot.inactive{color:#555;background:#333}.mini-dot.current{outline-offset:1px;outline:1px solid #8a8}.mini-dot:hover{opacity:.85}.upgrade-summary-strip{flex-wrap:wrap;gap:8px;margin-bottom:8px;display:flex}.upgrade-summary-pill{color:#c4ced9;text-transform:uppercase;letter-spacing:.05em;background:#ffffff0a;border:1px solid #d6b0652e;border-radius:999px;align-items:center;padding:4px 9px;font-size:.72em;display:inline-flex}.game-layout{grid-template-columns:1fr 1fr;gap:12px;display:grid}.panel{background:var(--panel-bg);border:1px solid var(--panel-border);box-shadow:var(--panel-shadow);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:14px;margin-bottom:12px;padding:12px}.panel h2{color:#e0bf77;border-bottom:1px solid #d6b06526;flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:8px;padding-bottom:4px;font-size:1em;transition:border-color 1s;display:flex}.resource-status-strip,.director-chip-row,.event-status-strip{flex-wrap:wrap;gap:8px;display:flex}.resource-status-strip{margin-bottom:8px}.event-status-strip{margin-bottom:10px}.event-lead{background:#ffffff0a;border:1px solid #d6b06529;border-radius:10px;flex-direction:column;gap:4px;margin-bottom:10px;padding:10px;display:flex}.event-lead.lore{background:linear-gradient(#7848aa2e,#ffffff08);border-color:#bb88ff4d}.event-lead-label{color:#88b9c9;text-transform:uppercase;letter-spacing:.08em;font-size:.68em}.resource-status-pill,.director-chip,.event-status-pill{color:#bfc7d2;text-transform:uppercase;letter-spacing:.05em;background:#ffffff0a;border:1px solid #d6b0652e;border-radius:999px;align-items:center;padding:4px 9px;font-size:.72em;display:inline-flex}.event-entry.lore-entry{background:linear-gradient(90deg,#7848aa29,#ffffff05);border-left:2px solid #bb88ff80;border-radius:6px;padding-left:8px}.resource-alert{color:#ffb274;background:linear-gradient(90deg,#ff7a4024,#ffb85b14);border:1px solid #ff904d2e;border-radius:10px;margin-bottom:8px;padding:6px 10px;font-size:.75em}.era-director{background:linear-gradient(135deg,#111a22bf,#2b18128c);border:1px solid #d6b0652e;border-radius:12px;margin-top:10px;padding:10px 12px}.era-director-ready{background:linear-gradient(135deg,#0c2a26b3,#111c27b3);border-color:#6eb5b059}.era-director-warning{border-color:#d6b06557}.director-heading{justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:4px;display:flex}.director-label{color:var(--accent-teal);text-transform:uppercase;letter-spacing:.08em;font-size:.72em}.director-detail{color:#d4dce5;margin-bottom:8px;font-size:.82em}.help-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.help-card{background:#ffffff08;border:1px solid #d6b06524;border-radius:10px;padding:10px}.help-card strong{color:#e4c684;margin-bottom:4px;display:block}.help-card-wide{grid-column:1/-1}.victory-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.victory-card{background:linear-gradient(#ffffff0a,#ffffff05);border:1px solid #d6b06529;border-radius:10px;padding:10px}.victory-card strong{color:#e4c684;margin-bottom:4px;display:block}.victory-card-wide{grid-column:1/-1}.chronicle-list{flex-direction:column;gap:8px;display:flex}.chronicle-entry{background:#ffffff08;border:1px solid #d6b06529;border-radius:10px;flex-direction:column;gap:3px;padding:10px;display:flex}.chronicle-entry strong{color:#e4c684}.chronicle-entry span:last-child{color:#c7cfda;font-size:.9em;line-height:1.45}.chronicle-era{color:#88b9c9;text-transform:uppercase;letter-spacing:.08em;font-size:.7em}.readiness-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:8px 0;display:grid}.readiness-card{background:#ffffff08;border:1px solid #d6b0652e;border-radius:10px;flex-direction:column;gap:3px;padding:10px;display:flex}.readiness-card.ready{background:linear-gradient(#6eb5b01f,#ffffff08);border-color:#6eb5b052}.readiness-card strong{color:#e6d9b6}.readiness-label{color:#88b9c9;text-transform:uppercase;letter-spacing:.08em;font-size:.7em}.mini-game-caption{color:#bfc7d2;background:#ffffff08;border:1px solid #d6b06524;border-radius:10px;margin:0 0 8px;padding:8px 10px;font-size:.78em}@media (width<=720px){.game-container{padding:12px 10px 20px}.game-header{flex-direction:column;align-items:flex-start;gap:10px}.header-controls{flex-wrap:wrap;width:100%}.help-grid,.victory-grid,.readiness-grid{grid-template-columns:1fr}.tab-sublabel{display:none}.tab-btn{padding:8px 6px}}.toast{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid #d6b0652e;box-shadow:0 12px 30px #0003}.resource-era-group{margin-bottom:4px}.resource-era-header{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:baseline;gap:8px;padding:2px 4px;font-size:.75em;display:flex}.resource-era-header:hover{background:#ffffff0d}.resource-era-header.old-era{color:#777}.resource-era-header.current-era{color:#7cb7ff;font-weight:700}.collapsed-summary{color:#777;text-overflow:ellipsis;white-space:nowrap;font-size:.9em;overflow:hidden}.resource-list{flex-direction:column;gap:4px;display:flex}.resource-row{grid-template-columns:minmax(60px,1fr) minmax(0,auto) minmax(0,auto) auto;align-items:center;gap:8px;padding:2px 4px;font-size:.85em;display:grid;position:relative;overflow:hidden}.resource-row:before{content:"";width:var(--resource-fill,0%);pointer-events:none;z-index:0;background:linear-gradient(90deg,#6eb5b029,#d6b06514);position:absolute;inset:0}.resource-row>*{z-index:1;position:relative}.resource-row:hover{background:#ffffff0d}.resource-name{color:#ace;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.resource-amount{color:#e0e0e0;text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap;text-overflow:ellipsis;transition:color .3s;overflow:hidden}.resource-rate{color:#6c6;text-align:right;font-variant-numeric:tabular-nums;min-width:70px}.upgrade-list,.tech-list{flex-direction:column;gap:6px;display:flex}.upgrade-btn,.tech-btn{text-align:left;color:#d8d0c8;cursor:pointer;background:#161820;border:1px solid #2a2418;width:100%;padding:8px;font-family:inherit;font-size:.8em;transition:background .2s,border-color .2s;display:block}.upgrade-btn:hover:not(:disabled),.tech-btn:hover:not(:disabled){background:#1e2028;border-color:#8a7030}.upgrade-btn:disabled,.tech-btn:disabled{opacity:.5;cursor:not-allowed}.upgrade-btn.affordable,.tech-btn.affordable{border-color:#8aaa44}.toggle-purchased{color:#666;cursor:pointer;margin-left:8px;font-size:.8em;font-weight:400}.toggle-purchased:hover{color:#aaa}.purchased-list{border-bottom:1px solid #2a2a4a;margin-bottom:8px;padding-bottom:6px}.purchased-upgrade{opacity:.6;justify-content:space-between;padding:1px 4px;font-size:.75em;display:flex}.purchased-name{color:#6a6}.purchased-desc{color:#777}.upcoming-section{border-top:1px dashed #2a2a4a;margin-top:8px;padding-top:6px}.upcoming-header{color:#666;text-transform:uppercase;letter-spacing:1px;margin-bottom:4px;font-size:.75em}.upcoming-upgrade{opacity:.5;background:#28283c4d;border-radius:3px;justify-content:space-between;margin-bottom:2px;padding:3px 6px;font-size:.8em;display:flex}.upcoming-name{color:#89a;font-weight:700}.upcoming-desc{color:#777;font-size:.9em}.upgrade-sort{gap:4px;margin-bottom:6px;display:flex}.upgrade-sort button{color:#666;cursor:pointer;background:0 0;border:1px solid #333;flex:1;padding:3px;font-family:inherit;font-size:.7em}.upgrade-sort button.active{color:#d4a840;background:#d4a8400d;border-color:#d4a840}.upgrade-sort button:hover{color:#aaa}.upgrade-effects{flex-wrap:wrap;gap:3px;margin-top:3px;display:flex}.effect-tag{border-radius:2px;padding:1px 4px;font-size:.7em;display:inline-block}.effect-mult{color:#f96;background:#ff99661f;border:1px solid #ff99664d}.effect-add{color:#6c8;background:#66cc881f;border:1px solid #66cc884d}.effect-cap{color:#88d;background:#8888dd1f;border:1px solid #8888dd4d}.effect-unlock{color:#da4;background:#ddaa441f;border:1px solid #ddaa444d}.chain-depth{color:#555;margin-right:4px;font-size:.8em}.repeatable-badge{color:#d4a840;vertical-align:middle;border:1px solid #8be9fd;border-radius:3px;margin-left:6px;padding:0 4px;font-size:.7em;font-weight:400;display:inline-block}.upgrade-name,.tech-name{color:#ace;font-weight:700}.upgrade-cost,.tech-cost{color:#aaa;margin-top:2px;font-size:.9em}.upgrade-desc,.tech-desc{color:#888;margin-top:2px;font-size:.85em}.era-gate{color:#fc0}.era-gate-tech{box-shadow:0 0 6px #cc99004d;background:linear-gradient(135deg,#1a2845,#2a2820)!important;border:2px solid #c90!important}.era-gate-tech:hover:not(:disabled){box-shadow:0 0 10px #cc990080}.tech-prereqs{color:#666;margin-top:2px;font-size:.7em;font-style:italic}.era-panel{text-align:center;transition:background 1s}.era-panel h2{letter-spacing:1px;justify-content:center;font-size:1.1em}.era-hint{color:#888;margin-bottom:4px;font-size:.85em}.era-stats{color:#666;font-variant-numeric:tabular-nums;font-size:.8em}.era-panel .upgrade-progress-fill{transition:width .5s ease-out}.canvas-panel{justify-content:center;display:flex}canvas{image-rendering:pixelated;border:1px solid #333;transition:border-color .3s}canvas:hover{cursor:pointer;border-color:#555}.prestige-btn{color:#d0b0ff;cursor:pointer;background:linear-gradient(135deg,#3a2266,#53a);border:1px solid #74c;padding:6px 12px;font-family:inherit;font-weight:700;animation:2s ease-in-out infinite prestige-glow}.prestige-btn:hover{background:linear-gradient(135deg,#53a,#74c)}.prestige-btn:active{transform:scale(.97)}@keyframes prestige-glow{0%,to{box-shadow:0 0 5px #b464ff4d}50%{box-shadow:0 0 15px #b464ff99}}.reset-btn{color:#f88;cursor:pointer;background:#3a2020;border:1px solid #5a3030;padding:4px 10px;font-family:inherit;font-size:.85em;transition:background .2s}.reset-btn:hover{background:#5a3030}.reset-btn:active{background:#7a4040;transform:scale(.97)}.game-header h1{background:linear-gradient(90deg,#c8a040,#e8c060,#d4a030);-webkit-text-fill-color:transparent;text-shadow:none;-webkit-background-clip:text;background-clip:text;transition:filter 1s}.era-1 .game-header h1{background:linear-gradient(90deg,#6ac46a,#8be9a0);-webkit-background-clip:text;background-clip:text}.era-2 .game-header h1{background:linear-gradient(90deg,#d4a053,#e8c078);-webkit-background-clip:text;background-clip:text}.era-3 .game-header h1{background:linear-gradient(90deg,#5ab5d4,#8be9fd);-webkit-background-clip:text;background-clip:text}.era-4 .game-header h1{background:linear-gradient(90deg,#8a8ac0,#b0b0e8);-webkit-background-clip:text;background-clip:text}.era-5 .game-header h1{background:linear-gradient(90deg,#c4c44a,#e8e878);-webkit-background-clip:text;background-clip:text}.era-6 .game-header h1{background:linear-gradient(90deg,#4a7ac4,#78a8e8);-webkit-background-clip:text;background-clip:text}.era-7 .game-header h1{background:linear-gradient(90deg,#d46a4a,#e89878);-webkit-background-clip:text;background-clip:text}.era-8 .game-header h1{background:linear-gradient(90deg,#9a4ac4,#c878e8);-webkit-background-clip:text;background-clip:text}.era-9 .game-header h1{background:linear-gradient(90deg,#4ac4a8,#78e8d0);-webkit-background-clip:text;background-clip:text}.era-10 .game-header h1{background:linear-gradient(90deg,#c44ac4,#e878e8);-webkit-background-clip:text;background-clip:text}.era-1 .panel{background:#141812}.era-2 .panel{background:#161410}.era-3 .panel{background:#101418}.era-4 .panel{background:#121216}.era-5 .panel{background:#141610}.era-6 .panel{background:#0e141e}.era-7 .panel{background:#181210}.era-8 .panel{background:#14101a}.era-9 .panel{background:#101816}.era-10 .panel{background:#181018}.era-1 .panel h2{color:#a0b868}.era-2 .panel h2{color:#c8a040}.era-3 .panel h2{color:#68a0c8}.era-4 .panel h2{color:#9090c0}.era-5 .panel h2{color:#b8b040}.era-6 .panel h2{color:#6898c8}.era-7 .panel h2{color:#d08030}.era-8 .panel h2{color:#a070c0}.era-9 .panel h2{color:#50b098}.era-10 .panel h2{color:#c050b0}.era-1 .upgrade-btn.affordable,.era-1 .tech-btn.affordable{border-color:#6a9a44}.era-2 .upgrade-btn.affordable,.era-2 .tech-btn.affordable{border-color:#aa8830}.era-3 .upgrade-btn.affordable,.era-3 .tech-btn.affordable{border-color:#48a}.era-4 .upgrade-btn.affordable,.era-4 .tech-btn.affordable{border-color:#7070aa}.era-5 .upgrade-btn.affordable,.era-5 .tech-btn.affordable{border-color:#9a9a30}.era-6 .upgrade-btn.affordable,.era-6 .tech-btn.affordable{border-color:#3870a0}.era-7 .upgrade-btn.affordable,.era-7 .tech-btn.affordable{border-color:#b07020}.era-8 .upgrade-btn.affordable,.era-8 .tech-btn.affordable{border-color:#8050a0}.era-9 .upgrade-btn.affordable,.era-9 .tech-btn.affordable{border-color:#40a088}.era-10 .upgrade-btn.affordable,.era-10 .tech-btn.affordable{border-color:#a040a0}.era-1 .tab-btn.active{color:#a0b868}.era-2 .tab-btn.active{color:#c8a040}.era-3 .tab-btn.active{color:#68a0c8}.era-4 .tab-btn.active{color:#9090c0}.era-5 .tab-btn.active{color:#b8b040}.era-6 .tab-btn.active{color:#6898c8}.era-7 .tab-btn.active{color:#d08030}.era-8 .tab-btn.active{color:#a070c0}.era-9 .tab-btn.active{color:#50b098}.era-10 .tab-btn.active{color:#c050b0}.tech-btn[title*=Choose\ one]{border-left:2px solid #f86}.gather-btn{color:#6c6;cursor:pointer;background:#2a4a3a;border:1px solid #3a6a4a;padding:0 6px;font-family:inherit;font-size:1em;font-weight:700;line-height:1.4;transition:background .15s}.gather-btn:hover{background:#3a6a4a}.gather-btn:active{background:#4a8a5a}.empty-message{color:#666;font-size:.85em;font-style:italic}.mining-panel{background:#1e2a1e;border-color:#3a5a3a}.mining-info{color:#aaa;justify-content:space-between;margin-bottom:8px;font-size:.8em;display:flex}.mining-chance-bar{background:#1a1a1a;border-radius:2px;height:4px;margin-bottom:6px;overflow:hidden}.mining-chance-fill{background:linear-gradient(90deg,#4a8a4a,#8f8);height:100%;transition:width .2s}.mine-btn{color:#8d8;cursor:pointer;background:#2a4a2a;border:2px solid #4a7a4a;width:100%;padding:10px;font-family:inherit;font-size:1em;font-weight:700;transition:background .15s;display:block}.mine-btn:hover{background:#3a6a3a}.mine-btn:active{background:#5a8a5a;transform:scale(.98)}.mining-hint{color:#666;margin-top:4px;font-size:.75em}.factory-panel{background:#1e1e2a;border-color:#3a3a5a}.factory-info{color:#aaa;justify-content:space-between;margin-bottom:8px;font-size:.8em;display:flex}.factory-lines{flex-direction:column;gap:4px;display:flex}.factory-line{background:#28283c80;border-radius:3px;align-items:center;gap:8px;padding:4px;transition:background .2s;display:flex}.factory-line:hover{background:#32325099}.line-label{min-width:100px;font-size:.85em;font-weight:700}.line-bonus{color:#888;flex:1;font-size:.75em}.line-controls{gap:2px;display:flex}.line-controls button{color:#8ad;cursor:pointer;background:#2a3a5a;border:1px solid #4a5a7a;width:24px;height:24px;font-family:inherit;font-size:1em;font-weight:700;transition:background .15s}.line-controls button:hover:not(:disabled){background:#3a5a7a}.line-controls button:disabled{opacity:.3;cursor:not-allowed}.hacking-panel{background:#0a1a0a;border-color:#2a5a2a}.hack-info{color:#aaa;justify-content:space-between;margin-bottom:8px;font-size:.8em;display:flex}.hack-challenge{flex-direction:column;gap:8px;display:flex}.hack-sequence,.hack-input{align-items:center;gap:4px;display:flex}.sequence-label{color:#888;min-width:50px;font-size:.8em}.hack-symbol{text-align:center;color:#8f8;background:#1a2a1a;border:1px solid #3a5a3a;width:24px;height:24px;font-size:.9em;font-weight:700;line-height:24px;display:inline-block}.hack-symbol.entered{background:#2a4a2a;border-color:#5a8a5a}.hack-symbol.empty{color:#333}.hack-buttons{gap:4px;display:flex}.hack-btn{color:#8f8;cursor:pointer;background:#1a3a1a;border:2px solid #3a6a3a;flex:1;padding:8px;font-family:inherit;font-size:1.1em;font-weight:700;transition:background .15s}.hack-btn:hover{background:#2a5a2a}.hack-btn:active{background:#3a7a3a;transform:scale(.95)}.hack-reward{color:#6c6;text-align:center;font-size:.75em}.hack-result{text-align:center;margin-bottom:4px;padding:4px 8px;font-size:.85em}.hack-result.success{color:#8f8;background:#00c8001a}.hack-result.fail{color:#f88;background:#c800001a}.docking-panel{background:#1a1a2e;border-color:#3a3a6a}.dock-info{color:#aaa;justify-content:space-between;margin-bottom:8px;font-size:.8em;display:flex}.dock-bar{background:linear-gradient(#0a0a0a,#1a1a1a);border:1px solid #333;border-radius:4px;height:30px;margin-bottom:8px;position:relative;overflow:hidden}.dock-zone{background:#00b40040;border-left:1px solid #4a8a4a;border-right:1px solid #4a8a4a;height:100%;position:absolute;top:0}.dock-bar .dock-perfect{background:#0f03;height:100%;position:absolute;top:0}.dock-indicator{background:#fd4;width:3px;height:100%;position:absolute;top:0;transform:translate(-1px)}.dock-result{text-align:center;margin-bottom:4px;padding:2px;font-size:.85em}.dock-result.dock-perfect{color:#fd4;text-shadow:0 0 10px #ffdd4480;font-weight:700;animation:.3s dock-flash}.dock-result.dock-good{color:#8d8}.dock-result.dock-miss{color:#f88}@keyframes dock-flash{0%{transform:scale(1.3)}to{transform:scale(1)}}.colony-panel{background:#1e2a1e;border-color:#3a5a3a}.colony-bar{background:#111;border-radius:3px;height:6px;margin-bottom:6px;display:flex;overflow:hidden}.colony-bar-segment{height:100%;transition:width .3s}.colony-bonus{color:#8c8;background:#0064001a;margin-top:4px;padding:2px 4px;font-size:.75em}.star-chart-panel{background:#0a0a1e;border-color:#2a2a5a}.star-chart{margin:4px 0}.star-svg{background:#050510;border:1px solid #222;width:100%;height:150px}.weaving-panel{background:#1e0a1e;border-color:#5a2a5a}.weave-grid{background:#1e0a1e80;flex-wrap:wrap;gap:4px;min-height:30px;margin-bottom:8px;padding:8px;display:flex}.weave-fragment{text-align:center;cursor:default;background:#3c143c80;border:1px solid #6a3a6a;border-radius:2px;width:24px;height:24px;font-size:.75em;font-weight:700;line-height:24px;transition:transform .2s,box-shadow .2s,border-color .2s;display:inline-block}.weave-fragment:hover{transform:scale(1.2);box-shadow:0 0 8px}.weave-controls{flex-direction:column;gap:4px;display:flex}.event-panel{background:#1e1e2a;border-color:#3a3a5a}.active-effects{margin-bottom:6px}.active-effect{background:#6464ff1a;border-left:2px solid #66c;flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:2px;padding:2px 4px;font-size:.8em;animation:2s ease-in-out infinite effect-glow;display:flex}@keyframes effect-glow{0%,to{border-left-color:#66c}50%{border-left-color:#aaf}}.effect-icon{color:#acf}.effect-desc{color:#acf;flex:1}.effect-timer{color:#888;text-align:right;min-width:30px}.effect-bar{background:#6464ff26;grid-column:1/-1;height:2px;margin-top:2px}.effect-bar-fill{background:#66c;height:100%;transition:width 1s linear}.event-log{flex-direction:column;gap:1px;display:flex}.event-entry{padding:1px 4px;font-size:.75em;animation:.3s ease-out event-slide-in}@keyframes event-slide-in{0%{opacity:0;transform:translate(-10px)}to{opacity:1;transform:translate(0)}}.event-time{color:#777;margin-right:4px}.event-message{color:#999}.trading-panel{background:#2a1e2a;border-color:#5a3a5a}.trade-controls{flex-direction:column;gap:6px;display:flex}.trade-row{align-items:center;gap:8px;font-size:.85em;display:flex}.trade-row label{color:#aaa;min-width:50px}.trade-row select,.trade-row input{color:#e0e0e0;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background:#1a1a2e;border:1px solid #444;flex:1;padding:4px;font-family:inherit;font-size:.9em}.trade-row select option{color:#e0e0e0;background:#1a1a2e}.trade-preview{color:#c9f;text-align:center;background:#64329626;border:1px solid #64329633;border-radius:3px;padding:6px;font-size:.8em}.trade-ratio{color:#888;margin-left:6px}.trade-btn{color:#d0b0ff;cursor:pointer;background:#3a2266;border:1px solid #53a;padding:6px;font-family:inherit;font-size:.9em;transition:background .2s}.trade-btn:hover:not(:disabled){background:#53a}.trade-btn:active:not(:disabled){background:#74c;transform:scale(.97)}.trade-btn:disabled{opacity:.4;cursor:not-allowed}.prestige-panel{background:#1a1028;border-color:#4a2a6a}.prestige-panel h3{color:#b8f;border-top:1px solid #3a2a5a;margin:8px 0 4px;padding-top:6px;font-size:.85em}.prestige-info{margin-bottom:8px}.prestige-shop{flex-direction:column;gap:4px;display:flex}.prestige-shop .upgrade-btn.purchased{opacity:.5;border-color:#4a4a6a}.stats-panel{background:#1a2030;border-color:#2a3040}.stats-panel h3{color:#7cb7ff;border-top:1px solid #2a2a4a;margin:8px 0 4px;padding-top:6px;font-size:.85em}.stats-grid{flex-direction:column;gap:2px;display:flex}.stat-row{justify-content:space-between;padding:1px 4px;font-size:.8em;display:flex}.stat-row span:first-child{color:#888}.stat-row span:last-child{color:#ccc}.achievement-progress-bar{background:#1a1a2e;border-radius:3px;height:6px;margin-bottom:8px;overflow:hidden}.achievement-progress-fill{background:linear-gradient(90deg,#4a8a4a,#8d8);height:100%;transition:width .5s}.achievement-list{flex-direction:column;gap:3px;display:flex}.achievement{justify-content:space-between;padding:2px 4px;font-size:.75em;display:flex}.achievement.earned{background:#64c86414;border-left:2px solid #8d8}.achievement.locked{opacity:.4;border-left:2px solid #0000}.achievement-name{color:#aca;font-weight:700}.achievement.locked .achievement-name{color:#666}.achievement-desc{color:#888}.shortcut-legend{text-align:center;color:#444;letter-spacing:.02em;-webkit-user-select:none;user-select:none;border-top:1px solid #222;padding:4px 0 2px;font-size:.65em}@media (width<=600px){.shortcut-legend{display:none}}.tab-bar{border-bottom:1px solid #333;gap:2px;margin-bottom:8px;padding-bottom:4px;display:flex}.tab-btn{color:#888;cursor:pointer;background:0 0;border:1px solid #0000;border-bottom:none;flex-direction:column;flex:1;align-items:flex-start;gap:2px;padding:6px 4px;font-family:inherit;font-size:.8em;font-weight:700;transition:color .2s,background .2s,border-color .2s;display:flex}.tab-label{font-weight:700}.tab-sublabel{color:#8793a5;text-transform:uppercase;letter-spacing:.05em;font-size:.68em}.tab-btn:hover{color:#bbb;background:#ffffff08}.tab-btn.active{color:#d4a840;background:#d4a8400d;border-color:#333 #333 #1a1a2e}.tab-badge{color:#fff;text-align:center;vertical-align:middle;background:#4a8a4a;border-radius:7px;min-width:14px;height:14px;margin-left:3px;font-size:.7em;font-weight:700;line-height:14px;animation:1.5s ease-in-out infinite badge-pulse;display:inline-block}@keyframes badge-pulse{0%,to{opacity:1}50%{opacity:.7}}.tab-content{min-height:200px}.toast-container{z-index:999;pointer-events:none;flex-direction:column;gap:4px;max-height:50vh;display:flex;position:fixed;top:12px;right:12px;overflow:hidden auto}.toast{border-radius:4px;max-width:300px;padding:6px 12px;font-family:Courier New,monospace;font-size:.85em;animation:.3s toast-in,.5s 2.5s forwards toast-out}.toast-era{color:#000;background:#d4a840e6;font-weight:700}.toast-gem{color:#000;background:#ffd700e6}.toast-event{color:#fff;background:#6464ffd9}.toast-achievement{color:#000;background:#64c864e6;font-weight:700}.toast-milestone{color:#000;background:#c8b450e6;font-weight:700}@keyframes toast-in{0%{opacity:0;transform:translate(100px)}to{opacity:1;transform:translate(0)}}@keyframes toast-out{0%{opacity:1}to{opacity:0}}.offline-overlay{z-index:1001;background:#000c;justify-content:center;align-items:center;width:100vw;height:100vh;display:flex;position:fixed;top:0;left:0}.offline-report{text-align:center;background:#1a1a2e;border:1px solid #333;width:90%;max-width:350px;padding:20px}.offline-report h2{color:#d4a840;margin-bottom:8px}.offline-report h3{color:#8ca;margin:12px 0 6px;font-size:.9em}.offline-time{color:#888;font-size:.9em}.offline-gains{flex-direction:column;gap:2px;margin-bottom:12px;display:flex}.offline-gain-row{justify-content:space-between;padding:2px 8px;font-size:.85em;display:flex}.offline-gain-row span:first-child{color:#aaa}.offline-gain-amount{color:#8d8;font-weight:700}.resource-row.producing .resource-rate{color:#8d8}.resource-row.consuming .resource-name:after{content:" (consumed)";color:#f84;opacity:.6;font-size:.7em}.text-hint{color:#888;font-size:.7em}.text-lore{color:#986;font-size:.8em;font-style:italic}.text-danger{color:#f64}.upgrade-progress-bar{background:#ffffff14;border-radius:1px;height:8px;margin-top:4px;position:relative;overflow:visible}.upgrade-progress-fill{background:linear-gradient(90deg,#358,#58b);border-radius:1px;height:100%;transition:width .3s,background .3s}.upgrade-progress-fill.almost{background:linear-gradient(90deg,#484,#8d8);animation:1s ease-in-out infinite almost-pulse}@keyframes almost-pulse{0%,to{opacity:1}50%{opacity:.7}}.era-transition-overlay{z-index:1000;pointer-events:auto;cursor:pointer;background:#000000b3;justify-content:center;align-items:center;width:100vw;height:100vh;animation:.3s era-fade-in;display:flex;position:fixed;top:0;left:0}.era-transition-overlay.fading{animation:1s forwards era-fade-out}@keyframes era-fade-in{0%{opacity:0}to{opacity:1}}@keyframes era-fade-out{0%{opacity:1}to{opacity:0}}.era-transition-content{text-align:center;animation:.5s era-zoom-in}@keyframes era-zoom-in{0%{opacity:0;transform:scale(.5)}to{opacity:1;transform:scale(1)}}.era-transition-label{color:#d4a840;letter-spacing:6px;text-transform:uppercase;margin-bottom:8px;font-size:1.2em}.era-transition-name{color:#fff;text-shadow:0 0 20px #d4a84080,0 0 40px #d4a8404d;font-size:2.5em;font-weight:700;animation:1.5s ease-in-out infinite era-name-glow}@keyframes era-name-glow{0%,to{text-shadow:0 0 20px #d4a84080,0 0 40px #d4a8404d}50%{text-shadow:0 0 30px #d4a840cc,0 0 60px #d4a84080,0 0 80px #d4a84033}}.era-transition-unlocks{color:#ada;margin-top:14px;font-size:.85em;line-height:1.6}.era-unlock-line{margin-top:4px}.era-unlock-label{color:#d4a840;margin-right:4px;font-weight:700}.cap-indicator{color:#888;font-size:.8em}.rate-active{vertical-align:middle;background:#6c6;border-radius:50%;width:4px;height:4px;margin-right:4px;animation:1.5s ease-in-out infinite rate-dot-pulse;display:inline-block}@keyframes rate-dot-pulse{0%,to{opacity:.4}50%{opacity:1}}.rate-negative{font-weight:700}.rate-warning{color:#f44;font-size:1.1em;font-weight:700;animation:1.5s ease-in-out infinite rate-dot-pulse}.upgrade-btn.affordable{animation:2s ease-in-out infinite affordable-pulse}@keyframes affordable-pulse{0%,to{box-shadow:none}50%{box-shadow:inset 0 0 8px #ffffff0d}}.upgrade-btn.purchase-flash,.tech-btn.purchase-flash{animation:.4s ease-out purchase-flash}@keyframes purchase-flash{0%{background:#64ff644d;transform:scale(1.02)}to{background:#1a2845;transform:scale(1)}}.tech-btn.breakthrough-flash{animation:.8s ease-out tech-breakthrough}@keyframes tech-breakthrough{0%{background:#ffff6466;transform:scale(1.05);box-shadow:0 0 20px #ffff6499}50%{background:#ffff641a;box-shadow:0 0 40px #ffff644d}to{box-shadow:none;background:#1a2845;transform:scale(1)}}.upgrade-btn.lore-upgrade{background:linear-gradient(90deg,#bb88ff14,#0000);border-left:3px solid #b8f}.resource-amount.near-cap{animation:1.5s ease-in-out infinite cap-warning}@keyframes cap-warning{0%,to{color:#fa4}50%{color:#f62}}.gather-btn:active{animation:.3s ease-out gather-ripple}@keyframes gather-ripple{0%{transform:scale(.9);box-shadow:0 0 #64c86480}to{transform:scale(1);box-shadow:0 0 0 8px #64c86400}}.gather-float{color:#8f8;pointer-events:none;z-index:10;font-size:.8em;font-weight:700;animation:.8s ease-out forwards float-up;position:absolute;top:-4px;left:50%;transform:translate(-50%)}@keyframes float-up{0%{opacity:1;transform:translate(-50%)translateY(0)}to{opacity:0;transform:translate(-50%)translateY(-20px)}}.upgrade-row{animation:.2s ease-out upgrade-appear;position:relative}.upgrade-row>.buy-max-btn{z-index:2;cursor:pointer;color:#ddd;background:#648c3c4d;border:1px solid #6a9a44;border-radius:3px;padding:2px 8px;font-family:inherit;font-size:.7em;position:absolute;top:4px;right:4px}.upgrade-row>.buy-max-btn:hover{background:#648c3c80}.upgrade-row>.upgrade-hide-btn{z-index:2;opacity:.4;cursor:pointer;color:#888;background:#14141ecc;border:1px solid #444;border-radius:3px;padding:1px 5px;font-family:inherit;font-size:.6em;position:absolute;top:4px;right:4px}.upgrade-row>.upgrade-hide-btn:hover{opacity:1;border-color:#888}.upgrade-row>.buy-max-btn+.upgrade-hide-btn{right:46px}@keyframes upgrade-appear{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.upgrade-row:hover .upgrade-btn:not(:disabled){transition:transform .15s;transform:translateY(-1px)}.game-container.shake{animation:.3s screen-shake}@keyframes screen-shake{0%,to{transform:translate(0)}20%{transform:translate(-3px)}40%{transform:translate(3px)}60%{transform:translate(-2px)}80%{transform:translate(2px)}}.game-container.event-flash{animation:.5s event-border-flash}@keyframes event-border-flash{0%{box-shadow:inset 0 0 0 2px #6464ffcc}to{box-shadow:inset 0 0 0 2px #0000}}.upgrade-btn:active:not(:disabled),.tech-btn:active:not(:disabled){transition:transform .1s;transform:scale(.97)}.upgrade-btn.affordable:not(:disabled):hover{background:#64c8641f;border-color:#4a8a4a;transition:all .2s}.upgrade-btn[title*=prestige-only]{border-left:2px solid #b8f}.hack-timer{color:#f88;margin-left:6px;font-size:.7em}@media (width<=900px){.game-layout{grid-template-columns:1fr}.canvas-panel{max-height:150px}}@media (width<=640px){.game-layout{grid-template-columns:1fr}.canvas-panel{max-height:120px}.game-container{padding:8px}.tab-bar{-webkit-overflow-scrolling:touch;scrollbar-width:none;overflow-x:auto}.tab-bar::-webkit-scrollbar{display:none}.tab-btn{white-space:nowrap;min-width:0;min-height:44px;padding:8px 2px;font-size:.7em}.mine-btn,.hack-btn{min-height:44px;padding:12px}.gather-btn{min-width:44px;min-height:44px}.line-controls button{width:44px;height:44px;font-size:1.2em}.upgrade-btn{min-height:44px;padding:10px 8px}.trade-btn,.reset-btn,.prestige-btn,.upgrade-sort button{min-height:44px}.weave-fragment{width:36px;height:36px;line-height:36px}canvas{max-width:100%;height:auto}.game-header h1{font-size:1em}.prestige-btn{padding:4px 8px;font-size:.8em}.star-svg{height:120px}.star-svg .star-label{display:none}.offline-report{padding:12px}.header-controls{flex-wrap:wrap;gap:4px}.header-controls button{min-height:44px;padding:3px 6px;font-size:.75em}.colony-panel .gather-btn{min-height:36px}.era-stats{font-size:.7em}.toast-container{max-width:none;left:8px;right:8px}.toast{font-size:.8em}.mini-game-tabs button{min-height:36px;padding:6px 8px!important;font-size:.75em!important}.upgrade-search{min-height:44px;padding:10px 8px!important;font-size:.9em!important}}.combo-flash{animation:.3s ease-out combo-pop}@keyframes combo-pop{0%{transform:scale(1)}50%{transform:scale(1.3)}to{transform:scale(1)}}.hack-success-flash{animation:.5s ease-out hack-success}@keyframes hack-success{0%{background-color:#50c85066}to{background-color:#0000}}.hack-fail-flash{animation:.5s ease-out hack-fail}@keyframes hack-fail{0%{background-color:#c83c3c66}to{background-color:#0000}}.weave-match-flash{animation:.6s ease-out weave-border}@keyframes weave-border{0%{border-color:var(--weave-flash-color,#8d8);box-shadow:0 0 12px var(--weave-flash-color,#8d8)}to{box-shadow:none;border-color:#333}}.resource-row.new-resource{animation:2s ease-out new-resource-glow}@keyframes new-resource-glow{0%{background:#64c86440}to{background:0 0}}.upgrade-btn.new-upgrade{animation:2s ease-out new-upgrade-glow}@keyframes new-upgrade-glow{0%{border-color:#8d8;box-shadow:0 0 12px #64c86466}to{box-shadow:none}}.resource-row.rate-boosted{animation:.6s ease-out rate-boost-flash}@keyframes rate-boost-flash{0%{background:#64c86440;box-shadow:inset 0 0 8px #64c86426}to{box-shadow:none;background:0 0}}@keyframes near-cap-pulse{0%,to{background:#ccaa3208;border-left-color:#ccaa3266}50%{background:#ccaa3214;border-left-color:#ccaa32cc}}.resource-row.resource-near-cap{border-left:2px solid #ccaa3266;animation:3s ease-in-out infinite near-cap-pulse}@keyframes cap-pulse{0%,to{box-shadow:none;background:#cc64320f;border-left-color:#c63}50%{background:#cc643224;border-left-color:#e84;box-shadow:inset 0 0 8px #cc64321f}}.resource-row.resource-capped{background:#cc64320f;border-left:2px solid #c63;animation:2s ease-in-out infinite cap-pulse}.upgrade-btn.mechanic-upgrade{background:linear-gradient(90deg,#d4a8400f,#0000);border-left:3px solid #d4a840}.effect-mechanic{color:#d4a840;background:#d4a8401f;border:1px solid #d4a8404d}.upgrade-panel.chain-reaction-flash{animation:.6s ease-out chain-flash}@keyframes chain-flash{0%{border-color:#d4a840;box-shadow:0 0 12px #d4a84080}to{box-shadow:none;border-color:inherit}}.game-container.crisis-flash{animation:.8s crisis-flash}@keyframes crisis-flash{0%{box-shadow:inset 0 0 0 3px #ff323299}to{box-shadow:inset 0 0 0 3px #0000}}.upgrade-btn.first-upgrade-highlight{border-color:#c8a040;animation:1s ease-in-out infinite first-highlight}@keyframes first-highlight{0%,to{box-shadow:0 0 #c8a04000}50%{box-shadow:0 0 12px 2px #c8a04066}}.tab-btn.mini-game-pulse{animation:1.5s ease-in-out infinite mini-pulse}@keyframes mini-pulse{0%,to{box-shadow:none}50%{color:#8d8;box-shadow:0 0 10px 2px #64c86466}}.dyson-panel{background:#1e1a10;border-color:#5a4020}.tuning-panel{background:#101a1e;border-color:#205a4a}.tuning-panel input[type=range]{appearance:none;background:#222;border-radius:3px;outline:none;height:6px}.tuning-panel input[type=range]::-webkit-slider-thumb{appearance:none;cursor:pointer;background:#adf;border:2px solid #50b098;border-radius:50%;width:16px;height:16px}.confirm-overlay{z-index:9999;background:#000000b3;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.confirm-dialog{color:#d8d0c8;background:#1a1a2e;border:1px solid #c8a040;border-radius:8px;width:90%;max-width:420px;max-height:80vh;padding:16px 20px;font-family:Courier New,monospace;font-size:.85em;line-height:1.5;overflow-y:auto}.confirm-body{white-space:pre-wrap;margin-bottom:16px}.confirm-actions{justify-content:flex-end;gap:8px;display:flex}.confirm-yes,.confirm-no{cursor:pointer;border:1px solid #555;border-radius:4px;padding:6px 16px;font-family:inherit;font-size:.9em}.confirm-yes{color:#fff;background:#8b2020;border-color:#a03030}.confirm-yes:hover{background:#a03030}.confirm-no{color:#d8d0c8;background:#2a2a3e}.confirm-no:hover{background:#3a3a4e}
