*,*:before,*:after{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}#root{min-height:100vh}.navbar{display:flex;align-items:center;justify-content:space-between;padding:0 1.5rem;height:56px;background:#1a1d23;border-bottom:2px solid #2d333b}.navbar-brand{display:flex;align-items:center;gap:.5rem}.brand-icon{font-size:1.5rem}.brand-text{font-weight:700;font-size:1.1rem;color:#4caf50;letter-spacing:1px}.navbar-links{display:flex;gap:.25rem}.nav-link{padding:.4rem 1rem;border-radius:6px;color:#adb5bd;text-decoration:none;font-size:.9rem;transition:background .15s,color .15s}.nav-link:hover{background:#2d333b;color:#e9ecef}.nav-link.active{background:#2d333b;color:#4caf50;font-weight:600}.navbar-stats{display:flex;align-items:center;gap:1rem}.stat{font-size:.85rem;color:#ced4da}.stat.credits{color:#ffc107;font-weight:600}.stat.level{color:#4caf50}.stat.username{color:#adb5bd}.hud-bar{padding:.15rem .5rem;border-radius:4px;font-size:.8rem;font-weight:600}.hud-ok{background:#2d333b;color:#4caf50;border:1px solid #4caf50}.hud-danger{background:#dc354533;color:#ff6b6b;border:1px solid #dc3545}.weather-widget{display:inline-flex;align-items:center;gap:.3rem;padding:.15rem .6rem;border-radius:4px;font-size:.78rem;font-weight:600;background:#2d333b;color:#ced4da;border:1px solid #444c56;margin-left:.75rem;cursor:default}.weather-widget.weather-positive{background:#4caf5022;color:#66bb6a;border-color:#4caf50}.weather-widget.weather-negative{background:#dc354522;color:#ff6b6b;border-color:#dc3545}.weather-icon{font-size:1rem}.weather-label{white-space:nowrap}.xp-bar-wrapper{display:flex;align-items:center;gap:.4rem;cursor:default}.xp-bar-track{width:60px;height:6px;background:#2d333b;border-radius:3px;overflow:hidden;border:1px solid #444c56}.xp-bar-fill{height:100%;background:var(--accent-green);border-radius:3px;transition:width .3s ease}.home-page{display:flex;flex-direction:column;align-items:center;padding:2rem 1rem}.hero{text-align:center;padding:4rem 1rem;max-width:700px}.hero-title{font-size:2.4rem;font-weight:800;color:var(--accent-green);margin-bottom:1rem}.hero-subtitle{font-size:1.15rem;color:var(--text-secondary);margin-bottom:2rem}.btn-play{padding:.75rem 2rem;font-size:1.1rem;font-weight:700;border-radius:8px}.features{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;width:100%;max-width:900px;margin-bottom:3rem}.feature-card{background:var(--bg-card);border:1px solid var(--border);border-radius:10px;padding:1.5rem;text-align:center;transition:border-color .2s}.feature-card:hover{border-color:var(--accent-green)}.feature-icon{font-size:2rem;display:block;margin-bottom:.75rem}.feature-title{font-size:1.1rem;font-weight:700;color:var(--text-primary);margin-bottom:.5rem}.feature-desc{font-size:.9rem;color:var(--text-secondary)}.home-footer{margin-top:auto;padding:2rem 0;color:var(--text-muted);font-size:.85rem}@media(max-width:700px){.features{grid-template-columns:1fr}}.modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{background:#1a1d23;border:1px solid #2d333b;border-radius:12px;padding:1.5rem;width:90%;max-width:600px;max-height:85vh;overflow-y:auto;position:relative}.modal-close{position:absolute;top:.75rem;right:.75rem;background:transparent;border:none;color:#adb5bd;font-size:1.2rem;cursor:pointer}.modal-close:hover{color:#ff6b6b}.modal-title{color:#e9ecef;font-size:1.15rem;margin-bottom:1rem}.land-type-label{text-transform:capitalize;color:#adb5bd;font-weight:400}.detail-section{margin-bottom:1.25rem}.detail-section h3{color:#ced4da;font-size:.95rem;margin-bottom:.5rem;border-bottom:1px solid #2d333b;padding-bottom:.3rem}.negative{color:#ff6b6b}.machine-detail-card{background:#2d333b;border-radius:8px;padding:.75rem;margin-bottom:.5rem}.machine-detail-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.3rem}.machine-detail-name{color:#e9ecef;font-weight:600;text-transform:capitalize}.machine-detail-power{color:#ffc107;font-size:.85rem}.machine-production{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.4rem;font-size:.85rem;color:#4caf50}.machine-detail-actions{display:flex;gap:.5rem;margin-top:.4rem}.sell-land-section{border-top:1px solid #2d333b;padding-top:1rem;text-align:center}.sell-hint{margin-top:.4rem;font-size:.8rem}.biome-section{background:#22272e;border-radius:8px;padding:.75rem}.biome-desc{font-size:.8rem;color:#adb5bd;margin-bottom:.4rem}.biome-bonuses{display:flex;gap:.75rem;font-size:.8rem;color:#ced4da}.health-bar-container{margin-bottom:.4rem}.health-bar-label{font-size:.75rem;color:#adb5bd;margin-bottom:.15rem}.health-bar-bg{background:#444c56;border-radius:4px;height:8px;overflow:hidden}.health-bar-fill{height:100%;border-radius:4px;transition:width .3s ease}.health-good{background:#4caf50}.health-warn{background:#ffc107}.health-danger{background:#dc3545}.machine-broken{border:1px solid #dc3545;opacity:.8}.broken-badge{color:#dc3545;font-size:.75rem;margin-left:.5rem;font-weight:700}.btn-repair{background:#17a2b8;color:#fff;border:none;border-radius:4px;padding:.3rem .6rem;cursor:pointer;font-size:.8rem}.btn-repair:hover{background:#138496}.btn-repair:disabled{opacity:.5;cursor:not-allowed}.success-banner{background:#4caf5022;border:1px solid #4caf50;color:#4caf50;padding:.5rem 1rem;border-radius:6px;margin-bottom:1rem;font-size:.85rem}.land-map{padding:1.5rem}.section-title{color:#e9ecef;font-size:1.2rem;margin-bottom:1rem;border-left:3px solid #4caf50;padding-left:.75rem}.land-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem}.land-card{background:#1a1b26;border:1px solid #2d333b;border-radius:8px;padding:1rem;transition:border-color .2s;position:relative;overflow:hidden}.land-card:hover{border-color:#4caf50}.land-card.available{border-left:3px solid #ff9800}.land-card.owned{border-left:3px solid #4caf50}.land-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.land-type{text-transform:capitalize;font-weight:600;color:#ced4da;font-size:.95rem}.land-name{color:#adb5bd;font-size:.8rem}.land-price{color:#ffc107;font-weight:600}.land-resources{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:.75rem}.resource-badge{background:#2d333b;color:#adb5bd;padding:.15rem .5rem;border-radius:4px;font-size:.75rem}.land-machines{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:.5rem}.machine-chip{background:#2d333b;padding:.25rem .6rem;border-radius:4px;font-size:.8rem;color:#ced4da;position:relative;overflow:hidden}.progress-bar-container{width:100%;height:3px;background:#444c56;border-radius:2px;margin-top:.25rem;overflow:hidden}.progress-bar-fill{height:100%;width:100%;background:#4caf50;border-radius:2px;animation:progress-cycle linear infinite;transform-origin:left}@keyframes progress-cycle{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.machine-chip.active{border:1px solid #4caf50}.machine-chip.inactive{border:1px solid #6c757d;opacity:.7}.machine-chip.has-alert{border-color:#ff9800;background:#ff980022}.build-panel{display:flex;flex-wrap:wrap;gap:.3rem}.btn-build{background:#2d333b;color:#e9ecef;border:1px solid #4caf50;text-transform:capitalize}.btn-build:hover{background:#4caf50;color:#1a1d23}.btn-build.btn-locked{opacity:.45;border-color:#444c56;cursor:not-allowed}.btn-build.btn-locked:hover{background:#2d333b;color:#e9ecef}.build-item{display:flex;align-items:center;gap:.3rem}.drill-resource-select{background:#2d333b;color:#e9ecef;border:1px solid #4caf50;border-radius:4px;padding:.2rem .3rem;font-size:.75rem;cursor:pointer}.land-slots{font-size:.75rem;color:#6c757d;margin-top:.25rem}.game-icon{color:#aab;vertical-align:middle}.icon-biome{color:#3a3d4a}.icon-machine{color:#4ade80;filter:drop-shadow(0 0 5px currentColor)}.land-biome-bg{position:absolute;top:.5rem;right:.5rem;opacity:.3;pointer-events:none}.error-banner{background:#dc354522;border:1px solid #dc3545;color:#ff6b6b;padding:.5rem 1rem;border-radius:6px;margin-bottom:1rem;font-size:.85rem}.muted{color:#6c757d;font-size:.9rem}.production-summary-section{margin-bottom:1rem}.btn-summary-toggle{font-size:.85rem;margin-bottom:.5rem}.production-summary-panel{background:#1e2228;border:1px solid #2d333b;border-radius:8px;padding:1rem}.summary-row{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem;flex-wrap:wrap;font-size:.85rem;color:#ced4da}.summary-row:last-child{margin-bottom:0}.summary-label{font-weight:600;color:#e9ecef}.summary-resources{display:flex;flex-wrap:wrap;gap:.4rem}.summary-badge{color:#4caf50;font-weight:600}.market-page{padding:1.5rem}.market-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1rem;margin-top:1rem}.market-card{background:#1e2228;border:1px solid #2d333b;border-radius:10px;padding:1rem;display:flex;flex-direction:column;gap:.75rem}.market-card:hover{border-color:#4caf50}.market-card-header{display:flex;align-items:center;gap:.5rem}.market-card-icon{font-size:1.5rem}.market-card-name{font-size:1rem;font-weight:700;color:#e9ecef;text-transform:capitalize}.market-card-price{display:flex;justify-content:space-between;align-items:baseline}.price-value{font-size:1.25rem;font-weight:700;color:#ffc107}.price-stock{font-size:.75rem;color:#adb5bd}.market-card-actions{display:flex;flex-direction:column;gap:.5rem}.market-action-row{display:flex;gap:.4rem;align-items:center}.market-qty-input{background:#2d333b;border:1px solid #444c56;color:#e9ecef;padding:.35rem .5rem;border-radius:4px;font-size:.8rem;width:60px}.btn-sell{background:#dc3545;color:#fff;border:none;border-radius:4px;padding:.35rem .75rem;cursor:pointer;font-size:.8rem}.btn-sell:hover{background:#c82333}.success-banner{background:#4caf5022;border:1px solid #4caf50;color:#66bb6a;padding:.5rem 1rem;border-radius:6px;margin-bottom:1rem;font-size:.85rem}.btn-chart{background:#2d333b;color:#adb5bd;border:1px solid #444c56;border-radius:4px;padding:.35rem .75rem;cursor:pointer;font-size:.8rem;text-align:center}.btn-chart:hover{background:#3a414a;color:#e9ecef}.market-chart-container{background:#161a1f;border:1px solid #2d333b;border-radius:6px;padding:.5rem}.market-search-input{width:100%;padding:.6rem 1rem;background:#2d333b;border:1px solid #444c56;border-radius:6px;color:#e9ecef;font-size:.9rem;margin-top:.5rem;box-sizing:border-box}.market-search-input::placeholder{color:#768390}.market-search-input:focus{outline:none;border-color:#4caf50}.chart-range-buttons{display:flex;gap:.35rem;margin-bottom:.5rem;justify-content:center}.btn-range{background:#2d333b;color:#adb5bd;border:1px solid #444c56;border-radius:4px;padding:.25rem .6rem;cursor:pointer;font-size:.75rem;font-weight:600}.btn-range:hover{background:#3a414a;color:#e9ecef}.btn-range-active{background:#4caf50;color:#fff;border-color:#4caf50}.shop-page{padding:1.5rem}.shop-controls{margin-bottom:1rem}.shop-controls label{color:#adb5bd;font-size:.85rem;display:flex;align-items:center;gap:.5rem}.shop-controls select{background:#2d333b;border:1px solid #444c56;color:#e9ecef;padding:.35rem .6rem;border-radius:4px;font-size:.85rem}.shop-categories{display:flex;gap:.4rem;margin-bottom:1.2rem;flex-wrap:wrap}.btn-cat{background:#2d333b;color:#adb5bd;border:1px solid #444c56}.btn-cat:hover{background:#3d434b;color:#e9ecef}.shop-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1rem}.shop-card{background:#1e2228;border:1px solid #2d333b;border-radius:8px;padding:1rem;display:flex;flex-direction:column;gap:.6rem;transition:border-color .2s}.shop-card:hover{border-color:#4caf50}.shop-card-header{display:flex;justify-content:space-between;align-items:center}.shop-card-icon{display:flex;align-items:center;margin-right:.5rem}.shop-card-name{font-weight:600;color:#e9ecef;font-size:.95rem}.shop-card-cost{color:#ffc107;font-weight:600;font-size:.9rem}.shop-card-stats{display:flex;flex-direction:column;gap:.25rem}.shop-stat{font-size:.78rem;color:#adb5bd}.power-prod{color:#4caf50}.storage-bonus{color:#2196f3}.shop-drill-resource{display:flex;align-items:center;gap:.4rem}.shop-drill-resource label{color:#adb5bd;font-size:.8rem;display:flex;align-items:center;gap:.35rem}.shop-drill-resource select{background:#2d333b;border:1px solid #444c56;color:#e9ecef;padding:.2rem .5rem;border-radius:4px;font-size:.8rem}.shop-card-locked{opacity:.5;border-color:#444c56}.shop-card-locked:hover{border-color:#444c56}.shop-locked-label{font-size:.78rem;color:var(--text-muted);font-weight:600;text-transform:uppercase;letter-spacing:.3px}.corporate-page{padding:1.5rem}.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1rem;margin-bottom:1.5rem}.dash-card{background:#1e2228;border:1px solid #2d333b;border-radius:8px;padding:1rem}.dash-card h3{color:#e9ecef;font-size:.95rem;margin-bottom:.75rem;border-bottom:1px solid #2d333b;padding-bottom:.5rem}.valuation-breakdown{display:flex;flex-direction:column;gap:.4rem}.val-row{display:flex;justify-content:space-between;font-size:.85rem;color:#adb5bd}.val-row.total{border-top:1px solid #2d333b;padding-top:.5rem;margin-top:.25rem}.val-amount{color:#ced4da}.val-amount.highlight{color:#4caf50;font-weight:700;font-size:1rem}.share-info{display:flex;justify-content:space-between;font-size:.85rem;color:#adb5bd;margin-bottom:.5rem}.shareholder-list,.investment-list{list-style:none;padding:0;margin:0}.shareholder-list li,.investment-list li{display:flex;justify-content:space-between;padding:.35rem 0;border-bottom:1px solid #2d333b;font-size:.85rem;color:#ced4da}.pct{color:#ffc107;font-weight:600}.action-forms{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:1rem}.action-card{background:#1e2228;border:1px solid #2d333b;border-radius:8px;padding:1rem}.action-card h3{color:#e9ecef;font-size:.95rem;margin-bottom:.75rem}.login-page{display:flex;justify-content:center;align-items:center;min-height:calc(100vh - 56px)}.login-card{background:#1e2228;border:1px solid #2d333b;border-radius:10px;padding:2rem;width:100%;max-width:440px}.login-card h2{color:#e9ecef;margin-bottom:.5rem}.login-card .muted{margin-bottom:1.5rem}.field{margin-bottom:1rem}.field label{display:block;color:#adb5bd;font-size:.8rem;margin-bottom:.3rem}.field input{width:100%;background:#2d333b;border:1px solid #444c56;color:#e9ecef;padding:.5rem .75rem;border-radius:6px;font-size:.9rem;box-sizing:border-box}.field input:focus{outline:none;border-color:#4caf50}.field-row{display:flex;gap:1rem}.field-row .field{flex:1}.full-width{width:100%;padding:.6rem;font-size:1rem}.inventory-page{padding:1.5rem;max-width:900px;margin:0 auto}.inventory-gauge{margin-bottom:1.5rem}.gauge-label{font-weight:600;margin-bottom:.4rem;font-size:1rem}.gauge-bar{background:#2a2a3e;border-radius:8px;height:24px;overflow:hidden;border:1px solid #3a3a5e}.gauge-fill{height:100%;background:#4caf50;border-radius:8px;transition:width .4s ease}.gauge-fill.gauge-warning{background:#ff9800}.gauge-fill.gauge-danger{background:#f44336}.inventory-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:1rem}.inventory-card{background:#1e1e2f;border:1px solid #3a3a5e;border-radius:10px;padding:1rem;display:flex;flex-direction:column;align-items:center;gap:.4rem}.inventory-label{font-size:.95rem;color:#ccc}.inventory-qty{font-size:1.5rem;font-weight:700;color:#fff}.leaderboard-page{padding:1.5rem}.leaderboard-table{width:100%;border-collapse:collapse;background:var(--bg-card);border-radius:8px;overflow:hidden}.leaderboard-table thead{background:var(--bg-secondary)}.leaderboard-table th{text-align:left;padding:.75rem 1rem;color:var(--text-secondary);font-size:.8rem;text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid var(--border)}.leaderboard-table td{padding:.65rem 1rem;border-bottom:1px solid var(--border);font-size:.9rem}.leaderboard-table tbody tr:hover{background:#2d333b44}.leaderboard-table tbody tr.current-player{background:#4caf5018;border-left:3px solid var(--accent-green)}.leaderboard-table tbody tr.current-player td{color:var(--accent-green);font-weight:600}.rank-cell{font-size:1.1rem;min-width:50px}.value-cell{color:var(--accent-yellow);font-weight:600}.alliance-tag{color:var(--accent-blue, #58a6ff);font-weight:700;margin-right:.35rem;font-size:.82rem}.automation-page{padding:1.5rem}.auto-form{background:var(--bg-card);padding:1rem 1.25rem;border-radius:8px;border:1px solid var(--border);margin-bottom:1.5rem}.auto-form h3{margin-bottom:.25rem;font-size:1rem}.form-hint{margin-bottom:.75rem;font-size:.82rem}.form-field{display:flex;flex-direction:column;gap:.25rem}.form-label{font-size:.75rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.3px}.rules-heading{margin:1rem 0 .5rem;font-size:1rem}.rules-table{width:100%;border-collapse:collapse;background:var(--bg-card);border-radius:8px;overflow:hidden}.rules-table thead{background:var(--bg-secondary)}.rules-table th{text-align:left;padding:.65rem 1rem;color:var(--text-secondary);font-size:.8rem;text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid var(--border)}.rules-table td{padding:.6rem 1rem;border-bottom:1px solid var(--border);font-size:.88rem}.rules-table tbody tr:hover{background:#2d333b44}.rule-inactive td{opacity:.5}.status-dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:.4rem;vertical-align:middle}.dot-active{background:var(--accent-green)}.dot-paused{background:var(--text-muted)}.actions-cell{display:flex;gap:.4rem}.btn-warn{background:var(--accent-orange);color:#fff}.tech-page{padding:1.5rem}.tech-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1rem}.tech-card{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:1rem;display:flex;flex-direction:column;gap:.5rem;transition:border-color .2s}.tech-card:hover{border-color:#4caf5088}.tech-unlocked{border-color:var(--accent-green)}.tech-available{border-color:var(--accent-yellow)}.tech-locked{opacity:.55}.tech-card-header{display:flex;align-items:center;gap:.5rem}.tech-status-icon{font-size:1.1rem}.tech-card-name{font-weight:600;font-size:.95rem;color:var(--text-primary)}.tech-desc{font-size:.82rem;color:var(--text-secondary);line-height:1.4}.tech-unlocks{font-size:.78rem;color:var(--accent-blue)}.tech-prereqs{font-size:.78rem;color:var(--text-muted)}.tech-cost{font-size:.8rem;color:var(--accent-yellow);font-weight:600}.tech-confirm{display:flex;align-items:center;gap:.4rem}.confirm-text{font-size:.82rem;color:var(--accent-orange);font-weight:600}.tech-badge-unlocked{font-size:.75rem;color:var(--accent-green);font-weight:600;text-transform:uppercase;letter-spacing:.5px}.tech-badge-locked{font-size:.75rem;color:var(--text-muted);font-weight:600;text-transform:uppercase;letter-spacing:.5px}.public-company-page{padding:1.5rem}.profile-header{background:#1e2228;border:1px solid #2d333b;border-radius:8px;padding:1rem;margin-bottom:1rem}.profile-info{display:flex;gap:1.5rem;flex-wrap:wrap;font-size:.9rem;color:#adb5bd}.price-info{font-size:.85rem;color:#adb5bd;margin-bottom:.75rem}.invest-form .form-row{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem}.invest-form input[type=number]{width:80px}.cost-preview{font-size:.85rem;color:#ced4da;margin-bottom:.75rem}.contracts-page{padding:1.5rem}.contracts-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem;margin-top:1rem}.contract-card{background:var(--bg-card);border:1px solid var(--border);border-radius:10px;padding:1rem 1.25rem;display:flex;flex-direction:column;gap:.75rem;transition:border-color .2s}.contract-card:hover{border-color:var(--accent-blue, #58a6ff)}.contract-done{opacity:.55}.contract-header{display:flex;justify-content:space-between;align-items:center}.contract-resource{font-weight:700;font-size:1.05rem;text-transform:capitalize}.contract-reward{font-weight:600;color:var(--accent-green, #3fb950)}.contract-body{display:flex;flex-direction:column;gap:.5rem}.contract-desc{font-size:.9rem;color:var(--text-secondary)}.progress-row{display:flex;flex-direction:column;gap:.3rem}.progress-label{font-size:.8rem;color:var(--text-muted)}.progress-bar{width:100%;height:10px;background:var(--bg-secondary, #21262d);border-radius:5px;overflow:hidden}.progress-fill{height:100%;background:var(--accent-orange, #d29922);border-radius:5px;transition:width .3s}.progress-fill.fill-ready{background:var(--accent-green, #3fb950)}.contract-deadline{font-size:.78rem;color:var(--text-muted)}.contract-footer{display:flex;justify-content:flex-end}.badge-done{font-size:.85rem;color:var(--accent-green, #3fb950);font-weight:600}.btn-disabled{opacity:.45;cursor:not-allowed}.alliance-page{padding:1.5rem}.alliance-dashboard{margin-top:1rem}.alliance-stats-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:1rem;margin-bottom:1.5rem}.alliance-stat-card{background:var(--bg-card);border:1px solid var(--border);border-radius:10px;padding:1rem;display:flex;flex-direction:column;align-items:center;gap:.4rem}.stat-label{font-size:.75rem;text-transform:uppercase;color:var(--text-secondary);letter-spacing:.4px}.stat-value{font-size:1.1rem;font-weight:700}.members-heading,.alliances-heading{margin:1rem 0 .5rem;font-size:1rem}.members-table,.alliances-table{width:100%;border-collapse:collapse;background:var(--bg-card);border-radius:8px;overflow:hidden}.members-table thead,.alliances-table thead{background:var(--bg-secondary)}.members-table th,.alliances-table th{text-align:left;padding:.65rem 1rem;color:var(--text-secondary);font-size:.8rem;text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid var(--border)}.members-table td,.alliances-table td{padding:.6rem 1rem;border-bottom:1px solid var(--border);font-size:.88rem}.members-table tbody tr:hover,.alliances-table tbody tr:hover{background:#2d333b44}.tag-cell{font-weight:700;color:var(--accent-blue, #58a6ff)}.alliance-form{background:var(--bg-card);padding:1rem 1.25rem;border-radius:8px;border:1px solid var(--border);margin-bottom:1.5rem}.alliance-form h3{margin-bottom:.75rem;font-size:1rem}.leave-btn{margin-top:1.5rem}.alliance-tabs{display:flex;gap:.25rem;margin-bottom:1rem;border-bottom:2px solid var(--border);padding-bottom:0}.alliance-tab{background:transparent;border:none;color:var(--text-secondary);padding:.6rem 1.2rem;font-size:.88rem;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-2px;transition:color .15s,border-color .15s}.alliance-tab:hover{color:var(--text-primary)}.alliance-tab.active{color:var(--accent-green);border-bottom-color:var(--accent-green);font-weight:600}.alliance-tab-content{margin-top:1rem}.alliance-description-box{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:.8rem 1rem;margin-bottom:1rem;font-size:.9rem;color:var(--text-secondary)}.alliance-actions-row{display:flex;gap:.75rem;margin-bottom:1.5rem}.modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-box{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;padding:1.5rem;min-width:320px;max-width:420px}.modal-box h3{margin-bottom:1rem;font-size:1rem}.modal-box .form-row{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center}.modal-box input{background:#2d333b;border:1px solid #444c56;color:var(--text-primary);padding:.4rem .6rem;border-radius:4px;font-size:.85rem;width:120px}.modal-box input:focus{outline:none;border-color:var(--accent-green)}.alliance-logs{margin-top:1.5rem}.logs-heading{font-size:1rem;margin-bottom:.5rem}.logs-list{list-style:none;background:var(--bg-card);border:1px solid var(--border);border-radius:8px;max-height:250px;overflow-y:auto;padding:.5rem 0}.log-entry{padding:.35rem 1rem;font-size:.82rem;color:var(--text-secondary);border-bottom:1px solid var(--border)}.log-entry:last-child{border-bottom:none}.member-actions{display:flex;gap:.4rem;flex-wrap:wrap}.alliance-tech-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1rem}.alliance-tech-card{background:var(--bg-card);border:1px solid var(--border);border-radius:10px;padding:1.2rem;display:flex;flex-direction:column;gap:.6rem;transition:border-color .2s}.alliance-tech-card.tech-owned{border-color:var(--accent-green);background:#4caf5011}.alliance-tech-card.tech-locked{opacity:.65}.alliance-tech-card .tech-card-header{display:flex;align-items:center;gap:.5rem}.alliance-tech-card .tech-card-name{font-weight:700;font-size:.95rem}.alliance-tech-card .tech-bonus{font-size:.85rem;color:var(--accent-green)}.alliance-tech-card .tech-cost{font-size:.82rem;color:var(--text-secondary)}.alliance-tech-card .tech-badge-unlocked{color:var(--accent-green);font-weight:600;font-size:.82rem}.alliance-tech-card .tech-badge-locked{color:var(--text-muted);font-size:.82rem}.btn-disabled{background:#444c56;color:#6c757d;cursor:not-allowed}.settings-form{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:1.25rem;display:flex;flex-direction:column;gap:1rem;max-width:500px}.settings-form .form-field{display:flex;flex-direction:column;gap:.3rem}.settings-form .form-label{font-size:.8rem;text-transform:uppercase;color:var(--text-secondary);letter-spacing:.3px}.settings-form textarea,.settings-form input{background:#2d333b;border:1px solid #444c56;color:var(--text-primary);padding:.5rem .7rem;border-radius:4px;font-size:.88rem;resize:vertical}.settings-form textarea:focus,.settings-form input:focus{outline:none;border-color:var(--accent-green)}.chat-widget{position:fixed;bottom:18px;right:18px;z-index:9999;font-family:inherit}.chat-bubble{background:#6c5ce7;color:#fff;border:none;border-radius:24px;padding:10px 18px;font-size:.95rem;cursor:pointer;box-shadow:0 2px 10px #00000040;transition:background .2s}.chat-bubble:hover{background:#5b4bd5}.chat-window{width:320px;height:400px;background:#1e1e2e;border-radius:12px;display:flex;flex-direction:column;box-shadow:0 4px 20px #0006;overflow:hidden}.chat-header{background:#6c5ce7;color:#fff;padding:10px 14px;display:flex;justify-content:space-between;align-items:center;font-weight:600;font-size:.9rem}.chat-close{background:transparent;border:none;color:#fff;font-size:1rem;cursor:pointer}.chat-messages{flex:1;overflow-y:auto;padding:8px 10px;font-size:.82rem;color:#cdd6f4}.chat-msg{margin-bottom:4px;line-height:1.4;word-break:break-word}.chat-time{color:#888}.chat-user{font-weight:700;color:#89b4fa}.chat-input-row{display:flex;border-top:1px solid #313244}.chat-input{flex:1;padding:8px 10px;border:none;background:#181825;color:#cdd6f4;font-size:.85rem;outline:none}.chat-send{background:#6c5ce7;border:none;color:#fff;padding:0 14px;cursor:pointer;font-size:1rem}.chat-send:hover{background:#5b4bd5}.wiki-page{display:flex;gap:1.5rem;padding:1.5rem 1rem;min-height:calc(100vh - 56px)}.wiki-sidebar{width:200px;flex-shrink:0;display:flex;flex-direction:column;gap:.4rem}.wiki-nav-btn{background:var(--bg-card);border:1px solid var(--border);color:var(--text-secondary);padding:.6rem 1rem;border-radius:6px;text-align:left;cursor:pointer;font-size:.9rem;transition:background .15s,color .15s}.wiki-nav-btn:hover{background:var(--border);color:var(--text-primary)}.wiki-nav-btn.active{background:var(--accent-green);color:#fff;border-color:var(--accent-green);font-weight:600}.wiki-content{flex:1;min-width:0}.wiki-section h2{font-size:1.3rem;margin-bottom:.5rem;color:var(--text-primary)}.wiki-table{width:100%;border-collapse:collapse;margin-top:1rem;font-size:.85rem}.wiki-table th,.wiki-table td{padding:.5rem .75rem;border:1px solid var(--border);text-align:left}.wiki-table th{background:var(--bg-secondary);color:var(--text-primary);font-weight:600}.wiki-table td{background:var(--bg-card);color:var(--text-secondary)}.mod-badge{display:inline-block;padding:.1rem .4rem;border-radius:4px;font-size:.78rem;margin-right:.3rem;background:var(--bg-secondary);color:var(--text-secondary)}.mod-badge.mod-pos{background:#4caf5022;color:#66bb6a}.mod-badge.mod-neg{background:#dc354522;color:#ff6b6b}@media(max-width:700px){.wiki-page{flex-direction:column}.wiki-sidebar{width:100%;flex-direction:row;overflow-x:auto}}.news-page{padding:1.5rem 1rem}.news-list{display:flex;flex-direction:column;gap:1rem;max-width:800px}.news-card{background:var(--bg-card);border:1px solid var(--border);border-radius:10px;padding:1.25rem;transition:border-color .2s}.news-card:hover{border-color:var(--accent-green)}.news-header{display:flex;align-items:center;gap:.75rem;margin-bottom:.5rem}.news-date{font-size:.8rem;color:var(--text-muted)}.news-badge{display:inline-block;padding:.15rem .6rem;border-radius:4px;font-size:.75rem;font-weight:600;text-transform:uppercase}.badge-update{background:#4caf5022;color:#66bb6a;border:1px solid #4caf50}.badge-event{background:#2196f322;color:#64b5f6;border:1px solid #2196f3}.badge-maintenance{background:#ff980022;color:#ffb74d;border:1px solid #ff9800}.news-title{font-size:1.1rem;font-weight:700;color:var(--text-primary);margin-bottom:.5rem}.news-content{font-size:.9rem;color:var(--text-secondary);line-height:1.6}.finance-page{padding:1rem;max-width:1100px;margin:0 auto}.finance-ipo-section{background:var(--card-bg, #1e1e2e);border:1px solid var(--border-color, #333);border-radius:8px;padding:1rem 1.5rem;margin-bottom:1.5rem}.finance-ipo-section h3{margin-top:0}.finance-tabs{display:flex;gap:.5rem;margin-bottom:1rem}.finance-table-wrap{overflow-x:auto}.finance-table{width:100%;border-collapse:collapse}.finance-table th,.finance-table td{padding:.5rem .75rem;border-bottom:1px solid var(--border-color, #333);text-align:left;white-space:nowrap}.finance-table th{background:var(--card-bg, #1e1e2e);font-weight:600}.finance-actions{display:flex;gap:.3rem;align-items:center}.finance-input{width:60px;padding:.25rem .4rem;border-radius:4px;border:1px solid var(--border-color, #555);background:var(--input-bg, #2a2a3a);color:inherit}.positive{color:#4caf50}.negative{color:#f44336}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg-primary: #13161b;--bg-secondary: #1a1d23;--bg-card: #1e2228;--border: #2d333b;--text-primary: #e9ecef;--text-secondary: #adb5bd;--text-muted: #6c757d;--accent-green: #4caf50;--accent-orange: #ff9800;--accent-yellow: #ffc107;--accent-red: #dc3545;--accent-blue: #2196f3}body{font-family:Segoe UI,-apple-system,BlinkMacSystemFont,sans-serif;background:var(--bg-primary);color:var(--text-primary);line-height:1.5;min-height:100vh}.app{display:flex;flex-direction:column;min-height:100vh}.main-content{flex:1;max-width:1200px;width:100%;margin:0 auto}.btn{display:inline-flex;align-items:center;gap:.3rem;padding:.4rem .9rem;border:none;border-radius:6px;font-size:.85rem;font-weight:500;cursor:pointer;transition:background .15s,opacity .15s}.btn:hover{opacity:.9}.btn-primary{background:var(--accent-green);color:#fff}.btn-danger{background:var(--accent-red);color:#fff}.btn-small{padding:.25rem .6rem;font-size:.78rem}.muted{color:var(--text-muted);font-size:.9rem}.error-banner{background:#dc354522;border:1px solid var(--accent-red);color:#ff6b6b;padding:.5rem 1rem;border-radius:6px;margin-bottom:1rem;font-size:.85rem}.success-banner{background:#4caf5022;border:1px solid var(--accent-green);color:#66bb6a;padding:.5rem 1rem;border-radius:6px;margin-bottom:1rem;font-size:.85rem}.section-title{color:var(--text-primary);font-size:1.2rem;margin-bottom:1rem;border-left:3px solid var(--accent-green);padding-left:.75rem}.form-row{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center}.form-row select,.form-row input{background:#2d333b;border:1px solid #444c56;color:var(--text-primary);padding:.4rem .6rem;border-radius:4px;font-size:.85rem}.form-row input:focus,.form-row select:focus{outline:none;border-color:var(--accent-green)}.player-link{color:var(--accent-blue);text-decoration:none}.player-link:hover{text-decoration:underline}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--bg-primary)}::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}
