/* One 1536 x 1024 plane keeps the painted equipment, terminals and wires aligned. */
.power-scene{container-type:size;background-image:none;background:#d7e5cf}
.power-scene:before{background:linear-gradient(#dcebd3,#b7ccb2)}
.power-scene .scene-title{display:none}
.power-scene .circuit-panel{position:absolute;inset:auto;left:50%;top:47%;translate:-50% -50%;width:min(98cqw,calc(92cqh * 1.5));height:auto;aspect-ratio:3/2;border:0;border-radius:13px;background:none;box-shadow:0 8px 25px #274c3b36;container-type:size}
.circuit-backdrop,.circuit-wiring{position:absolute;inset:0;display:block;width:100%;height:100%;pointer-events:none}
.circuit-backdrop{border-radius:13px;object-fit:contain}.circuit-wiring{overflow:visible}
.wire path{fill:none;stroke-linecap:round;stroke-linejoin:round}.wire-casing{stroke:#4a3026;stroke-width:13}.wire-core{stroke-width:7;transition:stroke .15s}.wire.positive .wire-core{stroke:#a84735}.wire.negative .wire-core{stroke:#3d7798}.wire.negative .wire-casing{stroke:#263e45}.wire.positive.live .wire-core{stroke:#ff8260}.wire.negative.live .wire-core{stroke:#78d4ef}.wire-terminals circle{fill:#394f44;stroke:#f5d487;stroke-width:3}.wire-terminals .wire-junction{fill:#e7c66c;stroke:#5b4c32;stroke-width:2}.cable-clips rect{fill:#9d9e83;stroke:#374d43;stroke-width:2}.terminal-polarity{font:bold 29px Arial,sans-serif;fill:#fff1bb;paint-order:stroke;stroke:#52412d;stroke-width:4}
.board-name{position:absolute;left:36%;top:9.3%;width:32%;text-align:center;color:#fff0bd;font-size:clamp(9px,1.9cqw,20px);font-weight:700;letter-spacing:.12em;text-shadow:0 1px 2px #48321e}
.switch-unit{position:absolute;left:var(--sx);top:17.8%;translate:-50% 0;width:9%;height:20%;text-align:center;color:#f3eccb}
.switch-unit h3{font-size:clamp(7px,1.45cqw,16px);font-weight:700;line-height:1.3;white-space:nowrap}
.power-scene .circuit-switch{position:absolute;left:50%;top:28%;translate:-50% 0;width:68%;height:48%;padding:5%;min-width:20px;border:2px solid #d2bb7c;border-radius:6px;background:linear-gradient(135deg,#d9ceab,#9a9c7e);box-shadow:0 2px 3px #0b302a99;color:#e8efd5}
.power-scene .switch-face{padding:4% 0;border-radius:3px}.power-scene .switch-face i{font-size:clamp(7px,2cqw,20px);line-height:1.05}
.power-scene .circuit-switch small{position:absolute;top:calc(100% + 3px);left:50%;translate:-50% 0;color:#e4debb;font-size:clamp(6px,1.1cqw,12px);line-height:1.1;white-space:nowrap}
.power-scene .circuit-switch.on{border-color:#efdc9d;background:linear-gradient(135deg,#e3d9b0,#b9c598);box-shadow:0 2px 3px #0b302a99}
.switch-unit .line-state{position:absolute;bottom:0;left:50%;translate:-50% 0;margin:0;color:#b6ccc2;font-size:clamp(6px,.95cqw,11px);line-height:1.1;white-space:nowrap}
.switch-unit .line-state:before{width:4px;height:4px;margin-right:3px}.switch-unit.live .line-state{color:#fff1a3}.switch-unit.live .line-state:before{background:#ffe385;box-shadow:0 0 5px #fff1a3}
.source-name{position:absolute;left:4%;top:80.5%;width:27%;background:#fff1d6eb;padding:3px 5px;border-radius:5px;text-align:center;font-size:clamp(7px,1.3cqw,13px);line-height:1.4;font-weight:700;color:#594f32}
.power-scene .camp-lamp,.power-scene .camp-radio{position:absolute;display:block;translate:none;max-width:none;min-width:0;min-height:0;padding:0;background:none;border-radius:0;filter:none}
.power-scene .camp-lamp{left:78.5%;top:12%;width:14%;height:27%}
.power-scene .camp-radio{left:73%;top:55%;width:23%;height:35%}
.camp-lamp svg,.camp-radio svg{display:block;width:100%;height:100%;overflow:visible;pointer-events:none}
.power-scene .camp-lamp span,.power-scene .camp-radio span{position:absolute;left:50%;translate:-50% 0;display:block;width:max-content;max-width:145%;padding:3px 6px;border-radius:5px;background:#fff3d5ee;color:#635840;text-align:center;font-size:clamp(7px,1.25cqw,13px);line-height:1.3;white-space:nowrap}
.power-scene .camp-lamp span{top:118%}.power-scene .camp-radio span{top:109%}
.bulb-halo,.bulb-center,.telegraph-power-light{opacity:0;transition:opacity .15s}.lit .bulb-halo{opacity:1}.lit .bulb-center{opacity:.7}.ready .telegraph-power-light{opacity:1}.telegraph-power-halo{opacity:0;transition:opacity .15s}.ready .telegraph-power-halo{opacity:1}.power-scene .lit span,.power-scene .ready span{color:#386d45}
.power-scene .power-message{position:absolute;left:4%;right:4%;bottom:1.2%;min-height:5%;padding:5px 10px;margin:0;display:flex;align-items:center;justify-content:center;border-radius:10px;background:#fff9e7ee;font-size:clamp(9px,2.3cqh,13px);color:#486750;line-height:1.5;text-align:center}
@media(max-width:760px){.power-scene .circuit-panel{border-radius:8px}.circuit-backdrop{border-radius:8px}.power-scene .circuit-switch{border-width:1px;padding:4%;border-radius:4px}.power-scene .circuit-switch small{top:calc(100% + 2px)}.switch-unit .line-state:before{width:3px;height:3px;margin-right:2px}.power-scene .camp-lamp span,.power-scene .camp-radio span{padding:2px 3px}.source-name{padding:2px 3px}}

/* The rocker itself shows I/O; the one line below reports actual supply. */
.power-scene .circuit-switch small{display:none}
.switch-unit .line-state{width:120%;white-space:normal}
@media(max-height:540px) and (max-width:760px){
 #mission:has(.power-scene) .mission-head{height:42px;padding:4px 12px}
 #mission:has(.power-scene) .mission-head h2{font-size:17px}
 #mission:has(.power-scene) .mission-head span{font-size:9px}
 #mission:has(.power-scene) .mission-body{height:calc(100% - 42px)}
 #mission:has(.power-scene) .brief{max-height:none;height:38px;display:flex;padding:4px 12px;gap:0;justify-content:center;flex-shrink:0}
 #mission:has(.power-scene) .brief #skill-art,#mission:has(.power-scene) .brief #story,#mission:has(.power-scene) #hint,#mission:has(.power-scene) #hint-text,#mission:has(.power-scene) #task-status{display:none}
 #mission:has(.power-scene) .task-card{display:block;font-size:10px}
 #mission:has(.power-scene) .play-wrap{padding:4px 6px;gap:2px}
 #mission:has(.power-scene) #feedback{font-size:9px;min-height:23px}
 .power-scene .power-message{display:none}
 .power-scene .circuit-panel{top:50%;width:min(98cqw,calc(98cqh * 1.5))}
}

.switch-unit .line-state{top:14%;bottom:auto}
.wire-legend{position:absolute;left:38%;top:81%;display:flex;gap:10px;padding:4px 7px;border-radius:6px;background:#fff2d8e8;font-size:clamp(7px,1.25cqw,13px);color:#514b38;line-height:1.4}
.wire-legend span:before{content:'';display:inline-block;vertical-align:2px;width:15px;height:3px;margin-right:5px;border-radius:2px;background:#c34e37}.wire-legend .return-legend:before{background:#387da4}
@container(max-width:400px){.switch-unit .line-state{display:none}.wire-legend{left:35%;gap:5px;padding:3px 4px}.wire-legend span:before{width:9px;margin-right:3px}}

/* Supply is shown by the indicator and wire color; keep the cabinet wiring unobscured. */
.switch-unit .line-state{display:none}
.switch-unit h3:before{content:'';display:inline-block;width:4px;height:4px;margin-right:4px;vertical-align:2px;border-radius:50%;background:#829886}
.switch-unit.live h3:before{background:#ffe29b;box-shadow:0 0 5px #fff0ac}

.source-seeds{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.transmitter-engraving{font:22px serif;fill:#e9cd8b;letter-spacing:2px}
