/* Live Instruments: spacious touch controls, distinct chart series, quiet technical detail. */
[hidden]{display:none!important}.sim-guide{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px!important;padding:18px!important;margin:18px 0 24px!important;border:1px solid var(--edge)!important;border-left:4px solid var(--accent)!important;background:var(--paper-2)!important;border-radius:8px;font:14px/1.55 Arial,sans-serif!important;color:var(--ink)!important}.sim-guide>span{min-width:0;display:block!important}.sim-guide b{display:block!important;width:max-content;background:var(--accent);color:var(--accent-ink);padding:4px 7px;border-radius:3px;letter-spacing:1.4px;font:700 10px/1.4 ui-monospace,monospace;margin-bottom:9px}.lab-page input[type=range]{min-height:38px;cursor:ew-resize}.lab-page :is(button,select){min-height:44px}.lab-page input,.lab-page select{max-width:100%}.lab-page .sim-note{font-size:12px;line-height:1.65;max-width:95ch}.lab-page .sim-status{font-size:14px;line-height:1.6;min-height:2em}.pt-bench[data-state=blocked],.clarity-sim[data-state=blocked]{border-color:#ff6d88!important}.run-state{display:flex;align-items:center;gap:12px;border:1px solid var(--edge);background:var(--paper-2);padding:12px 14px;border-radius:5px;font:12px/1.5 Arial,sans-serif;margin-bottom:20px}.run-state strong{font:700 10px/1.5 ui-monospace,monospace;letter-spacing:1px;color:var(--accent);border:1px solid currentColor;padding:5px 8px;border-radius:20px}.lab-page [data-state=blocked] .run-state,.lab-page [data-state=blocked] .sim-status{color:#ffafbf;background:#321222;border-color:#fd6d91}.lab-page [data-state=blocked] .run-state strong{color:#ff99b0}.lab-page .demand-unmet{color:#ff8ba3!important;fill:#ff8ba3!important;stroke:none}.lab-page input.demand-unmet{accent-color:#ff446b!important;outline:2px solid #ff6d91;outline-offset:2px}.speed-label{display:flex;align-items:center;gap:9px;font:11px ui-monospace,monospace}.speed-label select{background:var(--paper);color:var(--ink);padding:8px;border:1px solid var(--edge);border-radius:5px}.live-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:20px 0}.live-metrics>div{min-width:0;padding:18px 16px;border:1px solid var(--edge);border-radius:7px;background:var(--paper-2);display:flex;flex-direction:column;gap:9px}.live-metrics span,.live-metrics small{font:10px/1.6 ui-monospace,monospace;color:var(--ink-muted)}.live-metrics strong{font:600 clamp(22px,2.7vw,39px)/1.2 Arial,sans-serif;letter-spacing:-1px;color:var(--accent);overflow-wrap:anywhere}.reactor-power{margin-top:0}.reactor-detail summary{font-size:12px}.reactor-detail .fs__read{display:grid;margin-top:15px}.reactor-replay{margin-top:25px}.lab-page .fs__in,.lab-page .rx__in{padding:0}.lab-page .fs__legend{flex-wrap:wrap}.power-equivalent{margin:15px 0 20px}.lab-page .fs__stamp:empty{display:none}.lab-page .fs__controls{padding:18px 0}.fs__band .sim-method{max-width:100%;padding-inline:8px}.lab-page .fs__read{font-size:11px}.target-label{display:flex;gap:12px;align-items:center;flex-wrap:wrap;font:10px/1.6 ui-monospace,monospace;padding:14px 0;color:var(--accent)}.target-label strong{font-size:19px}.target-label>span{color:var(--ink-muted);font:11px Arial,sans-serif;width:100%}
/* Measured curves retain their original data. Only the presentation changes. */
.lab-page #atlaspol{--paper:#f0f7fb;--paper-2:#e4eef5;--ink:#152c47;--ink-muted:#405d76;--accent:#006879;--mark:#a93564;--edge:#7894a9;--rule:#b5cbd9;--focus:#154db7;background:#f0f7fb;color:#152c47;box-shadow:none;border:1px solid #86a8c0}.plot-legend{display:flex;gap:26px;flex-wrap:wrap;font:700 12px Arial,sans-serif;margin:10px 0 18px;color:#152c47}.plot-legend>span:before{content:'';display:inline-block;width:28px;vertical-align:middle;margin-right:8px;border-top:3px solid #006879}.plot-legend>.literature-line:before{border-top:3px dashed #a93564}.lab-page #atlaspol .ap__svg{background:#f0f7fb}.lab-page #atlaspol .ap__curve--lit{stroke:#a93564;stroke-dasharray:8 5}.lab-page #atlaspol .ap__curve--atlas{stroke:#006879;stroke-width:3}.lab-page #atlaspol text{fill:#244560}.lab-page #atlaspol .ap__read{color:#244560}.lab-page #atlaspol input{accent-color:#006879}
.cell-assembly{border:1px solid var(--rule);border-radius:10px;background:radial-gradient(ellipse at 50% 40%,#173b54,#081321);color:#e5f4ff;padding:20px;margin:20px 0}.cell-assembly canvas{display:block;width:100%;height:300px}.assembly-caption{display:flex;justify-content:space-between;gap:15px;font:12px/1.6 Arial,sans-serif;color:#a9c6d9}.assembly-caption strong{color:#effaff;font-size:18px}.assembly-controls{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:20px}.assembly-controls>label{display:flex;align-items:center;gap:12px;flex:1;font:12px Arial,sans-serif}.assembly-controls input{width:100%}.assembly-controls button,.replay-assembly{padding:11px 16px;border:1px solid var(--edge);background:var(--paper-2);color:var(--ink);cursor:pointer;border-radius:6px}.species-routing{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px;margin:18px 0;font:12px/1.5 Arial,sans-serif}.species-routing span{border:1px solid var(--edge);padding:12px;border-radius:5px;background:var(--paper-2)}.species-routing b{display:block;font:700 17px/1.5 Arial,sans-serif;color:var(--accent)}.species-routing .gas-water b{color:var(--mark)}.cell-operating{animation:cell-enter .8s ease-out}.replay-assembly{font-size:11px;margin:10px 0}.lab-page .mea__stage{min-width:0}.lifecycle-head{display:flex;justify-content:space-between;gap:14px;align-items:center}.lifecycle-head>#nh3-compute{font:11px/1.5 ui-monospace,monospace;color:var(--accent)}.lifecycle-head .sim-eyebrow{font-size:10px}.mix-picks,.scale-options{display:flex;flex-wrap:wrap;gap:9px;margin:15px 0}.mix-picks button,.scale-options button,.year-selector button{background:var(--paper-2);color:var(--ink);border:1px solid var(--edge);padding:11px 17px;border-radius:6px;font:12px Arial,sans-serif;cursor:pointer}.mix-picks [aria-pressed=true],.scale-options [aria-pressed=true]{background:var(--accent);color:var(--accent-ink)}.lifecycle-chart{margin:20px 0;border:1px solid var(--rule);border-radius:7px;padding:12px;background:var(--paper)}.lifecycle-chart canvas{display:block;width:100%;height:230px}.year-selector{display:flex;align-items:center;gap:18px;flex-wrap:wrap}.year-selector label{display:flex;gap:12px;align-items:center;flex:1;min-width:190px;font:13px Arial,sans-serif}.year-selector input{min-width:50px;width:100%}.year-selector>span{width:100%;font:10px ui-monospace,monospace;color:var(--ink-muted)}.year-facts{display:flex;flex-wrap:wrap;gap:12px;margin:20px 0}.year-facts span{padding:10px;border:1px solid var(--rule);font:12px/1.5 Arial,sans-serif;flex:1;min-width:170px}.assumption-inputs{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:18px 0}.assumption-inputs .sim-slider label{display:flex;justify-content:space-between;gap:15px;line-height:1.5;font-size:12px}.assumption-inputs output{white-space:nowrap;color:var(--accent)}.assumption-inputs input{width:100%}.year-table-wrap{overflow-x:auto;max-width:100%}.year-table{width:100%;min-width:650px;border-collapse:collapse;font:11px/1.6 ui-monospace,monospace}.year-table th,.year-table td{text-align:right;padding:10px 8px;border-bottom:1px solid var(--rule)}.year-table th:first-child,.year-table td:first-child{text-align:left}.year-table tr.is-selected{background:var(--paper-2);color:var(--accent)}.nh3-assumptions>p{font:12px/1.7 Arial,sans-serif;max-width:90ch}.lab-page .nh3__again{display:none!important}.lab-page .nh3__hud{flex-wrap:wrap}.lab-page .nh3__key{font-size:10px}.lab-page .nh3__box{margin-top:14px}.cost-parts{display:flex;flex-wrap:wrap;gap:10px;font:12px/1.7 Arial,sans-serif;margin:15px 0}.cost-parts span{border:1px solid var(--edge);padding:10px}.scale-stage{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:30px;border:1px solid var(--rule);border-radius:12px;padding:25px;background:var(--paper-2)}.scale-stage canvas{width:100%;height:250px;display:block}.scale-stage strong{font:600 48px/1.2 Arial,sans-serif;color:var(--accent)}.scale-stage h3{font-size:22px!important;margin:15px 0!important}.scale-stage p{font:14px/1.7 Arial,sans-serif;max-width:45ch}.scale-options{margin-bottom:25px}.webreg-art{width:100%;height:280px;display:block;border:1px solid var(--rule);border-radius:8px}.webreg-stats strong{font-size:36px}.vote-split{display:flex;border:1px solid var(--edge);border-radius:7px;overflow:hidden}.vote-split span{font:700 13px/1.5 Arial,sans-serif;padding:16px;width:40%;background:var(--accent);color:var(--accent-ink)}.vote-split span:last-child{width:60%;background:var(--paper-2);color:var(--ink)}.source-link{display:inline-block;padding:15px 0;color:var(--accent);font:12px Arial,sans-serif}
/* Captions no longer cover the film. Fixed visual frame at every breakpoint. */
.cinema-stage canvas{height:430px}.cinema-overlay{inset:18px 20px auto;display:block}.cinema-caption{position:relative;max-width:none;padding:23px 25px;background:#0b1524;border-top:1px solid #294154;display:flex;gap:25px;justify-content:space-between;align-items:center;min-height:108px}.cinema-caption h2{font-size:36px;line-height:1.1;margin:0;flex:1}.cinema-caption p{font:12px/1.6 Arial,sans-serif;max-width:330px;flex:1}.cinema-stage:after{opacity:.12}.contact-art{height:auto!important;max-width:100%!important;background:#050b17;border:1px solid #4e6b88;border-radius:12px;overflow:hidden;margin:30px 0}.contact-art canvas{width:100%;height:380px!important;display:block}.contact-art-note{font:10px/1.6 ui-monospace,monospace!important;letter-spacing:1.7px;color:#9ebbd3!important;padding:15px 20px;margin:0!important;border-top:1px solid #26405a;text-align:center} .contact-scene .email{overflow-wrap:anywhere}
@keyframes cell-enter{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
@media(max-width:700px){.sim-guide{grid-template-columns:1fr;gap:14px!important;padding:15px!important;font-size:13px!important}.sim-guide>span{display:grid!important;grid-template-columns:56px 1fr;align-items:start;gap:12px}.sim-guide b{margin:0;font-size:9px}.live-metrics{grid-template-columns:1fr;gap:8px}.live-metrics>div{padding:14px;display:grid;grid-template-columns:1fr auto;gap:6px 12px;align-items:center}.live-metrics strong{font-size:26px;grid-column:2;grid-row:1/3}.live-metrics small{grid-column:1}.reactor-power>div span{font-size:9px}.run-state{font-size:12px;align-items:start}.lab-page .pt-controls{gap:16px}.speed-label{width:100%;justify-content:space-between}.assembly-caption{display:block}.assembly-caption strong{display:block;margin-bottom:9px}.cell-assembly{padding:12px}.cell-assembly canvas{height:235px}.assembly-controls{display:block}.assembly-controls button{width:100%;margin-top:12px}.species-routing{grid-template-columns:1fr;font-size:12px}.species-routing span{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:10px}.species-routing b{font-size:15px}.assumption-inputs{grid-template-columns:1fr}.lifecycle-head{display:block}.lifecycle-head>#nh3-compute{display:block;margin-top:8px}.lifecycle-chart{padding:6px}.lifecycle-chart canvas{height:200px}.year-selector{gap:10px}.year-selector label{width:100%;flex-basis:100%}.mix-picks button,.scale-options button{padding:11px;font-size:11px;flex:1}.scale-stage{grid-template-columns:1fr;gap:14px;padding:18px}.scale-stage canvas{height:200px}.scale-stage strong{font-size:38px}.scale-stage p{font-size:13px}.webreg-art{height:245px}.webreg-stats{grid-template-columns:repeat(3,1fr);gap:5px}.webreg-stats>div{display:flex;padding:12px 6px;text-align:center}.webreg-stats strong{font-size:25px;letter-spacing:-1px}.webreg-stats span{font-size:8px}.vote-split span{font-size:11px;padding:13px 8px}.cinema-stage canvas{height:300px}.cinema-caption{display:block;padding:18px;min-height:125px}.cinema-caption h2{font-size:30px;margin-bottom:9px}.cinema-caption p{font-size:12px;max-width:100%}.cinema-overlay{inset:13px 13px auto}.cinema-meta{font-size:8px;letter-spacing:.5px}.contact-art canvas{height:290px!important}.lab-page .fs__legend{font-size:10px;gap:8px}.lab-page .fs__fig{padding:8px}.lab-page .fs__rail{margin-top:12px}.lab-page .fs__band{grid-template-columns:1fr}.lab-page .fs__meters{min-width:0}.lab-page .fs__tanks{grid-template-columns:repeat(3,1fr)}}
@media(max-height:480px) and (orientation:landscape){.cinema-stage canvas{height:280px}.contact-art canvas{height:240px!important}.cell-assembly canvas{height:220px}}
@media(prefers-reduced-motion:reduce){.cell-operating{animation:none}}

.lab-page #atlaspol .ap__a{stroke:#006879;stroke-width:3}.lab-page #atlaspol .ap__l{stroke:#a93564;stroke-width:2.7;stroke-dasharray:8 5}.lab-page #atlaspol .ap__band{fill:#5c789b;opacity:.10}

.lifecycle-main-controls{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:20px 0}.lifecycle-main-controls .nh3__row{display:block;margin:0}.lifecycle-main-controls label{display:block;font:12px/1.6 Arial,sans-serif;margin-bottom:7px}.lifecycle-main-controls input{width:100%}.portfolio .skip-link{top:-100px}.portfolio .skip-link:focus{top:10px}@media(max-width:700px){.lifecycle-main-controls{grid-template-columns:1fr}.live-metrics>div{grid-template-columns:minmax(100px,1fr) auto}.live-metrics strong{font-size:24px}.lifecycle .live-metrics>div{display:flex;align-items:flex-start}.lifecycle .live-metrics strong{font-size:30px;order:1}.lifecycle .live-metrics small{order:2}}

.lab-page #fsfig{margin:15px 0 24px!important;width:100%!important;box-sizing:border-box}.lab-page #fission{margin-inline:0;padding-inline:0;max-width:100%}.lab-page .reactor-power>div{display:flex;align-items:flex-start}.lab-page .reactor-power strong{font-size:clamp(24px,3vw,36px);white-space:nowrap;letter-spacing:-.7px}.lab-page .reactor-power span{font-size:10px}.lab-page #rxfig{margin-inline:0}.ap-legacy,#atlaspol .ap__read,#atlaspol .ap__key{display:none!important}.ap-responsive canvas{display:block;width:100%;height:270px}.ap-responsive label{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px;font:12px Arial,sans-serif;color:#244560;margin-top:16px}.ap-responsive input{width:100%}.plot-readout{display:flex;flex-wrap:wrap;gap:14px;font:700 12px/1.6 Arial,sans-serif;color:#006879}.plot-readout span:last-child{color:#a93564}@media(max-width:700px){.lab-page .reactor-power strong{font-size:27px}.ap-responsive canvas{height:240px}.lab-page .fs__core{min-height:240px}.lab-page .fs__legend{position:relative;background:var(--paper-2);padding:10px}.lab-page .fs__read{grid-template-columns:1fr auto}.lab-page .fs__rodrow{display:block}.lab-page .fs__rodrow label{display:block;margin-bottom:8px}.lab-page .fs__rod{width:100%}.lab-page #fission .sim-guide{margin-inline:0!important}}

#cr-bench[data-state=blocked],#vgp-bench[data-state=blocked]{border-color:#ff6d88}#cr-bench[data-state=blocked] .pt-status,#vgp-bench[data-state=blocked] .pt-status{color:#ffb0c0;background:#321222;padding:12px;border:1px solid #fa6f8d;border-radius:5px}.lab-page .fs__legend{position:static;inset:auto;margin:0 0 14px;display:flex;flex-wrap:wrap;background:var(--paper-2);padding:12px;font:11px/1.6 ui-monospace,monospace}

#atlaspol{--accent-ink:#ffffff!important}.lifecycle-main-controls label{display:flex;justify-content:space-between;gap:12px}.lifecycle-main-controls output{color:var(--accent);font-weight:bold}

/* Keep the Projects hero inside narrow WebKit layouts without clipping text. */
@media(max-width:650px){.lab-page .lab-hero h1{font-size:clamp(40px,12.5vw,59px)}}
