:root{color-scheme:dark;--ink:#111b1e;--panel:#142025;--line:#37494b;--faint:#26383c;--text:#e8eee6;--muted:#a3b4ae;--accent:#e8dc93;--mint:#a9d3ae;--copper:#ee9c6e;--silica:#80cfdf;--alloy:#c0d2d0;font:14px system-ui,-apple-system,sans-serif}
*{box-sizing:border-box}body{margin:0;background:#151f21;color:var(--text);overflow:hidden}button,a{color:inherit}button{background:#1c2b30;border:1px solid var(--line);cursor:pointer;font:inherit}button:hover{background:#2b3c3e;border-color:#819692}button:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:2px}button[aria-pressed=true]{background:#374544;border-color:#9bac84;color:#f8ec9f}button:disabled{cursor:default;opacity:.49}button svg,a svg,span>svg{width:19px;height:19px;vertical-align:middle}small,.eyebrow,.field-sub,.panel-header,.control-strip,kbd,.tabs button,#event,#mode-name{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.09em}small{font-size:10px;color:var(--muted)}b{font-variant-numeric:tabular-nums}em{font-style:normal;font-size:.66em;color:var(--muted)}.accent{color:var(--accent)}.alloy{color:var(--alloy)}.silica{color:var(--silica)}.copper{color:var(--copper)}.power{color:var(--accent)}
#game,#world,.screen-edge,#pins{position:absolute;inset:0}#world{touch-action:none}#world canvas{display:block;width:100%;height:100%}.screen-edge{pointer-events:none;background:linear-gradient(180deg,#0a17196e 0%,transparent 29%,transparent 58%,#0a1315ba 100%);box-shadow:inset 0 0 110px #0c171948}
.telemetry{z-index:5;position:absolute;inset:14px 16px auto;min-height:62px;display:grid;grid-template-columns:minmax(174px,1fr) auto minmax(290px,1fr);align-items:stretch;background:#121d21f2;border:1px solid var(--line);box-shadow:0 10px 34px #0a111433}
.brand{display:flex;align-items:center;gap:11px;padding:0 17px;text-decoration:none;width:max-content}.brand svg{width:36px;height:36px;color:var(--accent)}.brand strong,.brand small{display:block}.brand strong{font-size:23px;font-weight:850;letter-spacing:.045em;line-height:1}.brand small{margin-top:5px;font-size:9px}
.stock,.conditions{display:flex;align-items:stretch;justify-content:center}.stock>div,.weather,.clock{display:flex;align-items:center;gap:8px;border-left:1px solid var(--faint);padding:7px clamp(10px,1.35vw,24px)}.stock>div:last-child{border-right:1px solid var(--faint)}.stock small,.conditions small{display:block;margin-bottom:3px}.stock b,.conditions b{font-size:18px;line-height:1}.conditions{justify-content:flex-end}.conditions .weather{border-left:0;color:var(--accent)}.conditions .weather small{white-space:nowrap}.clock{min-width:80px}.time-controls{display:flex;align-items:center;gap:4px;padding:0 12px;border-left:1px solid var(--faint)}.time-controls button,.utility button{height:32px;min-width:31px;font:700 12px ui-monospace,monospace}
.field{position:absolute;top:106px;left:28px;pointer-events:none;text-shadow:0 2px 20px #121c20,0 2px 5px #131e20b3}.eyebrow{font-size:10px;font-weight:700;color:#f5eab1}.eyebrow span{display:inline-block;width:6px;height:6px;background:#e8dc93;margin-right:5px;box-shadow:0 0 11px #dfc86f}.field h1{font-size:clamp(32px,4vw,58px);margin:3px 0 0;letter-spacing:-.062em;line-height:1.08;font-weight:830}.field-sub{font-size:9px;color:#f4f0dc;margin-top:8px}.field-sub i{display:inline-block;width:3px;height:3px;background:#eed99b;margin:0 5px 2px}
.utility{position:absolute;top:100px;right:16px;display:flex;gap:5px;z-index:4}.utility button{width:35px;background:#142025ee}
.console{position:absolute;z-index:4;bottom:14px;left:16px;right:16px;display:grid;grid-template-columns:minmax(157px,.57fr) minmax(205px,1fr) minmax(390px,1.47fr);gap:8px;pointer-events:none}.panel{pointer-events:auto;min-width:0;background:#142025f7;border:1px solid var(--line);box-shadow:0 8px 22px #0a11143b}.panel-header{height:35px;padding:0 11px;display:flex;align-items:center;justify-content:space-between;gap:5px;border-bottom:1px solid var(--faint);font-size:10px;font-weight:750;white-space:nowrap;color:#d8e4da}.panel-header svg{width:15px;height:15px;color:var(--accent);margin-right:4px}.panel-header small{font-size:9px}
#minimap{display:block;width:calc(100% - 16px);height:104px;margin:7px 8px 0;border:1px solid #526056;cursor:crosshair}.legend{display:flex;justify-content:space-around;gap:5px;padding:7px 5px;font-size:10px}.legend i{font-style:normal;color:var(--muted)}
.inspect-panel{display:flex;flex-direction:column}#inspector{padding:10px 11px;min-height:100px;flex:1}#inspector h2{font-size:16px;letter-spacing:-.02em;margin:0 0 3px;line-height:1.1}#inspector p{font-size:11px;color:var(--muted);margin:4px 0;line-height:1.36}#inspector .readings{display:flex;gap:4px 12px;flex-wrap:wrap;margin-top:8px;font-size:10px;color:var(--muted)}#inspector .readings b{color:#eef1dd;font-size:12px;margin-right:2px}.actions{display:flex;gap:5px;flex-wrap:wrap;margin-top:6px}.action{padding:4px 7px;font-size:11px;border-color:#657764;color:#f6ecc3}.action.danger{color:#f2ad91}#event{display:flex;align-items:center;gap:6px;padding:6px 9px;min-height:27px;background:#101a1e;color:#b4c6b8;font-size:9px;letter-spacing:.025em;border-top:1px solid var(--faint)}#event svg{width:13px;height:13px;color:#a7cfa8;flex:none}
.tabs{display:flex;gap:4px;padding:5px 7px 4px}.tabs button{flex:1;padding:4px 5px;font-size:10px;text-transform:uppercase;line-height:1.1}#build-items{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:4px;min-height:70px;padding:0 7px 5px}.tile{text-align:left;display:flex;flex-direction:column;gap:3px;padding:5px;min-width:0;min-height:58px}.tile svg{width:18px;height:18px;color:var(--accent)}.tile strong{font-size:10px;line-height:1.03}.tile .price{color:#bbc8c0;font:9px ui-monospace,monospace;white-space:nowrap}.tile.short .price{color:#ff9c87}.tile[aria-pressed=true] svg{color:#fbf0a8}
.control-strip{border-top:1px solid var(--faint);min-height:26px;display:flex;gap:5px 13px;flex-wrap:wrap;align-items:center;padding:4px 8px;color:var(--muted);font-size:9px;letter-spacing:0}kbd{color:#e7e7c7;font-size:9px}
#floating{position:absolute;z-index:4;bottom:204px;left:50%;transform:translateX(-50%);max-width:85vw;display:none;align-items:center;gap:6px;background:#152428f5;border:1px solid #829681;color:#f1e6a7;padding:6px 10px;font:11px ui-monospace,monospace;text-align:center;pointer-events:none}#floating.active{display:flex}#floating.bad{color:#ffae95;border-color:#b17463}#floating svg{width:15px;height:15px;flex:none}
#pins{pointer-events:none;z-index:2;overflow:hidden}.pin{position:absolute;display:flex;align-items:center;gap:4px;padding:3px 6px;border:1px solid currentColor;background:#172328ee;border-radius:2px;white-space:nowrap;font:700 9px ui-monospace,monospace;letter-spacing:.06em;transform:translate(-50%,-100%);box-shadow:0 2px 8px #111a1e8c}.pin svg{width:12px;height:12px}.pin.drone{color:#f5e4a0}.pin.hub{color:#c9e0be}
dialog{width:min(480px,94vw);max-height:90vh;background:#142025;color:var(--text);border:1px solid #819692;padding:19px 22px;box-shadow:0 18px 80px #071014bd}dialog::backdrop{background:#0a1318b8}.guide-head{display:flex;align-items:center;justify-content:space-between}.guide-head button{padding:2px 4px}dialog h2{font-size:30px;margin:4px 0 12px}dialog li,dialog p{font-size:13px;line-height:1.48;color:#bacac4;margin:8px 0}dialog strong{color:#f0e7bb}dialog ol{padding-left:19px}
#loading{position:fixed;z-index:20;inset:0;display:grid;place-items:center;background:radial-gradient(ellipse at 50% 42%,#293b38,#101b20 64%);transition:opacity .34s}#loading.done{opacity:0;pointer-events:none}.load-card{text-align:center;width:min(360px,82vw)}.load-icon svg{width:72px;height:72px;color:var(--accent);margin-bottom:12px}.load-card h2{font-size:clamp(44px,8vw,72px);line-height:1;margin:10px 0;letter-spacing:-.045em}.load-card h2 span{color:var(--accent)}.load-card p{color:#b5c7be}.load-bar{height:5px;background:#344644;margin:22px 0 12px}.load-bar span{display:block;width:15%;height:100%;background:var(--accent);transition:width .3s}
@media(max-width:1000px){.stock>div,.weather,.clock{padding-inline:9px}.telemetry{grid-template-columns:auto 1fr auto}.brand{padding-inline:9px}.conditions .weather{display:none}.console{grid-template-columns:minmax(145px,.55fr) minmax(175px,.88fr) minmax(315px,1.4fr)}}
@media(max-width:710px){.telemetry{inset:6px 6px auto;grid-template-columns:auto 1fr auto;min-height:48px}.brand{gap:4px;padding:0 5px}.brand svg{width:23px;height:23px}.brand strong{font-size:14px}.brand small,.stock small{font-size:7px}.stock>div{padding:3px 4px;gap:3px}.stock svg{width:12px;height:12px}.stock b,.conditions b{font-size:12px}.clock{display:none}.time-controls{gap:2px;padding:0 3px}.time-controls button{min-width:20px;height:26px;font-size:9px}.field{top:67px;left:10px}.field h1{font-size:32px}.field-sub{font-size:8px}.utility{top:64px;right:6px}.utility button{width:28px;height:27px;min-width:0}.utility svg{width:14px;height:14px}.console{inset:auto 6px 6px;gap:4px;grid-template-columns:minmax(100px,.5fr) minmax(0,1fr)}.build-panel{grid-column:1/-1}.panel-header{height:24px;font-size:8px;padding:0 5px}.panel-header small{font-size:7px}.panel-header svg{width:12px;height:12px}#minimap{height:62px;margin-top:3px}.legend{font-size:8px;padding:3px 4px}#inspector{min-height:65px;padding:5px 6px}#inspector h2{font-size:13px}#inspector p{font-size:10px;margin:2px 0}#inspector .readings{margin-top:3px;gap:3px 7px}#event{min-height:17px;padding:2px 4px;font-size:8px}.control-strip{display:none}.tabs{padding:3px 4px}.tabs button{padding:2px 3px}#build-items{padding:0 4px 4px;min-height:48px}.tile{min-height:42px;padding:3px;gap:1px}.tile svg{width:13px;height:13px}.tile strong{font-size:9px}.tile .price{font-size:8px}#floating{bottom:220px}}
@media(max-width:385px){.brand small,.stock .power{display:none}.field-sub{display:none}}
#loading[hidden],.pin[hidden]{display:none}
#world[data-drag=pan]{cursor:grabbing}#world[data-drag=orbit]{cursor:ew-resize}
.pin.equipment{color:#e7d4a2}.pin.cell,.pin.grid,.pin.battery{color:#ddc9f2}
#plant-detail{width:min(670px,95vw)}#detail-body h3{font-size:14px;margin:15px 0 6px}
.bus-note{display:flex;align-items:center;gap:9px;padding:9px;border:1px solid var(--line);color:#e8dc93;background:#1c2a2c;font-size:12px;line-height:1.4}.bus-note svg,.wire-row svg{width:17px;height:17px;flex:none}
.fuse-list{margin-top:8px;display:grid;gap:2px}.fuse-row,.wire-row{display:grid;grid-template-columns:3em 1fr 1fr auto;gap:7px;align-items:center;padding:4px 7px;background:#1a292d;font-size:11px;min-height:26px}.fuse-row.empty{color:var(--muted);grid-template-columns:3em 1fr}.fuse-row .good{color:var(--mint)}.fuse-row .warn{color:#f4af91}
.wire-row{grid-template-columns:auto 1fr auto;margin-bottom:3px}.wire-row svg{color:var(--accent)}.single-line{margin-top:8px;display:grid;gap:5px;grid-template-columns:repeat(3,1fr)}.single-line section{display:grid;gap:4px;border:1px solid var(--line);padding:7px;background:#19262b;font-size:12px}.single-line section button{justify-self:start}.single-line section small{color:var(--accent)}.guide-legend{display:flex;flex-wrap:wrap;gap:4px 12px;font-size:10px}.dc-key{color:#edbc6c}.mv-key{color:#c3abe6}.ac-key{color:#a2bae5}.pipe-key{color:#efa679}
@media(max-width:710px){.utility{max-width:132px;justify-content:flex-end;flex-wrap:wrap}.pin.equipment{font-size:8px}.fuse-row{grid-template-columns:2em 1fr 1fr auto;font-size:10px;gap:4px;padding:4px}.single-line section{padding:5px}}
