:root{--ui-panel: #101c28de;--ui-inset: #0a141ee6;--ui-line: #304959;--ui-rule: #263b4a;--ui-text: #e2edf5;--ui-muted: #95adbe;--ui-accent: #7bd9ed}@font-face{font-family:Tektur;font-style:normal;font-weight:400 800;font-stretch:100%;font-display:swap;src:url(./fonts/tektur-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Tektur;font-style:normal;font-weight:400 800;font-stretch:100%;font-display:swap;src:url(./fonts/tektur-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Tektur;font-style:normal;font-weight:400 800;font-stretch:100%;font-display:swap;src:url(./fonts/tektur-cyrillic.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}html,body,button,input,select,textarea{font-family:Tektur,-apple-system,Segoe UI,sans-serif}*{corner-shape:bevel}.ui-btn{padding:8px 14px;border-radius:6px;border:1px solid #3a4256;background:#232838;color:#e8edf5;font-size:13px;cursor:pointer}.ui-icon-btn{background:none;border:none;color:#8a93a8;font-size:24px;cursor:pointer;line-height:1;padding:0 2px}.ui-icon-btn--lg{font-size:28px}.ui-modal-backdrop{inset:0;display:none;align-items:center;justify-content:center;padding:24px;pointer-events:auto;background:#07090eb8;color:#e8edf5}.ui-modal-backdrop--info{position:absolute;z-index:100}.ui-modal-backdrop--build{position:absolute;z-index:90}.ui-modal-backdrop--map{position:fixed;z-index:120}.ui-item-icon{width:24px;height:24px;display:block;-webkit-user-drag:none;user-select:none}.ui-count-badge{position:absolute;right:2px;bottom:0;font-size:11px;font-weight:650;font-variant-numeric:tabular-nums;color:#fff;text-shadow:0 1px 3px #000}*{scrollbar-width:thin;scrollbar-color:#3a4256 transparent}*::-webkit-scrollbar{width:10px;height:10px}*::-webkit-scrollbar-track{background:transparent}*::-webkit-scrollbar-corner{background:transparent}*::-webkit-scrollbar-thumb{background-color:#3a4256;border-radius:4.5px;border:2px solid transparent;background-clip:content-box}*::-webkit-scrollbar-thumb:hover{background-color:#4e5973;border:2px solid transparent;background-clip:content-box}*::-webkit-scrollbar-thumb:active{background-color:#5d6a89;border:2px solid transparent;background-clip:content-box}.ui-root{position:fixed;inset:0;pointer-events:none;color:#e8edf5;user-select:none}.ui-toolbar{position:absolute;left:16px;top:16px;display:flex;gap:8px;flex-wrap:wrap;pointer-events:auto;max-width:70vw}.ui-quickbar-wrap{position:absolute;left:50%;bottom:16px;transform:translate(-50%);display:flex;align-items:stretch;gap:8px;z-index:95;pointer-events:auto}.ui-quickbar{display:flex;gap:6px;padding:6px;background:var(--ui-panel);border:1px solid var(--ui-line);border-radius:10px;box-shadow:0 16px 48px #0008,inset 0 1px #b9e8ff08}.ui-quick-erase{width:52px;height:52px;align-self:center;padding:0;display:flex;align-items:center;justify-content:center;background:#5a1f28b8;border:1px solid #a4444f;border-radius:6px;color:#ff9a9a;font-size:22px;font-weight:800;font-family:inherit;cursor:pointer}.ui-quick-erase--active{background:#a4444fd9;border-color:#ff9a9a;color:#fff}.ui-quick-build{width:52px;height:52px;align-self:center;padding:0;display:flex;align-items:center;justify-content:center;background:#111e2b;border:1px solid var(--ui-line);border-radius:6px;color:var(--ui-text);font-size:22px;font-weight:800;font-family:inherit;cursor:pointer}.ui-quick-build--active{background:#3d5a8c;border-color:#7ea6ea}.ui-quick-slot{position:relative;width:52px;height:52px;padding:0;display:flex;align-items:center;justify-content:center;background:#111e2b;border:1px solid var(--ui-line);border-radius:6px;color:var(--ui-text);cursor:pointer;font:inherit}.ui-quick-slot--empty{border-style:dashed;opacity:.55;cursor:default}.ui-quick-slot--active{border-color:#7ea6ea;background:#3d5a8c}.ui-quick-slot--locked{opacity:.35;filter:grayscale(1)}.ui-quick-slot--dragover{outline:2px dashed #7ea6ea;outline-offset:-2px}.ui-quick-num{position:absolute;left:4px;top:2px;font-size:10px;font-weight:650;color:#8a93a8;font-variant-numeric:tabular-nums;pointer-events:none}.ui-quick-slot--active .ui-quick-num{color:#fff}.ui-quick-body{display:flex;align-items:center;justify-content:center;pointer-events:none}.ui-quick-body .ui-build-visual--placeholder{font-size:14px}.ui-quick-ghost{position:fixed;left:0;top:0;z-index:200;display:flex;align-items:center;padding:6px;background:var(--ui-panel);border:1px solid #7ea6ea;border-radius:8px;box-shadow:0 16px 48px #000a;pointer-events:none;opacity:.92}.ui-top-right{position:absolute;right:16px;top:16px;display:flex;flex-direction:column;align-items:flex-end;gap:8px;pointer-events:none;max-width:44vw}.ui-top-right-controls{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end;pointer-events:auto}.ui-menu-wrap{position:relative}.ui-menu-flyout{position:absolute;left:0;top:calc(100% + 4px);display:none;flex-direction:column;padding:4px 0;background:var(--ui-panel);border:1px solid var(--ui-line);border-radius:6px;box-shadow:0 16px 48px #0008;z-index:20;min-width:max-content}.ui-menu-item{display:block;width:100%;padding:8px 14px;border:0;border-top:1px solid var(--ui-rule);background:transparent;color:var(--ui-text);font-size:13px;text-align:left;white-space:nowrap;cursor:pointer;font-family:inherit}.ui-menu-item:first-child{border-top:0}.ui-menu-item:hover{background:#1b2130}.ui-toast{position:absolute;left:50%;top:16px;transform:translate(-50%);padding:8px 16px;border-radius:6px;font-size:13px;display:none;background:#141822f7;border:1px solid #3a4256}.ui-hints{display:flex;flex-direction:column;align-items:flex-end;gap:2px;pointer-events:none}.ui-hint{font-size:11px;color:#8a93a8;text-align:right}.ui-coords{position:absolute;left:16px;bottom:16px;font-size:12px;color:#8a93a8}.ui-version{position:absolute;right:16px;bottom:16px;font-size:12px;color:#8a93a8}.ui-fps{position:absolute;right:16px;bottom:34px;font-size:12px;color:#8a93a8;text-align:right;min-width:150px}.ui-inspector{position:absolute;left:16px;top:92px;width:320px;min-width:0;max-width:calc(100vw - 32px);max-height:calc(100dvh - 116px);overflow:auto;box-sizing:border-box;padding:10px;background:var(--ui-panel);border:1px solid var(--ui-line);border-radius:10px;font-size:13px;line-height:1.5;box-shadow:0 16px 48px #0008,inset 0 1px #b9e8ff08;pointer-events:auto;display:none;color:var(--ui-text)}.ui-insp-head{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;padding-bottom:6px;border-bottom:1px solid var(--ui-line)}.ui-insp-title{font-weight:650;font-size:16px;line-height:1.3;min-width:0}.ui-insp-sprite{width:22px;height:22px;object-fit:contain;vertical-align:middle;margin-right:7px}.ui-insp-close{background:var(--ui-inset);border:1px solid var(--ui-line);color:var(--ui-muted);font-size:20px;cursor:pointer;line-height:1;padding:0;width:28px;height:28px;flex:none;border-radius:4px}.ui-insp-action{width:100%;margin:4px 0 8px;padding:7px 10px;border-radius:4.5px;font:inherit;font-weight:650}.ui-insp-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);gap:8px;padding:4px 0;border-top:1px solid var(--ui-rule);align-items:baseline}.ui-insp-row-label{color:var(--ui-muted);font-size:12px;overflow-wrap:anywhere}.ui-insp-row-value{font-weight:550;text-align:right;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.ui-insp-warn{color:#e8c24a}.ui-insp-alert{color:#e06666}.ui-insp-net-label{color:#8a93a8;font-size:12px;margin:4px 0 2px}.ui-insp-extra-title{font-weight:650;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--ui-muted);margin:8px 0 4px;padding-top:6px;border-top:1px solid var(--ui-line)}.ui-insp-reserved-label{color:#d8aa64;font-size:12px;margin:4px 0 2px}.ui-inv-grid{display:flex;flex-wrap:wrap;gap:4px;margin:4px 0 6px}.ui-slot{width:34px;height:34px;border:1px solid var(--ui-line);border-radius:5px;background:var(--ui-inset);position:relative;display:flex;align-items:center;justify-content:center;flex:0 0 auto}.ui-slot .ui-item-icon{width:24px;height:24px}.ui-chart{margin:6px 0 8px}.ui-chart-svg{display:block;width:100%;height:auto;background:#181c28;border:1px solid #3a4256;border-radius:3.75px}.ui-chart-grid{stroke:#2c3345;stroke-width:1;stroke-dasharray:3 3}.ui-chart-axis{stroke:#3a4256;stroke-width:1}.ui-chart-tick{fill:#8a93a8;font-size:10px;font-family:inherit}.ui-chart-legend{display:flex;gap:12px;margin-top:3px;font-size:11px;color:#8a93a8}.ui-chart-key{display:inline-flex;align-items:center;gap:5px}.ui-chart-key i{width:10px;height:2px;border-radius:.75px}.ui-progress{margin:4px 0 6px}.ui-progress-track{position:relative;width:100%;height:20px;box-sizing:border-box;background:var(--ui-inset);border:1px solid var(--ui-line);border-radius:3px;overflow:hidden}.ui-progress-fill{position:absolute;left:0;top:0;bottom:0}.ui-progress-label{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:650;font-variant-numeric:tabular-nums;color:#fff;text-shadow:0 1px 3px #000,0 0 4px #000}.ui-recipe{margin:0 0 8px}.ui-recipe-dropdown{position:relative}.ui-recipe-heading{color:var(--ui-muted);font-size:11px;letter-spacing:.1em;text-transform:uppercase;margin:0 0 6px}.ui-recipe-trigger{display:flex;align-items:center;gap:6px;min-height:32px;padding:2px;border:1px solid var(--ui-line);border-radius:5px;background:var(--ui-inset);cursor:pointer}.ui-recipe-trigger-body{display:flex;align-items:center;gap:4px;flex-wrap:wrap;flex:1;min-width:0}.ui-recipe-caret{color:#8a93a8;font-size:12px;margin-left:auto}.ui-recipe-list{position:absolute;top:100%;left:0;right:0;z-index:50;margin:4px 0 0}.ui-recipe-placeholder{color:#8a93a8;font-size:13px;padding-left:6px}.ui-recipe-card{display:flex;align-items:center;gap:6px;flex-wrap:wrap;padding:2px;margin:0 0 2px;border:1px solid transparent;border-radius:4px;background:transparent;cursor:pointer}.ui-recipe-card:hover{background:#1c2230}.ui-recipe-card[aria-pressed=true]{border-color:#7ea6ea;background:#2a3550}.ui-recipe-card--research{flex-wrap:nowrap}.ui-recipe-card--research .ui-recipe-row-dur{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:inline-flex;align-items:center;gap:4px}.ui-recipe-card--research .ui-data-icon{margin-right:0;flex:none}.ui-recipe-trigger-body--research .ui-recipe-row-dur{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0;display:inline-flex;align-items:center;gap:4px}.ui-recipe-trigger-body--research .ui-data-icon{margin-right:0;flex:none}.ui-recipe-row-plus{color:#8a93a8;margin:0 1px}.ui-recipe-row-dur{color:#8a93a8;font-size:12px;margin:0 3px}.ui-chip{position:relative;display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;background:#12151f;border:1px solid #2c3345;border-radius:3.75px}.ui-chip .ui-count-badge{right:1px;bottom:-1px}.ui-filter-row{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:2px 0 4px}.ui-filter-label{color:#8a93a8;font-size:13px}.ui-filter-dropdown{position:relative;flex:1;max-width:170px}.ui-filter-trigger{display:flex;align-items:center;gap:6px;min-height:32px;padding:4px 8px;border:1px solid var(--ui-line);border-radius:4px;background:var(--ui-inset);cursor:pointer}.ui-filter-trigger-body{display:flex;align-items:center;gap:6px;flex:1;font-size:12px}.ui-filter-trigger-body img{width:20px;height:20px}.ui-filter-caret{color:#8a93a8;font-size:12px;margin-left:auto}.ui-filter-popup,.ui-filter-list,.ui-recipe-list{background:#141822;border:1px solid #3a4256;border-radius:4.5px;box-shadow:0 12px 40px #00000073;padding:6px;max-height:280px;overflow:auto}.ui-filter-popup{position:fixed;z-index:200;width:220px;max-height:280px;overflow:auto}.ui-filter-list{position:absolute;top:100%;left:0;right:0;z-index:50;max-height:280px;overflow:auto;margin:4px 0 0}.ui-filter-popup-title{color:#8a93a8;font-size:12px;margin:2px 4px 6px}.ui-filter-option{display:flex;align-items:center;gap:8px;width:100%;background:transparent;color:#e8edf5;border:1px solid transparent;border-radius:3.75px;padding:4px 6px;font-size:12px;cursor:pointer;text-align:left}.ui-filter-option:hover{background:#1c2230}.ui-filter-option[aria-pressed=true]{border-color:#7ea6ea;background:#232c44}.ui-filter-option img{width:20px;height:20px}.ui-filter-cross{color:#f05b63;font-weight:700;width:20px;text-align:center}.ui-filter-all{color:#55d98b;font-weight:700;width:20px;text-align:center}.ui-angle{margin:0 0 8px}.ui-angle-heading{color:var(--ui-muted);font-size:11px;letter-spacing:.1em;text-transform:uppercase;margin:0 0 8px}.ui-angle-row{display:flex;align-items:center;gap:8px}.ui-angle-slider{flex:1;min-width:0;accent-color:#7ea6ea}.ui-angle-number{width:64px;background:var(--ui-inset);color:var(--ui-text);border:1px solid var(--ui-line);border-radius:4px;padding:6px;font-size:13px;font-variant-numeric:tabular-nums}.ui-angle-unit{color:#8a93a8;font-size:13px}.ui-angle-hint{color:#8a93a8;font-size:11px;margin:2px 0 0}.ui-world-panel{width:min(680px,92vw);max-height:86vh;display:flex;flex-direction:column;overflow:hidden;background:var(--ui-panel);border:1px solid var(--ui-line);border-radius:12px;box-shadow:0 24px 80px #000a;color:var(--ui-text);user-select:text}.ui-world-header{flex:none;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 14px 10px 24px;border-bottom:1px solid var(--ui-line)}.ui-world-title{font-size:18px;font-weight:650}.ui-world-body{overflow:auto;min-height:0;padding:2px 24px 20px}.ui-world-section{margin-top:14px}.ui-world-section-title{font-size:11px;font-weight:750;letter-spacing:.08em;text-transform:uppercase;color:#707a91;margin-bottom:6px}.ui-world-row{display:grid;grid-template-columns:minmax(150px,.8fr) minmax(220px,1.2fr);gap:16px;padding:5px 0;border-top:1px solid var(--ui-rule);font-size:13px}.ui-world-row-label{color:var(--ui-muted)}.ui-world-row-value{font-weight:600;overflow-wrap:anywhere}.ui-build-panel{width:min(1180px,96vw);height:min(680px,86vh);display:grid;grid-template-columns:190px minmax(0,1.45fr) minmax(300px,1fr);overflow:hidden;background:var(--ui-panel);border:1px solid var(--ui-line);border-radius:12px;box-shadow:0 24px 80px #000a;color:var(--ui-text);position:relative}.ui-build-close{position:absolute;top:12px;right:14px;z-index:2}.ui-build-cats{padding:18px 0;display:flex;flex-direction:column;background:transparent;border-right:1px solid var(--ui-line);min-height:0;overflow-y:auto}.ui-build-cat-btn{padding:15px;border:0;background:transparent;color:var(--ui-text);font-size:14px;font-weight:650;text-align:left;cursor:pointer}.ui-build-content{min-width:0;min-height:0;display:flex;flex-direction:column;padding:18px 20px 20px}.ui-build-header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px;padding-bottom:10px;border-bottom:1px solid var(--ui-line)}.ui-build-title{font-size:18px;font-weight:650}.ui-build-grid{display:grid;grid-template-columns:repeat(auto-fill,100px);align-content:start;flex:1 1 auto;min-height:0;gap:8px;overflow:auto;padding:2px 4px 4px 2px}.ui-build-info{min-width:0;overflow:auto;padding:48px 22px 24px;background:transparent;border-left:1px solid var(--ui-line)}.ui-build-card{min-height:106px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:6px 4px;border:1px solid var(--ui-line);border-radius:3px;background:#111e2b;color:var(--ui-text);cursor:pointer;font:inherit}.ui-build-card-caption{font-size:11px;font-weight:650;line-height:1.15;text-align:center}.ui-build-visual{display:flex;align-items:center;justify-content:center;line-height:1;flex:0 0 auto;overflow:hidden}.ui-build-visual--placeholder{border:1px solid #3a4256;border-radius:6px;background:#181c28;color:#8a93a8;font-weight:700}.ui-build-visual-img{display:block;object-fit:contain;image-rendering:auto;-webkit-user-drag:none;user-select:none}.ui-info-section{margin-top:18px}.ui-info-heading{font-size:11px;font-weight:750;letter-spacing:.08em;text-transform:uppercase;color:#707a91;margin-bottom:8px}.ui-build-info-placeholder{color:#707a91;font-size:14px;line-height:1.55;max-width:250px;margin-top:4px}.ui-build-info-header{display:flex;align-items:center;gap:14px}.ui-build-info-title{font-size:21px;font-weight:750;line-height:1.15}.ui-build-info-summary{margin-top:14px;color:#b8c2d8;font-size:13px;line-height:1.5}.ui-cost-list{display:flex;flex-direction:column;gap:7px}.ui-cost-row{display:flex;align-items:center;gap:8px;color:#e8edf5;font-size:13px;font-weight:650}.ui-power-list{display:flex;flex-direction:column;gap:8px}.ui-power-card{padding:10px 11px;border-radius:3px;background:#181e2b;border:1px solid #30384b}.ui-power-label{font-size:11px;color:#8a93a8;margin-bottom:3px}.ui-power-value{font-size:13px;font-weight:700;line-height:1.4;color:#f0d66f;white-space:pre-line}.ui-map-panel{background:var(--ui-panel);border:1px solid var(--ui-line);border-radius:12px;box-shadow:0 24px 80px #000a;color:var(--ui-text);padding:14px 16px 16px;display:flex;flex-direction:column}.ui-map-header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:12px;padding-bottom:10px;border-bottom:1px solid var(--ui-line)}.ui-map-title{font-size:18px;font-weight:650}.ui-map-wrap{position:relative;align-self:center;line-height:0;overflow:hidden}.ui-map-canvas{image-rendering:pixelated;cursor:grab}.ui-map-rect{position:absolute;pointer-events:none;border:1px solid #ffdd44;background:#ffdd441f;box-sizing:border-box}.ui-modal-backdrop--tech{position:absolute;z-index:110}.ui-tech-panel{width:min(1360px,100%);height:min(820px,calc(100dvh - 48px));display:flex;flex-direction:column;overflow:hidden;background:var(--ui-panel);border:1px solid var(--ui-line);border-radius:12px;box-shadow:0 24px 80px #000a;color:var(--ui-text)}.ui-tech-header{display:flex;align-items:center;justify-content:space-between;padding:10px 14px 10px 24px;border-bottom:1px solid var(--ui-line)}.ui-tech-title{font-size:18px;font-weight:650}.ui-tech-body{flex:1;min-height:0;display:flex}.ui-tech-graph{flex:1;min-width:0;overflow:auto;background-color:#0a121b40;background-image:radial-gradient(#263c4d 1px,transparent 1px);background-size:24px 24px;cursor:grab}.ui-tech-graph--panning{cursor:grabbing;user-select:none}.ui-tech-graph--panning .ui-tech-node{pointer-events:none}.ui-tech-canvas{position:relative}.ui-tech-edges{position:absolute;left:0;top:0;pointer-events:none}.ui-tech-edge{fill:none;stroke:#365367;stroke-width:1.5}.ui-tech-header-actions{display:flex;align-items:center;gap:2px}.ui-tech-help-btn{font-size:19px;font-weight:700}.ui-tech-graphwrap{position:relative;flex:1;min-width:0;min-height:0;display:flex}.ui-tech-help{position:absolute;inset:0;z-index:5;display:flex;align-items:center;justify-content:center;padding:24px;overflow:auto;background:#070c129e}.ui-tech-help-card{width:min(480px,100%);max-height:100%;overflow:auto;box-sizing:border-box;padding:16px 18px;background:var(--ui-panel);border:1px solid var(--ui-line);border-radius:12px;box-shadow:0 24px 80px #000a,inset 0 1px #b9e8ff08;color:var(--ui-text);line-height:1.5}.ui-tech-help-title{font-size:16px;font-weight:650;margin-bottom:8px}.ui-tech-help-steps{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:6px;font-size:13px;color:#b8cad7}.ui-tech-help-steps strong{color:var(--ui-text);font-weight:650}.ui-tech-help-card .ui-tech-side-start{margin-top:12px}.ui-tech-node{position:absolute;box-sizing:border-box;display:flex;flex-direction:column;justify-content:flex-start;gap:3px;padding:8px 10px;text-align:left;border:1px solid var(--ui-line);border-left-width:2px;border-radius:5px;background:#111e2b;color:var(--ui-text);cursor:pointer;overflow:hidden}.ui-tech-node-head{display:flex;align-items:baseline;gap:6px;flex:none}.ui-tech-node-name{flex:1;min-width:0;font-size:14px;font-weight:600;line-height:1.35}.ui-tech-node-pct{flex:none;font-size:11px;font-weight:650;color:#9db4ff;font-variant-numeric:tabular-nums}.ui-tech-node-pct--done{color:#6fcf8f;font-size:14px}.ui-tech-node-icons{display:flex;align-items:center;gap:6px;min-height:32px;flex:none;margin-top:1px}.ui-tech-node--unknown .ui-tech-node-icons{display:none}.ui-tech-node--selected{outline:1px solid var(--ui-accent);outline-offset:0px;box-shadow:0 0 20px #62d7ee18}.ui-tech-node--unlocked{border-color:#377d68;background:#10241f}.ui-tech-node--in-progress{border-color:#48899e;background:#102633}.ui-tech-node--available{border-color:#887447;background:#20221f}.ui-tech-node--unknown{border-style:dashed;border-color:#304152;background:#0e1923;color:#8a9cac}.ui-tech-side{width:320px;box-sizing:border-box;flex:none;padding:12px;overflow:auto;border-left:1px solid var(--ui-line);background:transparent;line-height:1.4}.ui-tech-side-hint{color:#8a93a8;font-size:13px}.ui-tech-side-title{font-size:18px;font-weight:600;line-height:1.3;margin-bottom:6px}.ui-tech-side-badge{display:inline-block;padding:2px 8px;border-radius:2.25px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.03em;border:1px solid #3a4256}.ui-tech-side-desc{font-size:13px;color:#b8cad7;margin:8px 0;line-height:1.5}.ui-insp-row-link{margin-left:6px;color:#8fb4ff;text-decoration:underline;cursor:pointer}.ui-insp-row-link:hover{color:#c3d8ff}.ui-tech-side-start{display:block;width:100%;margin:8px 0 4px;padding:7px 10px;border:1px solid #43859b;border-radius:5px;background:#173947;color:#d9f8ff;font-size:13px;font-weight:650;letter-spacing:.03em;cursor:pointer}.ui-tech-side-start:hover{background:#204d5d}.ui-tech-side-start--active{border-color:#d8a24a;background:#4a3a1c;color:#ffeccc}.ui-tech-side-start--active:hover{background:#5c4822}.ui-tech-side-section{margin-top:12px}.ui-tech-side-heading{font-size:11px;font-weight:650;color:var(--ui-muted);text-transform:uppercase;letter-spacing:.08em;margin-bottom:6px}.ui-tech-side-research{display:flex;align-items:center;gap:8px;font-size:13px;margin-bottom:6px}.ui-tech-side-track{position:relative;height:22px;border:1px solid var(--ui-line);border-radius:3px;background:var(--ui-inset);overflow:hidden}.ui-tech-side-bar{height:100%;width:0;background:#246478}.ui-tech-side-bartext{position:absolute;inset:0;text-align:center;font-size:12px;line-height:22px;color:#e4f5ff;font-variant-numeric:tabular-nums;text-shadow:0 1px 2px #000}.ui-tech-side-line{font-size:13px;padding:3px 0;border-top:1px solid #2c3345}.ui-tech-side-unlock{display:flex;align-items:center;gap:6px;font-size:13px;padding:6px 0;border-top:1px solid var(--ui-rule)}.ui-tech-side-unlock-kind{margin-left:auto;font-size:11px;color:#8a93a8;text-transform:uppercase;letter-spacing:.03em}.ui-modal-backdrop--db{position:absolute;z-index:110}.ui-db-panel{width:min(1180px,96vw);height:min(720px,88vh);display:flex;flex-direction:column;overflow:hidden;background:var(--ui-panel);border:1px solid var(--ui-line);border-radius:12px;box-shadow:0 24px 80px #000a;color:var(--ui-text)}.ui-db-header{display:flex;align-items:center;justify-content:space-between;padding:10px 14px 10px 24px;border-bottom:1px solid var(--ui-line)}.ui-db-title{font-size:18px;font-weight:650}.ui-db-body{flex:1;min-height:0;display:flex}.ui-db-tree{width:300px;flex:none;overflow:auto;padding:10px 8px 16px;background:transparent;border-right:1px solid var(--ui-line)}.ui-db-detail{flex:1;min-width:0;overflow:auto;padding:16px 20px 24px}.ui-db-section{font-size:11px;font-weight:750;letter-spacing:.08em;text-transform:uppercase;color:#707a91;margin:12px 8px 4px}.ui-db-section:first-child{margin-top:2px}.ui-db-group{font-size:12px;font-weight:700;color:#b8c2d8;margin:8px 8px 2px}.ui-db-item{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;padding:6px 8px;border:0;border-radius:3.75px;background:transparent;color:#c8d0e0;font-size:13px;text-align:left;cursor:pointer}.ui-db-item:hover{background:#1b2130}.ui-db-item--selected{background:#24304a;color:#fff}.ui-db-item-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ui-db-treeicon{flex:none;width:22px;height:22px;display:flex;align-items:center;justify-content:center;line-height:1}.ui-db-badge{flex:none;font-size:12px}.ui-db-status{display:inline-block;margin-top:8px;padding:2px 8px;border-radius:2.25px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.03em;border:1px solid #3a4256}.ui-db-status--open{color:#6fcf8f;border-color:#3a6a42}.ui-db-status--locked{color:#e0c766;border-color:#8c7a3d}.ui-db-flow{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin:8px 0}.ui-db-chipwrap{display:inline-flex;align-items:center;gap:6px}.ui-db-chiplabel{font-size:12px;color:#c8d0e0}.ui-db-arrow{color:#8a93a8;font-size:13px;margin:2px 0 2px 8px}.ui-db-links{display:flex;flex-wrap:wrap;gap:6px}.ui-db-link{padding:4px 10px;border-radius:3.75px;border:1px solid #3a4256;background:#1b2130;color:#c8d0e0;font-size:12px;cursor:pointer}.ui-db-link:hover{border-color:#7ea6ea;color:#fff}.ui-db-side-note{font-size:13px;color:#8a93a8}.ui-modal-backdrop--console{position:absolute;z-index:110}.ui-console-panel{width:min(760px,94vw);height:min(480px,70vh);display:flex;flex-direction:column;overflow:hidden;background:#141822;border:1px solid #3a4256;border-radius:3px;box-shadow:0 18px 56px #0000008c}.ui-console-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid #2c3345}.ui-console-title{font-size:18px;font-weight:700}.ui-console-log{flex:1;min-height:0;overflow-y:auto;padding:10px 14px;background:#0e121a;font-size:12.5px;line-height:1.55}.ui-console-line{white-space:pre-wrap;overflow-wrap:anywhere;color:#c8d0e0;padding:1px 0}.ui-console-line--tech{color:#6fcf8f}.ui-console-line--ore{color:#e0c766}.ui-console-form{display:flex;align-items:center;gap:8px;padding:10px 12px;border-top:1px solid #2c3345}.ui-console-prompt{color:#7ea6ea;font-weight:700;flex:none}.ui-console-input{flex:1;min-width:0;background:#0e121a;border:1px solid #3a4256;border-radius:4.5px;color:#e8edf5;font:inherit;font-size:13px;padding:6px 10px;outline:none}.ui-console-input:focus{border-color:#7ea6ea}.ui-popups{position:absolute;left:16px;top:64px;display:flex;flex-direction:column;gap:8px;pointer-events:none;width:min(320px,calc(100vw - 32px))}.ui-popup{box-sizing:border-box;display:flex;align-items:center;gap:10px;padding:8px 10px;background:#141822f2;border:1px solid #3a4256;border-radius:6px;font-size:13px;pointer-events:auto}.ui-popup--ore{border-color:#8c7a3d}.ui-popup--tech{border-color:#3a6a42}.ui-popup-icon{flex:none;width:24px;height:24px;display:flex;align-items:center;justify-content:center;font-size:18px;line-height:1}.ui-popup-img{width:24px;height:24px;display:block}.ui-popup-text{flex:1;min-width:0}.ui-popup-close{flex:none;background:none;border:none;color:#8a93a8;font-size:16px;cursor:pointer;line-height:1;padding:0 0 0 4px}.ui-popup-close:hover{color:#fff}.ui-mbnum{font-variant-numeric:tabular-nums;white-space:nowrap}.ui-data-icon{vertical-align:-2px;margin-right:5px;flex:none}.ui-rs{margin:0 0 8px;padding:0;background:none;border:0;border-radius:0}.ui-rs-head{display:flex;flex-wrap:wrap;align-items:center;gap:6px;min-width:0}.ui-rs-label{color:var(--ui-muted);font-size:11px;letter-spacing:.1em;text-transform:uppercase;flex:1}.ui-rs-toggle{background:#152632;border:1px solid var(--ui-line);color:var(--ui-accent);cursor:pointer;font-size:12px;line-height:1;padding:4px;width:24px;height:24px;border-radius:3px;flex:none}.ui-rs-toggle:hover{color:#fff}.ui-rs-title{display:block;flex:1 0 100%;min-width:0;font-weight:600;font-size:14px;line-height:1.4;color:var(--ui-accent);cursor:pointer;overflow-wrap:anywhere;text-align:left}.ui-rs-title:hover{color:#c3d8ff}.ui-rs-headpct{flex:none;font-weight:600;font-size:14px;line-height:1.4;color:var(--ui-text)}.ui-rs-overall{display:flex;align-items:center;gap:8px;margin-top:6px}.ui-rs-track{position:relative;flex:1;min-width:0;height:6px;background:#20303d;border-radius:2px;overflow:hidden}.ui-rs-fill{height:100%;width:0;background:var(--ui-accent)}.ui-rs-pct{font-size:12px;color:var(--ui-text);min-width:36px;text-align:right}.ui-rs-icons{display:flex;gap:12px;align-items:center;margin:2px 0 0;padding:0;cursor:pointer}.ui-rs-icon{display:inline-flex}.ui-rs-icon--done{opacity:.5}.ui-rs-icon--missing{animation:ui-rs-blink 1.1s ease-in-out infinite}@keyframes ui-rs-blink{0%,to{opacity:1}50%{opacity:.2}}@media (prefers-reduced-motion: reduce){.ui-rs-icon--missing{animation:none;outline:1px dashed #e8c24a;outline-offset:3px;border-radius:1.5px}}.ui-rs-legend{font-size:11px;color:var(--ui-muted);text-align:right;margin:6px 0 2px}.ui-rs-cat{padding:4px 0;border-top:1px solid var(--ui-rule)}.ui-rs-catline{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:4px 8px;min-width:0}.ui-rs-catname{display:inline-flex;align-items:center;min-width:0;font-weight:650}.ui-rs-catname span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ui-rs-catnums{font-size:11px;color:var(--ui-text);text-align:right;flex:none;margin-left:auto}.ui-rs-buf{height:4px;background:#10141d;border-radius:1.5px;margin-top:3px;overflow:hidden}.ui-rs-buffill{height:100%;width:0}.ui-rs-note{font-size:11px;color:#707a91;margin-top:2px}.ui-rs-power{font-size:12px;color:var(--ui-muted);margin-top:8px;line-height:1.5}.ui-rs-status{font-size:12px;font-weight:550;margin-top:8px;line-height:1.5}.ui-rs-empty{font-size:12.5px;color:#8a93a8;margin-top:4px;line-height:1.5}.ui-ab{margin:0 0 8px;padding:8px;border:1px solid var(--ui-line);border-radius:4px;background:var(--ui-inset)}.ui-ab-line{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:2px 8px;min-width:0}.ui-ab-cat{display:inline-flex;align-items:center;min-width:0;font-weight:650}.ui-ab-cat span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ui-ab-nums{font-size:12px;color:#c8d0e0;text-align:right;flex:none;margin-left:auto}.ui-ab-bar{height:4px;background:#10141d;border-radius:1.5px;margin-top:3px;overflow:hidden}.ui-ab-fill{height:100%;width:0}.ui-ab-sub{font-size:12px;color:var(--ui-muted);margin-top:8px;line-height:1.5}.ui-tech-costs{display:flex;flex-wrap:wrap;gap:4px;min-height:20px;flex:none}.ui-tech-node--unknown .ui-tech-costs{display:none}.ui-tech-cost{display:inline-flex;align-items:center;gap:3px;font-size:11px;color:#cfdfeb;background:#09141c;border:1px solid #2b4150;border-radius:3px;padding:2px 6px}.ui-tech-cost .ui-data-icon{margin-right:1px}.ui-tech-side-cats{display:flex;flex-direction:column;margin:8px 0 2px}.ui-tech-side-cat{padding:6px 0;border-top:1px solid var(--ui-rule)}.ui-tech-side-catline{display:flex;flex-wrap:wrap;align-items:center;gap:4px;font-size:13px;font-weight:550;min-width:0}.ui-tech-side-catpaid{margin-left:auto;font-weight:600;flex:none}.ui-tech-side-catsub{font-size:12px;color:var(--ui-muted);margin-top:6px;line-height:1.6;white-space:normal;overflow-wrap:anywhere}.ui-tech-side-note{font-size:12px;color:var(--ui-muted);margin-top:10px;line-height:1.6}.ui-inspector :is(button,input,a):focus-visible,.ui-tech-panel :is(button,a):focus-visible{outline:2px solid var(--ui-accent);outline-offset:2px}.ui-insp-close:hover,.ui-recipe-trigger:hover,.ui-filter-trigger:hover{border-color:var(--ui-accent);color:var(--ui-text)}.ui-tech-node:hover{border-color:var(--ui-accent)}.ui-inspector .ui-chart-svg{background:var(--ui-inset);border-color:var(--ui-line)}.ui-inspector .ui-chart-legend{flex-wrap:wrap;row-gap:4px}.ui-inspector .ui-angle-slider{accent-color:var(--ui-accent)}.ui-inspector .ui-insp-action{min-height:36px}.ui-tech-side-unlock>span:not(.ui-tech-side-unlock-kind){min-width:0;overflow-wrap:anywhere}.ui-tech-side-unlock-kind{font-size:10px;flex:none}.ui-tech-panel .ui-icon-btn{width:32px;height:32px;color:var(--ui-muted)}.ui-tech-panel .ui-icon-btn:hover{color:var(--ui-accent)}@media (max-width: 760px){.ui-modal-backdrop--tech{padding:12px}.ui-tech-panel{height:calc(100dvh - 24px)}.ui-tech-body{flex-direction:column}.ui-tech-graph{min-height:180px;flex:1 1 50%}.ui-tech-side{width:100%;max-height:44%;border-left:0;border-top:1px solid var(--ui-line);padding:10px}.ui-tech-header{padding:8px 12px}.ui-tech-title{font-size:16px}.ui-tech-help{padding:12px}}@media (max-height: 560px){.ui-inspector{top:72px;max-height:calc(100dvh - 88px)}}@media (max-width: 900px){.ui-modal-backdrop--build{padding:12px}.ui-build-panel{width:100%;height:calc(100dvh - 24px);grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr) auto}.ui-build-cats{flex-direction:row;overflow-x:auto;overflow-y:hidden;border-right:0;border-bottom:1px solid var(--ui-line);padding:8px;gap:4px}.ui-build-cat-btn{padding:8px 10px;white-space:nowrap;flex:none}.ui-build-content{padding:12px 14px 14px;min-height:0}.ui-build-grid{grid-template-columns:repeat(auto-fill,minmax(84px,1fr))}.ui-build-info{border-left:0;border-top:1px solid var(--ui-line);padding:12px 14px;max-height:30vh}.ui-build-close{top:8px;right:10px}}@media (max-height: 620px){.ui-build-cat-btn{padding:10px 15px}.ui-build-content{padding:12px 14px 14px}.ui-build-info{padding-top:40px}}@media (max-width: 700px){.ui-quickbar-wrap{bottom:10px}.ui-quickbar{gap:4px;padding:4px}.ui-quick-slot{width:36px;height:36px}.ui-quick-erase{width:36px;height:36px;font-size:16px}.ui-quick-build{width:36px;height:36px;font-size:17px}.ui-quick-num{font-size:9px}}.ui-inspector .ui-chip{background:var(--ui-inset);border-color:var(--ui-line)}.ui-inspector :is(.ui-filter-label,.ui-insp-net-label,.ui-angle-hint){color:var(--ui-muted);font-size:12px}.ui-inspector :is(.ui-filter-list,.ui-recipe-list){background:#101c28;border-color:var(--ui-line)}.ui-inspector :is(.ui-recipe-card,.ui-filter-option)[aria-pressed=true]{background:#173947;border-color:#43859b}.ui-inspector .ui-chart-tick{fill:var(--ui-muted)}.ui-inspector .ui-chart-grid{stroke:var(--ui-rule)}.ui-rs-empty .ui-insp-row-link{margin-left:0}.ui-build-tooltip{position:fixed;left:0;top:0;z-index:80;display:flex;align-items:center;gap:8px;padding:6px 10px;background:var(--ui-panel);border:1px solid var(--ui-line);border-radius:8px;box-shadow:0 8px 32px #000a,inset 0 1px #b9e8ff08;color:var(--ui-text);font-size:13px;font-weight:650;font-variant-numeric:tabular-nums;white-space:nowrap;pointer-events:none;user-select:none}.ui-build-tooltip-part{display:inline-flex;align-items:center;gap:4px}.ui-build-tooltip-icon{width:22px;height:22px;display:block;-webkit-user-drag:none;user-select:none}.ui-build-tooltip-energy{color:#f0d66f}
