.device-atlas{background:var(--white);border:1px solid var(--line);padding:18px;border-radius:10px;min-width:0}
.device-atlas[hidden],.atlas-rotation[hidden]{display:none!important}
.device-atlas h3{font-size:23px;margin:0 0 10px}.device-atlas h4{font-size:19px;margin:20px 0 8px}
.device-atlas p{font-size:calc(15px * var(--reading-scale));line-height:1.85;overflow-wrap:anywhere}
.atlas-scope,.atlas-note{color:var(--muted)}
.atlas-controls,.atlas-toolbar,.atlas-filters,.atlas-drill{display:flex;gap:10px 16px;flex-wrap:wrap;align-items:center;margin:12px 0}
.atlas-controls label{display:flex;flex:1;min-width:220px;align-items:center;gap:8px;font-size:15px}
.atlas-controls select{width:100%;min-width:0;color:var(--ink);background:var(--input-bg);border:1px solid var(--line);border-radius:6px;padding:9px}
.atlas-filters label{display:flex;align-items:center;gap:6px;font-size:15px}.atlas-filters input{width:18px;height:18px;accent-color:var(--green)}
.atlas-status{color:var(--green);font-weight:700;background:var(--surface-tint);padding:10px 14px;border-radius:6px}
.atlas-viewport{overflow:auto;max-height:65dvh;background:var(--paper);border:1px solid var(--line);border-radius:8px;touch-action:pan-x pan-y pinch-zoom;cursor:grab}
.atlas-viewport:focus-visible{outline:3px solid var(--orange)}
.atlas-svg{display:block;width:calc(100% * var(--diagram-zoom,1));min-width:calc(700px * var(--diagram-zoom,1))}
.atlas-svg text{font:15px 'Microsoft YaHei',sans-serif;fill:var(--ink)}
.atlas-svg .atlas-annotation{paint-order:stroke fill;stroke:var(--paper);stroke-width:3px;stroke-linejoin:round;pointer-events:none}
.atlas-svg .atlas-material{fill:white;font-weight:700;font-size:16px}
.atlas-svg .atlas-material{stroke:#23352f}
.atlas-region{stroke:#d6e3e5;stroke-width:1}.atlas-top{filter:brightness(1.15)}.atlas-side{filter:brightness(.75)}
.atlas-mesh{stroke-width:.5;stroke-linejoin:round}.atlas-channel{stroke:#c5e7e3;stroke-width:1}
.atlas-quick{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}.atlas-quick .btn{white-space:normal}
.atlas-doping{padding:12px 14px;border:1px solid var(--line);border-radius:8px;background:var(--surface-tint);font-size:calc(15px * var(--reading-scale));line-height:1.85}
.atlas-doping summary{cursor:pointer;color:var(--green);margin-top:6px}.atlas-doping p{margin:6px 0}
.atlas-charge.electron circle{fill:#238af5;stroke:#e4f5ff}.atlas-charge.hole circle{fill:#ff8eac;stroke:#fff0f5}
.atlas-charge path{stroke:white;stroke-width:1.2}.atlas-charge:not(.moving){opacity:.55}.atlas-charge.moving{filter:drop-shadow(0 0 2px #172330)}
.atlas-path{fill:none;stroke-width:1.5;stroke-dasharray:4 5}.atlas-path.electron{stroke:#a4d6ff}.atlas-path.hole{stroke:#ffe0eb}
.atlas-junction{stroke:#ffe06e;stroke-width:3;stroke-dasharray:7 4;fill:none}.atlas-svg .atlas-junction-label{font-size:14px;fill:var(--ink)}
.atlas-depletion{fill:#d9debd;opacity:.65;stroke:#ffe06e;stroke-dasharray:4 3}.atlas-ion{fill:#e8e6b4;stroke:#484730}.atlas-svg .atlas-ion-sign{fill:#35352a;font-size:10px}
.atlas-current{stroke:#d38b34;stroke-width:3;fill:none}.atlas-svg .atlas-current-text{fill:#d38b34;font-size:20px}
.atlas-light{stroke:#fff06c;stroke-width:4;fill:none}.atlas-heat{stroke:var(--orange);stroke-width:3;fill:none}.atlas-svg .atlas-heat-text{fill:var(--orange)}
.atlas-field{stroke:#ece5bb;stroke-width:2;fill:none}.atlas-svg .atlas-field-text{fill:#fff3bc}.atlas-coil{fill:none;stroke:#d0a15c;stroke-width:5;stroke-linejoin:round}.atlas-flux{fill:none;stroke:#88b9a0;stroke-width:2;stroke-dasharray:8 6}
.atlas-svg .atlas-signal{fill:var(--green)}
.atlas-rotation{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin:12px 0}.atlas-rotation label{display:flex;align-items:center;flex-wrap:wrap;gap:8px;font-size:15px}.atlas-rotation input{width:100%;accent-color:var(--green)}
:root .atlas-toolbar .btn.secondary[aria-pressed=true]{background:var(--green);color:var(--paper)}
@media(max-width:700px){.device-atlas{padding:10px}.atlas-controls label{min-width:100%;flex-wrap:wrap}.atlas-rotation{grid-template-columns:1fr}.atlas-toolbar .btn{padding:8px 10px}}

.atlas-path.current{stroke:#f6ad4c}.atlas-current-moving{fill:#ffc36c;stroke:#624423;stroke-width:.8}

.atlas-controls label{flex-direction:column;align-items:stretch;gap:5px}

.atlas-junction-leader{stroke:var(--muted);stroke-width:1;fill:none;stroke-dasharray:3 3}

#detail-status[hidden]{display:none!important}
