.loadout-layout{grid-template-columns:minmax(0,1fr) 360px;gap:24px;max-width:1260px}.loadout-intro{grid-column:1/-1}.loadout-intro h1{font:600 38px 'Barlow Condensed',sans-serif;margin:10px 0}.loadout-intro p{color:#9eafa1;font-size:13px}.workshop-panel,.loadout-drafts{padding:20px;border:1px solid #435e49;background:#142119;margin-bottom:18px;min-width:0}.workshop-panel-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:18px}.workshop-panel h2,.loadout-drafts h2{font:600 24px 'Barlow Condensed',sans-serif;margin:0}.workshop-panel-heading>a{font-size:10px}.workshop-panel-heading button{font-size:10px;padding:6px 10px}.workshop-selectors{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.loadout-layout label{font:10px/1.6 'IBM Plex Mono',monospace;color:#b5c7ad}.workshop-selectors label{display:flex;flex-direction:column;gap:7px;min-width:0}.loadout-layout select,.loadout-layout input[type=text],.loadout-layout input[type=number]{width:100%;padding:10px;background:#0e1813;border:1px solid #4b6651;color:#e1ebda;font:12px system-ui;min-width:0}.loadout-layout select:disabled{opacity:.4}.workshop-hint{font:10px/1.7 'IBM Plex Mono',monospace;color:#8ea38f;margin:14px 0}.workshop-pilot,.workshop-equipment{display:flex;align-items:center;gap:16px;margin:18px 0}.workshop-pilot .reference-thumb{float:none;margin:0;width:64px;height:64px;flex-shrink:0}.workshop-equipment .reference-thumb{float:none;margin:0;width:56px;height:56px;flex-shrink:0}.workshop-pilot small,.workshop-equipment small{display:block;color:#a2b49d;font-size:11px;line-height:1.7;margin-top:7px}.workshop-pilot a,.workshop-equipment a{font-size:13px;text-underline-offset:3px}.reactor-input{display:flex;align-items:center;gap:12px}.reactor-input input{max-width:80px}.allocation-options{display:grid;grid-template-columns:1fr 1fr;gap:10px}.allocation-toggle{display:flex;align-items:center;gap:9px;padding:12px;border:1px solid #3d5342;background:#1b2a20;cursor:pointer}.allocation-toggle input{flex-shrink:0}.core-price{margin-left:auto;color:#dfcc85;font:10px/1.5 'IBM Plex Mono',monospace;white-space:nowrap}.weapon-upgrades{display:grid;gap:9px;margin-top:10px}.upgrade-toggle strong{font-weight:500;color:#d0dfc4}.upgrade-toggle small{display:block;font:10px/1.6 system-ui;color:#96ab91;margin-top:4px}.empty-equipment{padding:25px 0;color:#788f7a;font:12px monospace}.loadout-unit-art{display:flex;align-items:center;justify-content:space-around;gap:14px;margin:20px 0}.loadout-unit-art .reference-image{max-width:150px;max-height:140px;margin:0}.loadout-unit-art .reference-thumb{float:none;width:64px;height:64px}.loadout-unit-art .mech-palette-preview{margin:0;display:block}.loadout-unit-art .palette-options{display:none}.loadout-stats{display:flex;align-items:start;gap:24px;padding-bottom:20px;border-bottom:1px solid #3d5243}.reactor-budget{margin:20px 0 12px;display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}.reactor-budget strong{font:600 36px/1 'Barlow Condensed',sans-serif;color:#d8cf91}.reactor-budget span{font:10px monospace;color:#b2bea0}.reactor-budget small{flex-basis:100%;font:11px monospace;color:#9bbc8d}.reactor-budget.is-over-budget strong,.reactor-budget.is-over-budget small{color:#eda99c}.reactor-lights{display:flex;flex-wrap:wrap;gap:5px;margin:15px 0}.reactor-lights i{width:12px;height:20px;display:block;border:1px solid #7f7851;background:#17241a}.reactor-lights .allocated{background:#d2bf75;border-color:#eddf9d;box-shadow:inset 2px 2px #f1e4aa}.reactor-lights .overdrawn{background:#a34c4c;border-color:#e4a098}.power-breakdown{grid-template-columns:minmax(0,1fr) auto;font:10px/1.6 'IBM Plex Mono',monospace;gap:9px}.power-breakdown dd{color:#d9cf93}.budget-warning{font-size:11px;line-height:1.6;color:#e9aa94}.loadout-search-link{display:block;margin-top:20px;font-size:12px;line-height:1.6}.loadout-drafts{grid-column:1;margin:0}.draft-controls{display:flex;align-items:end;gap:10px;flex-wrap:wrap;margin-top:18px}.draft-controls label{flex-basis:100%}.draft-controls #draft-name{flex:1 1 220px;width:auto}.draft-controls button{font-size:11px;min-height:38px}.saved-loadout{display:flex;border-top:1px solid #354e3c;margin-top:10px;padding-top:10px;gap:10px}.saved-loadout>button:first-child{flex:1;text-align:left;background:#1b2d21}.saved-loadout small{display:block;color:#99ad92;margin-top:6px;font:10px monospace}.loadout-layout :focus-visible{outline:2px solid #bfdfa8;outline-offset:3px}.loadout-layout button:disabled{opacity:.4;cursor:default}@media(max-width:900px){.loadout-layout{grid-template-columns:minmax(0,1fr)}#loadout-preview{grid-row:2;position:static;min-height:0}.loadout-unit-art{justify-content:flex-start}.loadout-layout .loadout-drafts{grid-column:1}}@media(max-width:500px){.workshop-panel{padding:15px}.workshop-panel-heading{align-items:start}.workshop-selectors,.allocation-options{grid-template-columns:1fr}.reactor-input{flex-direction:column;align-items:start;gap:5px}.upgrade-toggle{flex-wrap:wrap}.loadout-layout{padding-inline:4vw}.loadout-intro h1{font-size:32px}}

#loadout-preview{min-height:0;max-height:calc(100vh - 48px);overflow-y:auto;scrollbar-gutter:stable}.loadout-drafts .draft-controls>button{flex:0 0 auto}@media(max-width:900px){#loadout-preview{max-height:none;overflow:visible}}

/* Reactor controls share one light language: vertical core cells, horizontal switches. */
.installed-core-count{font:11px 'IBM Plex Mono',monospace;color:#e2dcae;white-space:nowrap}
.installed-reactor{display:flex;align-items:center;gap:12px;margin:0 0 20px}
.core-bar{display:flex;gap:clamp(3px,1vw,12px);flex:1;justify-content:space-between;min-width:0}
.core-step{display:flex;flex-direction:column;align-items:center;gap:7px;padding:4px 2px;background:transparent;border:0;min-width:0;color:#dddcc8;font:11px 'IBM Plex Mono',monospace}
.power-oval{display:block;width:18px;height:34px;border-radius:50%;border:1px solid #e1e6da;background:#152b40;box-shadow:inset 0 0 0 2px #0c1722;flex-shrink:0}
.core-step[aria-pressed=true] .power-oval,.pilot-power-toggle:has(input:checked) .power-oval{background:#e6c65e;box-shadow:inset 0 0 0 2px #655a32,0 0 9px #e5c76b55;border-color:#fff2bf}
.core-step:hover .power-oval{border-color:#fff;outline:1px solid #aebca4;outline-offset:3px}
.clear-cores{padding:6px;font:10px 'IBM Plex Mono',monospace;background:transparent;border:1px solid #526754}
.allocation-toggle input[type=checkbox]{appearance:none;width:30px;height:15px;border:1px solid #e1e6da;border-radius:50%;background:#152b40;box-shadow:inset 0 0 0 2px #0c1722;margin:0;cursor:pointer}
.allocation-toggle input[type=checkbox]:checked{background:#e6c65e;border-color:#fff2bf;box-shadow:inset 0 0 0 2px #655a32,0 0 7px #e5c76b55}
.allocation-toggle input:disabled{opacity:.35;cursor:default}
.allocation-toggle:has(input:checked){border-color:#897e47;background:#292e21}
.pilot-power-toggle{position:relative}.pilot-power-toggle input[type=checkbox]{position:absolute;width:1px;height:1px;opacity:0}
.pilot-core-group{display:flex;gap:5px}.pilot-power-toggle:has(input:focus-visible){outline:2px solid #bfdfa8;outline-offset:3px}
@media(max-width:500px){.installed-reactor{gap:7px}.core-bar{gap:2px}.power-oval{width:15px;height:30px}.core-step{font-size:10px}.clear-cores{font-size:9px;padding:5px}}

/* Compact mech/reactor module, with independent stat-upgrade modules below. */
.reactor-panel{display:grid;grid-template-columns:150px minmax(0,1fr);gap:18px;align-items:center;padding:14px 18px}
.reactor-mech{min-width:0}.reactor-mech .mech-palette-preview{display:flex;flex-direction:column;align-items:center;gap:8px;margin:0;flex-wrap:nowrap}
.reactor-mech .reference-image{width:72px;height:72px;object-fit:contain;image-rendering:pixelated}
.reactor-mech .palette-options{width:auto}.reactor-mech .palette-grid{grid-template-columns:repeat(7,18px);gap:2px}
.reactor-mech .palette-choice{width:18px;height:18px}.reactor-mech .palette-choice img{width:16px;height:16px}
.reactor-mech .palette-caption{font-size:9px;text-align:center;margin-top:5px}
.reactor-controls{min-width:0}.reactor-controls .workshop-panel-heading{gap:8px;margin-bottom:12px;align-items:baseline;flex-wrap:wrap}
.reactor-controls h2{font-size:23px}.reactor-controls .installed-reactor{margin-bottom:0;gap:8px}.reactor-controls .core-bar{gap:3px}
.reactor-controls .core-step{font-size:10px;padding-inline:0}.reactor-controls .power-oval{width:15px;height:29px}
.stat-allocation h2{margin-bottom:14px}.equipment-always-on{display:flex;align-items:center;gap:10px;padding:12px;border:1px solid #303f3b;background:#152021;color:#87958c;font:10px/1.6 'IBM Plex Mono',monospace}
.equipment-always-on .core-price{color:#9b9e84}.passive-power-block{width:34px;height:18px;display:block;border:1px solid #57655e;background:#39483e;box-shadow:inset 0 0 0 3px #1e2c26;flex-shrink:0}
@media(max-width:550px){.reactor-panel{grid-template-columns:1fr;gap:14px}.reactor-mech .mech-palette-preview{flex-direction:row;justify-content:center}.reactor-controls .workshop-panel-heading{flex-wrap:nowrap}.reactor-controls h2{font-size:22px}}

/* Adjoining rectangular hit areas keep the compact lights easy to target. */
.reactor-panel{grid-template-columns:168px minmax(0,1fr)}
.reactor-controls{width:100%;max-width:280px;justify-self:end}
.reactor-controls .workshop-panel-heading{align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:8px}
.reactor-controls h2{font:500 11px/1.5 'IBM Plex Mono',monospace;color:#b5c7ad}
.reactor-heading-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;margin-left:auto}
.reactor-heading-actions .installed-core-count{font-size:10px}.reactor-heading-actions .clear-cores{min-height:26px;padding:4px 7px}
.reactor-controls .installed-reactor{display:block}
.reactor-controls .core-bar{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));gap:0;justify-content:start}
.reactor-controls .core-step{width:100%;min-height:56px;justify-content:center;gap:5px;padding:5px 0;border-radius:0;box-shadow:inset -1px 0 #304136;background:#111e1b}
.reactor-controls .core-step:first-child{box-shadow:inset 1px 0 #304136,inset -1px 0 #304136}
.reactor-controls .core-step:hover{background:#2b382a;outline:1px solid #8b9d79;outline-offset:-1px}
.reactor-controls .core-step:focus-visible{position:relative;outline-offset:-2px}
.reactor-controls .core-step[aria-pressed=true]{background:#2b3020}
.reactor-controls .core-step:hover .power-oval{outline:none}
.reactor-mech .palette-grid{grid-template-columns:repeat(7,24px);gap:0}
.reactor-mech .palette-choice{display:grid;place-items:center;width:24px;height:24px;padding:0;border:0;border-radius:0}
.reactor-mech .palette-choice img{width:16px;height:16px;pointer-events:none}
.reactor-mech .palette-choice:hover{background:#3c4c3a;box-shadow:inset 0 0 0 1px #8c9e80}
.reactor-mech .palette-choice[aria-pressed=true]{outline-offset:-2px;background:#30432e}
.reactor-mech .palette-choice:focus-visible{outline-offset:-2px}
@media(max-width:550px){.reactor-panel{grid-template-columns:1fr}.reactor-controls{max-width:none;justify-self:stretch}.reactor-controls h2{font-size:11px}.reactor-controls .workshop-panel-heading{flex-wrap:wrap}}

/* A single named chassis module, framed like the equipment modules. */
.reactor-panel{padding:0;gap:0;grid-template-columns:192px minmax(0,1fr);align-items:stretch}
.mech-name-bar{grid-column:1/-1;display:flex;align-items:center;gap:16px;padding:9px 18px;border-bottom:1px solid #526548;background:#28382c}
.mech-name-bar>span{font:9px 'IBM Plex Mono',monospace;color:#aebd9f;white-space:nowrap}
.loadout-layout .mech-name-bar input{padding:4px 6px;background:transparent;border:1px solid transparent;font:600 25px/1.2 'Barlow Condensed',sans-serif;color:#e3edcd}
.loadout-layout .mech-name-bar input:hover{border-color:#66805a}.loadout-layout .mech-name-bar input:focus{background:#142119;border-color:#a2bb87}
.reactor-panel .reactor-mech{display:flex;align-items:center;justify-content:center;padding:18px 10px;border-right:1px solid #394c3b;background:#16241d}
.reactor-panel .reactor-controls{display:flex;flex-direction:column;width:auto;max-width:none;justify-self:stretch;justify-content:center;padding:18px}
.reactor-controls .workshop-panel-heading{background:#26332c;border:1px solid #425442;padding:8px;margin:0;min-height:42px;gap:6px}
.reactor-controls h2{font-size:10px}.reactor-heading-actions{gap:7px}.reactor-heading-actions .installed-core-count{font-size:9px}
.reactor-controls .core-bar{border:1px solid #425442;border-top:0}.reactor-controls .core-step{min-height:62px}
.reactor-stat-options{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;border-top:1px solid #435740;background:#1c2a21}
.reactor-stat-options .allocation-toggle{min-height:46px;padding:10px 16px;border:0;margin:0;background:transparent}
.reactor-stat-options .allocation-toggle+ .allocation-toggle{border-left:1px solid #435740}
.reactor-stat-options .allocation-toggle:has(input:checked){background:#303322}
@media(max-width:550px){.reactor-panel{grid-template-columns:1fr}.reactor-panel .reactor-mech{border-right:0;border-bottom:1px solid #394c3b;padding:12px}.reactor-panel .reactor-controls{padding:12px}.reactor-stat-options .allocation-toggle{padding:10px 9px;gap:6px}.reactor-stat-options .core-price{font-size:9px}.mech-name-bar{gap:10px;padding:8px 12px}}

.reactor-controls>.workshop-panel-heading,.reactor-controls>.installed-reactor{width:100%;max-width:280px;align-self:flex-end;box-sizing:border-box}

/* Chassis > paint, reactor, stats: inset panels with a clear shared hierarchy. */
.reactor-panel{grid-template-columns:minmax(180px,.85fr) minmax(0,1.15fr);gap:16px;padding:0 18px 18px}
.mech-name-bar{margin:0 -18px;min-width:0}
.chassis-panel-label{font:500 10px/1.5 'IBM Plex Mono',monospace;letter-spacing:1px;color:#b5c7ad;margin:0;padding:9px 12px;border-bottom:1px solid #3e5140;background:#25352a}
.reactor-panel .reactor-mech{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;padding:0;border:1px solid #435744;background:#18261e;min-height:194px}
.reactor-mech .mech-palette-preview{flex:1;justify-content:center;padding:12px;box-sizing:border-box}
.reactor-panel .reactor-controls{padding:0;border:1px solid #435744;background:#18261e;justify-content:flex-start;min-height:194px}
.reactor-controls>.workshop-panel-heading{max-width:none;width:100%;align-self:stretch;border:0;border-bottom:1px solid #3e5140;padding:8px 10px;min-height:42px}
.reactor-controls>.installed-reactor{max-width:280px;width:calc(100% - 20px);align-self:center;margin:auto 10px;padding:12px 0}
.reactor-controls .core-bar{border-top:1px solid #425442}
.reactor-stat-options{grid-column:1/-1;border:1px solid #435744;background:#18261e;display:block}
.chassis-stat-pair{display:grid;grid-template-columns:1fr 1fr;padding:10px;gap:10px}
.reactor-stat-options .allocation-toggle{border:1px solid #3f5441;min-height:42px;padding:8px 12px;background:#1b2a20}
.reactor-stat-options .allocation-toggle+.allocation-toggle{border:1px solid #3f5441}
@media(max-width:550px){.reactor-panel{grid-template-columns:1fr;gap:12px;padding:0 12px 12px}.mech-name-bar{margin:0 -12px}.reactor-panel .reactor-mech{padding:0;min-height:0}.reactor-mech .mech-palette-preview{flex-direction:row}.reactor-panel .reactor-controls{padding:0;min-height:150px}.chassis-stat-pair{gap:8px;padding:8px}.reactor-stat-options .allocation-toggle{padding:8px;flex-wrap:wrap}.reactor-controls>.workshop-panel-heading{flex-wrap:wrap}}

/* Equipment activation is a rectangular switch; upgrade allocations keep oval cores. */
.equipment-power-toggle{margin-bottom:14px;border-color:#63766d;background:#1b2c2b;min-height:44px}
.equipment-power-toggle input[type=checkbox]{width:34px;height:18px;border-radius:0;border-color:#758e81;background:#23352f;box-shadow:inset 0 0 0 3px #14211d}
.equipment-power-toggle input[type=checkbox]:checked{background:#b4cc9a;border-color:#d2e5bd;box-shadow:inset 0 0 0 3px #384e35}
.equipment-power-toggle:has(input:checked){border-color:#859a73;background:#23342b}
