:root{--bg-primary: #2a2a3a;--bg-secondary: #3a3a4a;--bg-tertiary: #4a4a5a;--bg-hover: #5a5a6a;--text-primary: #ffffff;--text-secondary: #c0c0c0;--text-muted: #909090;--accent: #3b7dd8;--accent-hover: #4a90e8;--accent-glow: rgba(59, 125, 216, .4);--success: #4caf50;--success-glow: rgba(76, 175, 80, .4);--warning: #f39c12;--danger: #e74c3c;--danger-glow: rgba(231, 76, 60, .4);--border: #555566;--border-light: #666677;--shadow: rgba(0, 0, 0, .4);--shadow-lg: rgba(0, 0, 0, .5)}@keyframes pulse-warning{0%,to{opacity:1}50%{opacity:.6}}@keyframes progress-shine{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes glow-pulse{0%,to{box-shadow:0 0 5px var(--accent-glow)}50%{box-shadow:0 0 15px var(--accent-glow)}}.ui-overlay{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:1000;font-family:Segoe UI,system-ui,sans-serif;font-size:14px;color:var(--text-primary)}.ui-overlay>*{pointer-events:auto}.hud{position:absolute;top:0;left:0;right:0;display:flex;justify-content:space-between;align-items:center;padding:8px 16px;background:linear-gradient(to bottom,var(--bg-primary) 0%,transparent 100%)}.hud-left,.hud-right{display:flex;gap:16px;align-items:center}.hud-resource{display:flex;align-items:center;gap:8px;padding:6px 12px;background:var(--bg-secondary);border-radius:4px;border:1px solid var(--border)}.hud-resource-icon{width:20px;height:20px;display:flex;align-items:center;justify-content:center}.hud-resource-value{font-weight:700;font-size:16px}.hud-resource-value.money{color:var(--warning)}.hud-resource.low-money{animation:pulse-warning 1s ease-in-out infinite}.hud-resource-value.money.warning{color:#f44;text-shadow:0 0 8px rgba(255,68,68,.6)}@keyframes pulse-warning{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.hud-idle-count{color:var(--text-muted);font-size:12px;font-weight:400}.hud-btn{padding:8px 14px;border:1px solid var(--border);border-radius:6px;cursor:pointer;font-size:12px;font-weight:600;transition:all .2s ease;box-shadow:0 2px 4px var(--shadow)}.hud-btn-primary{background:linear-gradient(to bottom,var(--accent-hover),var(--accent));color:var(--text-primary);border-color:var(--accent)}.hud-btn-primary:hover{background:linear-gradient(to bottom,#5aa0f0,var(--accent-hover));transform:translateY(-1px);box-shadow:0 4px 12px var(--accent-glow)}.hud-btn-primary:active{transform:translateY(0);box-shadow:0 2px 4px var(--shadow)}.hud-btn-disabled{background:var(--bg-tertiary);color:var(--text-muted);cursor:not-allowed;opacity:.5;filter:grayscale(.3)}.build-menu{position:absolute;bottom:0;left:0;right:0;background:var(--bg-primary);border-top:2px solid var(--border);padding:8px}.build-menu-categories{display:flex;gap:4px;margin-bottom:8px;padding-bottom:8px;border-bottom:1px solid var(--border)}.build-menu-category{padding:8px 14px;background:linear-gradient(to bottom,var(--bg-tertiary),var(--bg-secondary));border:1px solid var(--border);border-radius:6px;color:var(--text-secondary);cursor:pointer;transition:all .2s ease;font-weight:500}.build-menu-category:hover{background:linear-gradient(to bottom,var(--bg-hover),var(--bg-tertiary));color:var(--text-primary);border-color:var(--border-light)}.build-menu-category.active{background:linear-gradient(to bottom,var(--accent-hover),var(--accent));border-color:var(--accent);color:var(--text-primary);box-shadow:0 0 10px var(--accent-glow)}.build-menu-items{display:flex;gap:8px;overflow-x:auto;padding:4px 0}.build-menu-item{display:flex;flex-direction:column;align-items:center;gap:6px;padding:10px 14px;background:linear-gradient(to bottom,var(--bg-tertiary),var(--bg-secondary));border:2px solid var(--border);border-radius:8px;cursor:pointer;transition:all .2s ease;min-width:85px;box-shadow:0 2px 4px var(--shadow)}.build-menu-item:hover{background:linear-gradient(to bottom,var(--bg-hover),var(--bg-tertiary));border-color:var(--accent);transform:translateY(-3px);box-shadow:0 6px 16px var(--shadow-lg),0 0 10px var(--accent-glow)}.build-menu-item.selected{background:linear-gradient(to bottom,var(--accent-hover),var(--accent));border-color:var(--accent-hover);box-shadow:0 0 15px var(--accent-glow);animation:glow-pulse 2s ease-in-out infinite}.build-menu-item.disabled{opacity:.4;cursor:not-allowed;filter:grayscale(.5)}.build-menu-item.disabled:hover{transform:none;box-shadow:0 2px 4px var(--shadow)}.build-menu-item-icon{width:32px;height:32px;display:flex;align-items:center;justify-content:center;font-size:24px}.build-menu-item-name{font-size:11px;text-align:center;white-space:nowrap}.build-menu-item-cost{font-size:10px;color:var(--warning)}.selection-panel{position:absolute;top:60px;right:16px;width:290px;background:linear-gradient(to bottom,#2a2a3afa,#2a2a3af2);backdrop-filter:blur(10px);border:2px solid var(--border-light);border-radius:12px;overflow:hidden;box-shadow:0 8px 32px var(--shadow-lg)}.selection-panel-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:var(--bg-secondary);border-bottom:1px solid var(--border)}.selection-panel-title{font-weight:700;font-size:16px}.selection-panel-close{width:24px;height:24px;display:flex;align-items:center;justify-content:center;background:none;border:none;color:var(--text-secondary);cursor:pointer;border-radius:4px}.selection-panel-close:hover{background:var(--bg-hover);color:var(--text-primary)}.selection-panel-content{padding:16px}.selection-panel-row{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid var(--border)}.selection-panel-row:last-child{border-bottom:none}.selection-panel-label{color:var(--text-secondary)}.selection-panel-value{font-weight:700}.selection-panel-description{padding:12px 0;color:var(--text-secondary);font-size:13px;line-height:1.4}.selection-panel-actions{display:flex;gap:8px;margin-top:12px}.btn{padding:10px 18px;border:none;border-radius:6px;cursor:pointer;font-size:14px;font-weight:600;transition:all .2s ease;box-shadow:0 2px 4px var(--shadow)}.btn-primary{background:linear-gradient(to bottom,var(--accent-hover),var(--accent));color:var(--text-primary)}.btn-primary:hover{background:linear-gradient(to bottom,#5aa0f0,var(--accent-hover));transform:translateY(-1px);box-shadow:0 4px 12px var(--accent-glow)}.btn-primary:active{transform:translateY(0)}.btn-danger{background:linear-gradient(to bottom,#ef5350,var(--danger));color:var(--text-primary)}.btn-danger:hover{background:linear-gradient(to bottom,#ff6659,#ef5350);transform:translateY(-1px);box-shadow:0 4px 12px var(--danger-glow)}.btn-secondary{background:linear-gradient(to bottom,var(--bg-hover),var(--bg-tertiary));color:var(--text-primary);border:1px solid var(--border)}.btn-secondary:hover{background:linear-gradient(to bottom,var(--bg-tertiary),var(--bg-secondary));border-color:var(--border-light)}.btn-sm{padding:6px 10px;font-size:12px}.btn-block{width:100%}.btn-disabled{opacity:.4;cursor:not-allowed;filter:grayscale(.3)}.btn-disabled:hover{background:linear-gradient(to bottom,var(--accent-hover),var(--accent));transform:none;box-shadow:0 2px 4px var(--shadow)}.selection-panel-section{margin-top:12px;padding-top:12px;border-top:1px solid var(--border)}.selection-panel-section-title{font-weight:700;font-size:13px;color:var(--text-secondary);margin-bottom:8px;text-transform:uppercase;letter-spacing:.5px}.selection-panel-worker{margin-top:12px;padding-top:8px;border-top:1px dashed var(--border)}.selection-panel-worker .btn{margin-top:8px}.selection-panel-progress{display:flex;align-items:center;gap:8px;padding:8px 0}.progress-bar{flex:1;height:8px;background:var(--bg-tertiary);border-radius:4px;overflow:hidden}.progress-fill{height:100%;background:linear-gradient(90deg,var(--success) 0%,#6dd670 50%,var(--success) 100%);background-size:200% 100%;animation:progress-shine 2s ease-in-out infinite;transition:width .1s ease;border-radius:4px}.progress-text{font-size:12px;color:var(--text-secondary);min-width:35px;text-align:right}.selection-panel-slots{padding:4px 0}.slots-label{font-size:12px;color:var(--text-secondary);display:block;margin-bottom:4px}.slot-item{padding:4px 8px;background:var(--bg-tertiary);border-radius:4px;margin-bottom:4px;font-size:12px}.slot-content{color:var(--text-primary)}.slot-empty{color:var(--text-muted);font-style:italic}.tooltip{position:absolute;padding:8px 12px;background:var(--bg-primary);border:1px solid var(--border);border-radius:4px;font-size:12px;box-shadow:0 2px 8px var(--shadow);z-index:2000;max-width:200px}.tooltip-title{font-weight:700;margin-bottom:4px}.tooltip-description{color:var(--text-secondary)}.build-mode-indicator{position:absolute;top:60px;left:50%;transform:translate(-50%);padding:8px 16px;background:var(--accent);border-radius:4px;font-weight:700;box-shadow:0 2px 8px var(--shadow)}.build-menu-items::-webkit-scrollbar{height:8px}.build-menu-items::-webkit-scrollbar-track{background:var(--bg-secondary);border-radius:4px}.build-menu-items::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}.build-menu-items::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.worker-needs{margin:12px 0;padding:8px;background:var(--bg-tertiary);border-radius:6px}.worker-need{display:flex;align-items:center;gap:8px;margin-bottom:6px}.worker-need:last-of-type{margin-bottom:8px}.need-label{font-size:11px;color:var(--text-secondary);min-width:55px}.need-bar{flex:1;height:12px;background:var(--bg-secondary);border-radius:6px;overflow:hidden}.need-fill{height:100%;transition:width .2s ease;border-radius:6px}.need-fill.low{animation:pulse-warning 1.5s ease-in-out infinite}.need-fill.energy{background:linear-gradient(to right,#e74c3c,#f39c12 30%,#2ecc71 70%,#27ae60);background-size:200% 100%;background-position:100% 0}.need-fill.caffeine{background:linear-gradient(to right,#95a5a6,#8d6e63,#6d4c41);background-size:200% 100%;background-position:100% 0}.need-fill.morale{background:linear-gradient(to right,#e74c3c,#f39c12 30%,#3498db 70%,#2980b9);background-size:200% 100%;background-position:100% 0}.need-value{font-size:11px;font-weight:700;min-width:30px;text-align:right}.worker-state-working{color:var(--success)}.worker-state-idle{color:var(--text-muted)}.worker-state-resting{color:var(--warning)}.onboarding-overlay{position:fixed;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:2000;animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.onboarding-modal{background:linear-gradient(to bottom,var(--bg-secondary),var(--bg-primary));border:2px solid var(--border-light);border-radius:16px;padding:24px;max-width:420px;width:90%;box-shadow:0 16px 48px #00000080,0 0 0 1px #ffffff0d;animation:slideUp .3s ease}.onboarding-modal.onboarding-top-left{position:absolute;top:80px;left:20px}.onboarding-modal.onboarding-bottom-center{position:absolute;bottom:180px}.onboarding-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid var(--border)}.onboarding-step-indicator{font-size:12px;color:var(--text-muted);background:var(--bg-tertiary);padding:4px 10px;border-radius:12px}.onboarding-skip{background:none;border:none;color:var(--text-muted);font-size:12px;cursor:pointer;padding:4px 8px;border-radius:4px;transition:all .2s ease}.onboarding-skip:hover{color:var(--text-primary);background:var(--bg-tertiary)}.onboarding-content{margin-bottom:24px}.onboarding-title{font-size:20px;font-weight:700;color:var(--text-primary);margin:0 0 12px}.onboarding-text{font-size:14px;color:var(--text-secondary);line-height:1.6;margin:0}.onboarding-footer{display:flex;justify-content:space-between;align-items:center;gap:16px}.onboarding-dots{display:flex;gap:6px}.onboarding-dot{width:8px;height:8px;border-radius:50%;background:var(--bg-tertiary);transition:all .2s ease}.onboarding-dot.active{background:var(--accent);transform:scale(1.2)}.onboarding-dot.completed{background:var(--success)}.onboarding-btn{padding:10px 20px;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease}.onboarding-btn:disabled{opacity:.4;cursor:not-allowed}.onboarding-btn-primary{background:linear-gradient(to bottom,var(--accent-hover),var(--accent));color:var(--text-primary);box-shadow:0 2px 8px var(--accent-glow)}.onboarding-btn-primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 16px var(--accent-glow)}.onboarding-btn-secondary{background:var(--bg-tertiary);color:var(--text-secondary);border:1px solid var(--border)}.onboarding-btn-secondary:hover:not(:disabled){background:var(--bg-hover);color:var(--text-primary)}.onboarding-help-btn{position:fixed;bottom:180px;right:16px;width:36px;height:36px;border-radius:50%;background:var(--bg-secondary);border:2px solid var(--border);color:var(--text-secondary);font-size:16px;font-weight:700;cursor:pointer;z-index:1500;transition:all .2s ease;box-shadow:0 2px 8px var(--shadow)}.onboarding-help-btn:hover{background:var(--accent);border-color:var(--accent);color:var(--text-primary);transform:scale(1.1)}.tutorial-panel{position:fixed;top:60px;left:16px;width:260px;background:linear-gradient(to bottom,#2a2a3afa,#2a2a3af2);backdrop-filter:blur(10px);border:2px solid var(--border-light);border-radius:12px;overflow:hidden;box-shadow:0 8px 32px var(--shadow-lg);z-index:1100;transition:all .3s ease}.tutorial-panel.minimized{width:180px}.tutorial-panel.complete{border-color:var(--success);box-shadow:0 0 20px var(--success-glow)}.tutorial-header{display:flex;align-items:center;gap:8px;padding:10px 12px;background:var(--bg-secondary);border-bottom:1px solid var(--border);cursor:pointer;user-select:none}.tutorial-header:hover{background:var(--bg-tertiary)}.tutorial-title{flex:1;font-weight:600;font-size:13px}.tutorial-progress{font-size:11px;color:var(--text-muted);background:var(--bg-tertiary);padding:2px 8px;border-radius:10px}.tutorial-minimize-btn,.tutorial-dismiss-btn{width:20px;height:20px;display:flex;align-items:center;justify-content:center;background:none;border:none;color:var(--text-muted);cursor:pointer;border-radius:4px;font-size:10px;transition:all .2s ease}.tutorial-minimize-btn:hover,.tutorial-dismiss-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.tutorial-tasks{padding:8px;max-height:300px;overflow-y:auto}.tutorial-task{display:flex;align-items:flex-start;gap:10px;padding:8px 10px;border-radius:8px;margin-bottom:4px;transition:all .2s ease}.tutorial-task.current{background:#3b7dd826;border:1px solid rgba(59,125,216,.3)}.tutorial-task.complete{opacity:.6}.tutorial-task-check{width:22px;height:22px;display:flex;align-items:center;justify-content:center;border-radius:50%;font-size:11px;font-weight:700;flex-shrink:0;background:var(--bg-tertiary);color:var(--text-muted);border:2px solid var(--border)}.tutorial-task.complete .tutorial-task-check{background:var(--success);border-color:var(--success);color:#fff}.tutorial-task.current .tutorial-task-check{background:var(--accent);border-color:var(--accent);color:#fff;animation:pulse-glow 2s ease-in-out infinite}@keyframes pulse-glow{0%,to{box-shadow:0 0 0 0 var(--accent-glow)}50%{box-shadow:0 0 0 6px transparent}}.tutorial-task-content{flex:1;min-width:0}.tutorial-task-label{display:block;font-size:13px;font-weight:500;color:var(--text-primary)}.tutorial-task.complete .tutorial-task-label{text-decoration:line-through;color:var(--text-muted)}.tutorial-task-desc{display:block;font-size:11px;color:var(--text-secondary);margin-top:2px;line-height:1.3}.tutorial-complete-message{padding:12px;text-align:center;border-top:1px solid var(--border)}.tutorial-complete-message p{margin:4px 0;font-size:12px;color:var(--text-secondary)}.tutorial-complete-message p:first-child{color:var(--success);font-weight:600}.tutorial-restore-btn{position:fixed;top:60px;left:16px;width:36px;height:36px;border-radius:8px;background:var(--bg-secondary);border:2px solid var(--border);color:var(--text-secondary);font-size:18px;cursor:pointer;z-index:1100;transition:all .2s ease;box-shadow:0 2px 8px var(--shadow)}.tutorial-restore-btn:hover{background:var(--accent);border-color:var(--accent);color:var(--text-primary);transform:scale(1.05)}.tutorial-highlight{animation:tutorial-pulse 2s ease-in-out infinite;position:relative}.tutorial-highlight:after{content:"";position:absolute;inset:-4px;border:2px solid var(--accent);border-radius:inherit;animation:tutorial-border-pulse 2s ease-in-out infinite;pointer-events:none}@keyframes tutorial-pulse{0%,to{box-shadow:0 0 0 0 var(--accent-glow)}50%{box-shadow:0 0 20px var(--accent-glow)}}@keyframes tutorial-border-pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes objective-flash{0%{box-shadow:0 0 0 0 var(--success-glow);transform:translate(-50%) scale(1)}40%{box-shadow:0 0 32px 6px var(--success-glow);transform:translate(-50%) scale(1.03)}to{box-shadow:0 0 0 0 var(--success-glow);transform:translate(-50%) scale(1)}}.objective-banner{position:absolute;top:64px;left:50%;transform:translate(-50%);z-index:100;pointer-events:auto;background:#2a2a3af2;border:1px solid var(--accent);border-radius:8px;padding:10px 18px;box-shadow:0 4px 14px var(--shadow);color:var(--text-primary);max-width:min(560px,90vw);text-align:center;backdrop-filter:blur(4px)}.objective-banner-label{font-size:15px;font-weight:700;letter-spacing:.2px;margin-bottom:4px}.objective-banner-hint{font-size:13px;color:var(--text-secondary);line-height:1.35}.objective-banner-flash{animation:objective-flash .8s ease-out}
