.league-subnav{flex-wrap:wrap;gap:10px;margin-bottom:16px;display:flex}.league-subnav button{background:var(--bg-input);color:var(--text-secondary);border:1px solid var(--border-control);font:var(--font-size-body)/var(--line-height-ui) var(--font-ui);cursor:pointer;padding:12px 16px}.league-subnav button:hover,.league-subnav button:focus-visible{border-color:var(--accent);color:var(--text-primary)}.league-subnav button.active{background:var(--bg-active);border-color:var(--accent);color:var(--text-primary);box-shadow:inset 0 -3px var(--accent)}.league-subnav button.locked,.league-subnav button.locked.active{background:var(--bg-panel);color:var(--text-secondary);border-color:var(--border-control);box-shadow:none;border-style:dashed}.game-shell .league-subnav button.locked:hover,.game-shell .league-subnav button.locked:focus-visible{background:var(--bg-panel);border-color:var(--border-control);color:var(--text-secondary)}.inoperable-warning{border:1px solid var(--danger);background:var(--bg-panel);color:var(--text-primary);margin:16px 0;padding:16px}.paint-swatch{border:1px solid var(--border-control);vertical-align:middle;width:20px;height:20px;margin-right:8px;display:inline-block}.league-unlocked{border-left:3px solid var(--accent);background:var(--bg-active);color:var(--text-primary);padding:12px}.league-unlocked button{margin-left:12px;padding:8px}.league-board{background:var(--bg-panel);border:1px solid var(--border);padding:24px}.league-board p,.league-board li,.league-card,.league-report p{font:var(--font-size-body)/var(--line-height-ui) var(--font-ui);color:var(--text-secondary);overflow-wrap:anywhere}.league-layout{grid-template-columns:minmax(0,1fr) minmax(300px,.8fr);align-items:start;gap:20px;display:grid}.league-cards{gap:12px;min-width:0;display:grid}.league-card{text-align:left;background:var(--bg-input);border:1px solid var(--border-control);flex-direction:column;gap:6px;padding:16px;display:flex}.league-card strong,.league-card .mission-card-stars{color:var(--text-primary)}.league-card.selected{border-color:var(--accent);background:var(--bg-active);box-shadow:inset 3px 0 var(--accent)}.league-brief{min-width:0}.league-prebattle{border:1px solid var(--border-control);background:var(--bg-input);padding:20px}.league-prebattle p,.league-prebattle li{font:var(--font-size-body)/var(--line-height-ui) var(--font-ui);color:var(--text-secondary);overflow-wrap:anywhere}.league-prebattle .battle-button{margin:16px 0}.league-final-status{border-left:3px solid var(--accent);background:var(--bg-active);color:var(--text-primary);font:var(--font-size-body)/var(--line-height-ui) var(--font-ui);margin-bottom:12px;padding:12px}.league-economy-details{margin:12px 0}.league-economy-details summary{font:var(--font-size-secondary)/var(--line-height-ui) var(--font-ui);color:var(--text-secondary);cursor:pointer}@media (width<=900px){.league-layout{grid-template-columns:minmax(0,1fr)}.league-board{padding:16px}}:root{--bg-app:#070b11;--bg-panel:#0f1a22;--bg-elevated:#16252d;--bg-active:#17332e;--bg-input:#0a1219;--bg-disabled:#142029;--border:#344c56;--border-control:#607c86;--border-active:#3b8d74;--text-primary:#e6efed;--text-secondary:#b5c7c8;--text-muted:#8da2a8;--text-disabled:#9bafb5;--text-on-accent:#07110f;--accent:#3ee6b0;--accent-hover:#68f0c3;--success:#3ee6b0;--warning:#ffca75;--danger:#ff9b8b;--opponent:#ff765f;--link:#9abaff;--font-ui:"Segoe UI", system-ui, sans-serif;--font-mono:Consolas, "Cascadia Mono", monospace;--font-size-body:14px;--font-size-secondary:13px;--font-size-value:14px;--font-size-code:14px;--font-size-label:12px;--font-size-meta:11px;--line-height-ui:1.5;--line-height-compact:1.4;--line-height-code:1.65;font:var(--font-size-body)/var(--line-height-ui) var(--font-ui);color:var(--text-primary);background:var(--bg-app);font-synthesis:none;text-rendering:optimizelegibility}*{box-sizing:border-box}html{background:var(--bg-app);min-width:320px;min-height:100%}body{background:radial-gradient(circle at 16% 8%, #3ee6b017, transparent 28rem), radial-gradient(circle at 86% 82%, #4777ff14, transparent 34rem), var(--bg-app);min-width:320px;min-height:100vh;margin:0}body:before{pointer-events:none;content:"";opacity:.22;background-image:linear-gradient(#ffffff05 1px,#0000 1px);background-size:100% 4px;position:fixed;inset:0}a{color:inherit;text-decoration:none}.app-shell{width:min(1180px,100% - 40px);margin:0 auto;padding:28px 0 48px}.topbar{border-bottom:1px solid #b9dad31f;justify-content:space-between;align-items:center;padding-bottom:24px;display:flex}.brand{align-items:center;gap:13px;display:flex}.brand-mark{width:44px;height:44px;color:var(--accent);font:600 var(--font-size-secondary)/var(--line-height-ui) var(--font-mono);letter-spacing:.12em;border:1px solid #3ee6b0a6;place-items:center;display:grid;box-shadow:inset 0 0 18px #3ee6b014}.brand strong,.brand small{display:block}.brand strong{letter-spacing:.02em;font-size:17px}.brand small{color:var(--text-secondary);font:500 var(--font-size-secondary)/var(--line-height-ui) var(--font-mono);letter-spacing:.09em;text-transform:uppercase;margin-top:4px}.build-status,.signal-badge,.panel-footer,.telemetry span,.panel-kicker,.eyebrow{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.08em}.build-status{color:var(--text-secondary);font-size:var(--font-size-secondary);align-items:center;gap:9px;display:flex}.rating-chip{font:500 var(--font-size-secondary)/var(--line-height-ui) var(--font-mono);border:1px solid #3ee6b038;align-items:center;gap:12px;padding:9px 12px;display:flex}.rating-chip span{color:var(--text-secondary);text-transform:uppercase}.rating-chip strong{color:var(--accent)}.status-light{background:var(--accent);border-radius:50%;width:7px;height:7px;box-shadow:0 0 13px #3ee6b0cc}.hero{grid-template-columns:minmax(0,1.5fr) minmax(380px,1fr);align-items:end;gap:72px;padding:48px 0 34px;display:grid}.eyebrow{color:var(--accent);font-size:var(--font-size-secondary);margin:0 0 14px}.hero h1{letter-spacing:-.045em;max-width:720px;margin:0;font-size:clamp(36px,5vw,62px);font-weight:600;line-height:.96}.hero-copy>p:last-child{max-width:650px;color:var(--text-secondary);font-size:16px;line-height:var(--line-height-ui);margin:24px 0 0}.telemetry{border-top:1px solid #b9dad326;border-bottom:1px solid #b9dad326;grid-template-columns:repeat(3,1fr);display:grid}.telemetry div{border-right:1px solid #b9dad31f;padding:15px 14px}.telemetry div:last-child{border-right:0}.telemetry span,.telemetry strong{display:block}.telemetry span{color:var(--text-secondary);font-size:var(--font-size-secondary);margin-bottom:8px}.telemetry strong{color:var(--text-secondary);font-size:var(--font-size-secondary);font-weight:500}.arena-panel{background:var(--bg-panel);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid #b9dad324;padding:20px;box-shadow:0 30px 100px #00000057}.workspace{grid-template-columns:330px minmax(0,1fr);align-items:start;gap:16px;display:grid}.editor-panel{background:var(--bg-panel);border:1px solid #b9dad324;padding:20px;box-shadow:0 30px 100px #00000047}.editor-header{min-height:55px}.language-badge{color:var(--text-secondary);font:500 var(--font-size-secondary)/var(--line-height-ui) var(--font-mono);letter-spacing:.08em;border:1px solid #b9dad324;padding:6px 9px}.editor-state{color:var(--text-secondary);border:1px solid var(--border);font:500 var(--font-size-secondary)/var(--line-height-ui) var(--font-mono);letter-spacing:.07em;text-transform:uppercase;padding:6px 8px}.editor-state.dirty{color:var(--warning);background:#ffca750a;border-color:#ffca7561}.code-label{clip:rect(0, 0, 0, 0);width:1px;height:1px;position:absolute;overflow:hidden}.code-editor{resize:vertical;width:100%;min-height:306px;color:var(--text-primary);border:1px solid var(--border);font:500 var(--font-size-secondary)/var(--line-height-ui) var(--font-mono);caret-color:var(--accent);tab-size:4;background:linear-gradient(90deg,#3ee6b009,#0000 80px),#080f15;border-radius:0;outline:none;padding:16px}.code-editor:focus{border-color:#3ee6b0a6;box-shadow:0 0 0 2px #3ee6b012}.code-editor-error{border-color:#ff765fb8}.dsl-onboarding{background:#3ee6b00b;border:1px solid #3ee6b03d;margin:0 0 12px;padding:12px}.onboarding-heading{color:var(--text-secondary);font:600 var(--font-size-secondary)/var(--line-height-ui) var(--font-mono);letter-spacing:.07em;text-transform:uppercase;justify-content:space-between;align-items:center;display:flex}.onboarding-heading button{color:var(--text-secondary);cursor:pointer;background:0 0;border:0;padding:0 3px;font-size:18px}.dsl-onboarding ol{gap:8px;margin:11px 0 0;padding:0;list-style:none;display:grid}.dsl-onboarding li{color:var(--text-secondary);font-size:var(--font-size-secondary);line-height:var(--line-height-ui);grid-template-columns:20px 1fr;align-items:start;gap:8px;display:grid}.dsl-onboarding li>span{width:18px;height:18px;color:var(--accent);font:500 var(--font-size-secondary)/var(--line-height-ui) var(--font-mono);border:1px solid #3ee6b04d;place-items:center;display:grid}.dsl-onboarding code{color:var(--text-secondary);font-family:var(--font-mono)}.command-help{flex-wrap:wrap;gap:6px;padding:10px 0;display:flex}.command-help button{border:1px solid var(--border);color:var(--text-secondary);font:500 var(--font-size-secondary)/var(--line-height-ui) var(--font-mono);cursor:pointer;background:#b9dad309;padding:6px 7px;position:relative}.command-help button:hover,.command-help button:focus-visible{z-index:4;color:var(--accent);border-color:#3ee6b080;outline:none}.command-help button.template{color:var(--text-primary);border-color:#4777ff59}.command-help button.template>span{color:var(--link);font-size:var(--font-size-secondary);text-transform:uppercase;margin-left:5px}.command-help button.locked{opacity:.4}.command-help button:after{pointer-events:none;content:attr(data-tooltip);width:230px;color:var(--text-secondary);border:1px solid var(--border);font:400 var(--font-size-secondary)/var(--line-height-ui) var(--font-mono);text-align:left;white-space:normal;opacity:0;background:#071015;padding:8px 9px;transition:opacity .1s,transform .1s;position:absolute;bottom:calc(100% + 8px);left:0;transform:translateY(3px);box-shadow:0 12px 30px #00000073}.command-help button:hover:after,.command-help button:focus-visible:after{opacity:1;transform:translateY(0)}.code-error{color:var(--danger);font:500 var(--font-size-secondary)/var(--line-height-ui) var(--font-mono);gap:4px;padding:9px 0 0;display:grid}.code-error strong{color:var(--danger);font-size:var(--font-size-secondary);letter-spacing:.05em;text-transform:uppercase}.dsl-reference{border-top:1px solid var(--border);border-bottom:1px solid var(--border);margin:0 0 14px}.dsl-reference summary{color:var(--text-secondary);font:500 var(--font-size-secondary)/var(--line-height-ui) var(--font-mono);cursor:pointer;padding:10px 2px;list-style-position:inside}.dsl-reference[open] summary{color:var(--accent)}.dsl-reference-content{max-height:380px;padding:2px 2px 12px;overflow-y:auto}.dsl-reference-content h3{color:var(--text-secondary);font:500 var(--font-size-secondary)/var(--line-height-ui) var(--font-mono);letter-spacing:.08em;text-transform:uppercase;margin:12px 0 7px}.reference-row{border-bottom:1px solid #b9dad30f;padding:8px 0}.reference-row code{color:var(--text-secondary);font:500 var(--font-size-secondary)/var(--line-height-ui) var(--font-mono);display:block}.reference-row p,.reference-note{color:var(--text-secondary);font-size:var(--font-size-secondary);line-height:var(--line-height-ui);margin:4px 0 0}.reference-row small{color:var(--text-secondary);font:400 var(--font-size-secondary)/var(--line-height-ui) var(--font-mono);margin-top:4px;display:block}.reference-note code{color:var(--text-secondary);font-family:var(--font-mono)}.battle-button{border:1px solid var(--border);width:100%;min-height:48px;color:var(--text-on-accent);background:var(--accent);font:700 var(--font-size-secondary)/var(--line-height-ui) var(--font-ui);letter-spacing:.045em;cursor:pointer;justify-content:center;align-items:center;gap:10px;transition:background .14s,box-shadow .14s,transform .14s;display:flex}.battle-button:hover{background:var(--accent-hover);box-shadow:0 0 24px #3ee6b02e}.battle-button:active{transform:translateY(1px)}.secondary-button{border:1px solid var(--border);width:100%;color:var(--text-secondary);font:500 var(--font-size-secondary)/var(--line-height-ui) var(--font-mono);cursor:pointer;background:0 0;margin-top:8px;padding:10px}.field-label{color:var(--text-secondary);font:500 var(--font-size-secondary)/var(--line-height-ui) var(--font-mono);letter-spacing:.08em;text-transform:uppercase;margin:4px 0 7px;display:block}.select-control,.profile-controls input,.profile-controls select{border:1px solid var(--border);width:100%;color:var(--text-primary);background:var(--bg-input);font:500 var(--font-size-secondary)/var(--line-height-ui) var(--font-mono);border-radius:0;outline:none;padding:10px}.opponent-note{min-height:48px;color:var(--text-secondary);font-size:var(--font-size-secondary);line-height:var(--line-height-ui);margin:8px 0 12px}.opponent-note strong{color:var(--text-secondary);font-weight:500}.opponent-note span{color:var(--warning)}.robot-stats{gap:16px;padding-top:20px;display:grid}.stat-heading{color:var(--text-secondary);font:500 var(--font-size-secondary)/var(--line-height-ui) var(--font-mono);letter-spacing:.07em;justify-content:space-between;display:flex}.stat-heading strong{color:var(--text-primary);font-weight:500}.health-track{background:#17252b;height:4px;margin:7px 0;overflow:hidden}.health-track span{background:var(--accent);height:100%;transition:width .1s linear;display:block}.robot-stats>div:last-child .health-track span{background:#ff765f}.robot-stats small{color:var(--text-secondary);font:400 var(--font-size-secondary)/var(--line-height-ui) var(--font-mono)}.ammo-counter{color:var(--accent);font:600 var(--font-size-secondary)/var(--line-height-ui) var(--font-mono);margin:7px 0;display:block}.ammo-counter.empty{color:var(--warning)}.panel-header,.panel-footer{justify-content:space-between;align-items:center;display:flex}.playback-controls{flex-wrap:wrap;gap:6px;padding-top:12px;display:flex}.playback-controls button,.version-list button{border:1px solid var(--border);color:var(--text-secondary);background:var(--bg-input);font:500 var(--font-size-secondary)/var(--line-height-ui) var(--font-mono);cursor:pointer;padding:7px 9px}.playback-controls button.active,.playback-controls button:hover,.version-list button:hover{color:var(--accent);border-color:#3ee6b08c}.playback-controls button:disabled{cursor:not-allowed;opacity:.35}.battle-report{background:#0b141ae6;border:1px solid #3ee6b033;margin-top:16px;padding:22px}.battle-report>p{color:var(--text-secondary);margin:8px 0 20px}.report-grid{background:#1a2a30;grid-template-columns:repeat(6,1fr);gap:1px;display:grid}.report-grid>div{background:var(--bg-input);padding:12px}.report-grid span,.report-grid strong{display:block}.report-next-button{color:var(--accent);font:500 var(--font-size-secondary)/var(--line-height-ui) var(--font-mono);cursor:pointer;background:#3ee6b00a;border:1px solid #3ee6b06b;margin-top:14px;padding:10px 13px}.report-next-button:hover{border-color:var(--border-active);background:#3ee6b014}.report-grid span{color:var(--text-secondary);font:500 var(--font-size-secondary)/var(--line-height-ui) var(--font-mono);letter-spacing:.06em;text-transform:uppercase;margin-bottom:7px}.report-grid strong{color:var(--text-primary);font-size:14px}.meta-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:16px;display:grid}.meta-panel{background:var(--bg-panel);border:1px solid #b9dad324;padding:22px}.panel-title span{color:var(--accent);font:500 var(--font-size-secondary)/var(--line-height-ui) var(--font-mono);letter-spacing:.09em;text-transform:uppercase}.panel-title h2{margin:6px 0 0;font-size:19px;font-weight:500}.budget-line{border-bottom:1px solid var(--border);color:var(--text-secondary);font:500 var(--font-size-secondary)/var(--line-height-ui) var(--font-mono);justify-content:space-between;margin:20px 0 12px;padding-bottom:10px;display:flex}.budget-line strong{color:var(--accent)}.garage-limits{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin:18px 0 10px;display:grid}.garage-limits span{color:var(--text-secondary);border:1px solid var(--border);font:500 var(--font-size-secondary)/var(--line-height-ui) var(--font-mono);padding:8px}.garage-limits strong{color:var(--accent);font-size:var(--font-size-secondary);margin-top:4px;display:block}.garage-limits.invalid span{border-color:#ff765f7a}.garage-limits.invalid strong,.garage-message.error{color:var(--danger)}.garage-message{color:var(--success);font:500 var(--font-size-secondary)/var(--line-height-ui) var(--font-mono);margin:8px 0}.garage-ammo-detail{color:var(--text-secondary);font:500 var(--font-size-secondary)/var(--line-height-ui) var(--font-mono);margin:8px 0}.ammo-shop{flex-wrap:wrap;gap:7px;margin:9px 0 14px;display:flex}.ammo-shop button{border:1px solid var(--border);color:var(--text-secondary);font:500 var(--font-size-secondary)/var(--line-height-ui) var(--font-mono);cursor:pointer;background:#0f2925;padding:8px 10px}.ammo-shop button:disabled{opacity:.42;cursor:not-allowed}.missions-panel,.mission-report{border:1px solid var(--border);background:var(--bg-panel);margin-top:24px;padding:22px}.missions-heading h2,.mission-report h2{color:var(--text-primary);margin:8px 0;font-size:22px}.missions-heading p,.mission-report p,.mission-brief p{color:var(--text-secondary);font-size:var(--font-size-secondary);line-height:var(--line-height-ui)}.mission-chapters{gap:20px;margin-top:20px;display:grid}.mission-chapter h3{color:var(--text-secondary);font:600 var(--font-size-secondary)/var(--line-height-ui) var(--font-mono);letter-spacing:.08em}.mission-card-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;display:grid}.mission-card{border:1px solid var(--border);background:var(--bg-elevated);color:var(--text-secondary);text-align:left;cursor:pointer;gap:6px;padding:12px;display:grid}.mission-card.selected{border-color:var(--border-active)}.mission-card small,.mission-card span,.mission-card em{font:400 var(--font-size-secondary)/var(--line-height-ui) var(--font-mono)}.mission-card strong{color:var(--text-primary);font-size:var(--font-size-secondary)}.mission-card em{color:var(--warning)}.mission-card-stars,.mission-report-stars{letter-spacing:.1em;color:var(--warning)!important}.mission-brief{border:1px solid var(--border);background:var(--bg-active);margin-top:24px;padding:16px}.mission-brief h3{color:var(--text-primary)}.mission-reasons{color:var(--warning);font:var(--font-size-secondary)/var(--line-height-ui) var(--font-mono)}.mission-actions{flex-wrap:wrap;gap:10px;display:flex}.mission-actions button,.mission-report button{border:1px solid var(--border);color:var(--text-primary);cursor:pointer;background:#174334;padding:10px 14px}.mission-actions button:disabled{opacity:.4;cursor:not-allowed}.mission-report-grid{color:var(--text-primary);font:var(--font-size-secondary)/var(--line-height-ui) var(--font-mono);gap:7px;margin:15px 0;display:grid}@media (width<=900px){.mission-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=560px){.mission-card-grid{grid-template-columns:1fr}}.garage-module-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;display:grid}.garage-module{border:1px solid var(--border);background:#0811178f;min-height:156px;padding:10px}.garage-module.installed{background:#3ee6b00e;border-color:#3ee6b07a}.garage-module.locked{opacity:.56}.garage-module-heading{justify-content:space-between;align-items:baseline;gap:6px;display:flex}.garage-module-heading strong{color:var(--text-secondary);font:500 var(--font-size-secondary)/var(--line-height-ui) var(--font-mono)}.garage-module-heading span{color:var(--text-secondary);font:500 var(--font-size-secondary)/var(--line-height-ui) var(--font-mono);letter-spacing:.04em;text-align:right}.garage-module p{min-height:35px;color:var(--text-secondary);font-size:var(--font-size-secondary);line-height:var(--line-height-ui);margin:8px 0 5px}.garage-module small{color:var(--text-secondary);font:500 var(--font-size-secondary)/var(--line-height-ui) var(--font-mono);display:block}.garage-module button{width:100%;color:var(--text-secondary);border:1px solid var(--border);font:500 var(--font-size-secondary)/var(--line-height-ui) var(--font-mono);cursor:pointer;background:0 0;margin-top:9px;padding:7px}.garage-module button:not(:disabled):hover{color:var(--text-on-accent);border-color:var(--border-active);background:var(--accent)}.garage-module button:disabled{color:var(--text-secondary);cursor:not-allowed}.engineer-xp{border:1px solid var(--border);gap:8px;margin:18px 0 14px;padding:11px;display:grid}.engineer-xp>div{color:var(--text-secondary);font:500 var(--font-size-secondary)/var(--line-height-ui) var(--font-mono);justify-content:space-between;display:flex}.engineer-xp strong{color:var(--accent);font-size:var(--font-size-secondary)}.engineer-xp progress{width:100%;height:6px;accent-color:var(--accent)}.engineer-xp p{color:var(--text-secondary);font-size:var(--font-size-secondary);line-height:var(--line-height-ui);margin:0}.module-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;display:grid}.module-card{border:1px solid var(--border);cursor:pointer;align-items:flex-start;gap:9px;padding:10px;display:flex}.module-card:has(input:checked){background:#3ee6b00a;border-color:#3ee6b06b}.module-card input{accent-color:var(--accent)}.module-card strong,.module-card small{display:block}.module-card strong{color:var(--text-secondary);font:500 var(--font-size-secondary)/var(--line-height-ui) var(--font-mono)}.module-card small{color:var(--text-secondary);font-size:var(--font-size-secondary);margin-top:5px}.progress-list{gap:6px;margin-top:18px;display:grid}.progress-list>div{opacity:.34;border:1px solid var(--border);grid-template-columns:26px 1fr;align-items:center;gap:10px;padding:8px;display:grid}.progress-list>div.unlocked{opacity:1;border-color:#3ee6b02e}.progress-list>div>span{width:24px;height:24px;color:var(--accent);font:500 var(--font-size-secondary)/var(--line-height-ui) var(--font-mono);border:1px solid #3ee6b047;place-items:center;display:grid}.progress-list p,.progress-list strong,.progress-list small{margin:0;display:block}.progress-list strong{color:var(--text-secondary);font-size:var(--font-size-secondary);font-weight:500}.progress-list small{color:var(--text-secondary);font-size:var(--font-size-secondary);margin-top:4px}.profile-controls{grid-template-columns:1fr 110px 46px;gap:7px;margin:18px 0 12px;display:grid}.profile-controls input[type=color]{min-height:36px;padding:4px}.chassis-readout{min-height:36px;color:var(--text-secondary);border:1px solid var(--border);font:500 var(--font-size-secondary)/var(--line-height-ui) var(--font-mono);background:#091318;place-items:center;display:grid}.version-list{gap:5px;display:grid}.version-list>div{border:1px solid var(--border);color:var(--text-secondary);font:500 var(--font-size-secondary)/var(--line-height-ui) var(--font-mono);grid-template-columns:42px 1fr auto auto;align-items:center;gap:8px;padding:7px;display:grid}.version-list>div.active{border-color:#3ee6b05c}.version-list small{color:var(--text-secondary)}.comparison-result{color:var(--accent);font:500 var(--font-size-secondary)/var(--line-height-ui) var(--font-mono);margin:12px 0 0}.rating-number{color:var(--accent);font:600 52px/1 var(--font-mono);margin:22px 0}.rating-panel dl{background:#1c2d33;gap:1px;margin:0;display:grid}.rating-panel dl div{background:var(--bg-input);justify-content:space-between;padding:10px;display:flex}.rating-panel dt,.rating-panel dd{color:var(--text-secondary);font:500 var(--font-size-secondary)/var(--line-height-ui) var(--font-mono);margin:0}.rating-panel dd{color:var(--text-secondary)}.online-hub{background:linear-gradient(120deg,#4777ff0d,#0000 45%),#090f16e6;border:1px solid #4777ff40;margin-top:16px;padding:22px}.online-status{color:var(--text-secondary);font:500 var(--font-size-secondary)/var(--line-height-ui) var(--font-mono);margin:8px 0 18px}.online-layout{grid-template-columns:1fr 280px;gap:20px;display:grid}.online-auth{grid-template-columns:1fr 1fr auto auto auto;gap:7px;display:grid}.online-auth input,.online-auth button{border:1px solid var(--border);min-width:0;color:var(--text-secondary);font:500 var(--font-size-secondary)/var(--line-height-ui) var(--font-mono);background:#091219;padding:10px}.online-auth button{cursor:pointer}.online-auth button:hover,.online-auth .publish-button{color:var(--accent);border-color:#3ee6b073}.online-auth a{color:var(--link);font:500 var(--font-size-secondary)/var(--line-height-ui) var(--font-mono);text-overflow:ellipsis;grid-column:1/-1;overflow:hidden}.leaderboard-mini{align-content:start;gap:6px;display:grid}.leaderboard-mini>strong{color:var(--text-secondary);font:500 var(--font-size-secondary)/var(--line-height-ui) var(--font-mono);letter-spacing:.08em;text-transform:uppercase;margin-bottom:4px}.leaderboard-mini>span{color:var(--text-secondary);border-bottom:1px solid var(--border);font:500 var(--font-size-secondary)/var(--line-height-ui) var(--font-mono);justify-content:space-between;padding:7px;display:flex}.leaderboard-mini b{color:var(--accent);font-weight:500}.panel-header{min-height:55px;padding:0 4px 16px}.panel-kicker{color:var(--text-secondary);font-size:var(--font-size-secondary)}.panel-header h2{margin:5px 0 0;font-size:18px;font-weight:500}.signal-badge{color:var(--accent);font-size:var(--font-size-secondary);background:#3ee6b00b;border:1px solid #3ee6b038;padding:7px 10px}.signal-player_won{color:var(--accent)}.signal-opponent_won{color:var(--opponent);border-color:#ff765f4d}.signal-draw{color:var(--warning);border-color:#ffca754d}.arena-frame{border:1px solid var(--border);aspect-ratio:16/9;background:#0a1117;width:100%;position:relative;overflow:hidden}.arena-canvas,.arena-canvas canvas{display:block;width:100%!important;height:100%!important}.corner{pointer-events:none;border-color:var(--warning);opacity:.85;border-style:solid;width:18px;height:18px;position:absolute}.corner-top-left{border-width:2px 0 0 2px;top:10px;left:10px}.corner-top-right{border-width:2px 2px 0 0;top:10px;right:10px}.corner-bottom-left{border-width:0 0 2px 2px;bottom:10px;left:10px}.corner-bottom-right{border-width:0 2px 2px 0;bottom:10px;right:10px}.panel-footer{color:var(--text-secondary);font-size:var(--font-size-secondary);padding:15px 4px 0}@media (width<=820px){.hero{grid-template-columns:1fr;gap:36px;padding-top:44px}.telemetry{max-width:560px}.workspace{grid-template-columns:1fr}.editor-panel{order:2}.arena-panel{order:1}.meta-grid,.online-layout,.online-auth{grid-template-columns:1fr}.report-grid{grid-template-columns:repeat(3,1fr)}}@media (width<=560px){.app-shell{width:min(100% - 24px,1180px);padding-top:16px}.build-status{display:none}.hero{padding:38px 0 30px}.hero h1{font-size:40px}.telemetry{grid-template-columns:1fr}.telemetry div{border-bottom:1px solid #b9dad31a;border-right:0;justify-content:space-between;align-items:center;display:flex}.telemetry div:last-child{border-bottom:0}.telemetry span{margin:0}.arena-panel{padding:12px}.panel-footer span:first-child{display:none}.panel-footer{justify-content:flex-end}.module-grid,.garage-module-grid,.report-grid{grid-template-columns:repeat(2,1fr)}.profile-controls{grid-template-columns:1fr}}.game-shell{width:min(1760px,100% - 32px);padding:0 0 16px}.game-view[hidden]{display:none!important}.game-view{padding-top:14px}.game-topbar{z-index:20;background:#080f15;gap:16px;min-height:76px;padding:10px 0;position:sticky;top:0}.game-topbar .brand{color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;padding:0}.game-topbar .brand small{font-size:var(--font-size-secondary);letter-spacing:.02em;text-transform:none}.game-nav,.global-resources,.subnav{align-items:center;gap:7px;display:flex}.game-nav button,.subnav button,.battle-context-bar button,.selector-heading button,.focus-close{border:1px solid var(--border);color:var(--text-secondary);background:var(--bg-panel);cursor:pointer;font:500 var(--font-size-secondary)/var(--line-height-ui) var(--font-mono);padding:10px 14px}.game-nav button[aria-current=page],.subnav button[aria-pressed=true]{color:var(--accent);border-color:var(--border-active);background:#3ee6b012}.game-shell button:not(:disabled):hover{border-color:var(--accent)}.game-shell button:focus-visible,.game-shell summary:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.global-resources{color:var(--text-secondary);font:var(--font-size-secondary)/var(--line-height-ui) var(--font-mono);white-space:nowrap;gap:16px}.global-resources strong{color:var(--text-primary)}.level-control{color:var(--text-secondary);cursor:pointer;font:inherit;background:0 0;border:0;grid-template-columns:auto auto;gap:4px 10px;padding:5px 0;display:grid}.level-control progress{width:100%;height:3px;accent-color:var(--accent);grid-column:1/-1}.battle-context-bar{align-items:center;gap:18px;min-height:42px;padding:0 4px 12px;display:flex}.battle-context-bar>div:first-child{flex-shrink:0;align-items:baseline;gap:12px;display:flex}.battle-context-bar strong{color:var(--text-secondary);font-size:var(--font-size-secondary);font-weight:500}.battle-context-bar button{margin-left:auto;padding:6px 10px}.context-objectives{color:var(--text-secondary);font:var(--font-size-secondary)/var(--line-height-ui) var(--font-mono);flex-wrap:wrap;gap:6px 16px;display:flex}.game-shell .workspace{grid-template-columns:360px minmax(0,1fr);align-items:stretch;gap:14px}.game-shell .editor-panel,.game-shell .arena-panel{min-width:0;padding:14px}.game-shell .editor-panel{scrollbar-width:thin;scrollbar-color:#29454b #0a1319;max-height:calc(100dvh - 154px);overflow-y:auto}.game-shell .panel-header{min-height:40px;padding:0 0 10px}.game-shell .panel-header h2{font-size:17px}.editor-versions{border:1px solid var(--border);color:var(--text-secondary);background:var(--bg-panel);font:var(--font-size-secondary)/var(--line-height-ui) var(--font-mono);margin-bottom:6px}.editor-versions summary{cursor:pointer;padding:8px}.editor-versions .version-list{max-height:200px;padding:6px;overflow-y:auto}.editor-versions .comparison-result{margin:8px}.game-shell .save-version{margin:0 0 10px;padding:7px}.game-shell .code-editor{height:clamp(190px,30dvh,390px);min-height:190px;font-size:var(--font-size-secondary);padding:12px}.game-shell .dsl-onboarding{margin-bottom:10px;padding:10px}.game-shell .dsl-onboarding ol{gap:6px}.game-shell .command-help{margin-top:8px}.game-shell .dsl-reference{margin:10px 0}.game-shell .dsl-reference-content{max-height:240px;overflow-y:auto}.game-shell .field-label{margin-top:10px}.game-shell .select-control{padding:9px}.game-shell .opponent-note{min-height:0;font-size:var(--font-size-secondary);margin:8px 0}.game-shell .battle-button{min-height:42px;font-size:var(--font-size-secondary);margin-top:10px;padding:10px}.game-shell .training-launch{margin-top:8px}.game-shell .arena-panel{flex-direction:column;align-items:stretch;display:flex}.game-shell .arena-frame{flex:none;width:min(100%,177.778dvh - 565.333px);margin:auto}.game-shell .battle-hud{grid-template-columns:1fr 1fr;gap:24px;margin:12px 0 0;display:grid}.battle-hud .stat-heading{margin-bottom:6px}.battle-hud .health-track{height:4px}.battle-hud .ammo-counter{margin:6px 12px 0 0;display:inline-block}.battle-hud small{display:inline-block}.game-shell .playback-controls{flex-wrap:wrap;margin-top:10px}.game-shell .panel-footer{padding-top:8px}.game-shell .battle-report{margin-top:10px;padding:10px 14px}.battle-report summary{color:var(--text-secondary);font:var(--font-size-secondary)/var(--line-height-ui) var(--font-mono);cursor:pointer}.battle-report .report-grid{grid-template-columns:repeat(5,1fr)}.view-heading{justify-content:space-between;align-items:center;gap:16px;display:flex}.view-heading h2{margin:6px 0 12px;font-size:21px;font-weight:500}.game-shell .missions-panel,.garage-workstation{border:1px solid var(--border);background:var(--bg-panel);margin:0;padding:20px}.campaign-layout{grid-template-columns:minmax(0,1.15fr) minmax(340px,1fr);align-items:start;gap:24px;margin-top:16px;display:grid}.game-shell .mission-chapters{gap:18px;max-height:calc(100dvh - 215px);margin:0;overflow-y:auto}.mission-node{border:1px solid var(--border);background:var(--bg-elevated);min-height:104px;color:var(--text-secondary);cursor:pointer;text-align:left;flex-direction:column;gap:8px;padding:12px 9px;display:flex;position:relative}.mission-node small{font:var(--font-size-secondary)/var(--line-height-ui) var(--font-mono)}.mission-node strong{font-size:var(--font-size-secondary);font-weight:500}.mission-node .mission-card-stars{font-size:var(--font-size-secondary);margin-top:auto}.mission-node:not(:last-child):after{content:"→";z-index:1;color:var(--text-secondary);position:absolute;top:46%;right:-11px}.mission-node.locked{opacity:.45}.mission-node.available,.mission-node.completed{border-color:var(--border-active)}.mission-node.available small{color:var(--accent)}.mission-node.selected{opacity:1;border-color:var(--border-active);box-shadow:inset 0 0 20px #3ee6b00f}.game-shell .mission-brief{max-height:calc(100dvh - 215px);margin:0;overflow-y:auto}.game-shell .mission-brief h3{margin:8px 0;font-size:21px}.game-shell .mission-brief p{margin:10px 0}.game-shell .mission-actions{background:var(--bg-active);padding:12px 0 0;position:sticky;bottom:-16px}.game-shell .mission-actions button:last-child{border-color:var(--border-active)}.garage-workstation .build-totals{grid-template-columns:repeat(8,minmax(0,1fr));margin-top:6px}.loadout-layout{grid-template-columns:minmax(0,1.1fr) minmax(310px,1fr);gap:20px;display:grid}.robot-build,.equipment-selector,.ammo-shop-panel,.hardware-readout{border:1px solid var(--border);background:var(--bg-panel);min-width:0;padding:14px}.robot-build .profile-controls{grid-template-columns:1fr 50px 40px;margin:0}.robot-schematic{justify-content:center;display:flex}.robot-schematic svg{width:min(100%,340px);height:clamp(150px,25dvh,270px)}.equipment-slots{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.equipment-slots button{border:1px solid var(--border);min-height:82px;color:var(--text-secondary);background:var(--bg-elevated);text-align:left;cursor:pointer;gap:8px;padding:12px;display:grid}.equipment-slots small,.equipment-slots span{color:var(--text-secondary);font:var(--font-size-secondary)/var(--line-height-ui) var(--font-mono)}.equipment-slots strong{font:500 var(--font-size-secondary)/var(--line-height-ui) var(--font-mono)}.equipment-slots button.selected{border-color:var(--border-active)}.selector-heading{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.selector-heading h3{font:var(--font-size-secondary)/var(--line-height-ui) var(--font-mono);color:var(--text-secondary);margin:0}.selector-heading button{padding:3px 8px}.selector-empty{color:var(--text-secondary);font:var(--font-size-secondary)/var(--line-height-ui) var(--font-mono);padding:60px 20px}.equipment-list{gap:8px;max-height:calc(100dvh - 285px);display:grid;overflow-y:auto}.equipment-list .garage-module{min-height:130px}.equipment-list .garage-module p{font-size:var(--font-size-secondary);color:var(--text-secondary)}.equipment-list .garage-module-heading strong,.equipment-list .garage-module-heading span{font-size:var(--font-size-secondary)}.garage-shop-layout{grid-template-columns:minmax(260px,.8fr) minmax(0,1.2fr);gap:20px;display:grid}.category-nav{flex-wrap:wrap;margin-bottom:12px}.garage-supply-column{align-content:start;gap:12px;display:grid}.maintenance-panel{border:1px solid var(--border);background:var(--bg-panel);outline-color:var(--accent);padding:14px}.maintenance-panel h3{color:var(--text-primary);font:var(--font-size-value)/var(--line-height-ui) var(--font-mono)}.maintenance-panel progress{width:100%;height:7px;accent-color:var(--accent)}.maintenance-panel p{color:var(--text-secondary);font:var(--font-size-secondary)/var(--line-height-ui) var(--font-mono)}.maintenance-danger{font:var(--font-size-secondary)/var(--line-height-ui) var(--font-mono);color:var(--danger)!important}.maintenance-actions{flex-wrap:wrap;gap:8px;display:flex}.maintenance-panel button,.inoperable-warning button{border:1px solid var(--border);color:var(--text-secondary);font:var(--font-size-secondary)/var(--line-height-ui) var(--font-mono);cursor:pointer;background:#0f2925;padding:8px 10px}.maintenance-panel button:disabled{opacity:.4;cursor:not-allowed}.emergency-repair{border-top:1px solid var(--border);margin-top:12px}.battle-maintenance{grid-template-columns:repeat(3,1fr);gap:8px;margin:12px 0;display:grid}.battle-maintenance span{border:1px solid var(--border);color:var(--text-secondary);font:var(--font-size-secondary)/var(--line-height-ui) var(--font-mono);padding:8px}.battle-maintenance strong{color:var(--text-primary);margin-top:4px;font-weight:500;display:block}.deploy-condition{color:var(--text-secondary);font:var(--font-size-secondary)/var(--line-height-ui) var(--font-mono)}.battle-context-bar{flex-wrap:wrap}.inoperable-warning{color:var(--danger);font:var(--font-size-secondary)/var(--line-height-ui) var(--font-mono);gap:8px;margin-top:10px;display:grid}.category-nav button{font-size:var(--font-size-secondary);padding:8px 10px}.secondary-copy,.ammo-shop-panel p{color:var(--text-secondary);font:var(--font-size-secondary)/var(--line-height-ui) var(--font-mono)}.hardware-readout dl{grid-template-columns:1fr 1fr;gap:8px 24px;display:grid}.hardware-readout dl div{border-bottom:1px solid var(--border);color:var(--text-secondary);font:var(--font-size-secondary)/var(--line-height-ui) var(--font-mono);justify-content:space-between;padding:12px;display:flex}.hardware-readout dd{color:var(--text-primary);margin:0}.focus-panel{width:min(760px,100% - 32px);max-height:calc(100dvh - 40px);color:var(--text-primary);border:1px solid var(--border);background:var(--bg-elevated);padding:28px;box-shadow:0 30px 100px #0009}.focus-panel::backdrop{background:#02070cc9}.focus-close{padding:5px 10px;position:absolute;top:10px;right:10px}.focus-panel .mission-report{background:0 0;border:0;margin:0;padding:0}.focus-panel h2{padding-right:24px;font-size:22px}.focus-panel .result-actions{background:0 0;position:static}.focus-panel .progress-list small{font-size:var(--font-size-secondary);line-height:var(--line-height-ui)}.focus-panel .progress-list strong{font-size:var(--font-size-secondary)}.pvp-layout{grid-template-columns:300px minmax(0,1fr);gap:16px;display:grid}.pvp-layout .online-hub{margin-top:0}.pvp-layout .online-layout{grid-template-columns:minmax(0,1fr) minmax(220px,.7fr)}.pvp-layout .online-auth{grid-template-columns:1fr 1fr;align-content:start}.pvp-layout .online-auth p{color:var(--text-secondary);font:var(--font-size-secondary)/var(--line-height-ui) var(--font-mono);grid-column:1/-1;margin:0 0 10px}.pvp-layout .publish-button{grid-column:1/-1}.pvp-layout .leaderboard-mini{max-height:calc(100dvh - 230px);overflow-y:auto}.test-range-heading{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.test-range-heading h2{margin:4px 0;font-size:20px}.test-range-heading p{color:var(--text-secondary);font:var(--font-size-secondary)/var(--line-height-ui) var(--font-mono);margin:4px 0}.test-range button{border:1px solid var(--border);color:var(--text-secondary);background:var(--bg-elevated);font:var(--font-size-secondary)/var(--line-height-ui) var(--font-mono);cursor:pointer;padding:9px 11px}.test-range button:disabled{opacity:.4;cursor:not-allowed}.test-range-layout{grid-template-columns:minmax(190px,240px) minmax(0,1fr) minmax(190px,240px);align-items:start;gap:14px;display:grid}.test-robot{background:var(--bg-panel);border:1px solid var(--border);min-width:0;padding:14px}.test-robot-a h3,.test-robot-a .test-live strong{color:var(--accent)}.test-robot-b h3,.test-robot-b .test-live strong{color:var(--opponent)}.test-robot h3{font:16px/var(--line-height-ui) var(--font-mono);margin:7px 0}.test-robot>strong{font:var(--font-size-secondary)/var(--line-height-ui) var(--font-mono);overflow-wrap:anywhere}.test-robot small{color:var(--text-secondary);font:var(--font-size-secondary)/var(--line-height-ui) var(--font-mono)}.test-source{color:var(--text-secondary);font:var(--font-size-secondary)/var(--line-height-ui) var(--font-mono);gap:6px;margin:16px 0 8px;display:grid}.test-source select,.test-seed input{background:var(--bg-input);border:1px solid var(--border);width:100%;min-width:0;color:var(--text-primary);font:var(--font-size-secondary)/var(--line-height-ui) var(--font-mono);padding:9px}.test-hardware{font:var(--font-size-secondary)/var(--line-height-ui) var(--font-mono);gap:6px;margin:16px 0;display:grid}.test-hardware div{justify-content:space-between;gap:8px;display:flex}.test-hardware dt{color:var(--text-secondary)}.test-hardware dd{text-align:right;color:var(--text-primary);margin:0}.test-build-summary,.test-robot details,.test-robot pre{color:var(--text-secondary);font:var(--font-size-secondary)/var(--line-height-ui) var(--font-mono)}.test-robot details{border-top:1px solid var(--border);padding-top:10px}.test-robot summary{cursor:pointer}.test-robot pre{white-space:pre-wrap;overflow-wrap:anywhere;max-height:260px;overflow-y:auto}.test-legacy{color:var(--warning);font:var(--font-size-secondary)/var(--line-height-ui) var(--font-mono);border:1px solid var(--border);background:#201c13;padding:9px}.test-live{border-top:1px solid var(--border);font:var(--font-size-secondary)/var(--line-height-ui) var(--font-mono);margin-top:14px;padding-top:14px}.test-live progress{width:100%;height:7px;accent-color:var(--accent)}.test-live small{margin:4px 0;display:block}.test-robot-b progress{accent-color:#ff765f}.test-arena{min-width:0}.game-shell .test-range .arena-frame,.test-arena-empty{width:min(100%, var(--test-arena-width,100%));margin:0 auto}.test-arena-viewport{min-width:0}.test-control-bar{z-index:10;background:var(--bg-panel);border-top:1px solid var(--border);margin-top:10px;padding:6px 0;position:sticky;bottom:0}.test-control-bar .test-actions{margin:0 0 7px}.game-shell .test-control-bar .playback-controls{margin:0}.test-control-bar .secondary-copy{font-size:var(--font-size-secondary);margin:6px 0 0}.test-arena-empty{text-align:center;aspect-ratio:16/9;border:1px solid var(--border);color:var(--text-secondary);background:#0a1117;place-content:center;padding:24px;display:grid}.test-arena-empty strong{font:24px/var(--line-height-ui) var(--font-mono);color:var(--text-secondary)}.test-arena-empty p{font:var(--font-size-secondary)/var(--line-height-ui) var(--font-mono)}.test-seed{color:var(--text-secondary);font:var(--font-size-secondary)/var(--line-height-ui) var(--font-mono);justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;display:flex}.test-seed input{width:130px}.test-run-label{font:var(--font-size-secondary)/var(--line-height-ui) var(--font-mono);color:var(--text-secondary);margin:6px 0}.test-actions{flex-wrap:wrap;gap:7px;margin:12px 0;display:flex}.test-range .start-test{background:var(--accent);color:var(--text-on-accent);font-weight:700}.ranked-layout{grid-template-columns:minmax(210px,260px) minmax(0,1fr) minmax(210px,260px);align-items:start;gap:16px;display:grid}.ranked-panel,.ranked-network,.ranked-match-intro,.ranked-center>section{background:var(--bg-panel);border:1px solid var(--border);min-width:0;padding:16px}.ranked-center{gap:14px;min-width:0;display:grid}.ranked-layout h2,.ranked-layout h3{color:var(--text-primary);font-family:var(--font-mono)}.ranked-layout h2{margin:10px 0;font-size:17px}.ranked-layout h3{font-size:14px}.ranked-layout p,.ranked-layout small,.ranked-layout details{font:var(--font-size-secondary)/var(--line-height-ui) var(--font-mono);color:var(--text-secondary)}.ranked-layout small{margin:6px 0;display:block}.ranked-layout button{border:1px solid var(--border);color:var(--text-secondary);background:var(--bg-elevated);font:var(--font-size-secondary)/var(--line-height-ui) var(--font-mono);cursor:pointer;padding:9px 11px}.ranked-layout button:disabled{opacity:.4;cursor:not-allowed}.ranked-layout .ranked-primary{background:var(--accent);color:var(--text-on-accent);font-weight:700}.ranked-network form{flex-wrap:wrap;gap:8px;margin:12px 0;display:flex}.ranked-network input{border:1px solid var(--border);background:var(--bg-input);width:155px;color:var(--text-primary);padding:9px}.ranked-network pre{white-space:pre-wrap;overflow-wrap:anywhere}.ranked-opponents{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px;display:grid}.ranked-opponent{border:1px solid var(--border);min-width:0;padding:14px}.ranked-heading,.ranked-versus{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;display:flex}.ranked-layout table{border-collapse:collapse;width:100%;font:var(--font-size-secondary)/var(--line-height-ui) var(--font-mono)}.ranked-layout th,.ranked-layout td{border-bottom:1px solid var(--border);text-align:left;overflow-wrap:anywhere;padding:7px 4px}.ranked-leaders [aria-current=true]{color:var(--accent);background:#102a25}.ranked-history{text-align:left;width:100%;margin:4px 0}.ranked-layout .error{color:var(--danger)}.ranked-result details{padding-top:12px}.ranked-replay .arena-frame{width:min(100%, var(--test-arena-width,100%));margin:0 auto}.ranked-replay .test-control-bar p{margin:6px 0}@media (width<=1190px){.ranked-layout{grid-template-columns:minmax(190px,225px) minmax(0,1fr)}.ranked-layout>aside:last-child{grid-column:1/-1}}@media (width<=850px){.ranked-layout{grid-template-columns:1fr}.ranked-layout>aside:last-child{grid-column:auto}}.test-result{border:1px solid var(--border);background:var(--bg-panel);margin-top:12px;padding:14px}.test-result h3{font:16px/var(--line-height-ui) var(--font-mono);color:var(--text-primary)}.test-end-reason{color:var(--text-secondary);font:var(--font-size-secondary)/var(--line-height-ui) var(--font-mono);margin:8px 0 12px}.test-end-reason strong{color:var(--text-primary);font-weight:500}.test-result table{border-collapse:collapse;width:100%;font:var(--font-size-secondary)/var(--line-height-ui) var(--font-mono)}.test-result caption{text-align:left;color:var(--text-secondary);padding-bottom:12px}.test-result th,.test-result td{border-bottom:1px solid var(--border);text-align:right;padding:7px 5px}.test-result th:first-child{text-align:left;color:var(--text-secondary);font-weight:400}.test-result small{font:var(--font-size-secondary)/var(--line-height-ui) var(--font-mono);color:var(--text-secondary);margin-top:12px;display:block}.ranked-center>.ranked-network-compact{flex-wrap:wrap;align-items:center;gap:8px 16px;padding:10px 14px;display:flex}.ranked-network-compact p{margin:0}.ranked-network-compact>button{margin-left:auto}.ranked-result{gap:10px;margin-top:0;display:grid}.ranked-result p{margin:0}.ranked-result small{font-size:var(--font-size-secondary);line-height:var(--line-height-ui);margin:4px 0 0}.ranked-scoreline{text-align:center;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:16px;padding:4px 0;display:grid}.ranked-scoreline>div{overflow-wrap:anywhere;min-width:0}.ranked-scoreline>div>strong{color:var(--text-primary);font:700 16px/var(--line-height-ui) var(--font-mono)}.ranked-scoreline .ranked-score{color:var(--text-primary);font:700 32px/1.2 var(--font-mono);white-space:nowrap}.ranked-outcome-row{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px 16px;display:flex}.ranked-outcome-row h2{margin:0;font-size:24px}.ranked-outcome-row p{font-size:var(--font-size-secondary)}.ranked-outcome-row [data-outcome=WIN]{color:var(--accent)}.ranked-outcome-row [data-outcome=LOSS]{color:var(--danger)}.ranked-leg-summaries{border-block:1px solid var(--border);gap:8px;padding:10px 0;display:grid}.ranked-leg-summaries>div{font:var(--font-size-secondary)/var(--line-height-ui) var(--font-mono);color:var(--text-secondary);grid-template-columns:58px minmax(0,1fr);gap:10px;display:grid}.ranked-leg-summaries span{overflow-wrap:anywhere}.ranked-result .ranked-combat-totals{font-size:var(--font-size-secondary)}.ranked-result .ranked-combat-totals caption{font-size:var(--font-size-secondary);padding-bottom:6px}.ranked-result .ranked-combat-totals th,.ranked-result .ranked-combat-totals td{padding:6px 5px}.ranked-result .ranked-result-actions{margin:0}.ranked-result .ranked-result-actions button{font-size:var(--font-size-secondary)}.ranked-result .ranked-details{min-width:0;padding:0}.ranked-details>summary{border:1px solid var(--border);color:var(--text-secondary);font:var(--font-size-secondary)/var(--line-height-ui) var(--font-mono);cursor:pointer;padding:8px 10px}.ranked-details[open]>summary{margin-bottom:12px}.ranked-details p{overflow-wrap:anywhere;line-height:var(--line-height-ui)}.ranked-details section{margin-top:14px}.ranked-details table{margin-top:8px}.ranked-match-sidebar>strong{font:700 16px/var(--line-height-ui) var(--font-mono);color:var(--text-primary);overflow-wrap:anywhere;display:block}.ranked-match-sidebar hr{border:0;border-top:1px solid var(--border);margin:18px 0}.ranked-leg-players{justify-content:space-between;gap:12px;display:flex}.ranked-leg-players p{overflow-wrap:anywhere;min-width:0;margin:0 0 10px}.ranked-leg-players strong{color:var(--text-primary);font-size:14px}.ranked-leg-players small{margin:2px 0 0}.ranked-known-replay{border-top:1px solid var(--border);padding:6px 0}.ranked-versus>p{overflow-wrap:anywhere;flex:1;min-width:0}@media (width>=1191px){.ranked-layout>.ranked-panel{scrollbar-width:thin;max-height:calc(100dvh - 116px);overflow-y:auto}}@media (width<=600px){.ranked-scoreline{gap:8px}.ranked-scoreline>div>strong{font-size:14px}.ranked-scoreline .ranked-score{font-size:26px}}@media (width>=1600px){.game-shell .workspace{grid-template-columns:390px minmax(0,1fr)}}@media (width<=1190px){.game-topbar{flex-wrap:wrap;gap:8px}.game-topbar .brand{flex:1}.game-nav{flex-basis:100%;order:3}.game-nav button{flex:1}.game-shell .workspace{grid-template-columns:310px minmax(0,1fr)}.game-shell .editor-panel{max-height:calc(100dvh - 195px)}.game-shell .arena-frame{width:min(100%,177.778dvh - 631.111px)}.campaign-layout{grid-template-columns:1fr 1fr;gap:16px}.game-shell .mission-card-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.mission-node{padding:8px}.garage-workstation .build-totals{grid-template-columns:repeat(4,minmax(0,1fr))}.pvp-layout{grid-template-columns:230px minmax(0,1fr)}.pvp-layout .online-layout{grid-template-columns:1fr}}@media (width<=850px){.test-range-layout{grid-template-columns:1fr 1fr}.test-arena{grid-area:2/1/auto/-1}.test-range-heading{flex-wrap:wrap}.game-shell{width:calc(100% - 20px)}.game-topbar .brand strong{font-size:14px}.game-topbar .brand small{display:none}.global-resources{font-size:var(--font-size-secondary);gap:9px}.game-shell .workspace,.campaign-layout,.loadout-layout,.garage-shop-layout,.pvp-layout{grid-template-columns:1fr}.game-shell .editor-panel{max-height:none;overflow:visible}.game-shell .arena-frame{width:100%}.battle-context-bar{flex-wrap:wrap;gap:8px}.battle-context-bar>div:first-child{flex-shrink:1}.game-shell .mission-chapters,.game-shell .mission-brief{max-height:none}.equipment-list{max-height:450px}.equipment-slots{grid-template-columns:repeat(2,minmax(0,1fr))}.view-heading{flex-wrap:wrap}.hardware-readout dl{grid-template-columns:1fr}.battle-report .report-grid{grid-template-columns:repeat(3,1fr)}}@media (width<=520px){.test-range-layout{grid-template-columns:1fr}.test-arena{grid-area:auto}.test-seed{flex-wrap:wrap}.game-topbar .brand-mark{width:28px;height:28px;font-size:var(--font-size-secondary)}.game-topbar .brand strong{display:none}.global-resources{flex:1;justify-content:flex-end}.game-shell .mission-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.mission-node:nth-child(2n):after{display:none}.game-shell .missions-panel,.garage-workstation{padding:12px}.garage-workstation .build-totals{grid-template-columns:repeat(2,minmax(0,1fr))}.game-shell .battle-hud{gap:12px}.focus-panel{padding:22px 16px}.pvp-layout .online-auth{grid-template-columns:1fr}}.game-shell :is(button,input,select,summary){font-size:var(--font-size-secondary);line-height:var(--line-height-compact)}.game-shell button{border-color:var(--border-control)}.game-shell :is(input,select){color:var(--text-primary);border-color:var(--border-control)}.game-shell input::placeholder{color:var(--text-muted);opacity:1}.game-shell :is(input,select,textarea):focus-visible{outline:2px solid var(--accent);outline-offset:2px}.game-shell button:disabled,.game-shell .command-help button.locked{opacity:1;color:var(--text-disabled);background:var(--bg-disabled);border-color:var(--border-control);cursor:not-allowed;border-style:dashed}.game-shell :is(.mission-node.locked,.garage-module.locked),.game-shell .progress-list>div:not(.unlocked){opacity:1;border-style:dashed}.game-shell :is(.game-nav button[aria-current=page],.subnav button[aria-pressed=true],.playback-controls button.active),.game-shell :is(.mission-node.selected,.equipment-slots button.selected,.garage-module.installed){background:var(--bg-active);border-color:var(--accent);box-shadow:inset 3px 0 var(--accent)}.game-shell :is(.game-nav button[aria-current=page],.subnav button[aria-pressed=true],.playback-controls button.active),.game-shell :is(.mission-node.selected,.equipment-slots button.selected) strong{text-underline-offset:4px;font-weight:700;text-decoration:underline}.game-shell :is(.battle-button,.save-version,.ranked-primary,.start-test):not(:disabled),.game-shell .ranked-heading>button:not(:disabled),.game-shell .mission-brief .mission-actions button:last-child:not(:disabled),.game-shell .mission-report .result-actions button:is(:first-child,:nth-child(2)):not(:disabled){color:var(--text-on-accent);background:var(--accent);border-color:var(--accent);font-size:var(--font-size-value);font-weight:700}.game-shell :is(.battle-button,.save-version,.ranked-primary,.start-test):not(:disabled):hover{background:var(--accent-hover)}.game-shell :is(.dsl-onboarding li,.reference-row p,.reference-row small,.reference-note,.opponent-note,.garage-module p,.engineer-xp p,.progress-list small,.missions-heading p,.mission-brief p,.mission-report p,.mission-report-grid,.mission-reasons,.secondary-copy,.ammo-shop-panel p,.maintenance-panel p,.maintenance-danger,.inoperable-warning,.selector-empty,.garage-message,.test-range-heading p,.test-legacy,.test-arena-empty p,.test-end-reason,.ranked-network p,.ranked-match-intro>p,.ranked-result>small){color:var(--text-secondary);font:var(--font-size-body)/var(--line-height-ui) var(--font-ui)}.game-shell :is(.error,.garage-message.error,.inoperable-warning){color:var(--danger)}.game-shell :is(.mission-reasons,.test-legacy){color:var(--warning)}.game-shell :is(code,pre,table,.global-resources,.context-objectives,.test-hardware,.test-build-summary,.garage-ammo-detail,.battle-maintenance,.hardware-readout dl,.mission-card-stars,.mission-report-stars,.mission-report p:last-of-type,.maintenance-panel>p:first-of-type){font-family:var(--font-mono);font-variant-numeric:tabular-nums}.game-shell .ranked-layout .test-hardware+.secondary-copy{font-family:var(--font-mono);font-size:var(--font-size-secondary)}.game-shell .code-editor{font:500 var(--font-size-code)/var(--line-height-code) var(--font-mono)}.game-shell .command-help button:after{color:var(--text-primary);font:var(--font-size-body)/var(--line-height-ui) var(--font-ui)}.game-shell :is(.field-label,.onboarding-heading){color:var(--text-secondary);font-size:var(--font-size-label);line-height:var(--line-height-compact)}.game-shell :is(.brand small,.panel-kicker,.language-badge,.panel-footer,.build-status,.test-seed,.test-run-label,.version-list small,.ranked-details p:not(.error),.ranked-network pre){color:var(--text-muted);font-size:var(--font-size-meta);line-height:var(--line-height-compact)}.game-shell .command-help button.template>span{font-size:var(--font-size-meta);color:var(--link)}.game-shell :is(.global-resources,.stat-heading strong,.ammo-counter,.report-grid strong,.garage-limits strong,.equipment-slots strong,.garage-module-heading strong,.test-live,.test-robot>strong,.battle-maintenance strong,.hardware-readout dd,.ranked-combat-totals td,.ranked-outcome-row p){font-size:var(--font-size-value);font-family:var(--font-mono);font-variant-numeric:tabular-nums}.game-shell :is(.global-resources strong,.garage-limits strong,.stat-heading strong,.report-grid strong,.test-hardware dd,.hardware-readout dd){color:var(--text-primary)}.game-shell :is(p,li,small,.mission-node,.equipment-slots button,.garage-limits span){overflow-wrap:anywhere}.game-shell :is(.mission-node,.equipment-slots button,.garage-limits span){min-width:0}.game-shell :is(.test-hardware div,.hardware-readout dl div,.garage-module-heading){flex-wrap:wrap}.game-shell .test-hardware dd{overflow-wrap:anywhere;max-width:100%}.game-shell .focus-panel{overflow-y:auto}.oauth-actions{grid-column:1/-1;gap:8px;display:grid}.oauth-actions a,.oauth-actions button{border:1px solid var(--border);color:var(--text-primary);background:var(--bg-elevated);text-align:center;font:inherit;cursor:pointer;border-radius:4px;padding:10px 12px;text-decoration:none;display:block}.oauth-actions a:hover,.oauth-actions button:hover{border-color:var(--accent)}
