/* Figure for "The ion engine". Shared rules live in lab-common.css. */
.lab-check{display:inline-flex; align-items:center; gap:6px; font-family:var(--sans); font-size:.8rem; cursor:pointer;}
.lab-check input{accent-color:var(--accent);}
.lab-svg .lab-t{font-family:var(--sans); font-size:13px; font-weight:600; fill:var(--ink);}
/* engineering drawing */
.lab-svg.cad{background:var(--surface);}
.lab-svg.cad .frame{fill:none; stroke:var(--ink); stroke-width:1.2;}
.lab-svg.cad .gridl{stroke:var(--border); stroke-width:.5; opacity:.6;}
.lab-svg.cad .face{fill:var(--bg); stroke:var(--ink); stroke-width:1.1; stroke-linejoin:round;}
.lab-svg.cad .face.end{fill:var(--surface-2);}
.lab-svg.cad .face.open{fill:var(--surface);}
.lab-svg.cad .face.magnet{fill:var(--surface-2);}
.lab-svg.cad .face.grid{fill:var(--bg);}
.lab-svg.cad .face.panel{fill:var(--surface-2);}
.lab-svg.cad .face.fin,.lab-svg.cad .face.radiator{fill:var(--bg); stroke-width:.9;}
.lab-svg.cad .face.shield{fill:var(--surface-2);}
.lab-svg.cad .face.core{stroke-width:1.2;}
.lab-svg.cad .hatchl{stroke:var(--muted); stroke-width:.8;}
.lab-svg.cad .hole{fill:var(--surface-2); stroke:var(--ink); stroke-width:.5;}
.lab-svg.cad .perf{stroke:none;}
.lab-svg.cad .hidden{fill:none; stroke:var(--muted); stroke-width:.8; stroke-dasharray:4 3;}
.lab-svg.cad .body-l{fill:none; stroke:var(--ink); stroke-width:1.1; stroke-linecap:round;}
.lab-svg.cad .tube{stroke-width:3;}
.lab-svg.cad .thin{stroke:var(--muted); stroke-width:.6;}
.lab-svg.cad .cable{fill:none; stroke:var(--ink); stroke-width:1.6; stroke-dasharray:6 4;}
.lab-svg.cad .leader{stroke:var(--ink); stroke-width:.8;}
.lab-svg.cad .balloon{fill:var(--surface); stroke:var(--ink); stroke-width:1;}
.lab-svg.cad .cad-t{font-family:var(--mono); font-size:11px; fill:var(--ink);}
.lab-svg.cad .cad-t.bal{font-weight:600;}
.lab-svg.cad .cad-t.small{font-size:10px;}
.lab-radio.wrap label{white-space:nowrap;}
.lab-svg.cad .cad-t.dim{font-size:10.5px; fill:var(--muted);}
.lab-svg.cad .cad-t.tiny{font-size:9px; fill:var(--muted);}
.lab-svg.cad .cad-t.title{font-weight:600; letter-spacing:.06em;}
.lab-svg.cad .dimline{stroke:var(--muted); stroke-width:.8;}
.lab-svg.cad .dimhead{fill:var(--muted);}
.lab-svg.cad .tb{fill:var(--surface); stroke:var(--ink); stroke-width:1;}
.lab-svg.cad .tbl{stroke:var(--ink); stroke-width:.6;}
.lab-svg.cad .beam{stroke:none;}
.lab-svg.cad .ion{stroke:#4a9fe0; stroke-width:1.2; stroke-dasharray:3 14; opacity:.8; animation:ionflow 1.2s linear infinite;}
@keyframes ionflow{to{stroke-dashoffset:-17;}}
.lab-parts{font-family:var(--sans); font-size:.78rem; margin:10px 0 4px; display:grid; grid-template-columns:2em 1fr 1fr; gap:4px 12px;}
.lab-parts .ph{color:var(--faint); font-size:.64rem; letter-spacing:.1em; text-transform:uppercase; font-weight:600; padding-bottom:4px; border-bottom:1px solid var(--border);}
.lab-parts span{padding:3px 0; border-bottom:1px solid var(--border);}
.lab-parts .n{font-family:var(--mono); color:var(--muted);}
