/* Figures specific to "What nuclear means". Shared rules live in lab-common.css. */
.lab-canvas.wide{width:100%; height:auto; border:none; border-radius:6px; margin-top:8px;}
.lab-svg .lab-t{font-family:var(--sans); font-size:13px; font-weight:600; fill:var(--ink);}
.lab-svg .lab-t.small{font-size:11px; font-weight:500; fill:var(--muted);}
.lab-svg .lab-t.tiny{font-size:10px; font-weight:600;}
.lab-svg .lab-t.muted{fill:var(--faint);}
.lab-svg .lab-t.mono{font-family:var(--mono); font-size:16px; font-weight:500; fill:var(--accent);}

/* spectrum */
.lab-svg .thr{stroke:var(--ink); stroke-width:1.5;}
.lab-svg .thr-t{fill:var(--ink);}
.lab-svg .marker{fill:var(--accent);}
.lab-svg .orbit{fill:none; stroke:var(--border); stroke-width:1.5; stroke-dasharray:3 4;}
.lab-svg .nucleus{fill:var(--accent);}
.lab-svg .electron{fill:var(--ink);}
.lab-svg .photon{fill:none; stroke-width:2; opacity:.9;}

/* geiger */
.lab-svg .tube{fill:#b08d57; stroke:#8a6a3a; stroke-width:1.5;}
.lab-svg .box{fill:var(--surface-2); stroke:var(--border); stroke-width:1.5;}
.lab-svg .led{fill:var(--border); transition:fill .05s;}
.lab-svg .led.on{fill:#2f7bff; filter:drop-shadow(0 0 6px #2f7bff);}
.lab-svg .obj{transition:opacity .3s;}
.lab-svg .obj.off{opacity:.25;}
.lab-svg .objbox{fill:var(--surface-2); stroke:var(--muted); stroke-width:1.5;}
.lab-svg .source{fill:var(--accent); stroke:var(--surface); stroke-width:2;}

/* dose and energy bars */
.dose-bars{margin:12px 0 4px; font-family:var(--sans); font-size:.8rem;}
.dose-row{display:grid; grid-template-columns:minmax(10em,16em) 1fr 5.5em; align-items:center; gap:10px; margin:6px 0;}
.dose-row.total{margin-top:10px; padding-top:8px; border-top:1px solid var(--border); font-weight:600;}
.dose-lab{color:var(--muted);}
.dose-row.total .dose-lab{color:var(--ink);}
.dose-track{height:12px; background:var(--surface-2); border-radius:3px; overflow:hidden;}
.dose-track.log{background:repeating-linear-gradient(90deg, var(--surface-2) 0 calc(100%/5.667 - 1px), var(--border) calc(100%/5.667 - 1px) calc(100%/5.667));}
.dose-fill.mc2{background:var(--ink); opacity:.75;}
.dose-lab small{display:block; font-size:.68rem; color:var(--faint);}
.log-axis{display:grid; grid-template-columns:minmax(10em,16em) 1fr 5.5em; gap:10px; font-family:var(--mono); font-size:.66rem; color:var(--faint); height:1.3em; margin:2px 0 10px;}
.log-axis .ax{grid-column:2; position:relative;}
.log-axis .ax span{position:absolute; top:0; transform:translateX(-50%);}
@media (max-width:600px){ .log-axis{display:none;} }
.dose-fill{height:100%; border-radius:3px; transition:width .35s ease; background:var(--accent);}
.dose-fill.med{background:var(--ink); opacity:.7;}
.dose-fill.trav{background:var(--muted);}
.dose-fill.tot{background:var(--accent);}
.dose-fill.chem{background:var(--muted);}
.dose-fill.nuc{background:var(--accent);}
.dose-num{font-family:var(--mono); text-align:right; font-feature-settings:"tnum" 1;}
@media (max-width:600px){ .dose-row{grid-template-columns:1fr 5em; } .dose-row .dose-track{grid-column:1/-1; order:3;} }

/* zoo */
.lab-svg .slab{stroke:var(--border); stroke-width:1;}
.lab-svg .slab.paper{fill:#f1e8d2;}
.lab-svg .slab.aluminium{fill:#c8ccd2;}
.lab-svg .slab.lead{fill:#5e6068;}
.lab-svg .slab.water{fill:#9cc4e4; fill-opacity:.7;}
.lab-svg .track{fill:none; stroke-width:2;}
.zoo-table{font-family:var(--sans); font-size:.78rem; margin:12px 0 6px; overflow-x:auto;}
.zr{display:grid; grid-template-columns:minmax(11em,1.6fr) 5.5em 8em 8em 8em; gap:10px; padding:6px 0; border-bottom:1px solid var(--border); min-width:520px;}
.zr.head{color:var(--faint); font-size:.62rem; letter-spacing:.08em; text-transform:uppercase; font-weight:600;}
.zr span:first-child{font-weight:600;}
