/* Interactive source-grounded powertrains. Geometry and labels stay separate. */
.pt-workbench{border:1px solid var(--rule);padding:26px;background:linear-gradient(140deg,var(--paper-2),var(--paper));border-radius:12px;margin:26px 0}.pt-head{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}.pt-head h3{font:600 clamp(29px,4vw,48px)/1.05 Arial,sans-serif;letter-spacing:-.05em;margin:5px 0 14px}.pt-kicker{font:9px ui-monospace,monospace;letter-spacing:1.4px;color:var(--accent)}.pt-tabs{display:flex;gap:7px;flex-wrap:wrap}.pt-tabs button,.pt-buttons button{border:1px solid var(--edge);padding:10px 14px;background:var(--paper);color:var(--ink);font:11px ui-monospace,monospace;cursor:pointer;border-radius:5px;min-height:40px}.pt-tabs button[aria-pressed=true]{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.pt-paper{margin:18px 0;padding:14px;background:#fff;border-radius:5px}.pt-paper img{width:100%;max-width:1100px;margin:auto;height:auto;display:block}.pt-paper figcaption{color:#253647!important;font:12px/1.6 Arial,sans-serif!important}.pt-paper a{color:#114777!important}.pt-scroll{overflow:auto;overscroll-behavior-x:contain;border:1px solid var(--rule);border-radius:8px;margin-top:20px;background:radial-gradient(ellipse at 60% 50%,#2e6a8622,transparent)}.pt-map{display:block;width:100%;min-width:720px;height:auto}.pt-map .node rect{fill:var(--paper-2);stroke:var(--edge);stroke-width:1}.pt-map .node circle{fill:var(--paper);stroke:var(--edge)}.pt-map .node-title{fill:var(--ink);font:600 14px Arial,sans-serif}.pt-map .node-sub{fill:var(--ink-muted);font:10px ui-monospace,monospace}.pt-map .node-value{fill:var(--accent);font:600 14px ui-monospace,monospace}.pt-map .pipe{fill:none;stroke:#75d9ed;stroke-width:2;opacity:.48;stroke-linecap:round;stroke-linejoin:round}.pt-map .flow{fill:none;stroke:#a3efff;stroke-width:2.8;stroke-dasharray:3 22;stroke-linecap:round;pointer-events:none;opacity:1}.pt-map .heat{stroke:#ffb476}.pt-map .cool{stroke:#73e5b9}.pt-map .hydrogen{stroke:#a29cff}.pt-map .connection-note{fill:var(--ink-muted);font:10px ui-monospace,monospace}.pt-map .source-outline{fill:none;stroke:var(--rule);stroke-dasharray:3 5}.pt-readouts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:18px}.pt-readout{padding:16px;background:var(--paper);border:1px solid var(--rule);border-radius:5px;min-width:0}.pt-readout span{font:10px ui-monospace,monospace;color:var(--ink-muted);display:block;margin-bottom:10px}.pt-readout strong{font:500 clamp(19px,2.5vw,34px)/1 Arial,sans-serif;letter-spacing:-.035em;color:var(--ink);display:block}.pt-controls{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px 25px;margin-top:24px}.pt-control{min-width:0}.pt-control label{display:flex;justify-content:space-between;gap:8px;font:11px/1.5 ui-monospace,monospace;color:var(--ink)}.pt-control label output{color:var(--accent);white-space:nowrap}.pt-control input{width:100%;margin-top:13px;accent-color:var(--accent);min-height:22px}.pt-buttons{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:20px}.pt-buttons span{margin-left:auto;color:var(--ink-muted);font:11px ui-monospace,monospace}.pt-status{font:13px/1.6 Arial,sans-serif;color:var(--ink);border-left:2px solid var(--accent);padding:9px 12px;min-height:48px;margin-top:20px}.pt-key{display:flex;gap:18px;font:10px ui-monospace,monospace;flex-wrap:wrap;color:var(--ink-muted);margin-top:14px}.pt-key i{display:inline-block;width:18px;height:2px;vertical-align:middle;margin-right:5px;background:#a29cff}.pt-key .thermal i{background:#ffb476}.pt-key .electric i{background:#a3efff}.pt-key .coolant i{background:#73e5b9}.pt-hint{display:none;font:9px ui-monospace,monospace;color:var(--ink-muted);margin:10px 0 0}.pt-small{font:11px/1.7 Arial,sans-serif;color:var(--ink-muted);margin-top:14px}.pt-workbench details{border-top:1px solid var(--rule);margin-top:18px;padding-top:5px}.pt-workbench summary{cursor:pointer;color:var(--accent);font:11px/1.6 ui-monospace,monospace;padding:14px 0}.pt-workbench details p{font:12px/1.8 Arial,sans-serif;color:var(--ink-muted);max-width:900px}.pt-workbench [hidden]{display:none!important}.pt-controls select{background:var(--paper);color:var(--ink);font:12px Arial,sans-serif;border:1px solid var(--edge);padding:8px;border-radius:4px;width:100%}
/* ATLAS: obsidian / ion blue. No inherited paper-green palette. */
:root[data-lab-topic=atlas]{--paper:#050d1b;--paper-2:#0b1a30;--ink:#e8f5ff;--ink-muted:#aac5dc;--accent:#79eaff;--mark:#bdacff;--rule:#314e76;--rule-strong:#506c9a;--edge:#799bc8;--focus:#a7eaff;--accent-ink:#03152c;--s-elec:#79eaff;--s-heat:#ffbb95;--s-cool:#a0a5ff;--s-loss:#95abc0;--world-glow:#2068ff32;color-scheme:dark}
html[data-lab-topic=atlas] .instrument{border:1px solid #426186;box-shadow:0 0 50px #1f66ff12;border-top:2px solid #79eaff;border-radius:8px}html[data-lab-topic=atlas] .lab-source-photo img{border-color:#274566;box-shadow:9px 12px 0 #162640}html[data-lab-topic=atlas] .lab-panel-intro:after{transform:rotate(28deg);border-style:solid;border-color:#4977d578;box-shadow:0 0 60px #277dff33}html[data-lab-topic=atlas] .lab-panel-intro h2{color:#e9f5ff}.boil-cinematic{height:360px!important;background:#080d12!important;border:1px solid #754635!important;box-shadow:inset 0 -25px 50px #ff631821,0 15px 50px #0002}.boil-cinematic canvas{height:100%!important}.reactor-credential{display:inline-block;padding:9px 13px;border:1px solid #438b97;color:#bff5ef;font:11px ui-monospace,monospace;background:#133a3f;margin-top:12px}.lab-page #panel-reactor .rx__head{display:none}.lab-page #panel-reactor .rx__wm{opacity:.07}.lab-page #panel-reactor .fs__prec{margin-block:20px}.lab-page #panel-reactor .rx__fig{margin-top:18px}.lab-page #panel-reactor .fs__read{font-size:11px}.lab-page .reactor-restored h3{font:500 28px Arial,sans-serif;letter-spacing:-1px}.webreg-story{padding:28px;border:1px solid var(--rule);border-radius:8px;background:#081b16;margin:25px 0}.webreg-story h3{font:600 clamp(32px,5vw,62px)/1.02 Arial,sans-serif;letter-spacing:-.055em;max-width:690px;margin:18px 0}.webreg-story>p{font:14px/1.7 Arial,sans-serif;max-width:640px;color:var(--ink-muted)}.webreg-story canvas{display:block;width:100%;height:300px;border:1px solid #32644a;background:#04110c;margin:25px 0;border-radius:5px}.webreg-story>a{display:inline-block;background:#b5f49c;color:#062413;padding:14px 20px;border-radius:4px;text-decoration:none;font:12px ui-monospace,monospace}.webreg-caption{display:flex;justify-content:space-between;gap:14px;font:9px/1.6 ui-monospace,monospace;color:#89b195;letter-spacing:1px}
@media(max-width:750px){.pt-workbench{padding:17px}.pt-controls{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 14px}.pt-control label{font-size:10px;flex-wrap:wrap}.pt-readout{padding:11px}.pt-readout span{font-size:8px;min-height:21px}.pt-readout strong{font-size:22px}.pt-head h3{font-size:34px}.pt-hint{display:block}.pt-key{gap:12px;font-size:9px}.pt-status{font-size:12px}.pt-workbench .sim-guide{margin-top:20px}.pt-map{min-width:760px}.boil-cinematic{height:310px!important}.webreg-story{padding:19px}.webreg-story canvas{height:250px}.webreg-story h3{font-size:39px}.lab-page #panel-reactor .fs__read{font-size:10px}.lab-page #panel-reactor .rx__frame{overflow:auto}.lab-page #panel-reactor .fs__tankwrap{height:250px}}
@media(max-width:380px){.pt-controls{grid-template-columns:1fr}.pt-readouts{grid-template-columns:1fr}.pt-readout{display:flex;justify-content:space-between;align-items:center}.pt-readout span{min-height:0;margin:0}.pt-readout strong{font-size:25px}}
