:root{--bg: #11161d;--panel: #1b2430;--panel-2: #223041;--text: #d6deeb;--muted: #8ea2bd;--ok: #6edb8f;--warn: #ffcf6e;--danger: #ff7676}*{box-sizing:border-box}body{margin:0;height:100vh;overflow:hidden;font-family:Consolas,Menlo,Monaco,monospace;background:radial-gradient(circle at 20% 10%,#182430 0%,var(--bg) 55%);color:var(--text)}#app{display:grid;grid-template-columns:1fr 300px;grid-template-rows:auto auto 1fr;gap:12px;height:100vh;min-height:0;padding:12px}#topbar{grid-column:1 / -1;grid-row:1;display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding:6px 8px;border:1px solid #2f3f53;border-radius:8px;background:linear-gradient(180deg,#192330,#141c27)}#toolbar{grid-column:1 / -1;grid-row:2;display:flex;flex-direction:column;gap:4px;padding:6px 8px;border:1px solid #2f3f53;border-radius:8px;background:linear-gradient(180deg,#162131,#101821)}#toolbar .tool-row{display:flex;flex-wrap:wrap;gap:4px;align-items:center}#toolbar .tool-row-label{font-size:11px;color:var(--muted);font-weight:700;text-transform:uppercase;letter-spacing:.08em;margin-right:4px;min-width:58px}#toolbar .tool-row-sep{display:inline-block;width:1px;height:18px;background:#2a3a50;margin:0 6px}#toolbar .tool-btn{display:inline-flex;align-items:center;gap:4px;padding:3px 8px 3px 4px;font-size:11px;background:#1e2a3a;border:1px solid #2d3f55;border-radius:4px;color:var(--text);cursor:pointer;white-space:nowrap;transition:background .12s,border-color .12s,opacity .12s;width:auto;flex:0 0 auto}#toolbar .tool-btn:hover:not(.locked){background:#263349;border-color:#3d5470}#toolbar .tool-btn.active{background:#2f4466;border-color:#7ba7d9;box-shadow:0 0 0 1px #7ba7d933}#toolbar .tool-btn.locked{opacity:.38;cursor:not-allowed}#toolbar .tool-btn.locked .tool-key{opacity:.5}#toolbar .tool-key{display:inline-block;min-width:18px;padding:1px 4px;background:#0e141c;border:1px solid #2d3f55;border-radius:3px;font-size:9.5px;color:var(--muted);font-family:Consolas,Menlo,monospace;text-align:center}#toolbar .tool-btn.active .tool-key{background:#1f2d42;color:var(--text);border-color:#7ba7d9}.topbar-btn{width:auto;min-width:0;padding:6px 10px;font-size:12px;white-space:nowrap}.utility-icon{display:inline-grid;place-items:center;width:34px;min-width:34px;height:34px;padding:0;color:#d8e6f6}.utility-icon svg{width:18px;height:18px;overflow:visible;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.utility-icon:hover{color:#f3f8ff}.utility-icon.load-error{color:var(--danger);border-color:#ff5d5db8}.topbar-spacer{margin-left:auto}#game-wrap{grid-column:1;grid-row:3;display:block;position:relative;min-width:0;min-height:0;background:radial-gradient(circle at 13% 24%,rgba(212,232,255,.9) 0 1px,transparent 1.5px),radial-gradient(circle at 77% 18%,rgba(120,172,230,.8) 0 1px,transparent 1.5px),radial-gradient(circle at 41% 72%,rgba(238,244,255,.75) 0 1px,transparent 1.4px),radial-gradient(circle at 86% 82%,rgba(112,154,210,.65) 0 1px,transparent 1.5px),radial-gradient(circle at 52% 42%,rgba(82,128,190,.16),transparent 36%),linear-gradient(180deg,#05080e,#020409);background-size:173px 149px,241px 197px,311px 263px,421px 337px,100% 100%,100% 100%;border:1px solid #2f3f53;border-radius:8px;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:rgba(89,107,126,.34) transparent}#game-wrap::-webkit-scrollbar{width:8px;height:8px}#game-wrap::-webkit-scrollbar-track{background:transparent}#game-wrap::-webkit-scrollbar-thumb{border-radius:999px;background:#596b7e57}#game-wrap.panning{cursor:grabbing}#hud-status{position:sticky;top:0;left:0;z-index:5;display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding:6px 12px;font-family:Consolas,Menlo,Monaco,monospace;font-size:12px;color:var(--text);background:#101620eb;border-bottom:1px solid #2f3f53;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);pointer-events:none;-webkit-user-select:none;user-select:none;white-space:nowrap}#hud-status .hud-item{display:inline-flex;align-items:baseline;gap:4px}#hud-status .hud-label{color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.06em}#hud-status .hud-value{color:var(--text);font-variant-numeric:tabular-nums;font-weight:600}#hud-status .hud-sep{width:1px;height:12px;background:#2f3f53}#dev-tier-overlay{padding:4px 12px;font-family:Consolas,Menlo,Monaco,monospace;font-size:11px;color:#9cb2cc;background:#0c1018d1;border-bottom:1px solid #243244;letter-spacing:.02em;pointer-events:none;white-space:nowrap}#game-stage{position:relative;z-index:0;min-width:100%;min-height:100%;background:radial-gradient(circle at 20% 35%,rgba(255,255,255,.68) 0 1px,transparent 1.4px),radial-gradient(circle at 71% 68%,rgba(145,195,255,.58) 0 1px,transparent 1.5px),radial-gradient(circle at 44% 19%,rgba(90,132,190,.12),transparent 38%);background-size:239px 211px,353px 307px,100% 100%}canvas{position:absolute;display:block;image-rendering:pixelated;box-shadow:0 0 0 1px #344a6538}#game{z-index:1;pointer-events:auto;contain:strict}.topbar-note{font-size:11px;color:var(--muted);white-space:nowrap}#panel{grid-column:2;grid-row:3;min-height:0;background:linear-gradient(180deg,var(--panel) 0%,#141d29 100%);border:1px solid #2f3f53;border-radius:8px;padding:10px;font-size:13px;overflow:auto}h1{font-size:16px;margin:0 0 8px}.row{display:flex;justify-content:space-between;gap:8px;margin-bottom:8px;color:var(--muted);align-items:baseline}.value{color:var(--text)}.section{margin-top:12px;border-top:1px solid #2f3f53;padding-top:10px}.panel-first{margin-top:0;border-top:0;padding-top:0}.top-controls{padding-top:2px}.transport-row{display:flex;gap:4px;align-items:center}.icon-btn{width:auto;min-width:0;padding:5px 8px;font-size:12px;line-height:1.1}.transport-btn{width:28px;min-width:28px;padding:4px 0;font-weight:700}.transport-btn.active{border-color:#6edb8f;color:#6edb8f}.speed-pill{margin-left:auto;border:1px solid #3b4d65;border-radius:999px;background:#151e2a;padding:2px 6px;font-size:11px;width:auto}.section-title{color:#a7bed8;font-size:11px;text-transform:uppercase;letter-spacing:.06em;margin-bottom:8px}.compact{font-size:13px;margin-bottom:6px}.list-row{font-size:12px;line-height:1.2}.list-row .value{font-size:12px}.button-row{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:8px}button,input[type=range],input[type=text],textarea,select{width:100%}button{padding:8px;border:1px solid #3b4d65;border-radius:6px;background:var(--panel-2);color:var(--text);cursor:pointer}select{padding:3px 5px;border:1px solid #3b4d65;border-radius:6px;background:#1b2735;color:var(--text);font-family:Consolas,Menlo,Monaco,monospace;font-size:12px}input[type=text],textarea{padding:6px 8px;border:1px solid #3b4d65;border-radius:6px;background:#1b2735;color:var(--text);font-family:Consolas,Menlo,Monaco,monospace;font-size:12px}textarea{resize:vertical;min-height:56px}button:hover{filter:brightness(1.08)}kbd{background:#0f161f;border:1px solid #314052;border-radius:4px;padding:1px 4px;color:#a7bed8}small{color:var(--muted);display:block;margin-top:6px;line-height:1.25;font-size:11px}.mini-collapse{border-top:1px dashed rgba(88,110,138,.45);margin-top:8px;padding-top:6px}.mini-collapse>summary{cursor:pointer;color:#9fb4cd;font-size:11px;list-style:none;margin-bottom:4px;-webkit-user-select:none;user-select:none}.mini-collapse>summary::-webkit-details-marker{display:none}.mini-collapse>summary:before{content:"▸ "}.mini-collapse[open]>summary:before{content:"▾ "}#ops-extra{font-size:12px;margin-top:2px;margin-bottom:8px}.legend-title{font-size:12px;color:var(--muted);margin-bottom:6px}.legend-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px 10px}.legend-item{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--text)}.legend-build{margin-top:8px;font-size:11px}.tier-progress-track{margin-top:8px;width:100%;height:8px;border-radius:999px;border:1px solid #314052;background:#0f161f;overflow:hidden}.tier-progress-fill{width:0%;height:100%;background:linear-gradient(90deg,#4d7fb1,#6edb8f);transition:width .18s linear}.chip{width:10px;height:10px;border:1px solid rgba(255,255,255,.35);border-radius:2px;display:inline-block}.chip-caf{background:#4ea66e8c}.chip-reactor{background:#b97d398c}.chip-security{background:#bd4f4f8c}.chip-dorm{background:#7ec8ff80}.chip-hygiene{background:#60e4e180}.chip-hydro{background:#62cd7873}.chip-life{background:#f5f5aa80}.chip-lounge{background:#c48cff80}.chip-market{background:#ffbc7880}.modal{position:fixed;top:0;right:0;bottom:0;left:0;background:#05090f8c;display:flex;align-items:center;justify-content:center;padding:16px;z-index:20}.hidden{display:none}.modal-card{width:min(520px,96vw);max-height:86vh;overflow:auto;background:linear-gradient(180deg,var(--panel) 0%,#141d29 100%);border:1px solid #3b4d65;border-radius:8px;padding:12px}.save-modal-card{width:min(700px,96vw)}.expansion-modal-card{width:min(420px,96vw)}.progression-modal-card{width:min(860px,96vw)}.crew-modal-card{width:min(900px,96vw)}.crew-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(235px,1fr));gap:10px;margin:8px 0 14px}.crew-card{display:grid;gap:10px;min-height:148px;padding:12px;border:1px solid #354960;border-radius:6px;background:linear-gradient(180deg,#141f2ce6,#0a1019eb);box-shadow:0 1px #9abee614 inset}.crew-card.armed{border-color:#6edb8fb8;box-shadow:inset 0 0 0 1px #6edb8f2e,0 0 16px #6edb8f14}.crew-card.locked{opacity:.72}.crew-card strong,.crew-card small{overflow-wrap:anywhere}.crew-card-main{display:grid;grid-template-columns:68px 1fr;align-items:center;gap:12px;min-width:0}.crew-card-copy{display:grid;gap:5px;min-width:0}.crew-card-copy strong{color:#e6edf7;font-size:15px;line-height:1.12}.crew-card-portrait{width:64px;height:64px;border:1px solid #41607d;border-radius:6px;background-color:#060b12e6;image-rendering:pixelated}.crew-card-portrait.sprite{background-repeat:no-repeat}.crew-card-portrait.fallback{display:grid;place-items:center;color:#dbe7f5;font-weight:800;font-size:18px;background:linear-gradient(180deg,#22374d,#111c2a)}.compact-buttons{margin:0}#toolbar .tool-row.crew-palette-section{grid-template-columns:1fr;align-content:start;gap:8px}#toolbar .crew-palette-summary{display:grid;gap:6px}.crew-palette-subhead{margin-top:2px}#toolbar .crew-palette-section .crew-grid{display:grid;grid-template-columns:1fr;gap:8px;margin:0}#toolbar .crew-palette-section .crew-card{display:grid;grid-template-columns:1fr;gap:8px;min-height:0;padding:9px}#toolbar .crew-palette-section .crew-card-main{grid-template-columns:54px 1fr;gap:10px}#toolbar .crew-palette-section .crew-card-portrait{width:52px;height:52px}#toolbar .crew-palette-section .crew-card .button-row{margin-top:0}#toolbar .crew-palette-section .crew-card button{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;min-height:34px;padding:7px 8px;touch-action:manipulation}#toolbar .crew-palette-section .row{align-items:start;gap:8px}#toolbar .crew-palette-section .value{min-width:0;text-align:right;white-space:normal;overflow-wrap:normal;word-break:normal}.ops-modal-card{display:flex;flex-direction:column;width:min(1120px,96vw);height:min(720px,calc(100vh - 32px));max-height:calc(100vh - 32px);overflow:hidden;padding:14px}.system-map-modal-card{width:min(720px,96vw);max-height:95vh;overflow-y:auto;display:block}.system-map-lane-row{display:block;padding:4px 0;border-top:1px solid rgba(120,130,160,.18)}.system-map-lane-row strong{color:#e6eaf2;font-size:12px;display:block;margin-bottom:2px}.system-map-lane-detail{color:#9aa3b5;font-size:11px;line-height:1.4;word-break:break-word}.system-map-modal-card #system-map-canvas{position:relative!important;display:block;margin:8px auto;background:#070b15;border:1px solid #2a3550;border-radius:4px;width:360px!important;height:360px!important;max-width:88vw}.system-map-summary{display:block;text-align:center;color:#9aa3b5;margin-top:4px}.system-map-factions,.system-map-lanes{margin-top:10px}.ops-modal-summary{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin-bottom:12px}.ops-state-chip{display:grid;gap:3px;min-width:0;padding:8px 10px;border:1px solid rgba(83,111,143,.74);border-radius:6px;background:linear-gradient(180deg,#1d2b39eb,#101820eb)}.ops-state-chip span{color:#9fb4cd;font-size:10px;line-height:1;text-transform:uppercase}.ops-state-chip strong{color:#eef5ff;font-size:20px;line-height:1}.ops-state-chip.blocked strong{color:var(--warn)}.ops-modal-tabs{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;margin-bottom:10px}.ops-tab-btn{width:100%;min-width:0;padding:7px 8px;border-radius:5px;background:#0c131bb8;color:#b9cbe2;font-size:11px;font-weight:800;overflow:hidden;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}.ops-tab-btn.active{border-color:#7ba7d9;background:#2f4466;color:#f3f6f9}.ops-modal-grid{display:block;flex:1;min-height:0}.ops-modal-section{min-width:0;padding:10px;border:1px solid rgba(59,77,101,.82);border-radius:6px;background:linear-gradient(180deg,#131c26d1,#090e14c7),repeating-linear-gradient(0deg,rgba(255,255,255,.025) 0 1px,transparent 1px 4px)}.ops-modal-section.wide{grid-column:1 / -1}.ops-tab-panel{display:none}.ops-tab-panel.active{display:block;height:100%;overflow:auto}.ops-modal-section .section-title{margin-bottom:9px;color:#d8e7f7}.ops-modal-section .row{display:grid;grid-template-columns:84px minmax(0,1fr);gap:10px;padding:6px 0;border-bottom:1px solid rgba(63,82,105,.42);align-items:start}.ops-modal-section .row:last-child{border-bottom:0}.ops-modal-section .value{max-width:none;text-align:left;overflow-wrap:anywhere}.metric-list{display:grid;grid-template-columns:88px repeat(auto-fit,minmax(82px,1fr));gap:6px;align-items:stretch;padding:7px 0;border-top:1px solid rgba(63,82,105,.32)}.ops-modal-section .section-title+.metric-list{border-top:0;padding-top:0}.metric-list:before{content:attr(data-metric-title);align-self:center;color:#93a8bf;font-size:11px;font-weight:800;line-height:1.15}.metric-pill{min-width:0;display:grid;gap:2px;padding:5px 7px;border:1px solid rgba(55,74,96,.76);border-radius:4px;background:#0c131bb8}.metric-label{min-width:0;color:#8ea2bd;font-size:9px;line-height:1.1;text-transform:uppercase;overflow-wrap:anywhere}.metric-value{min-width:0;color:#eef5ff;font-size:12px;line-height:1.15;overflow-wrap:anywhere}.metric-pill.tone-ok{border-color:#58b87d85}.metric-pill.tone-ok .metric-value{color:var(--ok)}.metric-pill.tone-warn{border-color:#ffcf6e9e}.metric-pill.tone-warn .metric-value{color:var(--warn)}.metric-pill.tone-danger{border-color:#ff7676a8}.metric-pill.tone-danger .metric-value{color:var(--danger)}.metric-pill.tone-muted .metric-value{color:#9fb4cd}.ops-detail-list{display:grid;grid-template-columns:88px repeat(auto-fit,minmax(110px,1fr));gap:6px;align-items:stretch;padding:7px 0;border-top:1px solid rgba(63,82,105,.32)}.ops-detail-list:before{content:attr(data-detail-title);align-self:center;color:#93a8bf;font-size:11px;font-weight:800;line-height:1.15}.ops-detail-row,.ops-detail-empty{min-width:0;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:baseline;padding:5px 7px;border:1px solid rgba(55,74,96,.62);border-radius:4px;background:#0c131b8a}.ops-detail-empty{grid-template-columns:1fr;color:#8ea2bd}.ops-detail-label{min-width:0;color:#b8c8dc;font-size:10px;line-height:1.2;overflow-wrap:anywhere}.ops-detail-value{min-width:0;color:#eef5ff;font-size:11px;line-height:1.2;overflow-wrap:anywhere}.ops-detail-row.tone-warn{border-color:#ffcf6e8a}.ops-detail-row.tone-warn .ops-detail-value{color:var(--warn)}.ops-detail-row.tone-danger{border-color:#ff767694}.ops-detail-row.tone-danger .ops-detail-value{color:var(--danger)}.ops-modal-section small{margin-top:0;padding:7px 0;border-top:1px solid rgba(63,82,105,.32);color:#b9cbe2;font-size:11px;overflow-wrap:anywhere}.ops-modal-section .section-title+small{border-top:0;padding-top:0}.ops-note{color:#b9cbe2}.ops-modal-traffic-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.modal-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px}.progression-hero{border:1px solid #33516b;border-radius:10px;padding:12px;background:linear-gradient(180deg,#162838bf,#121c28bf)}.progression-tier-name{font-size:24px;font-weight:700;color:#e4edf8;letter-spacing:.02em}.progression-tier-theme{margin-top:4px;color:#b9cbe2;font-size:12px}.tier-progress-track-lg{margin-top:10px;height:16px;border-color:#3c617f;background:#0d1823}.tier-progress-track-lg .tier-progress-fill{background:linear-gradient(90deg,#3b7ab1,#54c6a6)}.progression-section{margin-top:10px;border:1px solid #31485e;border-radius:8px;padding:10px;background:#0f1925b8}#progress-modal-roadmap{display:grid;gap:8px;margin-top:6px}.specialty-roadmap{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:8px;margin-top:8px}.specialty-roadmap-card{display:grid;gap:6px;border:1px solid #304761;border-radius:8px;padding:10px;background:#0e1621d1}.specialty-roadmap-card.active{border-color:#7cc4fcd9;box-shadow:0 0 0 1px #4a8cc273 inset}.specialty-roadmap-card.completed{border-color:#54c6a6b8}.specialty-roadmap-card.locked{opacity:.68}.specialty-roadmap-head{display:flex;justify-content:space-between;align-items:center;gap:10px}.progression-tier-card{border:1px solid #304761;border-radius:8px;padding:10px;background:#0e1621d1}.progression-tier-card.done{border-color:#54c6a6b8}.progression-tier-card.current{border-color:#7cc4fcd9;box-shadow:0 0 0 1px #4a8cc273 inset}.progression-tier-card.upcoming{border-color:#58708ab3}.progression-tier-head{display:flex;justify-content:space-between;align-items:center;gap:10px}.progression-tier-status{border:1px solid #3b4d65;border-radius:999px;padding:2px 8px;font-size:10px;color:#d6deeb;background:#192433bf}.progression-tier-theme-line{color:#9eb3cb}h2{font-size:14px;margin:0}.ghost-btn{width:auto;padding:6px 10px}.priority-grid{display:grid;gap:8px}.priority-row{display:grid;grid-template-columns:110px 1fr 22px;align-items:center;gap:8px;font-size:12px;color:var(--text)}#agent-reason,#agent-visitor-details,#agent-resident-details{line-height:1.35}#agent-health{font-weight:700}.save-textarea{min-height:88px}.save-status{margin-top:8px}.status-ok{color:var(--ok)}.status-warn{color:var(--warn)}.status-error{color:var(--danger)}.status-muted{color:var(--muted)}#app{grid-template-columns:minmax(0,1fr) 340px;grid-template-rows:auto minmax(0,1fr);gap:8px;padding:8px}#topbar{display:flex;flex-wrap:wrap;gap:8px;align-items:stretch;padding:0;border:0;border-radius:0;background:transparent}.station-brand,.top-actions,.sim-controls,#hud-status,.hud-card,.dock-card,#panel{border:1px solid rgba(89,107,126,.72);background:linear-gradient(180deg,#0e1216f5,#080c10f0);box-shadow:0 10px 24px #00000042}.station-brand{display:flex;align-items:center;flex:0 1 240px;gap:8px;min-width:0;overflow:hidden;padding:5px 9px;border-radius:6px}.station-brand h1{margin:0;font-size:13px;text-transform:uppercase;letter-spacing:0;color:#f3f6f9}.station-mark{display:grid;place-items:center;width:24px;height:24px;border:1px solid #3b4d65;border-radius:4px;background:#151b21;color:var(--ok);font-weight:800}.top-actions,.sim-controls{display:flex;align-items:center;gap:6px;min-width:0;padding:5px;border-radius:6px}.top-actions{flex:0 0 auto;flex-wrap:nowrap;justify-content:center;gap:5px}.topbar-note{display:block;max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topbar-note.hidden{display:none}.sim-controls{flex:1 1 286px;justify-content:flex-end}.sim-clock{flex:1 1 auto;min-width:96px;overflow:hidden;text-overflow:ellipsis;color:#f3f6f9;font-size:12px;font-weight:700;text-align:center;white-space:nowrap}#hud-status{position:static;z-index:auto;display:grid;flex:999 1 520px;grid-template-columns:repeat(9,minmax(0,1fr));min-width:360px;gap:4px;padding:5px;border-radius:6px;border-bottom:1px solid rgba(89,107,126,.72);background:linear-gradient(180deg,#0e1216f5,#080c10f0);pointer-events:auto;white-space:normal}#hud-status .hud-item{display:flex;align-items:center;justify-content:space-between;gap:6px;min-width:0;padding:4px 6px;border:1px solid #29333e;border-radius:4px;background:#171f27b8}#hud-status .hud-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:9px;letter-spacing:0}#hud-status .hud-value{flex:0 0 auto;font-size:11px;white-space:nowrap}#hud-status .hud-sep{display:none}#game-wrap{grid-column:1;grid-row:2;border-radius:6px;border-color:#596b7eb8;background:radial-gradient(circle at 13% 24%,rgba(212,232,255,.9) 0 1px,transparent 1.5px),radial-gradient(circle at 77% 18%,rgba(120,172,230,.8) 0 1px,transparent 1.5px),radial-gradient(circle at 41% 72%,rgba(238,244,255,.75) 0 1px,transparent 1.4px),radial-gradient(circle at 86% 82%,rgba(112,154,210,.65) 0 1px,transparent 1.5px),radial-gradient(circle at 50% 20%,#25303c33,#06090d00 45%),linear-gradient(180deg,#05080e,#020409);background-size:173px 149px,241px 197px,311px 263px,421px 337px,100% 100%,100% 100%}#dev-tier-overlay{position:sticky;top:0;z-index:8}.floating-stack{position:fixed;z-index:9;pointer-events:none}.floating-stack>*,#bottom-dock{pointer-events:auto}.left-stack{left:18px;top:74px;width:min(250px,30vw);display:grid;gap:10px}.hud-card,.dock-card{border-radius:6px;padding:8px}.hud-card{background:linear-gradient(180deg,#0e1216d1,#080c10c2);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.hud-card-title{margin-bottom:6px;color:#f3f6f9;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:0}.ops-card-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.mini-action-btn{width:auto;min-height:24px;padding:3px 8px;border-radius:4px;font-size:10px;font-weight:800;line-height:1;text-transform:uppercase;background:#23303eeb}details.overlay-card>summary.hud-card-title{display:flex;align-items:center;justify-content:space-between;cursor:pointer;list-style:none;margin-bottom:8px;-webkit-user-select:none;user-select:none}details.overlay-card>summary.hud-card-title::-webkit-details-marker{display:none}details.overlay-card>summary.hud-card-title:after{content:"−";color:var(--muted);font-size:13px}details.overlay-card:not([open])>summary.hud-card-title{margin-bottom:0}details.overlay-card:not([open])>summary.hud-card-title:after{content:"+"}.diagnostic-key.hidden{display:none}.diagnostic-key{display:grid;gap:7px;background:linear-gradient(180deg,#0c1218eb,#060a0fe0)}.diagnostic-key .hud-card-title{margin-bottom:0}.diagnostic-key-stats{padding:6px 7px;border:1px solid rgba(123,167,217,.26);border-radius:5px;background:#070c127a;color:#dce7f4;font-size:11px;line-height:1.25}.diagnostic-key-rows{display:grid;gap:5px}.diagnostic-key-row{display:grid;grid-template-columns:18px minmax(0,1fr);gap:7px;align-items:center;min-width:0;color:#aebed0;font-size:10.5px;line-height:1.25}.diagnostic-key-swatch{width:18px;height:11px;border:1px solid rgba(227,239,255,.35);border-radius:3px;box-shadow:inset 0 0 0 1px #070c123d}#bottom-dock .row{margin-bottom:5px}#quest-bar.section{margin-top:0;border-top:0;padding-top:0}.alert-list{display:grid;gap:6px;color:var(--danger);font-size:12px}.alert-list.is-clear{color:var(--ok)}.alert-item{padding-left:10px;border-left:2px solid currentColor}.alert-item.warn{color:var(--warn)}.alert-item.danger{color:var(--danger)}.incident-list{display:grid;gap:6px;margin-top:8px}.incident-list.is-empty{color:var(--muted);font-size:12px}.incident-item{display:grid;grid-template-columns:10px 1fr;align-items:center;gap:8px;width:100%;padding:7px 8px;border:1px solid rgba(255,118,118,.35);border-radius:6px;background:#490f1457;color:var(--text);text-align:left;cursor:pointer}.incident-item.warn{border-color:#ffcf6e59;background:#49300f4d}.incident-item:hover{border-color:currentColor;background:#ff76762e}.incident-dot{width:9px;height:9px;border-radius:999px;background:var(--danger);box-shadow:0 0 0 3px #ff767629}.incident-item.warn .incident-dot{background:var(--warn);box-shadow:0 0 0 3px #ffcf6e29}.incident-copy{display:grid;gap:2px;min-width:0}.incident-copy strong,.incident-copy small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.incident-copy strong{font-size:12px}.incident-copy small{color:var(--muted);font-size:11px}.tier-checklist{display:grid;gap:6px}.checklist-heading{color:var(--muted);font-size:11px}.checklist-item{display:grid;grid-template-columns:16px minmax(0,1fr) auto;align-items:center;gap:7px;color:var(--text);font-size:12px}.checklist-item.done{color:var(--ok)}.checkmark{display:grid;place-items:center;width:13px;height:13px;border:1px solid #43576e;border-radius:2px;color:var(--ok);font-size:10px}#bottom-dock{position:fixed;left:18px;right:356px;bottom:18px;z-index:9;display:grid;grid-template-columns:1.05fr .95fr 1fr 1.05fr .7fr;gap:6px;padding:6px;border-radius:6px;background:#06090dd1;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.command-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}.primary-command,.secondary-command,.alert-action{width:100%;min-width:0;border-radius:5px;padding-left:4px;padding-right:4px;overflow:hidden;text-overflow:ellipsis;font-weight:800;white-space:nowrap}.primary-command{min-height:32px;border-color:#7ba7d9;background:#2f4466;color:#f3f6f9}.secondary-command{min-height:32px;background:#23303eeb}.traffic-controls{display:grid;grid-template-columns:1fr 102px;gap:4px 8px;align-items:center;margin-top:7px}.traffic-controls input[type=range]{height:12px}.traffic-controls .row{display:contents}.traffic-status{grid-column:1 / -1;min-height:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.traffic-status.tone-ok{color:var(--ok)}.traffic-status.tone-warn{color:var(--warn)}.traffic-status.tone-muted{color:var(--muted)}.command-note{margin-top:5px;margin-bottom:0}.hidden-controls{display:none}.selection-summary{min-height:34px;color:var(--text);font-size:12px;line-height:1.35}.side-inspector{margin-top:12px;padding-top:12px;border-top:1px solid rgba(89,107,126,.34)}.floating-agent-panel{position:fixed;top:82px;right:356px;z-index:10;width:min(360px,calc(100vw - 390px));max-height:calc(100vh - 220px);margin-top:0;padding:9px;overflow:auto;border:1px solid rgba(89,107,126,.72);border-radius:6px;background:linear-gradient(180deg,#0e1216f0,#080c10e6);box-shadow:0 12px 26px #00000057;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);pointer-events:auto}.side-inspector.hidden{display:none}.side-inspector-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}.side-inspector-head h3{margin:0;color:#f3f6f9;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:0}.side-inspector-body{display:grid;gap:7px;padding:8px;border:1px solid rgba(123,167,217,.28);border-radius:6px;background:#070c1285}.side-inspector-grid{display:grid;grid-template-columns:minmax(64px,auto) minmax(0,1fr);gap:5px 8px;align-items:baseline;color:var(--muted);font-size:11px}.side-inspector-grid strong{min-width:0;color:var(--text);font-weight:700;overflow-wrap:anywhere}.agent-card__head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:3px}.agent-card__title{color:var(--text);font-weight:600}.agent-card__role{color:var(--muted);font-size:11px}.agent-card__action{color:var(--text)}.agent-card__reason,.agent-card__job,.agent-card__route,.agent-card__idle{color:var(--muted);font-size:11px;margin-top:2px}.agent-card__warn{color:var(--warn);font-size:11px;margin-top:3px}.agent-card__needs{margin-top:6px;display:flex;flex-direction:column;gap:3px}.need-bar{display:grid;grid-template-columns:52px 1fr 28px;align-items:center;gap:6px;font-size:11px}.need-bar__label{color:var(--muted)}.need-bar__track{position:relative;height:8px;background:#080e1699;border:1px solid rgba(89,107,126,.34);border-radius:2px;overflow:hidden}.need-bar__fill{height:100%;background:var(--ok);transition:width .24s ease-out}.need-bar__threshold{position:absolute;top:-2px;bottom:-2px;width:1px;background:#d6deeb80;pointer-events:none}.need-bar--ok .need-bar__fill{background:var(--ok)}.need-bar--warn .need-bar__fill{background:var(--warn)}.need-bar--low .need-bar__fill{background:var(--danger)}.need-bar--critical .need-bar__fill{background:var(--danger);animation:need-bar-pulse 1.2s ease-in-out infinite}.need-bar__value{color:var(--text);text-align:right;font-variant-numeric:tabular-nums}@keyframes need-bar-pulse{0%,to{opacity:1}50%{opacity:.55}}.diagnostics-card{max-height:190px;overflow:auto}.diagnostics-card .alert-list{margin:2px 0 8px;padding-bottom:8px;border-bottom:1px solid rgba(89,107,126,.34)}.alert-action{margin-bottom:8px;min-height:32px}.alert-action:disabled{opacity:.45;cursor:not-allowed}#panel{grid-column:2;grid-row:2;padding:10px;border-radius:6px;overflow:auto}#panel h2{margin-bottom:10px;color:#f3f6f9;text-transform:uppercase}.palette-tabs{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:5px;margin-bottom:12px}.palette-tab{width:100%;min-width:0;padding:8px 4px;border-radius:5px;background:#171f27b8;font-size:11px;font-weight:700;text-transform:uppercase}.palette-tab.active{border-color:#7ba7d9;background:#2f4466;color:#f3f6f9}#toolbar{display:grid;gap:12px;padding:0;border:0;border-radius:0;background:transparent}#toolbar .tool-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;align-items:stretch;padding-bottom:12px;border-bottom:1px solid rgba(89,107,126,.34)}#toolbar .palette-section:not(.active){display:none}#toolbar .tool-row-label{grid-column:1 / -1;min-width:0;margin:0;color:#f3f6f9;font-size:12px;letter-spacing:0}.diagnostic-readout{grid-column:1 / -1;min-height:48px;padding:7px 8px;border:1px solid rgba(123,167,217,.34);border-radius:5px;background:#070c1294;color:#9fb4cd;font-size:10.5px;line-height:1.35;white-space:pre-line}.diagnostic-readout.active{border-color:#ffd65c6b;color:#dce7f4}#toolbar .tool-row-sep{display:none}#toolbar .tool-btn{flex-direction:column;justify-content:center;align-items:center;min-height:54px;width:100%;padding:6px 4px;gap:5px;border-radius:5px;background:linear-gradient(180deg,#232b33eb,#11171ef2);font-size:10.5px;line-height:1.15;text-align:center;white-space:normal;overflow-wrap:anywhere}#toolbar .tool-btn.has-sprite{min-height:74px}#toolbar .tool-sprite-frame{display:grid;place-items:center;width:52px;height:36px;margin:-1px 0 0;border-radius:4px;background:radial-gradient(circle at 50% 56%,rgba(123,167,217,.18),transparent 62%),#070c126b;box-shadow:inset 0 0 0 1px #7ba7d924;overflow:hidden}#toolbar .tool-sprite{display:block;image-rendering:auto;background-repeat:no-repeat}#toolbar .tool-btn.sprite-fallback .tool-sprite{display:grid;place-items:center;width:34px;height:24px;border:1px solid rgba(123,167,217,.42);border-radius:3px;background:linear-gradient(180deg,#243340f0,#0d151ef0);color:#d7e8ff;font-size:11px;font-weight:800;letter-spacing:0;line-height:1}#toolbar .tool-btn.sprite-missing .tool-sprite-frame{display:none}#toolbar .tool-btn.locked .tool-sprite-frame{opacity:.44;filter:grayscale(.45)}#toolbar .tool-btn.active .tool-sprite-frame{background:radial-gradient(circle at 50% 56%,rgba(110,219,143,.24),transparent 64%),#09141c7a;box-shadow:inset 0 0 0 1px #7ba7d957,0 0 12px #7ba7d924}#toolbar .utility-tool{border-color:#43576e;background:#23303eeb}#toolbar .overlay-toggle,#toolbar .diagnostic-toggle{min-height:44px;padding:7px 6px;font-weight:700}#toolbar .tool-key{min-width:22px;padding:2px 4px;border-radius:3px;font-size:9px}@media (max-width: 1100px){body{height:auto;overflow:auto}#app{height:auto;min-height:100vh;grid-template-columns:1fr;grid-template-rows:auto minmax(520px,70vh) auto}#topbar{grid-column:1;grid-row:1;grid-template-columns:1fr}#game-wrap{grid-column:1;grid-row:2}#panel{grid-column:1;grid-row:3}.left-stack,.floating-agent-panel,#bottom-dock{position:static;width:auto;margin:8px}.floating-agent-panel{max-height:none}#bottom-dock,.ops-modal-summary,.ops-modal-tabs,.ops-modal-traffic-grid{grid-template-columns:1fr}.ops-modal-section.wide{grid-column:auto}.ops-modal-card{height:min(760px,calc(100vh - 16px));max-height:calc(100vh - 16px)}.metric-list,.ops-detail-list{grid-template-columns:1fr}#toolbar .tool-row{grid-template-columns:repeat(4,minmax(0,1fr))}#hud-status{grid-template-columns:repeat(2,minmax(0,1fr))}}
