.board-frame.physical-board{padding:0;background:#f3f5ee;position:relative;overflow:hidden}
.model-header{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:13px 15px;border-bottom:1px solid #e0e7dc;font-size:10px;color:#708276}
.model-status-dot{display:inline-block;width:5px;height:5px;border-radius:50%;background:#31817a;margin-right:5px}
.model-live-status{font-size:9px;color:#326b5a;text-align:right}
.physical-viewer{width:100%;position:relative;aspect-ratio:4/3;max-height:440px;overflow:hidden}
.physical-viewer .model-preview{width:100%;height:100%;object-fit:contain;padding:16px;display:block}
.model-controls-note{margin:0;font-size:9px;color:#849085;line-height:1.8;padding:0 13px 11px}
.physical-note{font-size:9px;line-height:1.8;color:#7f8a7d;margin:10px 0 0}
.physical-board.power-off .model-live-status{color:#8b8170}
@media(max-width:700px){.model-header{align-items:flex-start;padding:10px;flex-direction:column;gap:3px}.model-header>span{font-size:9px}.model-live-status{text-align:left}.physical-viewer .model-preview{padding:10px}.model-controls-note,.physical-note{font-size:8px}}

/* Same image content rectangle and SVG viewBox keep PCB feedback aligned,
   including letterboxing at max-height and the mobile padding change. */
.board-feedback-layer{position:absolute;left:16px;top:16px;width:calc(100% - 32px);height:calc(100% - 32px);pointer-events:none;overflow:visible}
.board-feedback-layer .led-halo{opacity:0}
.board-feedback-layer .led-emitter{fill:#503c3b}
.board-feedback-layer .led-locator{stroke:#e1bfa1;stroke-dasharray:5 5}
.board-feedback-layer .led-label-box{fill:#fffaf0;stroke:#d3c4aa;stroke-width:2}
.board-feedback-layer text{font-family:Arial,"Microsoft YaHei",sans-serif;font-size:26px;fill:#514c42}
.board-feedback-layer .led-ref-label{font-weight:700}
.board-feedback-layer[data-on="true"] .led-halo{opacity:1}
.board-feedback-layer[data-on="true"] .led-emitter{fill:#fff0b2;stroke:#ff6250;stroke-width:3}
.board-feedback-layer[data-on="true"] .led-locator{stroke:#ffb274;stroke-dasharray:none}
.board-feedback-layer[data-on="true"] .led-label-box{fill:#fff1d9;stroke:#e5964b}
@media(max-width:700px){.board-feedback-layer{left:10px;top:10px;width:calc(100% - 20px);height:calc(100% - 20px)}}
