:root{color:#141414;--ink:#141414;--paper:#f6efdd;--panel:#ece3cb;--line:#2a2924;--red:#cf3f35;--blue:#2e66c9;--green:#3f9b61;--gold:#d7a226;background:#ded6bd;font-family:Trebuchet MS,Segoe UI,sans-serif}*{box-sizing:border-box}body{min-height:100vh;margin:0;overflow:hidden}.dev-error-modal{z-index:1000;background:#14141494;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.dev-error-modal[hidden]{display:none}.dev-error-dialog{background:#f6efdd;border:3px solid #141414;gap:14px;width:min(920px,100%);max-height:min(760px,100vh - 48px);padding:18px;display:grid;box-shadow:0 18px #14141447}.dev-error-header{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px;display:grid}.dev-error-header strong{font-size:22px}.dev-error-header button{min-height:34px;padding:0 12px}.dev-error-dialog pre{color:#fff7df;white-space:pre-wrap;background:#141414;border:2px solid #2a2924;max-height:min(620px,100vh - 160px);margin:0;padding:14px;font:13px/1.45 Consolas,Courier New,monospace;overflow:auto}body:not(.editor-mode) button,body:not(.editor-mode) input,body:not(.editor-mode) select,body:not(.editor-mode) output{font:inherit}body:not(.editor-mode) button{border:2px solid var(--line);background:var(--ink);color:#fff7df;cursor:pointer;min-height:40px}body:not(.editor-mode) button:disabled{cursor:not-allowed;opacity:.45}body:not(.editor-mode) input,body:not(.editor-mode) select{border:2px solid var(--line);background:var(--paper);width:100%;min-height:40px;padding:0 10px}body:not(.editor-mode) input:disabled{cursor:not-allowed;opacity:.5}#app{background-color:#ded6bd;background-image:linear-gradient(90deg,#1414140f 1px,#0000 1px),linear-gradient(0deg,#1414140f 1px,#0000 1px),none;background-position:0 0,0 0,0 0;background-repeat:repeat,repeat,repeat;background-size:32px 32px;background-attachment:scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box;grid-template-columns:320px minmax(0,1fr);height:100vh;display:grid}.panel{border-right:3px solid var(--line);background:var(--panel);flex-direction:column;gap:22px;min-height:0;padding:24px;display:flex;overflow-y:auto}.eyebrow{text-transform:uppercase;margin:0 0 6px;font-size:12px;font-weight:700}h1{margin:0;font-size:42px;line-height:.95}.lobby,.scoreboard,.orders,.commands,.upgrades,.options,.credits{gap:10px;display:grid}.lobby-actions{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:8px;display:grid}.lobby-actions button[hidden]{display:none}.match-option-row{background:#f6efdd99;border:2px solid #2a29246b;padding:8px}#status,.metric-row,.orders p,.credits p,.muted{margin:0;line-height:1.45}.metric-row{justify-content:space-between;gap:12px;font-size:13px;display:flex}.metric-row output{font-weight:700}.muted{opacity:.72}h2{margin:0;font-size:20px}#upgrades,#commands{gap:8px;display:grid}.factory-panel{border:2px solid var(--line);background:var(--paper);gap:6px;padding:8px;display:grid}.factory-header{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;font-size:13px;display:grid}.factory-header span,.factory-panel small,.factory-queue{font-size:12px;line-height:1.2}.factory-progress{border:2px solid var(--line);background:#1414141f;height:10px}.factory-progress div{background:var(--gold);height:100%}.factory-queue{flex-wrap:wrap;gap:4px;display:flex}.factory-queue span{background:#fff7dfb3;border:1px solid #2a292473;padding:2px 4px}.upgrade-row{border:2px solid var(--line);background:var(--paper);grid-template-columns:minmax(0,1fr) 76px;align-items:center;gap:8px;padding:8px;display:grid}.upgrade-row div{gap:2px;min-width:0;display:grid}.upgrade-row span,.upgrade-row small{font-size:12px;line-height:1.2}.upgrade-row span{font-weight:700}.upgrade-row small{opacity:.72}.upgrade-row button{min-width:0;min-height:34px;padding:0 6px}.command-card-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.command-card{border:2px solid var(--line);background:var(--ink);color:#fff7df;grid-template-rows:42px auto auto;place-items:center;gap:4px;min-width:0;min-height:94px;padding:7px 5px 6px;display:grid;position:relative}.command-card.disabled,.command-card:disabled{opacity:1;color:#fff7df;background:#8c8778}.command-icon{object-fit:contain;image-rendering:auto;background:#141414;border:1px solid #fff7dfcc;width:38px;height:38px}.command-icon-fallback{border:2px solid #fff7df;place-items:center;font-weight:700;display:grid}.command-hotkey{text-align:center;background:#14141473;border:1px solid #fff7dfbf;min-width:18px;padding:1px 3px;font-size:11px;line-height:1;position:absolute;top:4px;right:5px}.command-label{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:12px;font-weight:700;line-height:1.1;overflow:hidden}.command-card small{text-overflow:ellipsis;white-space:nowrap;opacity:.82;max-width:100%;font-size:10px;line-height:1.1;overflow:hidden}.upgrade-bank{margin:0;font-size:13px;line-height:1.3}.options{border-top:2px solid #2a292459;border-bottom:2px solid #2a292459;padding:12px 0}.options summary{cursor:pointer;font-weight:700}.credits{border-top:2px solid #2a292459;padding-top:12px}.credits summary{cursor:pointer;font-weight:700}.credits p{font-size:12px}.credits a{color:inherit;font-weight:700}.option-row{grid-template-columns:1fr auto;align-items:center;gap:8px 10px;padding-top:10px;display:grid}.option-row label{font-weight:700}.option-row output{text-align:right;min-width:3ch}.option-row input[type=range]{min-height:28px;accent-color:var(--ink);cursor:pointer;grid-column:1/-1;padding:0}.checkbox-row{align-items:center;gap:8px;padding-top:10px;font-weight:700;display:flex}.checkbox-row input{width:16px;height:16px;accent-color:var(--ink)}.profiler-output{gap:8px;margin-top:8px;font-size:11px;display:grid}.profiler-columns{flex-wrap:wrap;gap:8px 10px;margin-top:8px;font-size:11px;font-weight:700;display:flex}.profiler-columns label{align-items:center;gap:4px;display:inline-flex}.profiler-columns input{width:13px;height:13px;accent-color:var(--ink)}.profiler-summary{grid-template-columns:1fr 1fr;gap:4px 8px;display:grid}.profiler-output table{border-collapse:collapse;table-layout:fixed;width:100%}.profiler-output th,.profiler-output td{text-align:right;white-space:nowrap;border-top:1px solid #2a292447;padding:3px 4px}.profiler-output th:first-child,.profiler-output td:first-child{text-align:left;text-overflow:ellipsis;overflow:hidden}.profiler-sort{width:100%;color:inherit;font:inherit;text-align:inherit;cursor:pointer;background:0 0;border:0;padding:0;font-weight:800}.team-row{border:2px solid var(--line);background:var(--paper);grid-template-columns:16px 1fr auto;align-items:center;gap:8px;padding:8px;display:grid}.swatch{border:2px solid var(--line);width:16px;height:16px}.stage{min-width:0;min-height:0;padding:0;position:relative;overflow:hidden}canvas{border:3px solid var(--line);width:100%;height:100%;image-rendering:pixelated;background:#ded6bd;display:block;position:absolute;inset:0}.selection-overlay{pointer-events:none;max-height:352px;position:absolute;bottom:24px;left:24px;right:24px}.selection-overlay[hidden]{display:none}.selection-panel{border:3px solid var(--line);pointer-events:auto;background:#ece3cbf0;gap:10px;max-width:1180px;padding:12px;display:grid;box-shadow:0 8px #1414142e}.selection-header{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:12px;display:grid}.selection-header span{text-overflow:ellipsis;white-space:nowrap;opacity:.72;overflow:hidden}.selection-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px;display:grid;overflow-y:auto}.selection-card{border:2px solid var(--line);background:var(--paper);gap:4px;min-height:118px;padding:8px;display:grid}.selection-card-title{grid-template-columns:16px minmax(0,1fr) auto;align-items:center;gap:6px;font-size:13px;display:grid}.selection-card-title strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.selection-card small{opacity:.78;font-size:11px;line-height:1.2}.selection-health{border:2px solid var(--line);background:#14141429;height:8px}.selection-health div{background:#2fbf54;height:100%}.selection-more{place-items:center;min-height:118px;font-weight:700}@media (width<=820px){body{overflow:auto}#app{grid-template-columns:1fr;height:auto;min-height:100vh}.panel{border-right:0;border-bottom:3px solid var(--line);overflow:visible}.stage,canvas{min-height:70vh}}
