:root{--bg:#0d1117;--bg-panel:#161b22;--bg-inset:#0a0e14;--border:#30363d;--text:#c9d1d9;--text-dim:#8b949e;--accent:#58a6ff;--mineral:#f0b429;--energy:#58a6ff;--tech:#bc8cff;--good:#3fb950;--bad:#f85149;--warn:#d29922;--font-mono:"Cascadia Code", "JetBrains Mono", Consolas, "Courier New", monospace;--font-ui:-apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Microsoft YaHei", sans-serif}*{box-sizing:border-box;margin:0;padding:0}html,body{height:100%}body{background:var(--bg);color:var(--text);font-family:var(--font-ui);font-size:14px}#app,.game{height:100%}.game{flex-direction:column;max-width:860px;margin:0 auto;display:flex}.resource-bar{background:var(--bg-panel);border-bottom:1px solid var(--border);flex-wrap:wrap;gap:8px;padding:8px 12px;display:flex}.resource{background:var(--bg-inset);border:1px solid var(--border);font-family:var(--font-mono);border-radius:4px;align-items:baseline;gap:4px;padding:4px 10px;font-size:13px;display:inline-flex}.res-symbol{font-size:12px}.resource[data-resource=mineral] .res-symbol{color:var(--mineral)}.resource[data-resource=energy] .res-symbol{color:var(--energy)}.resource[data-resource=tech] .res-symbol{color:var(--tech)}.res-name{color:var(--text-dim)}.res-value{font-weight:600}.res-rate{color:var(--text-dim);font-size:11px}.planet-bar{background:var(--bg-inset);border-bottom:1px solid var(--border);flex-wrap:wrap;gap:6px;padding:6px 12px;display:flex}.planet-chip{border:1px solid var(--border);color:var(--text-dim);cursor:pointer;background:0 0;border-radius:12px;padding:4px 10px;font-size:12px}.planet-chip:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.planet-chip.active{border-color:var(--accent);color:var(--accent);background:#58a6ff14}.planet-chip.locked{opacity:.4;cursor:not-allowed}.mechanic-bar{background:var(--bg-panel);border-bottom:1px solid var(--border);color:var(--text-dim);align-items:baseline;gap:10px;padding:4px 12px;font-size:12px;display:flex}.mech-name{color:var(--accent);white-space:nowrap;font-weight:600}.mech-desc{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.mech-status{color:var(--warn);font-family:var(--font-mono);white-space:nowrap}.log-area{font-family:var(--font-mono);background:var(--bg);scrollbar-width:thin;flex:1;padding:12px;font-size:13px;line-height:1.7;overflow-y:auto}.log-line{border-bottom:1px dashed #21262d;gap:10px;padding:2px 0;display:flex}.log-time{color:var(--text-dim);flex-shrink:0;padding-top:2px;font-size:11px}.log-system{color:var(--text)}.log-story{color:#7ee787}.log-event{color:var(--accent)}.log-reward{color:var(--mineral)}.log-warning{color:var(--warn)}.panel{background:var(--bg-panel);border-top:1px solid var(--border);padding-bottom:max(8px, env(safe-area-inset-bottom))}.panel-tabs{gap:4px;padding:8px 12px 0;display:flex}.tab{border:1px solid var(--border);color:var(--text-dim);cursor:pointer;font-family:var(--font-ui);background:0 0;border-bottom:none;border-radius:6px 6px 0 0;padding:6px 16px;font-size:13px}.tab.active{color:var(--text);background:var(--bg-inset)}.tab:disabled{opacity:.4;cursor:not-allowed}.panel-body{background:var(--bg-inset);border-top:1px solid var(--border);min-height:120px;max-height:45vh;padding:12px;overflow-y:auto}.panel-body.hidden{display:none}.build-item{border:1px solid var(--border);background:var(--bg-panel);border-radius:6px;justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px;padding:10px 12px;display:flex}.build-name{font-weight:600}.build-count{color:var(--accent);font-family:var(--font-mono)}.build-desc{color:var(--text-dim);margin-top:2px;font-size:12px}.build-preview{flex-direction:column;gap:2px;margin-top:4px;display:flex}.build-upgrade-preview,.build-buy-preview{color:var(--tech);font-size:12px;font-family:var(--font-mono)}.build-buy-preview{color:var(--text-dim)}.build-btn{border:1px solid var(--border);color:var(--text);cursor:pointer;font-family:var(--font-mono);background:#21262d;border-radius:4px;flex-shrink:0;padding:8px 14px;font-size:12px}.build-btn:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.build-btn:disabled{opacity:.45;cursor:not-allowed}.upgrade-btn{border-color:#3a5b7a;margin-left:8px}.upgrade-btn:hover:not(:disabled){border-color:var(--tech);color:var(--tech)}.build-actions{flex-shrink:0;align-items:center;display:flex}.build-item.locked{opacity:.55}.build-lock{color:var(--text-dim);flex-shrink:0;font-size:12px}.lock-hint{border:1px dashed var(--border);border-radius:4px;padding:6px 10px}.build-level{color:var(--tech);font-family:var(--font-mono);margin-left:6px;font-size:12px}.tech-btn{border-color:#4a3a6a}.tech-btn:hover:not(:disabled){border-color:var(--tech);color:var(--tech)}.researched-badge{color:var(--good);margin-left:6px;font-size:12px}.tech-exchange{border-top:1px dashed var(--border);margin-top:12px;padding-top:10px}.exchange-hint{color:var(--tech);opacity:.85;font-size:12px}.exchange-row{gap:6px;margin-top:6px;display:flex}.exchange-input{background:var(--bg);border:1px solid var(--border);min-width:0;color:var(--fg);font-family:var(--font-mono);border-radius:4px;flex:1;padding:4px 8px;font-size:13px}.researched-hint{color:var(--good);border-color:#2d5a3d}.event-stack{flex-direction:column;gap:8px;margin-bottom:12px;display:flex}.event-card{border:1px solid #4a3a6a;border-left:3px solid var(--accent);background:var(--bg-panel);border-radius:6px;padding:10px 12px}.event-title{color:var(--accent);margin-bottom:4px;font-weight:700}.event-desc{color:var(--text-dim);margin-bottom:8px;font-size:12px;line-height:1.6}.event-options{flex-wrap:wrap;gap:8px;display:flex}.event-option{border:1px solid var(--border);color:var(--text);cursor:pointer;background:#21262d;border-radius:4px;padding:6px 12px;font-size:12px}.event-option:hover{border-color:var(--accent);color:var(--accent)}.event-hint{color:var(--warn);font-size:11px}.diplo-header{color:var(--text-dim);border-bottom:1px dashed var(--border);margin-bottom:10px;padding-bottom:6px;font-size:12px}.diplo-empty{color:var(--text-dim);font-size:13px;line-height:1.8}.faction-info{flex:1}.favor-row{font-family:var(--font-mono);align-items:center;gap:6px;margin-top:6px;font-size:12px;display:flex}.favor-label{color:var(--text-dim)}.favor-bar{letter-spacing:1px}.favor-filled{color:var(--good)}.favor-empty{color:#30363d}.favor-num{color:var(--text)}.threat-label{margin-left:10px}.threat-num{color:var(--bad)}.allied-badge{color:var(--good);margin-left:6px;font-size:12px}.faction-actions{flex-wrap:wrap;justify-content:flex-end;gap:6px}.diplo-btn{padding:6px 10px;font-size:11px}.alliance-btn{border-color:#3a5a3a}.alliance-btn:hover:not(:disabled){border-color:var(--good);color:var(--good)}.intimidate-btn{border-color:#6a3a3a}.intimidate-btn:hover:not(:disabled){border-color:var(--bad);color:var(--bad)}.ending-overlay{z-index:50;background:#05080ce0;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0;overflow-y:auto}.ending-overlay.hidden{display:none}.ending-card{background:var(--bg-panel);border:1px solid var(--mineral);text-align:center;border-radius:10px;width:100%;max-width:560px;padding:28px 24px}.ending-title{color:var(--mineral);letter-spacing:4px;margin-bottom:16px;font-size:24px}.ending-stats{color:var(--text-dim);font-family:var(--font-mono);margin:6px 0;font-size:13px}.ending-actions{flex-direction:column;gap:10px;margin-top:20px;display:flex}.ending-btn{border:1px solid var(--border);color:var(--text);cursor:pointer;background:#21262d;border-radius:6px;padding:12px 16px;font-size:14px}.ending-btn:hover{border-color:var(--accent);color:var(--accent)}.ending-btn.primary{border-color:var(--mineral);color:var(--mineral);font-weight:600}.ending-btn.ghost{color:var(--text-dim);background:0 0}.toolbar{background:var(--bg-inset);border-top:1px solid var(--border);flex-wrap:wrap;gap:6px;padding:6px 12px;display:flex}.tool-btn{border:1px solid var(--border);color:var(--text-dim);cursor:pointer;background:0 0;border-radius:4px;padding:4px 10px;font-size:12px}.tool-btn:hover{border-color:var(--accent);color:var(--accent)}.tool-btn.danger:hover{border-color:var(--bad);color:var(--bad)}.tutorial{z-index:40;background:#05080cb8;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.tutorial.hidden{display:none}.tutorial-card{background:var(--bg-panel);border:1px solid var(--accent);border-radius:10px;width:100%;max-width:460px;padding:22px}.tutorial-step{color:var(--text-dim);font-family:var(--font-mono);margin-bottom:6px;font-size:12px}.tutorial-title{color:var(--accent);margin-bottom:10px;font-size:18px;font-weight:700}.tutorial-text{color:var(--text);font-size:14px;line-height:1.8}.tutorial-actions{justify-content:flex-end;gap:10px;margin-top:16px;display:flex}.tutorial-btn{border:1px solid var(--border);color:var(--text);cursor:pointer;background:#21262d;border-radius:6px;padding:8px 16px;font-size:13px}.tutorial-btn.primary{border-color:var(--accent);color:var(--accent)}.tutorial-btn.ghost{color:var(--text-dim);background:0 0}.status-line{border-top:1px solid var(--border);color:var(--text-dim);font-size:12px;font-family:var(--font-mono);padding:6px 12px}@media (max-width:480px){.resource-bar{gap:4px;padding:6px 8px}.resource{padding:3px 8px;font-size:12px}.res-name{display:none}.log-area{padding:8px;font-size:12px}.build-item{flex-direction:column;align-items:stretch}.build-btn{width:100%}}
