*{box-sizing:border-box;margin:0;padding:0}html,body{color:#e0e0e0;background:#0d0f14;width:100%;height:100%;font-family:system-ui,sans-serif;overflow:hidden}#game{width:100%;height:100%;image-rendering:pixelated;display:block;position:fixed;inset:0}#ui{pointer-events:none;z-index:10;position:fixed;inset:0}.hud,.build-menu,.screen-overlay{-webkit-user-select:none;user-select:none}#ui button{font-family:inherit}.hud{pointer-events:none;position:absolute;inset:0}.hud-top{color:#cfc9bb;background:linear-gradient(#0a0c10eb,#0a0c10c7);border-bottom:1px solid #2a2f38;justify-content:space-between;align-items:center;gap:16px;padding:8px 14px;font-size:14px;display:flex;position:absolute;top:0;left:0;right:0}.hud-section{align-items:center;gap:14px;display:flex}.hud-day{color:#e8dfc8;letter-spacing:.04em;white-space:nowrap;font-weight:600}.hud-phase{white-space:nowrap;align-items:center;gap:6px;display:flex}.hud-phase-icon{color:#e0a83c}.hud-phase--night .hud-phase-icon{color:#7d90c0}.hud-phase-count{color:#8f8a7d;font-variant-numeric:tabular-nums;min-width:3ch}.hud-phase-bar{background:#23262e;border-radius:2px;width:64px;height:4px;overflow:hidden}.hud-phase-fill{background:#e0a83c;width:100%;height:100%;transition:width .2s linear;display:block}.hud-phase--night .hud-phase-fill{background:#7d90c0}.hud-resources{flex-wrap:wrap;gap:2px 16px}.hud-res{pointer-events:auto}.hud-net{font-variant-numeric:tabular-nums;margin-left:4px;font-size:12px}.hud-net--pos{color:#6f9f4f}.hud-net--neg{color:#e0745a}.hud-balance{color:#cfc9bb;pointer-events:none;z-index:8;background:#0c0e13f2;border:1px solid #3a4150;border-radius:6px;flex-direction:column;gap:6px;min-width:300px;padding:10px 12px;font-size:12px;display:none;position:absolute;top:44px;left:50%;transform:translate(-50%)}.hud-balance.open{display:flex}.hud-balance-title{color:#e8dfc8;font-weight:600}.hud-balance-cols{gap:18px;display:flex}.hud-balance-col{flex-direction:column;flex:1;gap:2px;display:flex}.hud-balance-col-title{color:#9d9685;text-transform:uppercase;letter-spacing:.08em;font-size:11px}.hud-balance-empty{color:#5d584d}.hud-balance-row{justify-content:space-between;gap:12px;display:flex}.hud-balance-label{color:#b8b2a3}.hud-balance-rate{font-variant-numeric:tabular-nums}.hud-balance-net{font-variant-numeric:tabular-nums;border-top:1px solid #2a2f38;padding-top:5px;font-weight:600}.hud-weather{pointer-events:auto;cursor:default}.hud-stat{white-space:nowrap;font-variant-numeric:tabular-nums}.hud-speed{gap:6px}.hud-btn{pointer-events:auto;color:#cfc9bb;cursor:pointer;background:#171a21;border:1px solid #333845;border-radius:4px;padding:4px 10px;font-size:14px;line-height:1.2}.hud-btn:hover{color:#f0e6cc;border-color:#e0a83c}.hud-btn.active{color:#f4c95d;background:#3a2f14;border-color:#e0a83c}.toast-area{pointer-events:none;flex-direction:column;align-items:center;gap:6px;display:flex;position:absolute;top:48px;left:50%;transform:translate(-50%)}.toast{color:#e8dfc8;white-space:nowrap;background:#101218eb;border:1px solid #333845;border-left:3px solid #e0a83c;border-radius:4px;padding:6px 14px;font-size:13px;animation:4s forwards toast-life}.toast--warn{border-left-color:#d97b29}.toast--error{color:#f0b0a8;border-left-color:#c0392b}.toast--success{border-left-color:#6f9f4f}@keyframes toast-life{0%{opacity:0;transform:translateY(-6px)}8%{opacity:1;transform:translateY(0)}80%{opacity:1}to{opacity:0;transform:translateY(-4px)}}.build-menu{pointer-events:none;flex-direction:column;align-items:center;gap:6px;display:flex;position:absolute;bottom:12px;left:0;right:0}.build-tabs{background:#0a0c10e0;border:1px solid #2a2f38;border-radius:6px;gap:4px;padding:4px;display:flex}.build-tab{pointer-events:auto;color:#cfc9bb;white-space:nowrap;cursor:pointer;background:#171a21;border:1px solid #333845;border-radius:4px;padding:4px 10px;font-size:12px;line-height:1.2}.build-tab:hover{color:#f0e6cc;border-color:#e0a83c}.build-tab.active{color:#f4c95d;background:#3a2f14;border-color:#e0a83c}.build-body{justify-content:center;align-items:stretch;gap:12px;display:flex}.build-list{background:#0a0c10e0;border:1px solid #2a2f38;border-radius:6px;flex-wrap:wrap;justify-content:center;gap:6px;max-width:min(1480px,92vw);padding:8px;display:flex}.build-side{flex-direction:column;justify-content:center;gap:6px;display:flex}.build-btn{pointer-events:auto;color:#cfc9bb;cursor:pointer;background:#171a21;border:1px solid #333845;border-radius:5px;flex-direction:column;align-items:center;gap:2px;min-width:74px;padding:8px 10px;font-size:12px;display:flex;position:relative}.build-btn:hover{border-color:#e0a83c}.build-btn.active{background:#3a2f14;border-color:#e0a83c}.build-btn.disabled{opacity:.45;filter:grayscale(.8);cursor:not-allowed}.build-btn-icon{font-size:20px;line-height:1}.build-btn-name{white-space:nowrap;font-size:11px}.build-btn-cost{color:#9d9685;font-variant-numeric:tabular-nums;font-size:11px}.build-tooltip{text-align:left;z-index:25;pointer-events:none;background:#0c0e13f7;border:1px solid #3a4150;border-radius:5px;flex-direction:column;gap:3px;width:200px;padding:8px 10px;font-size:11px;display:none;position:fixed}.build-tooltip-desc{color:#b8b2a3;margin-bottom:2px}.build-tooltip-stat{color:#e0a83c;font-variant-numeric:tabular-nums}.screen-overlay{pointer-events:auto;z-index:30;background:#05060ae0;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.screen-panel{text-align:center;background:#0d0f14eb;border:1px solid #333845;border-radius:8px;flex-direction:column;align-items:center;gap:18px;max-width:540px;padding:40px 48px;display:flex}.screen-title{letter-spacing:.18em;color:#e0a83c;text-shadow:0 0 24px #e0a83c40;font-size:40px}.screen-title--defeat{color:#c0392b;text-shadow:0 0 24px #c0392b4d}.screen-subtitle{color:#9d9685;font-size:14px}.screen-instructions{color:#cfc9bb;flex-direction:column;gap:5px;width:100%;font-size:13px;display:flex}.screen-instruction{justify-content:space-between;gap:24px;display:flex}.screen-key{color:#f4c95d;white-space:nowrap;font-weight:600}.screen-goal{color:#e8dfc8;font-size:14px;font-weight:600}.screen-record{color:#f4c95d;font-size:13px}.screen-stats{gap:28px;display:flex}.screen-stat{flex-direction:column;gap:2px;display:flex}.screen-stat-label{text-transform:uppercase;letter-spacing:.1em;color:#9d9685;font-size:11px}.screen-stat-value{color:#e8dfc8;font-variant-numeric:tabular-nums;font-size:24px}.screen-btn{pointer-events:auto;letter-spacing:.06em;color:#12100a;cursor:pointer;background:#e0a83c;border:none;border-radius:5px;padding:10px 26px;font-size:16px;font-weight:600}.screen-btn:hover{background:#f4c95d}.build-btn-lock{font-size:11px;line-height:1;display:none;position:absolute;top:2px;right:4px}.build-btn.locked .build-btn-lock{display:block}.build-btn.locked .build-btn-icon{filter:grayscale()}.build-tooltip-lock{color:#e0745a}.inspector{color:#cfc9bb;pointer-events:auto;-webkit-user-select:none;user-select:none;z-index:10;background:#0a0c10eb;border:1px solid #2a2f38;border-radius:6px;flex-direction:column;gap:8px;width:260px;padding:12px;font-size:13px;display:none;position:absolute;bottom:118px;right:12px}.inspector.open{display:flex}.inspector-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.inspector-title{color:#e8dfc8;font-weight:600}.inspector-close{pointer-events:auto;color:#9d9685;cursor:pointer;background:0 0;border:none;padding:2px 6px;font-size:14px}.inspector-close:hover{color:#f0e6cc}.inspector-desc{color:#b8b2a3;font-size:12px}.inspector-hp{align-items:center;gap:8px;display:flex}.inspector-hp-bar{background:#23262e;border-radius:3px;flex:1;height:6px;overflow:hidden}.inspector-hp-fill{background:#6f9f4f;width:100%;height:100%;transition:width .2s linear;display:block}.inspector-hp-fill--low{background:#d97b29}.inspector-hp-text{color:#9d9685;white-space:nowrap;font-variant-numeric:tabular-nums;font-size:12px}.inspector-rows{flex-direction:column;gap:3px;font-size:12px;display:flex}.inspector-row{justify-content:space-between;gap:8px;display:flex}.inspector-row-label{color:#9d9685}.inspector-row-value{color:#e0a83c;text-align:right;font-variant-numeric:tabular-nums}.inspector-workers{align-items:center;gap:8px;display:flex}.inspector-worker-btn{pointer-events:auto;color:#cfc9bb;cursor:pointer;background:#171a21;border:1px solid #333845;border-radius:4px;width:24px;height:24px;font-size:14px;line-height:1}.inspector-worker-btn:hover:not(:disabled){color:#f0e6cc;border-color:#e0a83c}.inspector-worker-btn:disabled{opacity:.4;cursor:not-allowed}.inspector-workers-text{font-variant-numeric:tabular-nums}.inspector-auto{color:#7d90c0;text-transform:uppercase;letter-spacing:.08em;border:1px solid #7d90c0;border-radius:3px;margin-left:auto;padding:1px 5px;font-size:10px}.inspector-repair{pointer-events:auto;color:#ecd9a8;cursor:pointer;background:#2e2a1a;border:1px solid #4d4426;border-radius:5px;padding:6px 10px;font-size:12px}.inspector-repair:hover:not(:disabled){background:#3d3722}.inspector-repair:disabled{opacity:.45;cursor:not-allowed}.inspector-actions{gap:6px;display:flex}.inspector-actions>button{pointer-events:auto;flex:1}.inspector-toggle{pointer-events:auto;color:#cfc9bb;cursor:pointer;background:#171a21;border:1px solid #333845;border-radius:5px;padding:6px 10px;font-size:12px}.inspector-toggle:hover{color:#f0e6cc;border-color:#e0a83c}.inspector-toggle--off{color:#9d9685;border-color:#6b6455}.inspector-upgrade{pointer-events:auto;color:#cfc9bb;cursor:pointer;background:#171a21;border:1px solid #333845;border-radius:5px;padding:6px 10px;font-size:12px}.inspector-upgrade:hover:not(:disabled){color:#f0e6cc;border-color:#e0a83c}.inspector-upgrade:disabled,.inspector-upgrade[aria-disabled=true],.inspector-repair[aria-disabled=true]{opacity:.45;cursor:default}.inspector-demolish{pointer-events:auto;color:#f0b0a8;cursor:pointer;background:#3a1d16;border:1px solid #c0392b;border-radius:4px;padding:6px 10px;font-size:12px}.inspector-demolish:hover{background:#4d241a}.research-panel{color:#cfc9bb;pointer-events:auto;-webkit-user-select:none;user-select:none;z-index:20;background:#0a0c10f2;border:1px solid #2a2f38;border-radius:8px;flex-direction:column;width:min(480px,100% - 32px);max-height:min(70vh,560px);padding:14px;font-size:13px;display:none;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.research-panel.open{display:flex}.research-head{align-items:center;gap:10px;margin-bottom:8px;display:flex}.research-title{color:#e8dfc8;font-size:15px;font-weight:600}.research-points{color:#7d90c0;font-variant-numeric:tabular-nums;margin-left:auto}.research-close{pointer-events:auto;color:#9d9685;cursor:pointer;background:0 0;border:none;padding:2px 6px;font-size:14px}.research-close:hover{color:#f0e6cc}.research-list{flex-direction:column;gap:8px;display:flex;overflow-y:auto}.research-tech{background:#171a21;border:1px solid #333845;border-radius:6px;align-items:flex-start;gap:10px;padding:10px;display:flex}.research-tech--available{cursor:pointer;border-color:#e0a83c}.research-tech--available:hover{background:#1d2029}.research-tech--done{opacity:.75}.research-tech--locked{opacity:.55}.research-tech-icon{font-size:18px;line-height:1.2}.research-tech-body{flex-direction:column;flex:1;gap:3px;display:flex}.research-tech-name{color:#e8dfc8;font-weight:600}.research-tech-desc{color:#b8b2a3;font-size:12px}.research-tech-effect{color:#e0a83c;font-size:12px}.research-tech-cost{white-space:nowrap;color:#7d90c0;font-variant-numeric:tabular-nums}.labor-panel{color:#cfc9bb;pointer-events:auto;-webkit-user-select:none;user-select:none;z-index:10;background:#0a0c10eb;border:1px solid #2a2f38;border-radius:6px;flex-direction:column;width:300px;padding:12px;font-size:13px;display:none;position:absolute;top:56px;bottom:140px;right:12px}.labor-panel.open{display:flex}.labor-head{align-items:center;gap:8px;margin-bottom:8px;display:flex}.labor-title{color:#e8dfc8;font-weight:600}.labor-idle{color:#9d9685;font-variant-numeric:tabular-nums;margin-left:auto}.labor-close{pointer-events:auto;color:#9d9685;cursor:pointer;background:0 0;border:none;padding:2px 6px;font-size:14px}.labor-close:hover{color:#f0e6cc}.labor-list{flex-direction:column;gap:6px;display:flex;overflow-y:auto}.labor-row{background:#171a21;border:1px solid #333845;border-radius:5px;justify-content:space-between;align-items:center;gap:8px;padding:6px 8px;display:flex}.labor-name{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.labor-controls{align-items:center;gap:6px;display:flex}.labor-btn{pointer-events:auto;color:#cfc9bb;cursor:pointer;background:#171a21;border:1px solid #333845;border-radius:4px;min-width:24px;height:24px;padding:0 4px;font-size:14px;line-height:1}.labor-btn:hover:not(:disabled){color:#f0e6cc;border-color:#e0a83c}.labor-btn:disabled{opacity:.4;cursor:not-allowed}.labor-workers{text-align:center;font-variant-numeric:tabular-nums;min-width:3ch}.labor-auto{color:#7d90c0;text-transform:uppercase;letter-spacing:.08em;border:1px solid #7d90c0;border-radius:3px;padding:1px 5px;font-size:10px}.labor-auto-btn{font-size:11px}.labor-row--off{opacity:.55}.labor-off{color:#9d9685;text-transform:uppercase;letter-spacing:.08em;border:1px solid #9d9685;border-radius:3px;padding:1px 5px;font-size:10px}.labor-empty{color:#9d9685;text-align:center;padding:12px 0;font-size:12px}.seed-label{color:#9d9685;font-variant-numeric:tabular-nums;cursor:pointer;pointer-events:auto;background:#0a0c10bf;border:1px solid #2a2f38;border-radius:4px;padding:3px 8px;font-size:11px;position:absolute;bottom:12px;right:12px}.seed-label:hover{color:#cfc9bb;border-color:#e0a83c}.tutorial{pointer-events:none;z-index:9;position:absolute;bottom:150px;left:50%;transform:translate(-50%)}.tutorial-card{color:#cfc9bb;pointer-events:auto;-webkit-user-select:none;user-select:none;background:#0a0c10eb;border:1px solid #2a2f38;border-left:3px solid #e0a83c;border-radius:6px;flex-direction:column;gap:8px;width:min(360px,100vw - 32px);padding:12px 14px;font-size:13px;display:flex}.tutorial-step{color:#e0a83c;letter-spacing:.08em;text-transform:uppercase;font-size:11px;font-weight:600}.tutorial-text{line-height:1.45}.tutorial-skip{pointer-events:auto;color:#9d9685;cursor:pointer;background:#171a21;border:1px solid #333845;border-radius:4px;align-self:flex-end;padding:4px 10px;font-size:12px}.tutorial-skip:hover{color:#f0e6cc;border-color:#e0a83c}
