:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:#ffffffe6;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#0a0d14;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;font-weight:400;line-height:1.5}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{background:#0a0d14;width:100%;height:100%;min-height:100vh;margin:0;padding:0;overflow:hidden}#root{box-sizing:border-box;flex-direction:column;max-width:100vw;display:flex}:root{--bg-primary:#05080c;--bg-secondary:#0d131a;--bg-card:#131c26;--bg-card-hover:#1c2836;--border-color:#223042;--text-primary:#e2e8f0;--text-secondary:#7e8f9f;--text-muted:#566779;--accent-primary:#00f0ff;--accent-amber:#f59e0b;--accent-red:#ef4444;--font-sans:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono:"Fira Code", "Courier New", monospace;--header-height:46px;--sidebar-left-width:270px;--sidebar-right-width:290px}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-primary);color:var(--text-primary);font-family:var(--font-sans);width:100vw;height:100vh;overflow:hidden}.app-root-container{flex-direction:column;width:100vw;height:100vh;display:flex;overflow:hidden}.app-header{height:var(--header-height);min-height:var(--header-height);background:var(--bg-secondary);border-bottom:1px solid var(--border-color);z-index:40;justify-content:space-between;align-items:center;gap:.75rem;padding:0 .85rem;display:flex}.header-left{align-items:center;gap:.75rem;min-width:0;display:flex}.brand{align-items:center;gap:.5rem;min-width:0;display:flex}.brand-title{letter-spacing:.04em;color:var(--text-primary);white-space:nowrap;font-size:.92rem;font-weight:800}.era-badge{letter-spacing:.04em;text-transform:uppercase;background:var(--bg-card);color:var(--accent-primary);border:1px solid var(--border-color);white-space:nowrap;border-radius:4px;align-items:center;padding:.15rem .45rem;font-size:.68rem;font-weight:700;display:flex}.header-controls{flex-shrink:0;align-items:center;gap:.4rem;display:flex}.btn-sidebar-toggle{background:var(--bg-card);border:1px solid var(--border-color);color:var(--text-secondary);cursor:pointer;white-space:nowrap;border-radius:4px;align-items:center;padding:.3rem .55rem;font-size:.75rem;font-weight:700;transition:all .15s;display:flex}.btn-sidebar-toggle:hover{background:var(--bg-card-hover);color:var(--text-primary);border-color:var(--accent-primary)}.btn-sidebar-toggle.active-toggle{color:var(--accent-primary);border-color:var(--accent-primary);background:#00f0ff1f}.header-btn{padding:.3rem .6rem;font-size:.75rem;font-weight:700}.app-layout{width:100%;height:calc(100vh - var(--header-height));flex:1;display:flex;position:relative;overflow:hidden}.resource-sidebar{width:var(--sidebar-left-width);min-width:var(--sidebar-left-width);max-width:var(--sidebar-left-width);background:var(--bg-secondary);border-right:1px solid var(--border-color);z-index:30;will-change:width, opacity;flex-direction:column;flex-shrink:0;gap:.5rem;padding:.65rem .75rem;transition:width .25s cubic-bezier(.4,0,.2,1),min-width .25s cubic-bezier(.4,0,.2,1),max-width .25s cubic-bezier(.4,0,.2,1),padding .25s cubic-bezier(.4,0,.2,1),opacity .2s;display:flex;overflow:hidden}.resource-sidebar.collapsed{opacity:0!important;pointer-events:none!important;border-right:none!important;width:0!important;min-width:0!important;max-width:0!important;padding:0!important;overflow:hidden!important}.resource-list-scroll{flex-direction:column;flex:1;gap:.35rem;padding-right:.15rem;display:flex;overflow-y:auto}.sidebar-close-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:.15rem .35rem;font-size:.8rem;transition:color .15s,background .15s;display:flex}.sidebar-close-btn:hover{color:var(--accent-primary);background:#ffffff14}.section-title{text-transform:uppercase;letter-spacing:.06em;color:var(--text-secondary);flex-shrink:0;justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.25rem;font-size:.72rem;font-weight:800;display:flex}.resource-row{background:var(--bg-card);border:1px solid var(--border-color);border-radius:4px;flex-direction:column;gap:.15rem;padding:.3rem .55rem;transition:background .15s,border-color .15s;display:flex}.resource-row:hover{background:var(--bg-card-hover);border-color:var(--accent-primary)}.resource-row-main{justify-content:space-between;align-items:center;font-size:.78rem;display:flex}.resource-row-name{color:var(--text-primary);font-weight:700}.resource-row-stats{font-family:var(--font-mono);align-items:center;gap:.5rem;font-size:.74rem;display:flex}.resource-row-amounts{color:var(--text-secondary)}.resource-row-rate{text-align:right;min-width:48px;font-weight:700}.rate-positive{color:var(--accent-amber)}.rate-negative{color:var(--accent-red)}.rate-neutral{color:var(--text-muted)}.resource-bar-mini{background:#ffffff0f;border-radius:1px;width:100%;height:2px;overflow:hidden}.resource-bar-mini-fill{background:var(--accent-primary);border-radius:1px;height:100%;transition:width .3s}.event-panel{width:var(--sidebar-right-width);min-width:var(--sidebar-right-width);max-width:var(--sidebar-right-width);background:var(--bg-secondary);border-left:1px solid var(--border-color);z-index:30;will-change:width, opacity;flex-direction:column;flex-shrink:0;transition:width .25s cubic-bezier(.4,0,.2,1),min-width .25s cubic-bezier(.4,0,.2,1),max-width .25s cubic-bezier(.4,0,.2,1),padding .25s cubic-bezier(.4,0,.2,1),opacity .2s;display:flex;overflow:hidden}.event-panel.collapsed{opacity:0!important;pointer-events:none!important;border-left:none!important;width:0!important;min-width:0!important;max-width:0!important;padding:0!important;overflow:hidden!important}.log-header{border-bottom:1px solid var(--border-color);flex-shrink:0;justify-content:space-between;align-items:center;padding:.65rem .85rem;font-size:.78rem;font-weight:800;display:flex}.log-list{flex-direction:column;flex:1;gap:.45rem;padding:.65rem;display:flex;overflow-y:auto}.log-item{background:var(--bg-card);border-left:3px solid var(--accent-primary);border-radius:3px;flex-direction:column;gap:.1rem;padding:.4rem .6rem;font-size:.74rem;line-height:1.35;display:flex}.log-item.tech{border-left-color:var(--accent-primary)}.log-item.era{border-left-color:var(--accent-amber);background:#f59e0b14}.log-item.alert{border-left-color:var(--accent-red)}.log-time{font-family:var(--font-mono);color:var(--text-muted);font-size:.65rem}.main-content{background:var(--bg-primary);flex-direction:column;flex:1;min-width:0;height:100%;transition:width .25s cubic-bezier(.4,0,.2,1);display:flex;overflow:hidden}.nav-tabs{background:var(--bg-secondary);border-bottom:1px solid var(--border-color);-webkit-overflow-scrolling:touch;scrollbar-width:none;flex-shrink:0;align-items:center;gap:.25rem;padding:.35rem .65rem 0;display:flex;overflow-x:auto}.nav-tabs::-webkit-scrollbar{display:none}.tab-btn{color:var(--text-secondary);cursor:pointer;white-space:nowrap;background:0 0;border-radius:4px 4px 0 0;flex-shrink:0;align-items:center;padding:.45rem .75rem;font-size:.78rem;font-weight:700;transition:all .15s;display:flex;border:none!important}.tab-btn:hover{color:var(--text-primary);background:#ffffff0a}.tab-btn.active{color:var(--accent-primary);background:var(--bg-primary);border-bottom:2px solid var(--accent-primary)!important}html,body{scrollbar-gutter:stable}.tab-scroll-container{scrollbar-gutter:stable;flex:1;min-height:0;overflow-y:auto}.tab-panel{flex-direction:column;gap:.75rem;max-width:100%;padding:.75rem;display:flex}.earth-map-fullscreen-wrapper{box-sizing:border-box;flex-direction:column;gap:.5rem;width:100%;height:100%;padding:.65rem;display:flex}.earth-map-overlay-header{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:6px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;padding:.5rem .75rem;display:flex}.map-canvas-container-centered{flex:1;justify-content:center;align-items:center;width:100%;min-height:0;transition:all .25s cubic-bezier(.4,0,.2,1);display:flex;position:relative;overflow:hidden}.map-canvas-viewport{aspect-ratio:2;-webkit-user-select:none;user-select:none;border:1px solid var(--border-color);background:#020408;border-radius:8px;flex-shrink:0;width:100%;max-width:calc(200vh - 300px);max-height:calc(100vh - 150px);margin:0 auto;position:relative;overflow:hidden;box-shadow:0 4px 20px #0009}.floating-province-hud{z-index:25;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--border-color);background:#0d131af0;border-radius:8px;flex-direction:column;gap:.5rem;width:260px;padding:.75rem .85rem;display:flex;position:absolute;top:10px;right:10px;box-shadow:0 8px 24px #0009}.map-inspector-panel{background:var(--bg-card);border:1px solid var(--border-color);border-radius:8px;flex-direction:column;gap:.65rem;min-height:240px;max-height:calc(100vh - 190px);padding:.75rem;display:flex;overflow-y:auto}.compact-box-grid{grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:6px;display:grid}.compact-box-flex{flex-wrap:wrap;gap:6px;display:flex}.compact-action-btn{background:var(--bg-card);border:1px solid var(--border-color);color:var(--text-primary);cursor:pointer;white-space:nowrap;border-radius:4px;justify-content:center;align-items:center;min-height:34px;padding:.45rem .75rem;font-size:.8rem;font-weight:700;transition:all .12s;display:flex}.compact-action-btn:hover:not(:disabled){background:var(--bg-card-hover);border-color:var(--accent-primary);color:var(--accent-primary)}.compact-action-btn:active:not(:disabled){transform:scale(.98)}.compact-action-btn:disabled{opacity:.4;cursor:not-allowed}.compact-building-box{background:var(--bg-card);border:1px solid var(--border-color);color:var(--text-primary);cursor:pointer;border-radius:4px;justify-content:space-between;align-items:center;gap:.5rem;min-height:34px;padding:.35rem .55rem;font-size:.78rem;font-weight:700;transition:all .12s;display:flex}.compact-building-box:hover:not(:disabled){background:var(--bg-card-hover);border-color:var(--accent-primary)}.compact-building-box:active:not(:disabled){transform:scale(.98)}.compact-building-box:disabled{opacity:.4;cursor:not-allowed}.compact-count-badge{font-family:var(--font-mono);color:var(--accent-primary);text-align:center;background:#00f0ff1a;border:1px solid #00f0ff33;border-radius:3px;flex-shrink:0;min-width:22px;padding:.1rem .35rem;font-size:.72rem;font-weight:700}.compact-tech-box{background:var(--bg-card);border:1px solid var(--border-color);color:var(--text-primary);cursor:pointer;border-radius:4px;justify-content:space-between;align-items:center;gap:.5rem;min-height:34px;padding:.45rem .65rem;font-size:.78rem;font-weight:700;transition:all .12s;display:flex}.compact-tech-box:hover:not(:disabled){background:var(--bg-card-hover);border-color:var(--accent-primary);color:var(--accent-primary)}.compact-tech-box:disabled{opacity:.4;cursor:not-allowed}.completed-tech-chip{background:var(--bg-card);border:1px solid var(--border-color);color:var(--text-secondary);border-radius:4px;align-items:center;gap:.35rem;padding:.25rem .5rem;font-size:.72rem;font-weight:600;display:flex}.completed-tech-chip span.tech-done-check{color:var(--accent-amber);font-weight:700}.compact-job-box{background:var(--bg-card);border:1px solid var(--border-color);border-radius:4px;justify-content:space-between;align-items:center;gap:.5rem;min-height:34px;padding:.3rem .55rem;display:flex}.compact-job-box:hover{border-color:var(--border-color);background:var(--bg-card-hover)}.compact-job-title{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:.78rem;font-weight:700;overflow:hidden}.compact-job-controls{flex-shrink:0;align-items:center;gap:.25rem;display:flex}.btn-tiny{background:var(--bg-secondary);border:1px solid var(--border-color);color:var(--text-primary);cursor:pointer;border-radius:3px;justify-content:center;align-items:center;width:22px;height:22px;font-size:.75rem;font-weight:700;transition:all .12s;display:flex}.btn-tiny:hover:not(:disabled){background:var(--accent-primary);color:#000;border-color:var(--accent-primary)}.btn-tiny:disabled{opacity:.3;cursor:not-allowed}.job-count-num{font-family:var(--font-mono);color:var(--accent-amber);text-align:center;min-width:22px;font-size:.78rem;font-weight:700}.btn-primary{background:var(--accent-primary);color:#000;border:1px solid var(--accent-primary);cursor:pointer;border-radius:4px;padding:.4rem .75rem;font-size:.78rem;font-weight:700;transition:opacity .15s,transform .1s}.btn-primary:hover:not(:disabled){opacity:.9}.btn-primary:disabled{opacity:.4;cursor:not-allowed}.btn-secondary{background:var(--bg-card);border:1px solid var(--border-color);color:var(--text-primary);cursor:pointer;border-radius:4px;padding:.4rem .75rem;font-size:.78rem;font-weight:700;transition:all .15s}.btn-secondary:hover:not(:disabled){background:var(--bg-card-hover);border-color:var(--accent-primary);color:var(--accent-primary)}.btn-secondary.active-tool{border-color:var(--accent-primary);color:var(--accent-primary);background:#00f0ff1f}.btn-secondary:disabled{opacity:.4;cursor:not-allowed}.action-desc,.hover-desc{color:var(--text-secondary);opacity:0;pointer-events:none;max-height:0;margin-top:0;font-size:.72rem;line-height:1.35;transition:max-height .25s,opacity .2s,margin-top .2s;overflow:hidden}.cost-tag{font-family:var(--font-mono);color:var(--accent-amber);background:#f59e0b1a;border-radius:3px;padding:.1rem .35rem;font-size:.68rem;display:inline-block}.drawer-backdrop{z-index:29;background:#000000b3;width:100vw;height:100vh;position:fixed;top:0;left:0}.side-edge-toggle{z-index:35;background:var(--bg-secondary);color:var(--text-secondary);border:1px solid var(--border-color);letter-spacing:.04em;cursor:pointer;writing-mode:vertical-rl;text-orientation:mixed;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;padding:.65rem .3rem;font-size:.72rem;font-weight:700;transition:all .15s;display:flex;position:absolute;top:50%;transform:translateY(-50%);box-shadow:0 4px 16px #00000080}.side-edge-toggle.left{border-left:none;border-radius:0 6px 6px 0;left:0}.side-edge-toggle.right{border-right:none;border-radius:6px 0 0 6px;right:0}.side-edge-toggle:hover{background:var(--bg-card-hover);color:var(--accent-primary);border-color:var(--accent-primary)}
