.assembly-story{height:400svh;background:#131313;position:relative}
.assembly-stage{height:100svh;position:sticky;top:0;overflow:hidden;background:#131313;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:clamp(22px,4vh,48px);padding:80px 5% 36px;box-sizing:border-box}
.assembly-laptop{position:relative;width:min(78vw,calc((100svh - 285px)*1.6),1000px);flex:none;opacity:1;transform:none}
.assembly-screen{position:relative;aspect-ratio:16/9;background:#101214;border:8px solid #20242a;border-radius:14px 14px 3px 3px;box-shadow:0 0 0 1px #737b8560,0 22px 70px #0007;overflow:hidden}
.assembly-laptop-base{height:10px;background:linear-gradient(#aab1ba,#4c545e);border-radius:2px 2px 55% 55%;width:116%;margin-left:-8%}
.assembly-laptop-base:after{content:'';display:block;width:13%;height:3px;background:#4a515b;margin:auto;border-radius:0 0 5px 5px}
.assembly-copy{text-align:center;position:relative;max-width:100%;flex:none}
.assembly-copy h2.title-text{font-size:clamp(30px,3.8vw,58px);line-height:1.08;margin:0 0 18px;padding:0;letter-spacing:-.035em}
.assembly-copy p{font-size:clamp(14px,1.3vw,18px);line-height:1.5;color:#aaa;margin:0}
.workspace-main{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;background:#060708}

.workspace-label{position:absolute;left:4%;top:5%;font:500 clamp(10px,1vw,13px)/1.4 Inter,sans-serif;color:#aaa;letter-spacing:.015em}
.workspace-ai{position:absolute;right:3%;bottom:24%;font:500 11px/1.5 Inter,sans-serif;color:#8fffd0;opacity:0}
[data-workspace="2"] .workspace-ai{opacity:1}
@media(max-width:767px){.assembly-story{height:360svh}.assembly-stage{padding:70px 5% 35px;gap:36px}.assembly-laptop{width:88vw}.assembly-screen{border-width:5px;border-radius:9px 9px 2px 2px}.assembly-laptop-base{height:7px}.assembly-copy h2.title-text{font-size:clamp(30px,8vw,42px);max-width:13ch;margin:0 auto 18px}.workspace-ai{font-size:8px}}
@media(max-height:600px) and (min-width:768px){.assembly-stage{flex-direction:row;gap:6vw;padding:45px 5% 20px}.assembly-laptop{width:48vw}.assembly-copy{text-align:left;width:36vw}.assembly-copy h2.title-text{font-size:32px}}
@media(prefers-reduced-motion:reduce){.assembly-story{height:100svh}.assembly-stage{position:relative}}

.workspace-scope-overlay{position:absolute;inset:0;width:100%;height:100%;opacity:0;transition:opacity .6s;pointer-events:none}
[data-workspace="2"] .workspace-scope-overlay{opacity:1}

.assembly-screen .workspace-view{position:absolute;inset:0;width:100%;height:100%;min-height:0;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .65s ease,visibility 0s linear .65s;transform:none;overflow:hidden}
.assembly-screen .workspace-view.active{opacity:1;visibility:visible;pointer-events:auto;transition-delay:0s}
.assembly-screen .workspace-main{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform:none}
.workspace-label{z-index:3;color:#ddd;text-shadow:0 1px 8px #000}
@media(prefers-reduced-motion:reduce){.assembly-screen .workspace-view{transition:none}}

.assembly-screen{container-type:inline-size}
.workspace-label{left:auto;right:3%;top:4%;display:flex;align-items:center;gap:7px;padding:7px 10px;border-radius:20px;background:#0b1015ce;color:#e8eef0;font-size:clamp(9px,1.5cqw,14px);line-height:1.3}
.workspace-label svg{width:1.3em;height:1.3em;flex:none;color:#8fffd0}
.workspace-vitals{position:absolute;z-index:3;left:3%;top:4%;width:30%;max-width:270px;padding:10px 12px;background:#080e14da;border:1px solid #ffffff15;border-radius:8px;color:#8fffd0;font-family:Inter,Arial,sans-serif;pointer-events:none}
.vitals-caption{font-size:clamp(7px,1.2cqw,11px);line-height:1.3;letter-spacing:.02em;color:#9caeb2;display:block}
.workspace-vitals canvas{display:block;width:100%;height:auto;margin:4px 0}
.vitals-numbers{display:flex;justify-content:space-between;align-items:baseline;gap:8px;font-size:clamp(6px,1cqw,9px);font-variant-numeric:tabular-nums;white-space:nowrap}
.vitals-numbers span{display:flex;align-items:baseline;gap:4px}.vitals-numbers b{font-size:clamp(10px,1.8cqw,17px);font-weight:600}.vitals-numbers span:nth-child(2){color:#71d6ff}.vitals-numbers span:last-child{color:#d4c4ef}.vitals-numbers small{font-size:inherit}
@media(max-width:767px){.workspace-vitals{width:38%;padding:6px;border-radius:5px}.vitals-numbers{gap:3px}.vitals-numbers span{gap:2px}.workspace-label{padding:5px 7px;gap:4px}}

/* A peripheral signal, not a competing monitor dashboard. */
.workspace-vitals{width:18%;max-width:158px;padding:5px 8px;background:rgba(185,209,202,.065);border-color:rgba(218,236,229,.1);border-radius:5px;opacity:.7}
.vitals-caption{font-size:clamp(6px,.9cqw,9px);color:#b7c8c2;letter-spacing:.025em}
.workspace-vitals canvas{margin:0;opacity:.7}
@media(max-width:767px){.workspace-vitals{width:22%;padding:4px 5px}.vitals-caption{font-size:6px}}

/* Match the source aspect ratio: the view fills the laptop without letterboxing. */
.workspace-instrument{position:absolute;z-index:3;left:24%;top:4%;display:flex;align-items:center;gap:7px;width:34%;padding:5px 8px;border-radius:5px;background:rgba(185,209,202,.065);border:1px solid rgba(218,236,229,.1);color:#d9e6df;font-family:Inter,Arial,sans-serif;pointer-events:none}
.workspace-instrument svg{width:clamp(12px,2.2cqw,20px);height:clamp(12px,2.2cqw,20px);flex:none;color:#8fffd0;opacity:.85}
.workspace-instrument span{display:block;font-size:clamp(8px,1.3cqw,12px);font-weight:500;line-height:1.35}
.workspace-instrument small{display:block;font-size:clamp(7px,1.05cqw,10px);line-height:1.4;color:#aabeb4}
@media(max-width:767px){.workspace-vitals{width:20%}.workspace-instrument{left:25%;width:37%;padding:4px 5px;gap:4px}.workspace-label{font-size:8px;right:2%;padding:4px 5px}.workspace-instrument small{font-size:7px}}

.assembly-screen .workspace-view::after{display:none}

/* One readable instrument HUD, aligned to the upper-left of the endoscopic view. */
.workspace-hud{position:absolute;z-index:4;top:4%;left:3%;width:31%;max-width:260px;padding:10px 12px;box-sizing:border-box;border:1px solid #d8ebe523;border-radius:8px;background:#12201ac2;backdrop-filter:blur(10px);font-family:Inter,Arial,sans-serif;pointer-events:none}
.workspace-hud .workspace-label,.workspace-hud .workspace-vitals,.workspace-hud .workspace-instrument{position:static;width:100%;max-width:none;padding:0;border:0;border-radius:0;background:none;opacity:1;box-sizing:border-box}
.workspace-hud .workspace-label{font-size:clamp(9px,1.5cqw,14px);margin-bottom:10px}
.workspace-hud .workspace-vitals{margin-bottom:8px;border-bottom:1px solid #d8ebe523;padding-bottom:5px}
.workspace-hud .vitals-caption{font-size:clamp(9px,1.5cqw,13px);font-weight:600;color:#cee5da}
.workspace-hud canvas{opacity:1}
.workspace-hud .is-response .vitals-caption{color:#d8b477}
.workspace-hud .workspace-instrument svg{width:24px;height:24px}
.workspace-hud .workspace-instrument span{font-size:clamp(9px,1.4cqw,13px)}
.workspace-hud .workspace-instrument small{font-size:clamp(8px,1.15cqw,11px)}
@media(max-width:767px){.workspace-hud{width:37%;padding:6px 7px}.workspace-hud .workspace-label{margin-bottom:5px}.workspace-hud .workspace-vitals{margin-bottom:4px;padding-bottom:2px}.workspace-hud .workspace-instrument svg{width:18px;height:18px}}

.workspace-hud .workspace-instrument[hidden]{display:none}

.workspace-instrument small[hidden]{display:none}

.workspace-hud .workspace-vitals[hidden]{display:none}

.workspace-ai-target{display:flex;align-items:center;gap:8px;color:#ffc477;font:500 clamp(8px,1.3cqw,12px)/1.3 Inter,Arial,sans-serif;padding-top:4px}.workspace-ai-target svg{width:22px;height:22px;flex:none}.workspace-ai-target[hidden]{display:none}

/* Specimen Analysis — shared MEDscience concept. */
.assembly-story{--tissue-mode-accent:#8fffd0}
/* Shared Specimen Analysis component — no site typography or brand overrides. */
.assembly-story{height:700svh}
.assembly-story [data-workspace="3"] .workspace-hud{display:none}
.assembly-story .forge-biosensor-view{background:transparent;pointer-events:none;color:#ddd;font-family:inherit}
.assembly-story .sample-fixed-field,.assembly-story .sample-regions{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.assembly-story .sample-regions{mix-blend-mode:screen;pointer-events:none}
.assembly-story .sample-regions [data-region]{fill:url(#tissue-warm-light);stroke:none;opacity:0;filter:drop-shadow(0 0 8px #ffc07480);transition:opacity .4s ease}
.assembly-story .sample-regions [data-region="0"],.assembly-story .sample-regions [data-region="3"]{fill:url(#tissue-pale-light)}
.assembly-story .sample-regions .selected{opacity:1}
.assembly-story .sample-readout{position:absolute;top:4%;left:3%;width:31%;max-width:260px;box-sizing:border-box;padding:10px 12px;display:grid;grid-template-columns:25% 1fr;gap:6px 9px;background:#12201ac2;border:1px solid #d8ebe523;border-radius:8px;backdrop-filter:blur(10px)}
.assembly-story .sample-specimen{display:flex;flex-wrap:wrap;gap:6px;grid-column:1/-1}
.assembly-story .sample-mode{display:flex;align-items:center;gap:7px;width:100%;font-size:clamp(9px,1.5cqw,14px);font-weight:500;line-height:1.3;color:#ddd}
.assembly-story .sample-mode svg{width:1.3em;height:1.3em;flex:none;color:var(--tissue-mode-accent,currentColor)}
.assembly-story .sample-specimen [data-sample-step]{font-size:clamp(8px,1.1cqw,11px);color:#b7c8c2}
.assembly-story .tissue-portrait{grid-row:2/4;align-self:center;aspect-ratio:1}
.assembly-story .tissue-portrait svg{display:block;width:100%;height:100%}
.assembly-story .sample-signal{grid-column:2;min-width:0}
.assembly-story .sample-signal .sample-signal-heading{display:flex;align-items:baseline;justify-content:space-between;gap:5px;font-size:clamp(8px,1.1cqw,11px);line-height:1.2;color:#c7d5dc}
.assembly-story .sample-signal b{display:flex;align-items:baseline;gap:.35cqw;white-space:nowrap;font-size:clamp(8px,1.2cqw,12px);font-weight:500;color:#73e4f2}
.assembly-story .sample-signal:last-child b{color:#d8ac83}
.assembly-story .assay-relative-unit{font-size:.85cqw;font-weight:400;color:#a5b4c9}
.assembly-story .sample-signal canvas{display:block;width:100%;height:2.6cqw;margin-top:1%}
.assembly-story .sample-meaning{display:none}
@media(max-width:767px){.assembly-story .sample-readout{width:37%;padding:6px 7px}}
@media(prefers-reduced-motion:reduce){.assembly-story .sample-regions [data-region]{transition:none}.assembly-story .assembly-stage{position:sticky}}

.assembly-story .sample-fixed-field{filter:brightness(.62);transition:filter .6s ease}

.assembly-story .sample-signal b{color:var(--assay-ph-color,#83e4dc)}
.assembly-story .sample-signal:last-child b{color:var(--assay-optical-color,#f5d399)}
.assembly-story .sample-meaning{display:block;font-size:clamp(7px,.85cqw,9px);line-height:1.2;color:#c4cece}

.assembly-story .sample-identity{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 8px}.assembly-story [data-sample-profile]{font-size:clamp(8px,1cqw,10px);line-height:1.4;color:#e3dcc3;border-left:1px solid #ffffff40;padding-left:8px}


/* The choice sequence shares the existing mode indicator and camera framing. */
.workspace-choices{display:none;align-items:center;gap:10px;margin-left:auto;color:#91a29a;font-size:inherit}
.workspace-choices span{white-space:nowrap}.workspace-choices .selected{color:#96f1cc}.workspace-choices svg{width:1.3em;height:1.3em;color:inherit}
.is-choosing .workspace-choices{display:flex}.is-choosing .workspace-hud .workspace-label{margin:0;min-height:20px}.is-choosing .workspace-vitals,.is-choosing .workspace-instrument{display:none!important}
.is-choosing .workspace-hud{border-radius:20px}.workspace-hud{transition:background .3s,border-radius .3s}.workspace-label.is-changing{animation:choice-in .25s ease both}
@keyframes choice-in{from{opacity:.4}to{opacity:1}}
.assembly-story+.experience-world{margin-top:0;padding-top:0}
@media(prefers-reduced-motion:reduce){.workspace-label.is-changing{animation:none}}

/* Pixel-only opening: private authoring logic and SVG projections do not ship. */
.workspace-desktop{position:absolute;inset:0;width:100%;height:100%;object-fit:fill;z-index:5;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .4s,visibility .4s}
.is-choosing .workspace-desktop{opacity:1;visibility:visible}
.is-choosing .workspace-hud{opacity:0}

/* Match the pixel-rendered procedure panel at every laptop size. */
.workspace-hud{max-width:none}

/* One glass material across Visible Light, Advanced Imaging, AI and analysis. */
.workspace-hud,.assembly-story .sample-readout{background:#12201ac2;border-color:#d8ebe523;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}

/* Mobile uses the desktop laptop and state, centred as one composition. */
.assembly-procedure,.assembly-mobile-nav,.assembly-mobile-plan{display:none}
@media(max-width:767px){
 .assembly-story{height:440svh}
 .assembly-stage{position:sticky;top:0;height:100svh;min-height:0;justify-content:center;padding:48px 5% 32px;gap:24px}
 .assembly-laptop{width:82vw;max-width:none;flex-shrink:0}
 .assembly-copy{position:relative;width:100%;max-width:100%;text-align:center}
 .assembly-copy h2.title-text{position:static;font-size:28px;line-height:1.08;width:100%;max-width:none;margin:0 auto 14px;padding:0;text-align:center;text-wrap:balance}
 .assembly-copy p{position:static;font-size:16px;line-height:1.5;max-width:34ch;margin:0 auto;padding:0;text-align:center;text-wrap:pretty}
}

@media(max-width:767px){.assembly-screen .workspace-view{transition:opacity .2s ease;visibility:visible}.workspace-desktop{transition:opacity .2s ease,visibility .2s}}

/* Reserve the largest caption so changing lines cannot recenter the laptop. */
.assembly-copy{min-height:160px}
@media(max-width:767px){.assembly-copy{min-height:190px}}
@media(min-width:768px) and (max-height:600px){.assembly-copy{min-height:0}}
