@import"https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=JetBrains+Mono:wght@400;600&display=swap";:root{--bg-base: #0f1117;--bg-panel: #181c27;--bg-card: #1e2335;--bg-card-hover:#252c42;--bg-input: #151926;--border: #2a3050;--border-light: #323a58;--text-primary: #e4e8f5;--text-secondary:#8993b8;--text-muted: #4a5278;--accent: #4c7aff;--accent-hover: #5d88ff;--accent-dim: #1e2f66;--green: #2ecc71;--green-dim: #1a4a32;--yellow: #f1c40f;--yellow-dim: #443610;--red: #e74c3c;--red-dim: #4a1c18;--orange: #e67e22;--purple: #9b59b6;--purple-dim: #3d2050;--tier-multi: #8b6914;--tier-multi-bg:#2a2008;--tier-elec: #1a6bb5;--tier-elec-bg: #0a1e33;--tier-android: #156b3a;--tier-android-bg:#082215;--radius-sm: 4px;--radius: 8px;--radius-lg: 12px;--font-main: "DM Sans", "Segoe UI", system-ui, sans-serif;--font-mono: "JetBrains Mono", "Fira Code", monospace;--shadow: 0 2px 8px rgba(0,0,0,.4);--shadow-lg: 0 4px 24px rgba(0,0,0,.5)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg-base) url(/game-bg.png) center / cover no-repeat fixed;color:var(--text-primary);font-family:var(--font-main);font-size:14px;line-height:1.5;min-height:100vh;overflow-x:hidden}.app{display:flex;flex-direction:column;min-height:100vh;max-width:1200px;margin:0 auto}.topbar{display:flex;align-items:center;justify-content:space-between;height:120px;padding:0 20px;background:transparent;border-bottom:1px solid rgba(180,120,20,.4);position:sticky;top:0;z-index:100;box-shadow:0 2px 20px #000c;overflow:visible}.topbar-brand{position:absolute;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:10px;flex-shrink:0;pointer-events:none}.topbar-logo{font-size:22px;line-height:1;filter:drop-shadow(0 0 6px rgba(46,204,113,.5))}.topbar-title{font-size:17px;font-weight:700;letter-spacing:.3px;color:var(--text-primary)}.topbar-prestige-badge{background:var(--purple-dim);color:var(--purple);border:1px solid var(--purple);font-size:11px;font-weight:600;padding:2px 8px;border-radius:20px;letter-spacing:.5px}.topbar-stats{display:flex;align-items:center;gap:0;position:relative;z-index:1;background:#181c27d9;border:1px solid var(--border-light);border-radius:var(--radius);padding:0 4px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 2px 12px #00000080,inset 0 1px #ffffff0a}.topbar-stat{display:flex;align-items:center;gap:5px;font-size:13px;padding:0 12px;height:40px;border-right:1px solid var(--border)}.topbar-stat:last-child{border-right:none}.topbar-left-spacer{flex:1}.topbar-stat{display:flex;align-items:center;gap:5px;font-size:13px}.topbar-stat-icon{font-size:14px}.topbar-currency-icon{width:20px;height:20px;object-fit:contain;image-rendering:pixelated;flex-shrink:0}.topbar-currency-icon--rg{filter:drop-shadow(0 0 4px rgba(140,80,255,.6))}.topbar-stat-value{font-weight:600;color:var(--text-primary)}.topbar-stat-label{color:var(--text-secondary);font-size:11px}.tabs{display:flex;background:#0f1117bf;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--border);padding:0 8px}.tab-btn{display:flex;align-items:center;gap:7px;padding:10px 18px;background:none;border:none;border-bottom:2px solid transparent;color:var(--text-secondary);font-size:13px;font-weight:500;font-family:var(--font-main);cursor:pointer;transition:color .15s,border-color .15s}.tab-btn:hover{color:var(--text-primary)}.tab-btn--active{color:var(--accent);border-bottom-color:var(--accent)}.tab-icon{font-size:15px}.panel-area{flex:1;padding:20px;overflow-y:auto}.panel{display:flex;flex-direction:column;gap:20px}.panel-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px}.panel-title{font-size:18px;font-weight:700;color:var(--text-primary);letter-spacing:.2px;text-shadow:0 1px 8px rgba(0,0,0,.9),0 0 20px rgba(0,0,0,.8)}.panel-badge{font-size:12px;color:var(--text-secondary);background:#0f1117bf;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid var(--border);padding:3px 10px;border-radius:20px;text-shadow:0 1px 4px rgba(0,0,0,.8)}.section{background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--radius-lg);padding:16px}.section-title{font-size:11px;font-weight:600;letter-spacing:1px;text-transform:uppercase;color:var(--text-secondary);margin-bottom:12px}.resource-click-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:10px}.resource-btn{display:flex;flex-direction:column;align-items:center;gap:4px;padding:14px 10px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;transition:background .1s,border-color .1s,transform .08s;color:var(--text-primary);font-family:var(--font-main);position:relative;overflow:hidden}.resource-btn:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:var(--accent);opacity:0;transition:opacity .05s;pointer-events:none}.resource-btn:active:after{opacity:.08}.resource-btn:active{transform:scale(.97)}.resource-btn:hover{background:var(--bg-card-hover);border-color:var(--border-light)}.resource-btn-icon{font-size:26px;line-height:1}.resource-btn-name{font-size:12px;font-weight:500;color:var(--text-secondary)}.resource-btn-qty{font-size:14px;font-weight:700;color:var(--text-primary);font-family:var(--font-mono)}.inv-category{margin-bottom:14px}.inv-category:last-child{margin-bottom:0}.inv-category-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:1px;color:var(--text-muted);margin-bottom:8px}.inv-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:6px}.inv-item{display:flex;flex-direction:column;gap:6px;padding:8px 10px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-sm)}.inv-item-top{display:flex;align-items:center;gap:8px}.inv-item-icon{font-size:16px;flex-shrink:0}.inv-item-icon-img{width:32px;height:32px;object-fit:contain;flex-shrink:0;image-rendering:pixelated}.inv-item-qty{font-weight:700;font-size:13px;font-family:var(--font-mono);color:var(--yellow);min-width:36px}.inv-item-name{font-size:12px;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}.inv-item-sell{display:flex;gap:4px}.inv-sell-btn{flex:1;padding:3px 0;font-size:11px;font-family:var(--font-main);font-weight:600;background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;transition:background .1s,color .1s,border-color .1s}.inv-sell-btn:hover:not(:disabled){background:var(--accent-dim);border-color:var(--accent);color:var(--accent)}.inv-sell-btn:disabled{opacity:.35;cursor:not-allowed}.inv-sell-btn--all{background:#2ecc711a;border-color:#2ecc714d;color:var(--green)}.inv-sell-btn--all:hover:not(:disabled){background:#2ecc7133;border-color:var(--green);color:var(--green)}.workshop-slot-info{font-size:13px;color:var(--text-secondary)}.slot-used{font-weight:700;color:var(--text-primary)}.slot-sep{margin:0 2px;color:var(--text-muted)}.slot-total{font-weight:600}.slot-label{color:var(--text-muted)}.workshop-actions{display:flex;gap:10px;flex-wrap:wrap}.machine-picker-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px}.machine-picker-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:12px;cursor:pointer;text-align:left;transition:background .1s,border-color .1s;display:flex;flex-direction:column;gap:6px;color:var(--text-primary);font-family:var(--font-main)}.machine-picker-card:hover:not(:disabled){background:var(--bg-card-hover);border-color:var(--accent)}.machine-picker-card--cant-afford{opacity:.5}.machine-picker-card:disabled{cursor:not-allowed}.machine-picker-name{font-weight:600;font-size:13px}.machine-picker-cost{display:flex;flex-wrap:wrap;gap:4px}.cost-chip{font-size:11px;padding:2px 7px;border-radius:4px;background:var(--bg-input);border:1px solid var(--border);color:var(--text-secondary)}.cost-chip--short{border-color:var(--red);color:var(--red)}.machine-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px}.machine-slot-empty{background:var(--bg-card);border:1px dashed var(--border);border-radius:var(--radius);height:100px;opacity:.4}.machine-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:12px;display:flex;flex-direction:column;gap:8px;transition:border-color .15s}.machine-card:hover{border-color:var(--border-light)}.machine-card--disabled{opacity:.65;border-style:dashed}.machine-card-header{display:flex;align-items:center;gap:8px}.machine-card-name{flex:1;font-weight:600;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.machine-card-level{font-size:11px;font-weight:600;color:var(--accent);background:var(--accent-dim);padding:1px 6px;border-radius:4px;font-family:var(--font-mono)}.progress-bar-wrap{position:relative;height:16px;background:var(--bg-input);border-radius:4px;overflow:hidden;border:1px solid var(--border)}.progress-bar-fill{height:100%;background:linear-gradient(90deg,var(--accent),#7aa4ff);border-radius:3px;transition:width .9s linear}.progress-bar-fill--paused{background:var(--text-muted);transition:none}.progress-bar-label{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:600;font-family:var(--font-mono);color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.5);mix-blend-mode:luminosity}.recipe-info{display:flex;align-items:center;flex-wrap:wrap;gap:4px;font-size:11px}.recipe-inputs,.recipe-outputs{display:flex;flex-wrap:wrap;gap:3px}.recipe-arrow{color:var(--text-muted);font-size:12px;margin:0 2px}.recipe-chip{padding:2px 7px;border-radius:4px;font-size:10px;font-weight:500}.recipe-chip--in{background:var(--red-dim);color:#e67e7e;border:1px solid rgba(231,76,60,.25)}.recipe-chip--out{background:var(--green-dim);color:#7ecb9f;border:1px solid rgba(46,204,113,.25)}.recipe-select{width:100%;background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-primary);font-family:var(--font-main);font-size:12px;padding:5px 8px;cursor:pointer}.recipe-select:focus{outline:none;border-color:var(--accent)}.machine-energy{font-size:11px}.energy-consumer{color:var(--red)}.energy-producer{color:var(--green)}.machine-controls{display:flex;gap:6px;flex-wrap:wrap;margin-top:2px}.research-xp-bar{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:600;color:var(--yellow)}.research-summary{display:flex;gap:8px;flex-wrap:wrap}.res-badge{font-size:11px;font-weight:600;padding:3px 10px;border-radius:20px;letter-spacing:.3px}.res-badge--done{background:var(--green-dim);color:var(--green);border:1px solid rgba(46,204,113,.3)}.res-badge--ready{background:var(--accent-dim);color:var(--accent);border:1px solid rgba(76,122,255,.3)}.res-badge--locked{background:var(--bg-card);color:var(--text-muted);border:1px solid var(--border)}.research-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:10px}.research-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:14px;display:flex;flex-direction:column;gap:8px;transition:border-color .15s}.research-card--done{border-color:#2ecc714d;background:#141f1a}.research-card--ready{border-color:#4c7aff66;background:#14192a}.research-card--locked{opacity:.6}.research-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.research-card-name{font-weight:600;font-size:13px;flex:1}.research-state-badge{font-size:10px;font-weight:600;padding:2px 8px;border-radius:20px;white-space:nowrap;flex-shrink:0}.research-state--done{background:var(--green-dim);color:var(--green)}.research-state--ready{background:var(--accent-dim);color:var(--accent)}.research-state--available{background:var(--yellow-dim);color:var(--yellow)}.research-state--locked{background:var(--bg-input);color:var(--text-muted)}.research-card-desc{font-size:12px;color:var(--text-secondary);line-height:1.5}.research-prereqs{font-size:11px;display:flex;align-items:center;flex-wrap:wrap;gap:4px}.prereq-label{color:var(--text-muted)}.prereq-chip{background:var(--bg-input);border:1px solid var(--border);padding:1px 7px;border-radius:4px;color:var(--text-secondary)}.prereq-chip--done{border-color:#2ecc714d;color:var(--green);background:var(--green-dim)}.research-unlocks{font-size:11px;color:var(--text-muted)}.unlocks-label{font-weight:600;color:var(--text-secondary)}.energy-compact{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:600;padding:4px 10px;border-radius:20px;border:1px solid var(--border);background:var(--bg-card)}.energy-compact--ok{border-color:#2ecc7166;color:var(--green)}.energy-compact--warn{border-color:#e74c3c66;color:var(--red)}.energy-compact--neutral{color:var(--text-secondary)}.energy-compact-bar{width:40px;height:6px;background:var(--bg-input);border-radius:3px;overflow:hidden}.energy-compact-fill{height:100%;background:var(--accent);border-radius:3px;transition:width .5s}.energy-compact-fill--full{background:var(--yellow)}.energy-hud{display:flex;flex-direction:column;gap:16px}.energy-hud--empty{padding:32px;text-align:center;color:var(--text-muted)}.energy-hud-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px}.energy-status{font-size:12px;font-weight:600;padding:3px 12px;border-radius:20px}.energy-status--ok{background:var(--green-dim);color:var(--green)}.energy-status--warn{background:var(--red-dim);color:var(--red)}.energy-status--neutral{background:var(--bg-card);color:var(--text-secondary)}.energy-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.energy-stat{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:12px;display:flex;flex-direction:column;align-items:center;gap:4px;text-align:center}.energy-stat--net{background:var(--bg-card)}.energy-stat-icon{font-size:18px}.energy-stat-label{font-size:11px;color:var(--text-muted);letter-spacing:.5px;text-transform:uppercase}.energy-stat-value{font-size:18px;font-weight:700;font-family:var(--font-mono)}.capacitor-section{display:flex;flex-direction:column;gap:8px}.capacitor-label{display:flex;justify-content:space-between;font-size:12px;color:var(--text-secondary)}.capacitor-bar{position:relative;height:24px;background:var(--bg-input);border-radius:var(--radius-sm);overflow:hidden;border:1px solid var(--border)}.capacitor-fill{height:100%;background:linear-gradient(90deg,var(--accent),#7bcfff);border-radius:3px;transition:width .5s}.capacitor-fill--full{background:linear-gradient(90deg,var(--yellow),#ffe066)}.capacitor-fill--low{background:var(--red)}.capacitor-segments{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.capacitor-segment-line{position:absolute;top:0;bottom:0;width:1px;background:var(--border)}.capacitor-pct{text-align:right;font-size:11px;font-family:var(--font-mono);color:var(--text-muted)}.prestige-bonus-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:10px}.prestige-bonus-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:14px 12px;display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center}.prestige-bonus-card--next{border-color:var(--purple);background:var(--purple-dim)}.prestige-bonus-icon{font-size:22px}.prestige-bonus-label{font-size:11px;color:var(--text-secondary);letter-spacing:.3px}.prestige-bonus-value{font-size:20px;font-weight:700;font-family:var(--font-mono);color:var(--text-primary)}.run-summary{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:8px}.run-stat{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-sm)}.run-stat-label{font-size:12px;color:var(--text-secondary)}.run-stat-value{font-size:14px;font-weight:700;font-family:var(--font-mono)}.prestige-warning{padding:10px 14px;background:var(--yellow-dim);border:1px solid rgba(241,196,15,.3);border-radius:var(--radius-sm);font-size:12px;color:var(--yellow);margin-top:4px}.prestige-action{display:flex;justify-content:center;padding:10px 0}.prestige-locked{display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center;padding:24px;background:var(--bg-card);border:1px dashed var(--border);border-radius:var(--radius-lg);max-width:400px}.prestige-locked-icon{font-size:32px}.prestige-locked-text{font-size:13px;color:var(--text-secondary)}.prestige-locked-text strong{color:var(--text-primary)}.prestige-confirm{display:flex;flex-direction:column;align-items:center;gap:16px;padding:20px;background:var(--red-dim);border:1px solid rgba(231,76,60,.3);border-radius:var(--radius-lg);max-width:400px;text-align:center}.prestige-confirm-text{font-size:13px;color:var(--text-secondary)}.prestige-confirm-buttons{display:flex;gap:12px}.tier-badge{font-size:9px;font-weight:700;letter-spacing:.8px;text-transform:uppercase;padding:1px 6px;border-radius:3px;flex-shrink:0}.tier-multiblock{background:var(--tier-multi-bg);color:var(--tier-multi);border:1px solid var(--tier-multi)}.tier-electric{background:var(--tier-elec-bg);color:var(--tier-elec);border:1px solid var(--tier-elec)}.tier-android{background:var(--tier-android-bg);color:var(--tier-android);border:1px solid var(--tier-android)}.btn{display:inline-flex;align-items:center;gap:5px;padding:7px 14px;border-radius:var(--radius-sm);font-family:var(--font-main);font-size:13px;font-weight:600;cursor:pointer;border:1px solid transparent;transition:background .1s,border-color .1s,opacity .1s;white-space:nowrap}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-primary{background:var(--accent);color:#fff;border-color:var(--accent)}.btn-primary:hover:not(:disabled){background:var(--accent-hover)}.btn-secondary{background:var(--bg-card);color:var(--text-primary);border-color:var(--border)}.btn-secondary:hover:not(:disabled){background:var(--bg-card-hover);border-color:var(--border-light)}.btn-success{background:var(--green-dim);color:var(--green);border-color:#2ecc7166}.btn-success:hover:not(:disabled){background:#2ecc7133}.btn-danger{background:var(--red-dim);color:var(--red);border-color:#e74c3c66}.btn-danger:hover:not(:disabled){background:#e74c3c33}.btn-prestige{background:linear-gradient(135deg,var(--purple),#7b2fff);color:#fff;border-color:var(--purple);font-size:15px;padding:12px 32px;border-radius:var(--radius);box-shadow:0 0 20px #9b59b666}.btn-prestige:hover:not(:disabled){box-shadow:0 0 32px #9b59b699}.btn-disabled{background:var(--bg-card);color:var(--text-muted);border-color:var(--border);cursor:not-allowed}.btn-sm{padding:4px 10px;font-size:12px}.text-success{color:var(--green)}.text-danger{color:var(--red)}.text-muted{color:var(--text-muted)}.empty-state{display:flex;flex-direction:column;align-items:center;gap:12px;padding:40px;text-align:center;color:var(--text-muted);background:#0f111799;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid var(--border);border-radius:var(--radius-lg)}.empty-state-icon{font-size:36px;opacity:.5}.empty-state-text{font-size:13px;max-width:320px;line-height:1.6}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--bg-base)}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--border-light)}@media (max-width: 600px){.topbar-stats{gap:8px}.tab-label{display:none}.panel-area{padding:12px}.energy-stats{grid-template-columns:1fr 1fr}.energy-stat--net{grid-column:1 / -1}}.resource-card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:10px}.resource-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:10px;display:flex;flex-direction:column;gap:6px;transition:border-color .2s}.resource-card--active{border-color:var(--green)}.resource-card--full{border-color:var(--yellow, #f39c12)}.resource-card--locked{opacity:.55;border-style:dashed}.resource-card-header{display:flex;align-items:center;gap:8px}.resource-card-icon{font-size:20px}.resource-card-icon-img{width:48px;height:48px;object-fit:contain;display:block;image-rendering:pixelated}.resource-card-info{display:flex;flex-direction:column;min-width:0}.resource-card-name{font-size:12px;font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.resource-card-qty{font-size:11px;color:var(--text-muted)}.resource-card-cap{opacity:.55}.gather-full-msg{flex:1;text-align:center;font-size:12px;font-weight:600;color:var(--yellow, #f39c12);padding:5px 8px}.sell-flash{margin-left:8px;font-size:12px;font-weight:700;color:var(--green);animation:sell-pop .2s ease-out}@keyframes sell-pop{0%{transform:scale(1.3);opacity:.6}to{transform:scale(1);opacity:1}}.sell-list{display:flex;flex-direction:column;gap:6px}.sell-row{display:flex;align-items:center;gap:8px;padding:6px 10px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);font-size:12px}.sell-name{font-weight:600;color:var(--text-primary);min-width:90px}.sell-qty{color:var(--text-muted);min-width:40px}.sell-price{color:var(--yellow, #f39c12);font-size:11px;flex:1}.sell-btns{display:flex;gap:4px}.sell-btn{padding:4px 8px;font-size:11px;font-weight:600;font-family:inherit;background:var(--bg-surface, rgba(255,255,255,.05));color:var(--text-primary);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;transition:background .15s,border-color .15s}.sell-btn:hover:not(:disabled){background:#f39c1226;border-color:var(--yellow, #f39c12);color:var(--yellow, #f39c12)}.sell-btn:disabled{opacity:.35;cursor:not-allowed}.sell-btn--all{background:#f39c121a;color:var(--yellow, #f39c12);border-color:#f39c1266}.sell-btn--all:hover:not(:disabled){background:#f39c1240;border-color:var(--yellow, #f39c12)}.resource-card-locked-msg{font-size:11px;color:var(--red);font-style:italic}.resource-progress-bar{height:4px;background:var(--border);border-radius:2px;overflow:hidden}.resource-progress-fill{height:100%;background:var(--green);border-radius:2px;transition:width .05s linear}.resource-card-actions{display:flex;align-items:center;gap:6px}.gather-btn{flex:1;padding:5px 8px;font-size:12px;font-weight:600;background:var(--green-dim);color:var(--green);border:1px solid rgba(46,204,113,.4);border-radius:var(--radius);cursor:pointer;font-family:inherit;display:flex;align-items:center;justify-content:center;gap:6px}.gather-btn-time{font-size:10px;font-weight:500;opacity:.7;background:#00000040;border-radius:4px;padding:1px 5px}.gather-btn:hover{background:#2ecc7140}.gather-btn--stop{background:var(--red-dim);color:var(--red);border-color:#e74c3c66}.gather-btn--stop:hover{background:#e74c3c40}.gather-timer{font-size:11px;color:var(--text-muted);white-space:nowrap;min-width:32px}.equip-panel-header{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px;flex-wrap:wrap}.equip-tabs{display:flex;gap:2px;background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--radius);padding:3px}.equip-tab{padding:4px 12px;font-size:12px;font-weight:600;font-family:inherit;background:transparent;color:var(--text-muted);border:none;border-radius:calc(var(--radius) - 2px);cursor:pointer;transition:background .15s,color .15s;white-space:nowrap}.equip-tab:hover{color:var(--text-secondary)}.equip-tab--active{background:var(--bg-card);color:var(--text-primary);box-shadow:0 1px 4px #0000004d}.equip-empty{font-size:12px;color:var(--text-muted);font-style:italic;padding:8px 0}.tool-slots{display:flex;gap:10px;flex-wrap:wrap}.tool-slot{display:flex;align-items:center;gap:8px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:8px 12px;min-width:140px;flex:1}.tool-slot-icon{font-size:18px}.tool-slot-icon-img{width:32px;height:32px;object-fit:contain;image-rendering:pixelated;flex-shrink:0;opacity:.6}.tool-slot-icon-img.equipped{opacity:1}.tool-slot-info{display:flex;flex-direction:column;flex:1}.tool-slot-label{font-size:10px;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted)}.tool-slot-name{font-size:13px;font-weight:600;color:var(--text-primary)}.tool-slot-unequip{font-size:11px;color:var(--text-muted);background:none;border:none;cursor:pointer;padding:2px 4px;border-radius:3px}.tool-slot-unequip:hover{background:var(--red-dim);color:var(--red)}.tool-inventory{display:flex;flex-wrap:wrap;gap:8px}.tool-inv-btn{display:flex;align-items:center;gap:6px;padding:6px 12px;font-size:12px;font-family:inherit;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);color:var(--text-primary);cursor:pointer;transition:border-color .2s}.tool-inv-btn:hover{border-color:var(--border-light);background:var(--bg-card-hover)}.tool-inv-btn--equipped{border-color:var(--green);background:var(--green-dim);color:var(--green)}.tool-inv-qty{color:var(--text-muted);font-size:11px}.tool-inv-equipped-badge{color:var(--green);font-weight:700}.crafting-layout{display:flex;align-items:flex-start;gap:16px;flex-wrap:wrap}.crafting-left{display:flex;flex-direction:column;gap:8px}.crafting-grid{display:grid;grid-template-columns:repeat(3,60px);grid-template-rows:repeat(3,60px);gap:4px}.crafting-cell{width:60px;height:60px;background:var(--bg-card);border:2px solid var(--border);border-radius:var(--radius);display:flex;align-items:center;justify-content:center;cursor:pointer;position:relative;transition:border-color .15s,background .15s;font-size:22px}.crafting-cell:hover{border-color:var(--border-light)}.crafting-cell--selected{border-color:var(--blue)!important;background:#3498db1f}.crafting-cell--filled{border-color:var(--green)}.crafting-cell-empty{color:var(--border);font-size:18px}.crafting-cell-clear{position:absolute;top:2px;right:2px;font-size:9px;background:var(--red-dim);color:var(--red);border:none;border-radius:2px;cursor:pointer;padding:1px 3px;line-height:1;opacity:0;transition:opacity .15s}.crafting-cell:hover .crafting-cell-clear{opacity:1}.crafting-clear-btn{font-size:12px;padding:5px 10px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);color:var(--text-muted);cursor:pointer;font-family:inherit}.crafting-clear-btn:hover{border-color:var(--border-light);color:var(--text-primary)}.crafting-arrow{font-size:24px;color:var(--text-muted);align-self:center;padding-top:30px}.crafting-right{display:flex;flex-direction:column;gap:8px;align-items:flex-start}.crafting-output{width:80px;height:80px;background:var(--bg-card);border:2px solid var(--border);border-radius:var(--radius);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px}.crafting-output--ready{border-color:var(--green);background:var(--green-dim)}.crafting-output-empty{color:var(--border);font-size:24px}.crafting-output-icon{font-size:24px}.crafting-icon-img{width:36px;height:36px;object-fit:contain;image-rendering:pixelated;display:block}.crafting-output-qty{font-size:11px;color:var(--text-muted)}.crafting-output-name{font-size:10px;text-align:center;color:var(--text-primary)}.craft-btn{padding:8px 20px;font-size:14px;font-weight:700;font-family:inherit;background:var(--green-dim);color:var(--green);border:1px solid rgba(46,204,113,.4);border-radius:var(--radius);cursor:pointer;transition:background .15s}.craft-btn:hover:not(:disabled){background:#2ecc7140}.craft-btn:disabled{opacity:.4;cursor:not-allowed}.craft-msg{font-size:12px;color:var(--green);animation:fade-in .2s}@keyframes fade-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1}}.crafting-picker{margin-top:12px;padding:12px;background:var(--bg-card);border:1px solid var(--blue);border-radius:var(--radius)}.crafting-picker-title{font-size:12px;color:var(--blue);margin-bottom:8px}.crafting-picker-grid{display:flex;flex-wrap:wrap;gap:6px}.crafting-picker-item{display:flex;align-items:center;gap:4px;padding:5px 10px;font-size:12px;font-family:inherit;background:var(--bg-base);border:1px solid var(--border);border-radius:var(--radius);color:var(--text-primary);cursor:pointer}.crafting-picker-item:hover{border-color:var(--border-light);background:var(--bg-card-hover)}.crafting-picker-name{font-weight:600}.crafting-picker-qty{color:var(--text-muted)}.crafting-picker-empty{color:var(--text-muted);font-size:12px;font-style:italic}.recipe-list{display:flex;flex-direction:column;gap:4px}.recipe-row{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--text-primary);padding:4px 8px;background:var(--bg-card);border-radius:var(--radius);border:1px solid var(--border)}.recipe-row--clickable{cursor:pointer;transition:border-color .15s,background .15s}.recipe-row--clickable:hover{background:var(--bg-hover, rgba(255,255,255,.05));border-color:var(--text-muted)}.recipe-row--affordable{border-color:#2ecc7166}.recipe-row--affordable:hover{border-color:var(--green);background:var(--green-dim)}.recipe-load-hint{margin-left:auto;font-size:11px;color:var(--text-muted);white-space:nowrap}.recipe-row--affordable .recipe-load-hint{color:var(--green)}.recipe-out{font-weight:700;color:var(--green);min-width:120px}.recipe-arrow{color:var(--text-muted)}.recipe-in{color:var(--text-secondary, var(--text-muted))}.recipe-shapeless{color:var(--text-muted);font-style:italic;font-size:11px}.crafting-open-btn{padding:5px 12px;font-size:12px;font-weight:600;font-family:inherit;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);color:var(--text-primary);cursor:pointer;transition:border-color .15s,background .15s}.crafting-open-btn:hover{border-color:var(--border-light);background:var(--bg-card-hover)}.furnace-open-btn{border-color:#e74c3c80;color:#e74c3c}.furnace-open-btn:hover{border-color:#e74c3c!important;background:#e74c3c1a!important}.furnace-modal{width:min(700px,95vw);max-height:80vh;display:flex;flex-direction:column}.furnace-title{font-size:18px;font-weight:700;color:var(--text-primary);margin-bottom:12px;flex-shrink:0}.furnace-empty{color:var(--text-muted);font-style:italic;font-size:13px;text-align:center;padding:24px 0}.furnace-list{overflow-y:auto;display:flex;flex-direction:column;gap:10px;padding-right:4px}.furnace-list-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.8px;color:var(--text-muted);margin-bottom:4px}.furnace-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:10px 12px;display:flex;flex-direction:column;gap:8px}.furnace-card-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.furnace-card-label{display:flex;align-items:center;gap:5px;font-size:12px;font-weight:600;color:var(--text-secondary);min-width:90px;flex-shrink:0}.furnace-card-bar-wrap{display:flex;align-items:center;gap:6px;flex:1;min-width:100px}.furnace-card-bar{flex:1;height:8px;background:var(--bg-panel);border-radius:4px;overflow:hidden;border:1px solid var(--border)}.furnace-card-bar-fill{height:100%;border-radius:4px;transition:width .3s ease}.furnace-card-bar-fill--coal{background:var(--text-muted)}.furnace-card-bar-fill--ore{background:var(--orange, #e67e22)}.furnace-card-qty{font-size:11px;color:var(--text-muted);white-space:nowrap;min-width:40px}.furnace-card-btns{display:flex;gap:4px;flex-shrink:0}.furnace-card-avail{font-size:11px;color:var(--text-muted);white-space:nowrap;flex-shrink:0}.furnace-ore-picker{display:flex;gap:4px;flex-wrap:wrap}.fnc-ore-pick{display:flex;flex-direction:column;align-items:center;gap:2px;padding:4px 6px;background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;font-size:10px;color:var(--text-muted);font-family:inherit;transition:border-color .15s,background .15s}.fnc-ore-pick:hover:not(:disabled){border-color:var(--orange, #e67e22);background:var(--bg-card-hover);color:var(--text-primary)}.fnc-ore-pick:disabled{opacity:.35;cursor:not-allowed}.fnc-btn{padding:3px 8px;font-size:11px;font-weight:600;background:var(--bg-panel);color:var(--text-secondary);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;font-family:inherit;white-space:nowrap;transition:background .15s,border-color .15s,color .15s}.fnc-btn:hover:not(:disabled){background:var(--bg-card-hover);border-color:var(--border-light);color:var(--text-primary)}.fnc-btn:disabled{opacity:.35;cursor:not-allowed}.fnc-btn--all{color:var(--accent);border-color:var(--accent-dim)}.fnc-btn--all:hover:not(:disabled){background:var(--accent-dim)}.fnc-btn--start{background:var(--green-dim);color:var(--green);border-color:#2ecc7166}.fnc-btn--start:hover:not(:disabled){background:#2ecc7140}.fnc-btn--stop{background:var(--red-dim);color:var(--red);border-color:#e74c3c66}.fnc-btn--stop:hover:not(:disabled){background:#e74c3c40}.fnc-btn--collect{background:var(--yellow-dim);color:var(--yellow);border-color:#f1c40f66}.fnc-btn--collect:hover:not(:disabled){background:#f1c40f33}.furnace-card-smelt-row{display:flex;align-items:center;gap:8px;padding-top:4px;border-top:1px solid var(--border);flex-wrap:wrap}.furnace-card-preview{display:flex;align-items:center;gap:5px;font-size:14px;flex-shrink:0}.furnace-card-smelt-time{font-size:10px;color:var(--text-muted);margin-left:2px}.furnace-smelt-arrow{color:var(--text-muted);font-size:12px}.furnace-card-progress-wrap{flex:1;min-width:80px}.furnace-card-progress{height:6px;background:var(--bg-panel);border-radius:3px;overflow:hidden;border:1px solid var(--border)}.furnace-card-progress-fill{height:100%;background:var(--orange, #e67e22);border-radius:3px;transition:width .15s linear}.furnace-card-controls{display:flex;gap:6px;flex-shrink:0}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000a6;display:flex;align-items:center;justify-content:center;z-index:1000;padding:16px}.modal-content{position:relative;background:var(--bg-panel, #1a1a2e);border:1px solid var(--border);border-radius:var(--radius);max-width:640px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 8px 40px #0009}.modal-close{position:absolute;top:10px;right:12px;background:none;border:none;color:var(--text-muted);font-size:16px;cursor:pointer;z-index:1;padding:4px 6px;border-radius:4px}.modal-close:hover{background:var(--red-dim);color:var(--red)}.chat-root{display:flex;flex-direction:column;background:var(--bg-panel);border-top:1px solid var(--border);font-family:var(--font-mono);font-size:12px;flex-shrink:0}.chat-body{height:90px;overflow-y:auto;padding:6px 10px 4px;background:#12151f;scrollbar-width:thin;scrollbar-color:var(--border) transparent}.chat-body::-webkit-scrollbar{width:4px}.chat-body::-webkit-scrollbar-thumb{background:var(--border);border-radius:2px}.chat-line{line-height:1.6;color:var(--text-secondary)}.chat-time{color:var(--text-muted)}.chat-author{color:var(--text-primary);font-weight:600}.chat-text{color:var(--text-secondary)}.chat-empty{color:var(--text-muted);font-style:italic;padding:4px 0}.chat-input-row{display:flex;align-items:center;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.chat-input{flex:1;background:var(--bg-input);border:none;outline:none;color:var(--text-primary);font-family:var(--font-mono);font-size:12px;padding:5px 10px;placeholder-color:var(--text-muted)}.chat-input::placeholder{color:var(--text-muted)}.chat-tabs{display:flex;gap:0;background:var(--bg-card)}.chat-tab{flex:1;background:none;border:none;border-right:1px solid var(--border);color:var(--text-muted);font-family:var(--font-main);font-size:11px;font-weight:600;padding:5px 6px;cursor:pointer;letter-spacing:.04em;text-transform:uppercase;transition:color .15s,background .15s}.chat-tab:last-child{border-right:none}.chat-tab:hover{color:var(--tab-color);background:var(--bg-card-hover)}.chat-tab--active{color:var(--tab-color);background:#12151f;box-shadow:inset 0 2px 0 var(--tab-color)}.app{height:100vh;min-height:unset;overflow:hidden}.panel-area{overflow-y:auto}.topbar-user{gap:6px}.topbar-logout{background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:11px;padding:2px 4px;border-radius:var(--radius-sm);line-height:1}.topbar-logout:hover{color:var(--red);background:var(--red-dim)}.auth-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--bg-base) url(/auth-bg.png) center / cover no-repeat;display:flex;align-items:center;justify-content:center;z-index:9999}.auth-box{background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--radius-lg);padding:36px 40px 32px;width:340px;display:flex;flex-direction:column;align-items:center;gap:16px;box-shadow:var(--shadow-lg)}.auth-logo{font-size:40px;line-height:1}.auth-title{font-size:20px;font-weight:700;color:var(--text-primary);letter-spacing:.02em}.auth-tabs{display:flex;width:100%;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.auth-tab-btn{flex:1;background:none;border:none;color:var(--text-secondary);font-family:var(--font-main);font-size:13px;font-weight:600;padding:8px;cursor:pointer;transition:background .15s,color .15s}.auth-tab-btn:hover{background:var(--bg-card-hover);color:var(--text-primary)}.auth-tab-btn--active{background:var(--accent-dim);color:var(--accent)}.auth-error{width:100%;background:var(--red-dim);color:var(--red);border:1px solid var(--red);border-radius:var(--radius-sm);padding:8px 12px;font-size:13px;text-align:center}.auth-fields{display:flex;flex-direction:column;gap:10px;width:100%}.auth-input{width:100%;background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius);color:var(--text-primary);font-family:var(--font-main);font-size:14px;padding:10px 12px;outline:none;transition:border-color .15s}.auth-input:focus{border-color:var(--accent)}.auth-input--valid{border-color:#4ade80!important}.auth-input--invalid{border-color:#f87171!important}.auth-input-wrap{width:100%;display:flex;flex-direction:column;gap:4px}.auth-username-indicator{font-size:11px;font-weight:600;padding-left:2px;line-height:1.4;min-height:14px}.auth-username-indicator--available{color:#4ade80}.auth-username-indicator--unavailable{color:#f87171}.auth-username-indicator--checking{color:var(--text-muted)}.auth-username-tick{display:inline-block;font-size:13px;font-weight:700;color:#4ade80}.auth-username-cross{display:inline-block;font-size:13px;font-weight:700;color:#f87171}@keyframes auth-spin{to{transform:rotate(360deg)}}.auth-username-spinner{display:inline-block;width:11px;height:11px;border:2px solid var(--text-muted);border-top-color:var(--accent);border-radius:50%;animation:auth-spin .6s linear infinite;vertical-align:middle}.auth-hint{font-size:11px;color:var(--text-muted);text-align:center;line-height:1.4;margin:-4px 0}.auth-input::placeholder{color:var(--text-muted)}.auth-submit{width:100%;background:var(--accent);border:none;border-radius:var(--radius);color:#fff;font-family:var(--font-main);font-size:14px;font-weight:700;padding:11px;cursor:pointer;transition:background .15s}.auth-submit:hover:not(:disabled){background:var(--accent-hover)}.auth-submit:disabled{opacity:.5;cursor:not-allowed}.auth-switch{font-size:12px;color:var(--text-muted)}.auth-link{background:none;border:none;color:var(--accent);cursor:pointer;font-size:12px;padding:0;text-decoration:underline}.chat-line--own .chat-author{color:var(--accent)}.topbar-logo-img{height:72px;width:auto;object-fit:contain;display:block}.topbar-titlebar-img{height:80px;width:auto;object-fit:contain;display:block;flex-shrink:0}.auth-logo-img{height:200px;width:auto;object-fit:contain;display:block}
