/* Ten environments. Shared instrument semantics and accessible controls. */
:root[data-lab-topic]{--font-prose:Arial,Helvetica,sans-serif;--font-meta:ui-monospace,SFMono-Regular,Consolas,monospace;--mono:var(--font-meta);--ink:#edf9ff;--ink-muted:#abc3d3;--paper:#081524;--paper-2:#0d2237;--accent:#65dcff;--mark:#ffb487;--rule:#345770;--rule-strong:#526f85;--edge:#7299b0;--focus:#65dcff;--accent-ink:#041521;--surface:var(--paper-2);--select:#324c66;--s-elec:#65dcff;--s-heat:#ffb487;--s-cool:#6be6cf;--s-loss:#aeb7c7;--world-font:Arial,Helvetica,sans-serif;--world-track:-.07em;--world-angle:-25deg;--world-round:5px;--world-glow:#269cca30;color-scheme:dark}
:root[data-lab-topic=vanguard]{--paper:#041d25;--paper-2:#09313d;--ink:#e2fffb;--ink-muted:#abc9ce;--accent:#76f0d4;--mark:#ffe382;--rule:#3c6670;--edge:#78a0aa;--s-elec:#76f0d4;--s-heat:#ffd384;--s-cool:#79c9ff;--world-glow:#26ddbb22;--world-angle:-12deg;--world-track:-.055em;--world-round:24px}
:root[data-lab-topic=atlas]{--paper:#e9eedb;--paper-2:#f6f6e9;--ink:#17251b;--ink-muted:#42513d;--accent:#35631f;--mark:#964016;--rule:#a7b291;--rule-strong:#768660;--edge:#677653;--focus:#2c5723;--accent-ink:#f6faed;--s-elec:#2b5a99;--s-heat:#a84019;--s-cool:#29694c;--s-loss:#586257;--world-glow:#53781713;--world-track:-.07em;--world-round:0;color-scheme:light}
:root[data-lab-topic=cell]{--paper:#210b23;--paper-2:#341436;--ink:#fff0ff;--ink-muted:#cfb3d1;--accent:#ef9fee;--mark:#9af6e7;--rule:#704774;--edge:#aa82ad;--s-elec:#75def3;--s-heat:#ffaea8;--s-cool:#98ebd7;--world-glow:#e864da22;--world-font:Georgia,serif;--world-track:-.06em;--world-round:32px}
:root[data-lab-topic=boiling]{--paper:#1d0b08;--paper-2:#311611;--ink:#fff1e7;--ink-muted:#d6b5a3;--accent:#ffab72;--mark:#ffd89b;--rule:#82503b;--edge:#b17b60;--s-elec:#8eccff;--s-heat:#ff9b59;--s-cool:#83ddd3;--world-glow:#ff56182a;--world-track:-.075em;--world-round:3px}
:root[data-lab-topic=ammonia]{--paper:#071f18;--paper-2:#113329;--ink:#effde6;--ink-muted:#aec6b4;--accent:#c4ed80;--mark:#75e4d2;--rule:#426a51;--edge:#82a98a;--s-elec:#c4ed80;--s-heat:#f3bf83;--s-cool:#79e6d2;--world-glow:#80bf4b22;--world-font:Georgia,serif;--world-round:22px}
:root[data-lab-topic=scales]{--paper:#100d25;--paper-2:#221b3d;--ink:#f5f0ff;--ink-muted:#c1b2d4;--accent:#c4a7ff;--mark:#f4d697;--rule:#5f4a83;--edge:#9f82c5;--s-elec:#bdacff;--s-heat:#f6bb8d;--s-cool:#82d6f1;--world-glow:#975bf32d;--world-font:Georgia,serif;--world-round:45px}
:root[data-lab-topic=reactor]{--paper:#011e26;--paper-2:#07333c;--ink:#e1ffff;--ink-muted:#a2cbd0;--accent:#6af0f7;--mark:#dbf284;--rule:#3f7280;--edge:#71a5b2;--s-elec:#6af0f7;--s-heat:#ffc28f;--s-cool:#b9ec92;--world-glow:#00d8ea22;--world-font:var(--font-meta);--world-track:-.065em;--world-round:4px}
:root[data-lab-topic=automation]{--paper:#271509;--paper-2:#3a2413;--ink:#fff2d9;--ink-muted:#d7bfa5;--accent:#ffc482;--mark:#abe0c0;--rule:#79593b;--edge:#ac855c;--s-elec:#a9d3eb;--s-heat:#ffc482;--s-cool:#a0dcb8;--world-glow:#fca53b22;--world-font:var(--font-meta);--world-round:14px}
:root[data-lab-topic=records]{--paper:#091b12;--paper-2:#153323;--ink:#eaffdf;--ink-muted:#b2cfaa;--accent:#abef99;--mark:#edca7a;--rule:#52704b;--edge:#8dac7d;--s-elec:#abef99;--s-heat:#edca7a;--s-cool:#a1dfe5;--world-glow:#7eca5122;--world-font:var(--font-meta);--world-round:0}
.lab-page{background:var(--paper);color:var(--ink);font-family:var(--font-prose);background-image:radial-gradient(ellipse at 90% 350px,var(--world-glow),transparent 700px)}.lab-page .world-header{display:flex;align-items:center;justify-content:space-between;gap:25px;padding:22px 38px;border-bottom:1px solid var(--rule);background:var(--paper)}.world-brand{display:flex;gap:13px;align-items:center;font:700 10px/1.15 Arial,sans-serif;letter-spacing:.08em;text-decoration:none!important;color:var(--ink)!important}.world-brand b{font:700 28px Arial,sans-serif;letter-spacing:-.13em;border:1px solid var(--rule);padding:6px 9px 6px 4px;color:var(--accent)}.world-header nav{display:flex;gap:30px;font:12px var(--font-meta)}.world-header nav a{text-decoration:none;color:var(--ink)}.world-header nav a[aria-current]{color:var(--accent);border-bottom:2px solid var(--accent)}.lab-page .lab-hero{max-width:1376px;display:grid;grid-template-columns:1fr 1fr;padding:35px 38px 28px;gap:0 40px;align-items:end}.lab-page .lab-hero h1{font:600 clamp(55px,6.8vw,94px)/.9 Arial,sans-serif;letter-spacing:-.07em;margin:15px 0 0}.lab-page .lab-hero h1 em{font:italic 1em Georgia,serif;color:var(--accent)}.lab-page .lab-hero .lab-caveat{font:12px/1.5 var(--font-meta);justify-self:end;align-self:end;max-width:270px;margin-bottom:0}.lab-page .lab-hero>.lab-kicker{margin:0;font-size:9px}.lab-page .lab-topics{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px;padding:0;border:0;max-width:1300px;width:calc(100% - 76px)}.lab-topics a{position:relative;display:grid;grid-template-columns:26px 1fr 14px;align-items:center;gap:9px;padding:18px 14px;border:1px solid var(--rule);border-radius:4px;background:var(--paper-2);font:11px/1.25 var(--font-meta);color:var(--ink);overflow:hidden;transition:transform .2s,border-color .2s}.lab-topics .portal-index{color:var(--accent);font-size:10px}.lab-topics a>i{font-style:normal;color:var(--accent)}.lab-topics a:hover{transform:translateY(-3px);border-color:var(--accent)}.lab-topics a[aria-current=page]{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.lab-topics a[aria-current] .portal-index,.lab-topics a[aria-current] i{color:var(--accent-ink)}.lab-topics a[data-topic=hydrogen]:before,.lab-topics a[data-topic=boiling]:before,.lab-topics a[data-topic=reactor]:before{content:'';position:absolute;inset:auto -6px -18px auto;width:70px;height:55px;border:1px solid currentColor;border-radius:50%;opacity:.12;transform:rotate(-30deg)}.lab-topics a[data-topic=atlas]{border-radius:0;border-bottom-width:3px}.lab-topics a[data-topic=cell]{border-radius:25px}.lab-topics a[data-topic=scales]{border-radius:25px 5px 25px 5px}.lab-topics a[data-topic=records]{border-style:dashed}.lab-topics a[data-topic=vanguard]{border-radius:4px 24px 4px 4px}.lab-topics a[data-topic=ammonia]{border-radius:4px 4px 24px 4px}.lab-page .lab-toolbar{max-width:1300px;width:calc(100% - 76px);display:flex;gap:10px;align-items:center;margin:20px auto 0;padding:12px 0;border-bottom:1px solid var(--rule);font:11px var(--font-meta);position:sticky;top:0;z-index:90;background:var(--paper)}.lab-toolbar button{border:1px solid var(--edge);border-radius:30px;padding:11px 16px;background:var(--paper-2);color:var(--ink);cursor:pointer;font:10px var(--font-meta)}.lab-toolbar button[aria-pressed=true]{background:var(--accent);color:var(--accent-ink)}.lab-toolbar .world-stepper{margin-left:auto;display:flex;align-items:center;gap:14px}.world-stepper button{padding:9px 14px;font-size:15px}.world-stepper span{font:11px var(--font-meta);min-width:140px;text-align:center}.lab-page .lab-motion-note{display:none}.lab-page .lab-scroll-hint{font-size:10px;max-width:1300px;width:calc(100% - 76px);margin:12px auto;color:var(--ink-muted)}.lab-page .letter{width:calc(100% - 76px);max-width:1300px;padding-bottom:40px}.lab-page .lab-panel-intro{padding:34px 0 42px;position:relative;display:block;overflow:hidden;isolation:isolate;border:0;margin-bottom:0}.lab-panel-intro .lab-kicker{font:10px var(--font-meta);letter-spacing:.14em;color:var(--accent);opacity:1;display:block;margin-bottom:25px}.lab-page .lab-panel-intro h2{font:500 clamp(46px,6.3vw,88px)/1.02 var(--world-font);letter-spacing:var(--world-track);max-width:950px;margin:0 0 20px}.lab-panel-intro p{font:15px/1.6 Arial,sans-serif;max-width:550px;color:var(--ink-muted)}.world-sigil{position:absolute;right:2%;bottom:-15px;font:700 210px/.8 Arial,sans-serif;letter-spacing:-.08em;color:transparent;-webkit-text-stroke:1px var(--rule);opacity:.6;z-index:-1;pointer-events:none}.lab-panel-intro:after{content:'';position:absolute;width:250px;height:250px;right:3%;top:-40px;z-index:-2;border:1px solid var(--rule);border-radius:50%;box-shadow:0 0 90px var(--world-glow);transform:rotate(var(--world-angle))}.lab-page .instrument{background:var(--paper-2);border:1px solid var(--rule);border-top:3px solid var(--accent);border-radius:var(--world-round);padding:20px;position:relative;box-shadow:0 20px 65px #0000000d;isolation:isolate;max-width:100%;min-width:0}.lab-page .instrument:before{content:attr(data-instrument);display:block;font:9px var(--font-meta);letter-spacing:.12em;color:var(--accent);margin-bottom:18px;opacity:.85}.lab-page .instrument .instrument:before{display:none}.lab-page .lab-panel .body{max-width:none;padding:0}.lab-page .lab-panel>.block{margin-top:20px;padding-top:0;border-top:0}.lab-page .lab-panel .grp{font:11px var(--font-meta);color:var(--accent)}.lab-page .lab-panel .sec-h{font:600 25px/1.2 Arial,sans-serif;letter-spacing:-.04em;margin-bottom:20px}.lab-page .lab-panel p,.lab-page .lab-panel figcaption{font-family:Arial,sans-serif}.lab-page .lab-panel figcaption{font-size:12px!important;line-height:1.6;color:var(--ink-muted);margin-top:16px}.lab-page .lab-panel .bop-head h3{font-size:25px}.lab-page .lab-panel .bop{background:transparent}.lab-page .lab-panel .bop__plate{background:var(--paper-2)}.lab-page .lab-source-photo{grid-template-columns:minmax(200px,370px) 1fr;background:transparent;max-width:700px;gap:25px;margin:0 0 28px}.lab-source-photo img{border:8px solid #f8f8e8;transform:rotate(-2deg);box-shadow:10px 14px 0 var(--rule)}.lab-page .world-method{border:1px solid var(--rule);padding:0 24px;border-radius:5px;margin-top:35px;background:var(--paper-2)}.world-method summary{cursor:pointer;padding:20px 0;font:12px var(--font-meta);color:var(--accent)}.world-method p{font:13px/1.7 Arial,sans-serif;max-width:850px;margin:0 0 15px}.world-method>a{display:inline-block;font:12px var(--font-meta);margin-bottom:20px;color:var(--accent)}.world-method summary::marker{color:var(--accent)}.lab-page .storage-instrument{display:grid;grid-template-columns:1fr 1fr;gap:50px;padding:35px;margin-top:30px;border:1px solid var(--rule);background:linear-gradient(135deg,var(--paper-2),var(--paper));border-radius:16px}.storage-instrument h3{font:500 48px/.95 Arial,sans-serif;letter-spacing:-.05em;margin:25px 0 18px}.storage-instrument p{font:12px/1.7 Arial,sans-serif;max-width:340px;color:var(--ink-muted)}.storage-controls{align-self:center;min-width:0}.storage-controls label{display:flex;justify-content:space-between;gap:10px;font:12px var(--font-meta)}.storage-controls input{width:100%;accent-color:var(--accent);margin:15px 0}.storage-segments{height:42px;background:repeating-linear-gradient(90deg,var(--accent) 0 8px,transparent 8px 12px);opacity:.7;margin-bottom:25px}.storage-controls strong{display:block;font:500 52px Arial,sans-serif;letter-spacing:-.055em;color:var(--accent)}.storage-controls>span{font:11px var(--font-meta);color:var(--ink-muted)}.lab-page .lab-footer{background:var(--paper);border-top:1px solid var(--rule);color:var(--ink-muted);padding:30px 38px}.lab-footer a{color:var(--accent)}.lab-page :is(a,button,input,summary):focus-visible{outline:3px solid var(--focus);outline-offset:4px}.lab-page input[type=range]{accent-color:var(--accent)}.lab-page .bm{background:var(--paper-2);border-color:var(--rule)!important}.lab-page .bm-t{background:var(--paper-2)}.lab-page .rs{background:var(--paper-2)}.lab-page .ap__read{min-height:26px}.lab-page .gb{--gb-bar:var(--paper-2)}.lab-page .trav{--trav-ground:var(--paper-2)}.lab-page .ow{--ow-panel:var(--paper-2)}
html[data-lab-topic=boiling] .lab-panel-intro:after{border-radius:8%;border-width:28px;border-color:#ff792d18;transform:rotate(35deg);box-shadow:0 0 80px #ff4e1230}html[data-lab-topic=boiling] .instrument{border-top-width:5px}html[data-lab-topic=atlas] .lab-panel-intro h2{font-weight:800;text-transform:uppercase;font-size:clamp(44px,6.1vw,84px)}html[data-lab-topic=atlas] .lab-panel-intro:after{border-radius:0;border-style:dashed;transform:rotate(16deg)}html[data-lab-topic=atlas] .instrument{box-shadow:8px 8px 0 #6170412b;border:1px solid var(--ink)}html[data-lab-topic=cell] .lab-panel-intro h2,html[data-lab-topic=ammonia] .lab-panel-intro h2{font-style:italic}html[data-lab-topic=cell] .lab-panel-intro:after{border:30px double #b763b338;width:360px;height:150px;top:20px;right:1%;filter:blur(1px)}html[data-lab-topic=vanguard] .lab-panel-intro:after{border-radius:0;border-width:0 0 1px;box-shadow:0 20px 0 -19px var(--rule),0 40px 0 -39px var(--rule),0 60px 0 -59px var(--rule);width:500px;height:160px;right:-140px}html[data-lab-topic=scales] .lab-panel-intro:after{border:1px solid #b09ce477;box-shadow:0 0 0 22px #9b78e50c,0 0 0 65px #9b78e508,0 0 120px var(--world-glow)}html[data-lab-topic=reactor] .lab-panel-intro:after{border:2px solid #5decdf66;box-shadow:inset 0 0 60px #33dadd33,0 0 80px #33dadd22}html[data-lab-topic=automation] .lab-panel-intro:after{border-radius:18%;border:15px dotted #dcad6133}html[data-lab-topic=records] .lab-panel-intro:after{border-radius:0;border:0;background:repeating-linear-gradient(0deg,transparent 0 12px,#6eae6922 13px 14px);transform:none;width:350px}html[data-lab-topic=records] .lab-panel-intro h2{font-size:clamp(39px,5.6vw,78px)}html[data-lab-topic=ammonia] .lab-panel-intro:after{border-radius:0 90% 0 90%;border:2px solid #d4ed7733;box-shadow:inset 0 0 100px #95c94c16}
.lab-page.is-focused .lab-hero,.lab-page.is-focused .lab-topics,.lab-page.is-focused .lab-scroll-hint,.lab-page.is-focused .lab-panel-intro,.lab-page.is-focused .world-header{display:none}.lab-page.is-focused .lab-toolbar{margin-top:0}.lab-page.is-focused .instrument{margin-top:25px}.world-arrive{animation:worldArrive .4s ease-out both}@keyframes worldArrive{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@media(max-width:900px){.lab-page .lab-topics{grid-template-columns:repeat(5,minmax(0,1fr))}.lab-topics a{display:flex;flex-wrap:wrap;gap:7px;font-size:10px;padding:13px 10px}.lab-topics a .portal-index{width:100%}.lab-topics a>i{display:none}.world-header nav{gap:20px}.lab-page .instrument{padding:15px}.world-sigil{font-size:160px}.lab-page .lab-panel-intro h2{max-width:82%}.lab-page .storage-instrument{gap:25px;padding:24px}}
@media(max-width:650px){.lab-page .world-header{padding:15px 18px;flex-wrap:wrap;gap:16px}.world-brand{font-size:9px}.world-header nav{width:100%;font-size:10px;gap:12px;justify-content:space-between}.lab-page .lab-hero{padding:28px 18px 25px;display:block}.lab-page .lab-hero h1{font-size:59px;margin-top:15px}.lab-page .lab-hero .lab-caveat{font-size:10px;margin-top:18px;max-width:none}.lab-page .lab-topics{width:calc(100% - 36px);grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.lab-topics a{display:grid;grid-template-columns:20px 1fr 12px;gap:7px;padding:12px;font-size:10px}.lab-topics a>i{display:block}.lab-page .lab-toolbar{width:calc(100% - 36px);gap:7px;flex-wrap:wrap;margin-top:14px;padding-top:10px}.lab-toolbar button{padding:9px 12px;font-size:9px}.lab-toolbar .world-stepper{gap:6px}.world-stepper span{min-width:95px;font-size:9px}.world-stepper button{padding:8px 10px}.lab-page .lab-scroll-hint,.lab-page .letter{width:calc(100% - 36px)}.lab-page .lab-panel-intro{padding:27px 0 24px}.lab-panel-intro .lab-kicker{font-size:9px;margin-bottom:19px}.lab-page .lab-panel-intro h2{font-size:44px;max-width:95%;margin-bottom:15px;line-height:1.03}.lab-panel-intro p{font-size:13px;max-width:270px}.world-sigil{font-size:122px;opacity:.28;right:0}.lab-panel-intro:after{width:160px;height:160px;right:-65px}.lab-page .instrument{padding:10px;border-radius:8px}.lab-page .lab-panel .sec-h{font-size:22px}.lab-page .lab-source-photo{display:block;margin-bottom:25px;max-width:310px}.lab-source-photo figcaption{margin-top:20px}.lab-page .world-method{padding-inline:16px}.world-method p{font-size:12px}.lab-page .storage-instrument{display:block;padding:20px}.storage-instrument h3{font-size:39px}.storage-controls{margin-top:25px}.storage-controls strong{font-size:44px}.lab-page .lab-footer{padding:25px 18px}.lab-page .lab-svg-scroll>svg{min-width:620px}.lab-page .lab-panel .ap__svg{min-width:560px}.lab-page .lab-flux label{font-size:12px}.lab-page .fs__tankwrap{height:160px}.lab-page .lab-panel .bop__lab{font-size:10px}html[data-lab-topic=atlas] .lab-panel-intro h2{font-size:42px}html[data-lab-topic=records] .lab-panel-intro h2{font-size:39px}}
@media(max-width:380px){.lab-toolbar .world-stepper{width:100%;justify-content:space-between;margin:0}.world-stepper span{min-width:0}.lab-page .lab-panel-intro h2{font-size:40px}.lab-page .lab-panel .mea__hud{font-size:11px}.lab-page .lab-panel :is(.ow__cl,.chip,.trav-e__v){white-space:normal;overflow-wrap:anywhere}.lab-page .lab-panel .fs__read{font-size:10px}}
@media(prefers-reduced-motion:reduce){.world-arrive{animation:none}.lab-topics a{transition:none}}
html[data-motion=held] .world-arrive{animation:none}
@media print{.lab-page.is-focused .lab-panel-intro{display:block}.world-header,.lab-topics,.lab-toolbar{display:none!important}.lab-panel[hidden]{display:block!important}.lab-page{background:#fff;color:#111}.lab-page .letter{width:100%}.world-method{break-inside:avoid}.world-sigil{display:none}}
/* Remove legacy page bleed now that every instrument has its own shell. */
.lab-page #cook-cycle{margin-inline:0;padding-inline:0;max-width:100%;background:transparent;}
.lab-page #panel-scales .chip{white-space:normal;overflow-wrap:anywhere;max-width:100%;}
.lab-page #panel-scales .trav-e{min-width:0;}
.lab-page .letter{padding-top:0;}
.lab-page #built .blwire{max-width:100%;overflow:hidden;}
.lab-page .spray__box{margin-inline:auto;}
.lab-page .spray__hud,.lab-page .spray__again{margin-top:20px;}
.lab-page .spray.instrument{max-width:760px;}
.lab-page .ap.instrument{max-width:950px;}

@media(max-width:480px){.lab-page .mea__ctlrow{flex-wrap:wrap;min-width:0;gap:8px;}.lab-page .mea__ctlrow input{min-width:0;max-width:100%;}.lab-page .mea__val{font-size:12px;max-width:100%;}.lab-page .rx__frame{padding-inline:0;}}
/* The original recorder stock bled outside the column; contain the perforation rails. */
.lab-page .rx__sheet,.lab-page .rx__wm{inset-inline:0;}.lab-page .rx__feed--l{left:0;}.lab-page .rx__feed--r{right:0;}
