.physics-views,.physics-presets,.physics-links{display:flex;flex-wrap:wrap;gap:10px;margin:12px 0}
:root .physics-views .btn.secondary[aria-pressed=true]{background:var(--green);color:var(--paper)}
.physics-panel{border:1px solid var(--line);border-radius:8px;background:var(--surface-tint);padding:16px;min-width:0}
.physics-panel[hidden],#detail-board[hidden]{display:none!important}
.physics-panel h3{font-size:calc(21px * var(--reading-scale));margin:0 0 10px}
.physics-panel p{font-size:calc(15px * var(--reading-scale));line-height:1.85;overflow-wrap:anywhere}
.physics-readings{font:600 16px var(--mono);line-height:1.8;overflow-wrap:anywhere}
.physics-state{color:var(--green);font-weight:700;margin:8px 0}
.physics-scroll{overflow:auto;max-height:55dvh;border:1px solid var(--line);border-radius:6px;background:var(--white)}
.physics-svg{display:block;width:calc(100% * var(--diagram-zoom,1));min-width:calc(640px * var(--diagram-zoom,1))}
.physics-svg text{fill:var(--ink);font:17px 'Microsoft YaHei',sans-serif}
.physics-body{fill:var(--warn-bg);stroke:var(--orange)}
.physics-contact{fill:var(--chart-active);stroke:var(--green)}
.physics-drift{fill:var(--surface-tint);stroke:var(--green)}
.physics-gate{fill:var(--chart-active);stroke:var(--green);stroke-width:2}
.physics-oxide{fill:var(--warn-bg);stroke:var(--orange);stroke-width:2}
.physics-channel{fill:var(--green);opacity:.6}
.physics-depletion{fill:var(--surface-tint);stroke:var(--muted);stroke-dasharray:5 4;opacity:.8}
.physics-wire{fill:none;stroke:var(--ink);stroke-width:2}
.physics-field{fill:none;stroke:var(--orange);stroke-width:2}
.physics-current{fill:none;stroke:var(--orange);stroke-width:3}
.physics-current-head{fill:var(--orange)}
.physics-particle.electron circle{fill:#247ee8;stroke:var(--white)}
.physics-particle.hole circle{fill:#ce7639;stroke:var(--white)}
.physics-particle path{stroke:#fff;stroke-width:1.5}
.physics-steps{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:16px 0}
.physics-steps section{background:var(--white);border:1px solid var(--line);border-radius:6px;padding:12px}
.physics-steps h4{font-size:17px;margin:0 0 5px}
.physics-steps p{margin:0}
.physics-formula{padding:12px;background:var(--white);border-left:3px solid var(--green);overflow-x:auto}
.physics-links a{font-size:15px}
@media(max-width:700px){.physics-panel{padding:10px}.physics-steps{grid-template-columns:1fr}.physics-views .btn{padding:9px 10px;font-size:14px}.physics-panel h3{font-size:20px}}

.package-tabs,.package-controls,.package-parts{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:12px 0}
:root .package-explorer .btn.secondary[aria-pressed=true]{background:var(--green);color:var(--paper);border-color:var(--green)}
.package-explorer [hidden],.physics-scroll[hidden],.physics-legend[hidden]{display:none!important}
.package-content{padding:12px;border:1px solid var(--line);border-radius:10px;background:var(--white)}
.package-content h4{font-size:20px;margin:4px 0 14px}
.package-controls label{display:flex;align-items:center;gap:8px;font-size:15px}
.package-controls input[type=checkbox]{width:20px;height:20px;accent-color:var(--green)}
.package-controls select{max-width:100%;background:var(--input-bg);color:var(--ink);border:1px solid var(--line);border-radius:6px;padding:6px}
.package-viewport{overflow:auto;border-radius:8px;background:radial-gradient(ellipse at 50% 40%,var(--surface-tint),var(--paper));touch-action:pan-x pan-y pinch-zoom;cursor:grab;max-height:65dvh}
.package-viewport:active{cursor:grabbing}
.package-viewport:focus-visible{outline:3px solid var(--orange);outline-offset:2px}
.package-svg{width:calc(100% * var(--diagram-zoom,1));min-width:calc(560px * var(--diagram-zoom,1));display:block}
.package-face{stroke:#7d90a4;stroke-width:1;stroke-linejoin:round}
.package-face.selected{stroke:#f7b759;stroke-width:3}
.package-bond{fill:none;stroke:#e3bd76;stroke-width:5;stroke-linejoin:round}
.package-bond.selected{stroke:#ffe2a4;stroke-width:8}
.package-shadow{fill:#0b1826;opacity:.12}
.package-track{fill:none;stroke-width:2;opacity:.8;stroke-dasharray:4 4;pointer-events:none}
.package-track.current{stroke:#f4a641}.package-track.electron{stroke:#318bff}
.package-carrier{pointer-events:none}.package-carrier.current{fill:#ffad43;stroke:#56350c;stroke-width:1}
.package-carrier.electron circle{fill:#278aff;stroke:#e8f5ff;stroke-width:1.5}.package-carrier.electron path{stroke:white;stroke-width:1.5}
.package-svg text{fill:var(--ink);font:17px 'Microsoft YaHei',sans-serif;pointer-events:none}
.package-svg .package-mark{fill:#eff4ff;font:700 20px Consolas,monospace}
.package-leader{fill:none;stroke:var(--muted);stroke-width:1.5;pointer-events:none}
.package-pin rect{fill:var(--white);stroke:var(--line)}.package-pin.selected rect{stroke:var(--orange);stroke-width:3}
.package-rotation{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:12px 0}
.package-rotation label{display:flex;align-items:center;flex-wrap:wrap;gap:8px;font-size:15px;min-width:0}
.package-rotation input{min-width:70px;width:100%;accent-color:var(--green)}
.package-description{border-left:3px solid var(--orange);padding:8px 12px;background:var(--warn-bg);color:var(--warn-ink)}
.package-flow-note{font-weight:600;color:var(--green)}
.package-content .package-footnote{font-size:14px;color:var(--muted)}
@media(max-width:700px){.package-content{padding:8px}.package-controls{align-items:flex-start}.package-rotation{grid-template-columns:1fr}.package-parts .btn{padding:7px 10px}.package-content h4{font-size:18px}}

.package-direction-key{display:flex;flex-wrap:wrap;gap:8px 20px}.package-direction-key span:first-child{color:#3989e9}.package-direction-key span:last-child{color:var(--orange)}
