.workshop-shell{color:#dcebe6;background:#040806;height:100vh;padding:1rem 1.25rem 3rem;overflow:auto}.workshop-header{border-bottom:1px solid #1d493c;justify-content:space-between;align-items:end;gap:2rem;padding:.5rem 0 1rem;display:flex}.workshop-header h1{margin:.25rem 0;font-size:2.2rem}.workshop-header p{color:#789b8f;margin:0}.workshop-header .snapshot-note{color:#f0cf92;background:#171208;border-left:2px solid #f0b866;margin-top:.65rem;padding:.4rem .6rem}.budget{text-align:right;background:#08130f;border:1px solid #28604f;padding:.7rem 1rem;display:grid}.budget strong{color:#63e6ad}.budget span{color:#9bb9ae;font-size:.75rem}.budget.over strong,.budget.over span{color:#ff7979}.workshop-tabs{gap:.35rem;padding:.8rem 0;display:flex}.workshop-tabs button{padding:.6rem 1.2rem}.validation-banner{color:#ffb3b3;background:#251010;border:1px solid #8d3e3e;margin-bottom:.75rem;padding:.7rem}.workshop-overview{grid-template-columns:1fr 1fr 1fr;gap:.8rem;display:grid}.workshop-panel,.template-panel,.editor-panel,.directive-side,.catalog-slot{background:#07120f;border:1px solid #1d493c;padding:.9rem}.workshop-panel h2,.template-panel h2,.editor-panel h2,.directive-side h2,.catalog-slot h2{color:#e8f6f0;text-transform:uppercase;margin:0 0 .75rem;font-size:.85rem}.selected-parts,.derived dl{margin:0}.selected-parts div,.derived dl div{border-top:1px solid #102c24;justify-content:space-between;padding:.45rem 0;display:flex}.chassis-layout{grid-template-columns:minmax(0,1fr) 290px;gap:.8rem;display:grid}.catalog{grid-template-columns:repeat(2,minmax(280px,1fr));gap:.7rem;display:grid}.catalog-slot{min-width:0}.catalog-slot article{border-top:1px solid #17372e;padding:.65rem 0}.catalog-slot article.selected{border-left:2px solid #63e6ad;padding-left:.55rem}.catalog-slot article>div{justify-content:space-between;gap:.5rem;display:flex}.catalog-slot article span,.catalog-slot article small{color:#789b8f;font-size:.68rem}.catalog-slot article p{color:#abc5bb;margin:.35rem 0;font-size:.76rem}.catalog-slot article button{width:100%;margin-top:.45rem;padding:.4rem}.directive-layout{grid-template-columns:220px minmax(420px,1fr) 340px;gap:.8rem;min-height:660px;display:grid}.template-panel>button{width:50%;padding:.45rem}.template-panel>p{color:#9bb9ae;font-size:.78rem;line-height:1.45}.template-panel label{color:#bcd3ca;gap:.25rem;margin:.8rem 0;font-size:.72rem;display:grid}.template-panel input{color:#fff;background:#040b09;border:1px solid #315d50;padding:.4rem}.template-panel small{color:#789b8f}.editor-toolbar{justify-content:space-between;display:flex}.editor-toolbar span{color:#f0b866;font-size:.72rem}.code-editor{background:#020605;border:1px solid #20493c;grid-template-columns:42px minmax(0,1fr);height:560px;display:grid;overflow:hidden}.code-editor>pre{text-align:right;color:#486f61;-webkit-user-select:none;user-select:none;background:#06100d;margin:0;padding:.7rem .5rem;font:12px/1.45 ui-monospace,monospace;overflow:hidden}.syntax-editor{background:#020605;min-width:0;position:relative;overflow:hidden}.syntax-editor>pre,.syntax-editor textarea{box-sizing:border-box;letter-spacing:normal;tab-size:2;white-space:pre;border:0;width:100%;height:100%;margin:0;padding:.7rem;font:12px/1.45 ui-monospace,monospace}.syntax-editor>pre{pointer-events:none;color:#c9ddd5;background:0 0;min-width:max-content;position:absolute;inset:0;overflow:visible}.syntax-editor textarea{z-index:1;resize:none;color:#0000;caret-color:#dcebe6;background:0 0;outline:0;display:block;position:relative;overflow:auto}.syntax-editor textarea::selection{color:#0000;background:#5f9fd561}.directive-token-comment{color:#79b6aa}.directive-token-control{color:#f19a9a}.directive-token-type,.directive-token-number{color:#e8bd75}.directive-token-event,.directive-token-system{color:#8cc8ea}.directive-token-heading{color:#c7a6e7}.directive-token-identifier{color:#bdd6f0}.directive-token-operator{color:#98cbbb}.code-editor>pre span{display:block}.code-editor>pre .line-error{color:#ff7979}.code-editor>pre .line-warning{color:#f0b866}.suggestions{background:#081b15;border:1px solid #315d50;flex-wrap:wrap;gap:.3rem;padding:.5rem;display:flex}.suggestions button{padding:.35rem;font:11px ui-monospace,monospace}.directive-side{flex-direction:column;gap:.75rem;display:flex}.diagnostics{max-height:300px;overflow:auto}.diagnostics ol{padding-left:1.25rem}.diagnostics li{margin:.4rem 0;font-size:.7rem;line-height:1.4}.diagnostics li.error{color:#ff9b9b}.diagnostics li.warning{color:#f0c878}.command-reference{border-top:1px solid #1d493c;padding-top:.75rem}.command-reference p{color:#9bb9ae;font-size:.75rem}.command-reference button{margin:.15rem;padding:.3rem;font:10px ui-monospace,monospace}.ack{color:#f0c878;font-size:.72rem}.launch-button{color:#63e6ad;border-color:#63e6ad;margin-top:auto;padding:.8rem}.modal{z-index:20;background:#000000b8;place-items:center;display:grid;position:fixed;inset:0}.modal>div{background:#07120f;border:1px solid #63e6ad;max-width:420px;padding:1.25rem}.modal button{margin-right:.5rem;padding:.55rem}@media (width<=1050px){.workshop-overview,.chassis-layout,.directive-layout,.catalog{grid-template-columns:1fr}.code-editor{height:480px}}.diagnosis-shell{color:#dcebe6;background:#030705;min-height:100vh;padding:1rem 1.25rem 2rem}.diagnosis-header{border-bottom:1px solid #1d493c;justify-content:space-between;align-items:end;gap:1rem;padding:.3rem 0 1rem;display:flex}.diagnosis-header h1{margin:.2rem 0;font-size:2rem}.diagnosis-header p{color:#88a89d;margin:0}.diagnosis-header button,.diagnosis-tabs button,.replay-controls button,.version-actions button,.classifications button{padding:.5rem .7rem}.diagnosis-tabs{gap:.35rem;padding:.75rem 0;display:flex}.diagnosis-tabs button[aria-pressed=true]{color:#dffff1;background:#10352a;border-color:#63e6ad}.replay-controls{background:#07120f;border:1px solid #1d493c;grid-template-columns:auto minmax(240px,1fr) 55px auto;align-items:center;gap:.65rem;padding:.65rem;display:grid}.replay-controls>div:first-child{display:flex}.replay-controls label{color:#9ab9ae;align-items:center;gap:.5rem;display:flex}.replay-controls input{flex:1}.landmarks{flex-wrap:wrap;gap:.25rem;display:flex}.landmarks button{padding:.35rem;font-size:.68rem}.replay-event{color:#a9c8bd;border:1px solid #17372e;border-top:0;gap:1rem;padding:.5rem .7rem;display:flex}.diagnosis-grid{grid-template-columns:1.25fr 1fr 1fr;gap:.75rem;margin-top:.75rem;display:grid}.diagnosis-panel,.aar,.versions{background:#07120f;border:1px solid #1d493c;padding:.9rem}.diagnosis-panel h2,.aar h2,.versions h2{text-transform:uppercase;margin:.1rem 0 .7rem;font-size:.9rem}.diagnosis-panel h3{color:#9fd7c4;font-size:.78rem}.diagnosis-panel dl{margin:0}.diagnosis-panel dl div{border-top:1px solid #102c24;grid-template-columns:130px 1fr;padding:.35rem 0;display:grid}.diagnosis-panel dt{color:#789b8f;text-transform:uppercase;font-size:.68rem}.diagnosis-panel dd{margin:0}.diagnosis-panel pre{color:#8ff0ca;background:#020605;max-height:150px;padding:.55rem;overflow:auto}.diagnosis-panel article{border-top:1px solid #17372e;flex-direction:column;padding:.55rem 0;display:flex}.diagnosis-panel article span,.diagnosis-panel article small,.scope-note{color:#86a99c}.knowledge{border-color:#8b6b2d}.knowledge h2{color:#f0c878}.aar header,.versions header{justify-content:space-between;align-items:center;display:flex}.outcome{border:1px solid;padding:.5rem}.outcome-won{color:#63e6ad}.outcome-lost{color:#ff7979}.outcome-draw{color:#f0c878}.aar-stats{grid-template-columns:repeat(4,1fr);gap:.55rem;margin:0 0 1rem;display:grid}.aar-stats div{border:1px solid #17372e;padding:.6rem}.aar-stats dt{text-transform:uppercase;color:#789b8f;font-size:.67rem}.aar-stats dd{margin:.25rem 0 0}.classifications{grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem;display:grid}.classifications>h3{grid-column:1/-1}.classifications article{background:#100e07;border:1px solid #3c3520;padding:.75rem}.classifications h4{color:#f0c878;margin:0}.classifications p{color:#b9ccc5;font-size:.78rem}.classifications button{margin:.15rem;font-size:.68rem}.versions>label{align-items:center;gap:.5rem;display:flex}.versions select{min-width:280px}.version-actions{gap:.5rem;margin:.75rem 0;display:flex}.comparison-grid{grid-template-columns:repeat(3,1fr);gap:.65rem;display:grid}.comparison-grid section{border:1px solid #17372e;padding:.75rem}.comparison-grid h3{text-transform:uppercase;margin:0 0 .5rem;font-size:.8rem}.comparison-grid p,.comparison-grid li{font-size:.78rem}@media (width<=1000px){.replay-controls,.diagnosis-grid,.aar-stats,.comparison-grid,.classifications{grid-template-columns:1fr}.diagnosis-header{align-items:start}.landmarks{justify-content:start}}.command-shell{color:#dcebe6;background:radial-gradient(circle at 40% 0,#102a22,#040806 58%);min-height:100vh;padding:1rem 1.25rem 2rem}.command-header{border-bottom:1px solid #1d493c;justify-content:space-between;align-items:end;gap:1rem;padding-bottom:1rem;display:flex}.command-header h1{margin:.2rem 0;font-size:2.1rem}.command-header p{color:#789b8f;margin:0}.command-head-actions{align-items:end;gap:.5rem;display:flex}.command-head-actions label{color:#789b8f;text-transform:uppercase;gap:.25rem;font-size:.7rem;display:grid}.command-head-actions button,.command-summary button{padding:.55rem .75rem}.command-summary{grid-template-columns:repeat(3,1fr) auto;gap:.6rem;padding:.75rem 0;display:grid}.command-summary>div{background:#07120f;border:1px solid #1d493c;padding:.6rem;display:grid}.command-summary span{color:#789b8f;text-transform:uppercase;font-size:.65rem}.command-grid{grid-template-columns:minmax(260px,340px) minmax(420px,1fr) minmax(220px,280px);gap:.75rem;display:grid}.mission-board,.briefing,.rewards{background:#07120f;border:1px solid #1d493c;min-width:0}.mission-board{max-height:calc(100vh - 180px);padding:.65rem;overflow:auto}.mission-board h2,.rewards h2{color:#63e6ad;letter-spacing:.1em;text-transform:uppercase;margin:.35rem .4rem;font-size:.72rem}.mission-board button{text-align:left;border:0;border-bottom:1px solid #15372d;grid-template-columns:auto 1fr auto;align-items:center;gap:.55rem;width:100%;padding:.55rem;display:grid}.mission-board button[aria-current=page]{background:#113329;border-left:2px solid #63e6ad}.mission-board button[aria-disabled=true]{opacity:.5}.mission-board button>span:nth-child(2){display:grid}.mission-board small,.mission-board em{color:#789b8f;font-size:.62rem;font-style:normal}.briefing{padding:1rem}.briefing h2{font-size:1.35rem}.briefing>p{color:#b3ccc2;line-height:1.55}.briefing dl{margin:1rem 0}.briefing dl div{border-top:1px solid #15372d;grid-template-columns:90px 1fr;gap:1rem;padding:.5rem;display:grid}.briefing dd{text-align:left}.mission-hints{background:#061513;border-left:2px solid #5ce1e6;margin:.7rem 0;padding:.6rem}.mission-hints h3{color:#5ce1e6;text-transform:uppercase;margin:0 0 .35rem;font-size:.7rem}.mission-hints p{color:#9fbbb1;margin:.25rem 0;font-size:.7rem;line-height:1.4}.command-primary{color:#63e6ad;border-color:#63e6ad;padding:.75rem 1rem}.locked-explanation{background:#171208;border-left:2px solid #f0b866;padding:.7rem}.rewards{padding:.7rem}.rewards ul{color:#b3ccc2;padding-left:1.25rem;line-height:1.7}.rewards p{color:#9eb7ae;font-size:.78rem;line-height:1.5}.evaluation{background:#170b0b;border:1px solid #a44848;margin-top:1rem;padding:.75rem}.evaluation.pass{background:#081b15;border-color:#63e6ad}.evaluation h3{margin:0}.evaluation ol{padding:0;list-style:none}.evaluation li{border-top:1px solid #24463b;grid-template-columns:80px 1fr auto auto;align-items:center;gap:.5rem;padding:.4rem;font-size:.7rem;display:grid}.evaluation li button{padding:.3rem}.evaluation li strong{color:#dcebe6}@media (width<=1000px){.command-grid{grid-template-columns:1fr}.mission-board{max-height:380px}.command-summary{grid-template-columns:1fr 1fr}.command-header{align-items:start}.command-head-actions{flex-wrap:wrap}}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark only;color:#dcebe6;font-synthesis:none;text-rendering:optimizelegibility;--green:#63e6ad;--cyan:#5ce1e6;--amber:#f0b866;--red:#ff7979;--panel:#07120ff5;--line:#1d493c;--muted:#789b8f;background:#040806;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0;overflow-x:hidden}button,input,select{font:inherit}button{color:inherit;cursor:pointer;background:#0a1b16;border:1px solid #2b5a4c}button:hover:not(:disabled),button[aria-pressed=true]{border-color:var(--green);color:#f4fff9;background:#113329}button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--cyan);outline-offset:2px}button:disabled{opacity:.36;cursor:not-allowed}.app-shell{background:linear-gradient(#0c1f1980 1px,#0000 1px) 0 0/32px 32px,linear-gradient(90deg,#0c1f1980 1px,#0000 1px) 0 0/32px 32px,radial-gradient(circle at 52% 15%,#102a22 0,#040806 56%);grid-template-rows:auto minmax(360px,1fr) auto minmax(96px,22vh);height:100vh;min-height:600px;display:grid;overflow:hidden}.topbar{border-bottom:1px solid var(--line);background:#030a08f5;grid-template-columns:minmax(170px,1fr) auto auto auto auto auto auto minmax(260px,auto) auto;align-items:center;gap:.5rem;min-height:64px;padding:.55rem clamp(.8rem,2vw,2rem);display:grid}.workshop-link,.diagnosis-link,.data-link,.command-link,.demo-link{color:#63e6ad;text-transform:uppercase;letter-spacing:.08em;border-color:#63e6ad;padding:.45rem .7rem;font-size:.68rem}.diagnosis-link{color:#f0b866;border-color:#f0b866}.data-link{color:#5ce1e6;border-color:#5ce1e6}.command-link{color:#cbb8ff;border-color:#cbb8ff}.brand{color:#effcf6;letter-spacing:.04em;align-items:center;gap:.7rem;text-decoration:none;display:flex}.brand>span:last-child{display:grid}.brand small,.scenario span,.kicker{color:var(--green);letter-spacing:.15em;text-transform:uppercase;font-size:.62rem}.brand-mark{object-fit:contain;border-radius:4px;width:2.25rem;height:2.25rem;display:block}.scenario{display:grid}.scenario strong{font-size:.82rem}.seed-control{grid-template-columns:auto 9rem auto;align-items:center;gap:.35rem;display:grid;position:relative}.seed-control label{color:var(--muted);text-transform:uppercase;font-size:.72rem}.seed-control input,select{color:#effcf6;background:#050d0b;border:1px solid #315d50;min-width:0;padding:.45rem .55rem}.seed-control button{padding:.45rem .7rem}.seed-control [role=alert],.not-applied{z-index:3;color:#ff9b9b;background:#170b0b;padding:.2rem .4rem;font-size:.66rem;position:absolute;top:calc(100% + 3px);left:2.4rem}.not-applied{color:var(--amber);background:#191408}.run-status{color:var(--green);letter-spacing:.1em;text-transform:uppercase;white-space:nowrap;border:1px solid;justify-self:end;align-items:center;gap:.5rem;padding:.45rem .7rem;font-size:.68rem;display:flex}.run-status>span{clip-path:polygon(50% 0,100% 30%,80% 100%,20% 100%,0 30%);background:currentColor;width:.55rem;height:.55rem}.status-running{color:var(--cyan)}.status-paused{color:var(--amber)}.status-lost{color:var(--red)}.status-won{color:var(--green)}.status-draw{color:#cbb8ff}.viewer-grid{grid-template-columns:minmax(200px,245px) 1fr minmax(100px,.5fr);gap:.65rem;min-width:0;padding:.65rem;display:grid;overflow:hidden}.left-rail{flex-direction:column;gap:.65rem;min-height:0;display:flex;overflow-y:auto}.left-rail>.panel{flex:none}.left-rail>.selected-panel{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.left-rail>.selected-panel>.directive-code-panel{border:none;flex:1;min-height:0;margin-top:0}.debug-panel-body{flex-direction:column;flex:1;min-height:0;display:flex;overflow:auto}.debug-panel-body>.directive-code-panel{border:none;flex:1;min-height:0;margin-top:0}.debug-panel-body .code-source-area{overflow:auto}.selected-panel{flex-direction:column;display:flex;overflow:hidden}.panel{border:1px solid var(--line);background:var(--panel);min-width:0}.panel-heading{min-height:48px;color:var(--muted);text-transform:uppercase;border-bottom:1px solid #173b31;justify-content:space-between;align-items:center;gap:.6rem;padding:.65rem .8rem;font-size:.7rem;display:flex}.collapsible-heading{min-height:44px}.panel-collapse{width:1.75rem;height:1.75rem;color:var(--green);cursor:pointer;background:0 0;border:1px solid #2b5a4c;flex:none;padding:0;font-size:1.1rem;line-height:1}.panel-collapse:hover{border-color:var(--green);color:#f4fff9;background:#113329}.collapsible-panel.is-closed{min-height:46px}.collapsible-panel.is-closed .panel-heading,.collapsible-panel.is-closed .panel-heading-compact{border-bottom:0}.panel-heading-compact{min-height:0;color:var(--muted);text-transform:uppercase;border-bottom:1px solid #173b31;align-items:center;gap:.4rem;padding:.15rem .5rem;font-size:.62rem;display:flex}.panel-heading-compact h2{letter-spacing:.04em;color:#e8f6f0;margin:0;font-size:.7rem}h2{color:#e8f6f0;letter-spacing:.05em;text-transform:uppercase;margin:.14rem 0 0;font-size:.92rem}.objective>p{color:#b7cec5;margin:.8rem;font-size:.82rem;line-height:1.45}.objective .run-build{color:#dff8ed;background:#081b15;border-left:2px solid #63e6ad;padding:.55rem .65rem}.run-build small{color:#789b8f}.objective dl,.telemetry-grid{margin:0;display:grid}.objective dl div,.telemetry-grid>div{border-top:1px solid #102c24;justify-content:space-between;gap:1rem;padding:.5rem .8rem;display:flex}dt{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:.66rem}dd{text-align:right;margin:0;font-size:.74rem}.roster button{text-align:left;border:0;border-bottom:1px solid #17372e;grid-template-columns:auto 1fr auto;align-items:center;gap:.55rem;width:100%;padding:.75rem;display:grid}.roster button>span{display:grid}.roster button>span:last-child{text-align:right}.roster small{color:var(--muted);font-size:.62rem}.roster b{color:var(--green);text-transform:uppercase;font-size:.65rem}.affiliation-dot{background:var(--cyan);border-radius:50%;width:.6rem;height:.6rem}.affiliation-dot.opponent{background:var(--amber)}.battlefield-panel{grid-template-rows:1fr;min-height:0;display:grid;overflow:hidden}.battlefield-frame{background:radial-gradient(circle at 45% 55%,#0c1c16 0%,#030706 75%);grid-template-rows:1fr;grid-template-columns:1fr;place-items:center;min-height:0;padding:0;display:grid;position:relative;overflow:hidden}.battlefield-frame canvas{background-color:#030706;width:100%;height:100%;min-height:0;display:block}.pixi-canvas-container{width:100%;height:100%;min-height:0}.terrain-wall{fill:#13241e;stroke:#1c3a30;stroke-width:1px}.terrain-cover{fill:#181f12;stroke:#6b5e38;stroke-width:1.5px}.terrain-wreck{fill:#2a1c1c}.terrain-rough{fill:#172015;stroke:#526343;stroke-width:1px;stroke-dasharray:3 2}.terrain-shallowWater{fill:#102a30;stroke:#347384;stroke-width:1px}.terrain-deepWater{fill:#071b28;stroke:#1d5268;stroke-width:1.5px}.sensor-cone{fill:#5ce1e60f;stroke:#5ce1e640;stroke-dasharray:3 5}.tank-control{cursor:pointer}.tank-control:focus-visible .unit-body{stroke:#fff;stroke-width:3.5px}.tank-track{fill:#0a4a34;stroke:#7cf0c4;stroke-width:1px}.unit-glyph.opponent .tank-track{fill:#6e4317;stroke:#f5c542}.unit-body{fill:#17b37a;stroke:#7cf0c4;stroke-width:2.5px;filter:drop-shadow(0 0 6px #17b37a73)}.unit-glyph.opponent .unit-body{fill:#cc8530;stroke:#f5c542;stroke-width:2.5px;stroke-dasharray:3 2;filter:drop-shadow(0 0 6px #cc853073)}.tank-turret{fill:#b5ffe2;stroke:#073326;stroke-width:1.5px}.unit-glyph.opponent .tank-turret{fill:#ffe08a;stroke:#50300c}.unit-letter{fill:#04120c;text-anchor:middle;pointer-events:none;font-size:11px;font-weight:900}.unit-map-label{fill:#bfffe5;text-anchor:middle;letter-spacing:.8px;paint-order:stroke;stroke:#020604;stroke-width:3px;pointer-events:none;font-size:7px;font-weight:800}.unit-glyph.opponent .unit-map-label{fill:#ffe09a}.body-facing{fill:#fffbee;stroke:#04120c;stroke-width:1.5px;pointer-events:none;filter:drop-shadow(0 0 3px #fffbee66)}.scanner-facing line{stroke:#7cf0c4;stroke-width:2px;stroke-dasharray:4 3}.scanner-facing rect{fill:#04120c;stroke:#7cf0c4;stroke-width:2px}.unit-glyph.opponent .scanner-facing line,.unit-glyph.opponent .scanner-facing rect{stroke:#f5c542}.selection-mark{fill:none;stroke:#f9f7d0;stroke-width:2px;pointer-events:none;filter:drop-shadow(0 0 5px #f9f7d080)}.selection-mark text{fill:#f9f7d0;stroke:none;text-anchor:middle;letter-spacing:1.5px;font-size:7px}.action-ring{fill:none;stroke:#63e6ad;stroke-width:1.5px;stroke-dasharray:4 4;transform-box:fill-box;transform-origin:50%;pointer-events:none;animation:2s linear infinite action-ring-spin}.unit-glyph.opponent .action-ring{stroke:#f5c542}.action-move .unit-body,.action-turnBody .unit-body,.action-turnScanner .unit-body{animation:.8s ease-in-out infinite alternate machine-active-pulse}.destroyed .unit-body{fill:#2c1a18;stroke:#7a4f48;stroke-width:2px;filter:drop-shadow(0 0 4px #7a4f484d)}.destroyed-mark{fill:#ff6b6b;text-anchor:middle;font-size:26px;font-weight:700}.projectile{stroke:#ffe066;stroke-width:3px;filter:drop-shadow(0 0 6px #ffe066b3)}.projectile-core{fill:#fffbe6;filter:drop-shadow(0 0 4px #fff9)}@keyframes action-ring-spin{to{transform:rotate(360deg)}}@keyframes machine-active-pulse{to{filter:drop-shadow(0 0 10px)}}@media (prefers-reduced-motion:reduce){.action-ring,.action-move .unit-body,.action-turnBody .unit-body,.action-turnScanner .unit-body{animation:none}}.battlefield-legend{color:var(--muted);flex-wrap:wrap;gap:.8rem;font-size:.62rem;display:flex;position:absolute;bottom:.45rem;left:.8rem}.legend-wall{color:#889a95}.legend-cover{color:var(--amber)}.result-banner{z-index:2;color:var(--green);letter-spacing:.12em;background:#040908ed;border:1px solid;padding:.5rem 1.2rem;font-weight:800;position:absolute;top:.7rem;left:50%;transform:translate(-50%)}.result-lost{color:var(--red)}.result-draw{color:#cbb8ff}.telemetry{min-width:0}.unit-nav{gap:.25rem;display:flex}.unit-nav button{width:1.8rem;height:1.8rem}.zoom-label{color:var(--muted);text-transform:uppercase;white-space:nowrap;align-items:center;gap:.3rem;font-size:.66rem;display:flex}.zoom-label select{color:#effcf6;background:#050d0b;border:1px solid #315d50;padding:.2rem .35rem;font-size:.7rem}.compact-telemetry{align-self:start;overflow:visible}.telemetry-icon-grid{background:#14362d;border-top:1px solid #14362d;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;display:grid}.telemetry-token{color:#a9c9be;cursor:help;background:#07130f;grid-template-columns:20px minmax(0,1fr);align-items:center;gap:.38rem;min-height:51px;padding:.42rem .45rem;display:grid}.telemetry-token:hover{color:#effcf6;background:#10251d}.telemetry-token b{color:#dff8ed;white-space:nowrap;font:700 .7rem ui-monospace,SFMono-Regular,Menlo,monospace}.telemetry-glyph{width:18px;height:18px;color:var(--cyan)}.telemetry-token:nth-child(2) .telemetry-glyph,.telemetry-token:nth-child(5) .telemetry-glyph{color:var(--green)}.telemetry-token:nth-child(6) .telemetry-glyph{color:#cbb8ff}.telemetry-token:nth-child(9) .telemetry-glyph{color:var(--amber)}.damage-status{background:#06100d;border-top:1px solid #1d493c;margin-top:.65rem}.damage-status-heading{text-transform:uppercase;border-bottom:1px solid #173b31;justify-content:space-between;align-items:baseline;padding:.65rem .8rem .5rem;display:flex}.damage-status-heading span{color:#e8f6f0;letter-spacing:.1em;font-size:.72rem}.damage-status-heading small{color:var(--muted);letter-spacing:.12em;font-size:.6rem}.damage-status-grid{background:#14362d;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;display:grid}.damage-status-item{color:#b8d1c7;text-transform:uppercase;letter-spacing:.05em;background:#07130f;grid-template-columns:21px minmax(0,1fr) auto;align-items:center;gap:.45rem;min-height:58px;padding:.55rem .6rem;font-size:.7rem;display:grid}.damage-status-item .telemetry-glyph{color:#8cc8ea;width:20px;height:20px}.damage-status-item:first-child{border-left:2px solid var(--green);grid-column:1/-1}.damage-status-item:first-child .telemetry-glyph{color:var(--green)}.integrity-oval{text-align:center;letter-spacing:0;border:1px solid;border-radius:999px;min-width:3.55rem;padding:.28rem .48rem;font:700 .76rem ui-monospace,SFMono-Regular,Menlo,monospace}.integrity-green{color:#78dca5;background:#123525}.integrity-yellow{color:#f2cf71;background:#332a10}.integrity-orange{color:#f0a15f;background:#38200f}.integrity-red{color:#f38a8a;background:#351619}.left-rail{transition:width .2s,min-width .2s,padding .2s;overflow:hidden}.left-rail.collapsed{border:0;overflow:hidden;width:0!important;min-width:0!important;padding:0!important}.rail-toggle{z-index:3;color:#789b8f;cursor:pointer;background:#07130f;border-color:#315d50;align-self:start;margin-left:-2.25rem;padding:.4rem .35rem;font-size:.55rem;position:relative}.directive-code-panel{background:#07120f;border:1px solid #1d493c;flex-direction:column;min-height:180px;margin-top:.65rem;font-size:.72rem;display:flex}.telemetry-bar{flex-direction:column;font-size:.72rem;display:flex}.telemetry-bar-inner{background:#14362d;grid-template-columns:1fr 1fr;gap:1px;display:grid}.telemetry-bar-inner .telemetry-token{cursor:help;white-space:nowrap;background:#07130f;align-items:center;gap:.3rem;min-height:0;padding:.3rem .45rem;display:flex}.telemetry-bar-inner .telemetry-token b{color:#dff8ed;font:600 .68rem ui-monospace,monospace}.telemetry-bar-inner .telemetry-glyph{width:15px;height:15px;color:var(--cyan)}.telemetry-bar .damage-status{background:0 0;border:0;margin:0;padding:0}.telemetry-bar .damage-status-grid{background:#14362d;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;display:grid}.telemetry-bar .damage-status-item{color:#aec7bb;background:#07130f;align-items:center;gap:.25rem;min-height:0;padding:.2rem .35rem;font-size:.6rem;display:flex}.telemetry-bar .damage-status-item .telemetry-glyph{width:14px;height:14px}.telemetry-bar .damage-status-item:first-child{border-left:0;grid-column:auto}.telemetry-bar .integrity-oval{border-width:1px;min-width:2.2rem;padding:.12rem .24rem;font-size:.6rem}.unit-nav-bar{gap:.15rem;margin-left:auto;display:flex}.unit-nav-bar button{border-color:#315d50;width:1.5rem;height:1.5rem;padding:0;font-size:.65rem}.directive-code-panel{background:#07120f;border:1px solid #1d493c;flex-direction:column;min-height:180px;font-size:.72rem;display:flex}.code-toolbar{background:#05120d;border-bottom:1px solid #173b31;justify-content:space-between;align-items:center;padding:.4rem .65rem;display:flex}.code-tabs{gap:.3rem;display:flex}.code-tab{color:#789b8f;text-transform:uppercase;letter-spacing:.06em;cursor:pointer;background:0 0;border:1px solid #0000;padding:.25rem .6rem;font-size:.65rem}.code-tab.active{color:#dff8ed;background:#07120f;border-color:#1d493c}.code-panel-header{align-items:center;gap:.5rem;display:flex}.cycle-chip{color:#c7bc9b;border:1px solid #315d50;padding:.15rem .5rem;font-size:.62rem}.code-main{flex-direction:column;flex:1;min-height:0;display:flex}.code-source-area{flex:1;grid-template-columns:32px minmax(0,1fr);display:grid;overflow:hidden}.code-line-numbers{text-align:right;color:#3c6d5d;-webkit-user-select:none;user-select:none;background:#07120f;padding:.5rem .15rem;font:11px/1.6 ui-monospace,monospace;overflow-y:hidden}.code-line-numbers .sn{min-height:1.6em;display:block}.code-line-numbers .sn.code-sn{color:#4ecca3;background:#0a2418}.code-line-numbers .sn.code-sn-last{color:#78dca5;background:#0f3322}.code-tokens{white-space:pre;background:#030906;padding:0;overflow:auto}.code-line{border-bottom:1px solid #0d1e18;grid-template-columns:minmax(0,max-content);min-height:1.6em;padding:0 .35rem;font:11px/1.6 ui-monospace,monospace;display:grid}.code-line pre{white-space:pre;margin:0}.code-line.directive-line-hit{background:#0a2418;border-left:3px solid #4ecca3}.code-line.directive-line-last{background:#0f3322;border-left:3px solid #78dca5;box-shadow:inset 0 0 12px #78dca514}.trace-hover{flex-wrap:wrap;gap:.2rem;padding:.1rem 0 .1rem .3rem;font-size:.6rem;line-height:1.3;display:flex}.trace-summary{flex-wrap:wrap;align-items:center;gap:.2rem;display:inline-flex}.condition-badge{border-radius:2px;padding:0 .25rem;font-weight:700}.condition-badge.true{color:#78dca5;background:#0f241a}.condition-badge.false{color:#f38a8a;background:#2a1215}.write-badge{color:#bdd6f0;background:#0e1a30;border-radius:2px;padding:0 .2rem}.reads-text{color:#6a9f8d;font-style:italic}.code-world-state{background:#06100d;flex:1;padding:.65rem .7rem;overflow-y:auto}.code-world-state h3{color:#c9ddd5;text-transform:uppercase;letter-spacing:.12em;margin:0 0 .55rem;font-size:.68rem}.code-world-state h4{color:#789b8f;text-transform:uppercase;letter-spacing:.1em;margin:0 0 .2rem;font-size:.6rem}.ws-grid{flex-direction:column;gap:.5rem;display:flex}.ws-section{border-bottom:1px solid #102c24;padding-bottom:.35rem}.ws-section:last-child{border-bottom:none}.ws-section dl{grid-template-columns:auto 1fr;gap:0 .35rem;margin:0;font-size:.62rem;display:grid}.ws-section dt{color:#4d7869;text-transform:uppercase;font-size:.6rem}.ws-section dd{text-align:right;color:#b7cfc5;font-variant-numeric:tabular-nums;margin:0}.ws-section dd.good{color:#78dca5}.ws-section dd.bad{color:#f38a8a}.saturation-note{color:#f0a15f;background:#1a0a0a;border:1px solid #8d3e3e;margin-top:.5rem;padding:.35rem;font-size:.6rem;line-height:1.35}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.playback-strip{border-block:1px solid var(--line);background:#040c09fa;align-items:center;gap:clamp(.5rem,1.5vw,1.3rem);padding:.55rem .75rem;display:flex;overflow-x:auto}.transport,.segmented,.overlay-controls{flex:none;display:flex}.transport button,.segmented button,.overlay-controls button{min-height:36px;padding:.42rem .65rem}.transport .primary{border-color:var(--green);min-width:88px;color:var(--green)}.cycle-readout{flex:none;grid-template-columns:auto auto;align-items:baseline;column-gap:.45rem;display:grid}.cycle-readout span,.cycle-readout small{color:var(--muted);text-transform:uppercase;font-size:.62rem}.cycle-readout strong{font-variant-numeric:tabular-nums;color:var(--cyan)}.cycle-readout small{grid-column:1/-1}.event-log{background:#040b09;min-height:0;overflow:hidden}.event-toolbar{border-bottom:1px solid var(--line);align-items:center;gap:1rem;padding:.5rem .75rem;display:flex}.event-toolbar>div:first-child{margin-right:auto}.event-toolbar h2 small{color:var(--muted)}.event-toolbar label{color:var(--muted);text-transform:uppercase;align-items:center;gap:.45rem;font-size:.66rem;display:flex}.event-toolbar select,.event-toolbar button{padding:.35rem .5rem;font-size:.7rem}.event-log ol{height:calc(100% - 52px);margin:0;padding:0;list-style:none;overflow-y:auto}.event-log li{border-bottom:1px solid #0f251f;grid-template-columns:82px 100px 80px minmax(0,1fr) auto;align-items:center;gap:.6rem;min-height:31px;padding:.35rem .75rem;font-size:.68rem;display:grid}.event-log .source-link{color:var(--amber);white-space:nowrap;padding:.25rem .4rem;font-size:.6rem}.event-log time{color:var(--muted);font-variant-numeric:tabular-nums}.event-log p{color:#b7ccc4;margin:0}.category{color:var(--cyan);letter-spacing:.06em;text-transform:uppercase;font-size:.6rem}.category-warning,.category-damage{color:var(--red)}.category-objective{color:var(--green)}.category-movement{color:var(--amber)}.event-log .empty-event{color:var(--muted);padding:1rem;display:block}.data-modal{z-index:20;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#000403d1;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.data-modal>section{border:1px solid var(--line);background:#07120f;width:min(680px,100%);max-height:90vh;padding:1rem;overflow:auto;box-shadow:0 24px 80px #000}.data-modal header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding-bottom:.75rem;display:flex}.data-modal p{color:#abc7bd;line-height:1.5}.data-modal label{color:var(--muted);text-transform:uppercase;gap:.4rem;font-size:.72rem;display:grid}.data-modal textarea{resize:vertical;color:#dff8ed;text-transform:none;background:#030806;border:1px solid #315d50;min-height:220px;padding:.75rem;font:12px/1.45 ui-monospace,monospace}.data-actions{flex-wrap:wrap;gap:.5rem;margin:.8rem 0;display:flex}.data-actions button,.import-preview button{padding:.55rem .7rem}.data-actions .danger{border-color:var(--red);color:var(--red)}.import-preview{border-left:2px solid var(--green);background:#0a1b16;gap:.4rem;margin-top:.8rem;padding:.75rem;display:grid}.import-preview span{color:var(--muted);font-size:.72rem}.import-preview button{justify-self:start}.data-toast{z-index:25;border:1px solid var(--green);color:#dff8ed;background:#07120f;padding:.7rem 1rem;position:fixed;bottom:1rem;right:1rem}.orientation-coach{z-index:12;background:#090713;border:1px solid #cbb8ff;align-items:center;gap:.55rem;padding:.65rem .75rem;font-size:.7rem;display:flex;position:fixed;bottom:1rem;right:1rem;box-shadow:0 10px 40px #000}.orientation-coach strong{color:#cbb8ff}.orientation-coach span{color:#b9d0c7}.orientation-coach button{padding:.4rem}@media (width<=1100px){.topbar{grid-template-columns:1fr auto}.scenario,.seed-control{grid-row:2}.run-status{grid-area:1/2}.viewer-grid{grid-template-columns:210px minmax(450px,1fr);overflow-x:auto}.telemetry{grid-column:1/-1;max-height:240px}.app-shell{grid-template-rows:auto auto auto minmax(150px,22vh)}}@media (width<=720px){.topbar{flex-wrap:wrap;display:flex}.scenario{display:none}.seed-control{order:3;width:100%}.viewer-grid{flex-direction:column;display:flex;overflow:visible}.left-rail{grid-template-columns:1fr}.pixi-canvas-container{min-height:0}.playback-strip{z-index:5;position:sticky;bottom:0}.event-toolbar{flex-wrap:wrap}.event-log li{grid-template-columns:72px 1fr}.event-log li p{grid-column:1/-1}}.landing-shell{color:#dcebe6;background:#040806;min-height:100vh}.landing-header{background:#030a08f5;border-bottom:1px solid #1d493c;justify-content:space-between;align-items:center;gap:1rem;padding:.8rem clamp(1rem,3vw,3rem);display:flex}.landing-brand{color:#effcf6;align-items:center;gap:.7rem;text-decoration:none;display:flex}.landing-brand b{font-size:1.1rem}.landing-brand-mark{object-fit:contain;border-radius:4px;width:2.25rem;height:2.25rem;display:block}.landing-brand small{color:#63e6ad;letter-spacing:.15em;text-transform:uppercase;font-size:.62rem;display:block}.landing-header nav{gap:.5rem;display:flex}.landing-btn{color:#dcebe6;cursor:pointer;font:inherit;background:#0a1b16;border:1px solid #2b5a4c;padding:.55rem 1.1rem;font-size:.85rem;text-decoration:none;display:inline-block}.landing-btn-primary{color:#63e6ad;border-color:#63e6ad}.landing-btn:hover{color:#f4fff9;background:#113329;border-color:#63e6ad}.landing-hero{text-align:center;max-width:680px;margin:0 auto;padding:4rem 1.5rem 3rem}.landing-hero h1{letter-spacing:-.03em;color:#effcf6;margin:0 0 .7rem;font-size:2.6rem;font-weight:800}.landing-hero p{color:#b7cec5;max-width:520px;margin:0 auto 1.5rem;font-size:1.05rem;line-height:1.6}.landing-hero-actions{flex-wrap:wrap;justify-content:center;gap:.7rem;display:flex}.landing-guest-result{background:#0a1b16;border:1px solid #5ce1e6;margin-top:1.2rem;padding:.6rem 1rem;font-size:.82rem}.landing-features{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem;max-width:900px;margin:0 auto;padding:0 1.5rem 3rem;display:grid}.landing-feature-card{background:#07120f;border:1px solid #1d493c;padding:1.5rem}.landing-feature-icon{margin-bottom:.5rem;font-size:1.6rem;display:block}.landing-feature-card h2{color:#effcf6;margin:0 0 .4rem;font-size:1rem}.landing-feature-card p{color:#88a89d;margin:0;font-size:.85rem;line-height:1.5}.landing-cta{text-align:center;padding:2.5rem 1.5rem 3rem}.landing-cta h2{font-size:1.7rem}.landing-cta p{color:#b7cec5;margin-bottom:1.2rem}.landing-footer{text-align:center;color:#5a7d71;border-top:1px solid #1d493c;padding:1.5rem;font-size:.76rem}
