html:has(body.ia-body){height:auto!important;overflow:visible!important}body.ia-body{height:auto!important;min-height:100dvh;overflow:visible!important;display:block}main#main-content.ia-main{flex:none!important;height:auto!important;min-height:0!important;overflow:visible!important;display:block;max-width:none;width:100%;margin:0;padding:0}.ia-read-sentinel{height:1px;overflow:hidden}.ia-after{width:min(calc(100% - 2 * var(--page-gutter)),calc(var(--page-max) - 2 * var(--page-gutter)));margin-inline:auto;padding-block:var(--space-2xl) var(--space-3xl);color:var(--text-secondary);font-family:var(--font-body);font-size:var(--text-base);line-height:var(--leading-normal)}.ia-series-line{margin:0 0 var(--space-xs)}.ia-series-line a{color:var(--accent);font-family:var(--font-display);text-decoration:none}.ia-series-pos{margin:0 0 var(--space-md);color:var(--text-muted);font-size:var(--text-sm)}.ia-series-nav{display:flex;justify-content:space-between;gap:var(--space-md)}.ia-series-next{margin-inline-start:auto}.ia-series-nav a{color:var(--text-primary);text-decoration:none}.ia-citations{margin-top:var(--space-xl)}.ia-citations p{margin:0 0 var(--space-sm);color:var(--text-primary)}.ia-citations ol{margin:0;padding-inline-start:var(--space-lg)}.ia-citations a{color:var(--accent)}.rail[data-out]{opacity:0;visibility:hidden;pointer-events:none;transition:opacity var(--duration-fast) var(--ease-standard),visibility var(--duration-fast) var(--ease-standard)}@media(prefers-reduced-motion:reduce){.rail[data-out]{transition:none}}.elisa,[data-theme=light] .elisa{--tmb-blue: color-mix(in oklch, var(--accent) 72%, var(--bg-card-solid));--tmb-blue-deep: color-mix(in oklch, var(--accent) 82%, var(--text-primary));--stop-yellow: color-mix(in oklch, var(--warning-color) 62%, var(--bg-card-solid));--stop-yellow-deep: var(--warning-color);--xreact: var(--warning-color);--ok-ink: var(--success-color);--neutral-shape: color-mix(in oklch, var(--text-primary) 22%, var(--bg-primary));--wash-ink: color-mix(in oklch, var(--text-secondary) 70%, var(--bg-primary));--liquid-veil: color-mix(in oklch, var(--accent) 10%, transparent);--beam: color-mix(in oklch, var(--accent) 62%, transparent);--band: color-mix(in oklch, var(--accent) 14%, transparent);--hatch: color-mix(in oklch, var(--text-primary) 55%, var(--text-secondary));--plate-line: color-mix(in oklch, var(--text-primary) 78%, var(--text-secondary));--accent-wash: color-mix(in oklch, var(--accent) 42%, transparent);--shape-wash: color-mix(in oklch, var(--text-secondary) 16%, transparent);--ab-core: var(--bg-card-solid);--ab-tip: var(--accent)}[data-theme=dark] .elisa{--tmb-blue: color-mix(in oklch, var(--accent) 70%, var(--bg-card-solid));--tmb-blue-deep: color-mix(in oklch, var(--accent) 78%, var(--bg-primary));--stop-yellow: color-mix(in oklch, var(--warning-color) 68%, var(--bg-card-solid));--stop-yellow-deep: var(--warning-color);--xreact: var(--warning-color);--ok-ink: var(--success-color);--neutral-shape: color-mix(in oklch, var(--text-primary) 18%, var(--bg-primary));--wash-ink: color-mix(in oklch, var(--text-secondary) 55%, var(--bg-primary));--liquid-veil: color-mix(in oklch, var(--accent) 16%, transparent);--beam: color-mix(in oklch, var(--accent) 70%, transparent);--band: color-mix(in oklch, var(--accent) 20%, transparent);--hatch: color-mix(in oklch, var(--text-primary) 48%, var(--text-secondary));--plate-line: color-mix(in oklch, var(--text-primary) 70%, var(--text-secondary));--accent-wash: color-mix(in oklch, var(--accent) 48%, transparent);--shape-wash: color-mix(in oklch, var(--text-secondary) 14%, transparent);--ab-core: var(--bg-card-solid);--ab-tip: var(--accent)}.elisa{--header-h: 4.25rem;--rail-w: 10.5rem;--motion-rise-distance: 14px;--panel-h: min(76vh, 760px)}.elisa{margin:0;background:var(--bg-primary);color:var(--text-primary);font-family:var(--font-body);font-size:var(--text-base);line-height:var(--leading-normal);text-rendering:optimizeLegibility}.elisa img,.elisa svg{max-width:100%}.elisa button,.elisa a{-webkit-tap-highlight-color:transparent}.elisa :focus-visible{outline:2px solid var(--accent);outline-offset:3px}.elisa::selection,.elisa *::selection{background:var(--accent-bg-medium);color:var(--text-primary)}.elisa .shell{width:min(calc(100% - 2 * var(--page-gutter)),var(--page-max));margin-inline:auto}.elisa .elisa-prose{max-width:68ch;margin-inline:auto}.elisa .elisa-prose p,.elisa .step p,.elisa .lede,.elisa .note,.elisa .kicker,.elisa .tl li,.elisa .kw li,.elisa .gloss li,.elisa .discipline,.elisa .live p{color:color-mix(in oklch,var(--text-primary) 65%,var(--text-secondary));line-height:var(--leading-relaxed)}.elisa .step p{overflow-wrap:anywhere}.elisa h1,.elisa h2,.elisa h3{font-family:var(--font-display);font-weight:500;letter-spacing:-.015em;color:var(--text-primary);line-height:var(--leading-snug)}.elisa h1{margin:0 0 var(--space-md);font-family:var(--font-display);font-size:clamp(2.15rem,4.4vw,3.5rem);font-weight:600;letter-spacing:-.02em;text-wrap:balance}.elisa .h1-keep{white-space:nowrap}.elisa h2{margin:0 0 var(--space-md);font-size:var(--text-2xl)}.elisa h3{margin:var(--space-xl) 0 var(--space-sm);font-size:var(--text-xl)}.elisa p{margin:0 0 var(--space-md)}.elisa .eyebrow{margin:0 0 var(--space-sm);font-family:var(--font-mono);font-size:var(--text-2xs);font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--bio-cyan);line-height:var(--leading-snug)}.elisa .idx{margin-right:var(--space-2xs);color:var(--accent);font-variant-numeric:tabular-nums}.elisa .num{font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1}.elisa .svg-sprite{position:absolute;width:0;height:0;overflow:hidden}.elisa .progress{position:fixed;inset:0 0 auto;z-index:80;height:2px;pointer-events:none}.elisa .progress__bar{display:block;width:100%;height:100%;background:var(--accent);transform:scaleX(0);transform-origin:left center}.elisa .mast{position:sticky;top:0;z-index:60;background:var(--bg-primary);border-bottom:1px solid var(--border)}.elisa .mast__inner{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);min-height:var(--header-h);padding-block:var(--space-xs)}.elisa .wordmark{font-family:var(--font-display);font-size:var(--text-lg);color:var(--text-primary);text-decoration:none;letter-spacing:.01em}.elisa .mast__tools{display:flex;align-items:center;gap:var(--space-xs)}.elisa .present-btn{display:inline-grid;place-items:center;border:1px solid var(--border);border-radius:var(--radius-control);background:var(--bg-primary);color:var(--text-secondary);cursor:pointer;transition:var(--transition-colors)}.elisa .present-btn{position:relative;min-height:28px;padding:0 var(--space-sm);font-family:var(--font-body);font-size:var(--text-xs)}.elisa .scroll-hint svg{width:17px;height:17px}.elisa .present-btn:hover{color:var(--accent);border-color:var(--accent)}.elisa .present-btn[aria-pressed=true]{color:var(--on-accent);background:var(--accent);border-color:var(--accent)}.elisa .present-btn:after{content:attr(data-tooltip);position:absolute;inset-block-end:calc(100% + var(--space-3xs));inset-inline-start:50%;z-index:5;display:none;padding:var(--space-3xs) var(--space-xs);border:1px solid var(--border);border-radius:var(--radius-control);background:var(--bg-card-solid);box-shadow:var(--shadow-whisper);color:var(--text-primary);font-family:var(--font-body);font-size:var(--text-xs);letter-spacing:0;text-transform:none;line-height:var(--leading-snug);white-space:nowrap;pointer-events:none;transform:translate(-50%)}.elisa .present-btn:hover:after,.elisa .present-btn:focus-visible:after{display:block}.elisa .rail{display:none}.elisa .rail a{display:grid;grid-template-columns:1.4rem minmax(0,1fr);gap:var(--space-2xs);color:var(--text-secondary);text-decoration:none;font-size:var(--text-xs);line-height:var(--leading-snug)}.elisa .rail a[aria-current=true]{color:var(--accent)}.elisa .rail__n{font-family:var(--font-display);color:var(--accent)}.elisa .colophon{border-top:1px solid var(--border);padding-block:var(--space-lg) var(--space-2xl)}.elisa .colophon p{margin:0;color:var(--text-secondary);font-size:var(--text-xs)}.elisa{padding-bottom:var(--space-3xl)}html.is-present .elisa{padding-bottom:45vh}.elisa .hero{position:relative;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);align-items:center;gap:var(--space-xl);min-height:calc(100svh - var(--header-h));padding-block:var(--space-xl) var(--space-3xl)}.elisa .hero__copy{max-width:40rem}.elisa .lede{max-width:34ch;font-size:var(--text-xl);line-height:var(--leading-relaxed)}.elisa .meta{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.08em;color:var(--text-secondary)}.elisa .scroll-hint{position:absolute;left:0;bottom:var(--space-lg);display:flex;flex-direction:column;align-items:center;gap:var(--space-xs);margin:0;width:calc((100% - var(--space-xl)) * 1.15 / 2.15);max-width:none;color:var(--text-secondary);font-size:var(--text-sm);line-height:var(--leading-snug);text-align:center}.elisa .scroll-hint__line{display:block;width:1px;height:2.75rem;background:var(--text-secondary);transform-origin:top center;animation:cue-breathe var(--duration-pulse) var(--ease-in-out) infinite}.elisa .engraving{background-color:var(--engraving-ink);opacity:var(--engraving-opacity);-webkit-mask-image:var(--engraving-src);mask-image:var(--engraving-src);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;-webkit-mask-size:contain;mask-size:contain}.elisa .hero__art{--engraving-src: url(/assets/sections/classroom-engraving.webp);width:100%;height:min(68vh,34rem);justify-self:center;align-self:center}.elisa .vignette{--engraving-src: url(/assets/sections/flask-engraving.webp);width:7.5rem;height:7.5rem;float:right;margin-left:var(--space-lg);opacity:.72}.elisa .vignette--dish{--engraving-src: url(/assets/sections/dish-engraving.webp)}.elisa .vignette--room{--engraving-src: url(/assets/sections/classroom-engraving.webp);float:none;display:block;margin:0 auto var(--space-md)}.elisa .chapter{padding-top:var(--space-3xl)}.elisa .chapter__head{margin-bottom:var(--space-xl)}.elisa .table-wrap{margin:var(--space-lg) 0 var(--space-xl);border:1px solid var(--border);border-radius:var(--radius-container);overflow:hidden;background:var(--bg-card-solid);box-shadow:var(--shadow-whisper)}.elisa table{width:100%;border-collapse:collapse;table-layout:fixed}.elisa th,.elisa td{padding:var(--space-sm) var(--space-md);border-bottom:1px solid var(--border);text-align:left;vertical-align:top;font-weight:400;font-size:var(--text-sm);line-height:var(--leading-normal);overflow-wrap:anywhere}.elisa tr:last-child td{border-bottom:0}.elisa th{color:var(--text-secondary);font-size:var(--text-xs);background:var(--bg-secondary)}.elisa .gloss,.elisa .kw,.elisa .homework{margin:0 0 var(--space-lg);padding:0;list-style:none}.elisa .gloss li,.elisa .kw li,.elisa .homework li{margin:0;padding-block:var(--space-xs);border-bottom:1px solid var(--border)}.elisa .callout{margin:var(--space-xl) 0;padding:var(--space-md) var(--space-lg);border:1px solid var(--border);border-left:2px solid var(--accent);border-radius:var(--radius-container);background:transparent}.elisa .callout strong{color:var(--text-primary)}.elisa .note{font-size:var(--text-sm);color:var(--text-secondary)}.elisa .kicker{margin-bottom:var(--space-xs);font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.12em;text-transform:uppercase;color:var(--bio-cyan)}.elisa .chain,.elisa .tl{position:relative;margin:var(--space-xl) 0}.elisa .chain ol,.elisa .tl ol{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-lg);margin:0;padding:var(--space-xl) 0 0;list-style:none}.elisa .tl ol{grid-template-columns:repeat(4,minmax(0,1fr))}.elisa .chain li,.elisa .tl li{position:relative;min-width:0}.elisa .chain li:before,.elisa .tl li:before{content:"";position:absolute;top:calc(-1 * var(--space-xl) + .35rem);left:0;width:.55rem;height:.55rem;border:1px solid var(--border-strong);border-radius:var(--radius-control);background:var(--bg-primary)}.elisa .chain__track,.elisa .tl__track{position:absolute;top:.45rem;left:0;right:0;height:1px;background:var(--border-strong)}.elisa .chain__line,.elisa .tl__line{display:block;width:100%;height:100%;background:var(--accent);transform:scaleX(1);transform-origin:left center}.elisa .chain .is-here{color:var(--accent)}.elisa .chain .is-here:before{border-color:var(--accent);background:var(--accent)}.elisa .tag{display:inline-block;margin-left:var(--space-2xs);padding:0 var(--space-2xs);border:1px solid var(--accent);border-radius:var(--radius-control);color:var(--accent);font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:.14em}.elisa .chain li strong,.elisa .tl li strong,.elisa .year{display:block;margin-bottom:var(--space-2xs);color:var(--text-primary);font-family:var(--font-display);font-size:var(--text-lg);font-weight:600}.elisa .year{font-variant-numeric:tabular-nums}.elisa .scene{--p: 0;--sp: 0;display:block;margin-block:var(--space-lg) var(--space-2xl)}.elisa .scene__sticky{position:sticky;top:var(--header-h);z-index:5;height:46svh;background:var(--bg-primary)}.elisa .scene__steps{min-width:0}.elisa .step{min-height:88vh;display:flex;flex-direction:column;justify-content:center;padding-top:42svh;background:var(--bg-primary);position:relative;z-index:1;opacity:1}html.js .elisa .scene .step{opacity:.35;transition:opacity var(--duration-slow) var(--ease-out-soft)}html.js .elisa .scene .step.is-active{opacity:1}.elisa .step__lead{display:block;margin-bottom:var(--space-sm);color:var(--text-primary);font-family:var(--font-display);font-size:var(--text-xl);font-weight:500;line-height:var(--leading-snug)}.elisa .plate{display:flex;flex-direction:column;height:100%;min-height:0;padding:var(--space-md);border:1px solid var(--border);border-radius:var(--radius-region);background:transparent}.elisa .plate__cap{display:flex;justify-content:space-between;gap:var(--space-sm);margin-top:var(--space-xs);font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.14em;color:var(--text-muted)}.elisa .fig{position:relative;flex:1 1 auto;min-height:0;border:0;background:transparent;box-shadow:none;padding:0}.elisa .fig svg{position:absolute;inset:0;display:block;width:100%;height:100%;color:var(--plate-line)}.elisa .plate>.fig,.elisa .well-layout{flex:1 1 auto;min-height:0}.elisa .ink{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.elisa .ink-sec{fill:none;stroke:currentColor;stroke-width:1.25px;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.elisa .hatch-stroke{fill:none;stroke:currentColor;stroke-width:.75px;stroke-linecap:round;vector-effect:non-scaling-stroke}.elisa .engrave{fill:none;stroke:currentColor;stroke-linecap:butt;color:var(--hatch)}.elisa .fig text,.elisa .pair text,.elisa .fmt-cell text,.elisa .lab,.elisa .axis-name,.elisa .tick{font-family:var(--font-body);font-size:15px;letter-spacing:.01em}.elisa .axis-name,.elisa .tick{font-variant-numeric:tabular-nums;fill:var(--text-secondary)}.elisa .tick-mark,.elisa .axes{color:var(--text-secondary);fill:none;stroke:currentColor;stroke-width:1.25px;vector-effect:non-scaling-stroke}.elisa .blob{fill:var(--shape-wash);stroke:currentColor;stroke-width:2px;vector-effect:non-scaling-stroke}.elisa .body-hatch{color:var(--hatch);opacity:.45}.elisa .patch{color:var(--hatch);opacity:0}.elisa .patch__wash{opacity:0}.ab-core{stroke:var(--ab-core)}.ab-tip{fill:var(--ab-tip)}.elisa .ab-ink{color:var(--text-primary)}.elisa .ab-detect{color:var(--accent)}.elisa .ab-cross{color:var(--warning-color)}.enz-core{fill:var(--accent)}.enz-tick{stroke:var(--accent)}.elisa .leader{fill:none;stroke:currentColor;stroke-width:1px;vector-effect:non-scaling-stroke;color:var(--text-secondary)}.elisa .pose,.elisa .ab--half,.elisa .epi-note,.elisa .prot--b{opacity:0;transition:opacity var(--duration-slow) var(--ease-out-soft)}.elisa .lab--epi{fill:var(--accent)}.elisa .lab--x{fill:var(--xreact)}.elisa .scene[data-scene=s1][data-step="0"] .patch--a{animation:hatch-in var(--duration-slow) var(--ease-out-soft) both}.elisa .scene[data-scene=s1][data-step="0"] .patch--b{animation:hatch-in var(--duration-slow) var(--ease-out-soft) both;animation-delay:calc(var(--stagger-step) * 4)}.elisa .scene[data-scene=s1][data-step="0"] .patch--c{animation:hatch-in var(--duration-slow) var(--ease-out-soft) both;animation-delay:calc(var(--stagger-step) * 8)}.elisa .scene[data-scene=s1]:not([data-step="0"]) .patch{opacity:1;animation:none}.elisa .scene[data-scene=s1][data-step="1"] .pose-up,.elisa .scene[data-scene=s1][data-step="2"] .pose-down,.elisa .scene[data-scene=s1][data-step="3"] .pose-down{opacity:1}.elisa .scene[data-scene=s1][data-step="2"] .patch--c,.elisa .scene[data-scene=s1][data-step="3"] .patch--c{color:var(--accent)}.elisa .scene[data-scene=s1][data-step="2"] .patch--c .patch__wash,.elisa .scene[data-scene=s1][data-step="3"] .patch--c .patch__wash{opacity:1;fill:var(--accent);fill-opacity:.28}.elisa .scene[data-scene=s1][data-step="2"] .epi-note,.elisa .scene[data-scene=s1][data-step="3"] .epi-note,.elisa .scene[data-scene=s1][data-step="3"] .prot--b,.elisa .scene[data-scene=s1][data-step="3"] .ab--half{opacity:1}.elisa .scene[data-scene=s1][data-step="3"] .patch--like{color:var(--xreact)}.elisa .scene[data-scene=s1][data-step="3"] .patch--like .patch__wash{opacity:1;fill:var(--warning-color);fill-opacity:.28}.elisa .scene[data-scene=s1][data-step="3"] .ab__wob{transform-box:view-box;transform-origin:78.85% 64.15%;animation:ab-wobble var(--duration-pulse) var(--ease-in-out) infinite}.elisa .pair{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-md);margin:var(--space-lg) 0 var(--space-xl)}.elisa .pair figure{margin:0;min-width:0}.elisa .pair .fig{border:1px solid var(--border);border-radius:var(--radius-region);background:transparent;min-height:16rem}.elisa .pair .fig svg{position:absolute}.elisa .pair .patch__wash{opacity:1;fill:var(--accent);fill-opacity:.22}.elisa .pair figcaption{margin-top:var(--space-xs);font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:.14em;text-transform:uppercase;color:var(--bio-cyan)}.elisa .elisa-name{margin:var(--space-lg) 0;padding:0;list-style:none}.elisa .elisa-name li{margin:0;padding-block:var(--space-sm);border-bottom:1px solid var(--border);font-size:var(--text-lg);line-height:var(--leading-snug)}.elisa .cap{font-family:var(--font-display);font-weight:650;font-size:1.45em;color:var(--accent);line-height:1}.elisa .shape{fill:var(--text-muted);fill-opacity:.08;stroke:var(--text-muted);stroke-width:1.25px;vector-effect:non-scaling-stroke;transition:fill var(--duration-slow) var(--ease-out-soft),fill-opacity var(--duration-slow) var(--ease-out-soft),stroke var(--duration-slow) var(--ease-out-soft)}.elisa .scene[data-scene=s2b][data-step="0"] .shape{fill:var(--accent);fill-opacity:.55;stroke:var(--accent);stroke-width:1.5px}.elisa .scene[data-scene=s2b][data-step="1"] .shape--t{fill:var(--accent);fill-opacity:.22;stroke:var(--accent);stroke-width:1.5px}.elisa .well-layout{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:minmax(0,1fr) auto;grid-template-areas:"well read" "rail rail";gap:var(--space-xs) var(--space-sm);align-items:stretch}.elisa .well-layout>.fig{grid-area:well;height:100%}.elisa .well-rail{grid-area:rail;display:flex;flex-direction:row;flex-wrap:nowrap;justify-content:space-between;align-items:center;gap:var(--space-2xs);margin:0;padding:0;list-style:none;font-size:var(--text-xs);color:var(--text-muted)}.elisa .well-rail li{display:flex;gap:var(--space-2xs);align-items:center;transition:color var(--duration-slow) var(--ease-out-soft)}.elisa .well-rail i{flex:none;width:.5rem;height:.5rem;border:1px solid var(--border-strong);border-radius:var(--radius-control);background:transparent}.elisa .well-rail span{display:none}.elisa .scene[data-step="0"] .well-rail [data-for="0"],.elisa .scene[data-step="1"] .well-rail [data-for="1"],.elisa .scene[data-step="2"] .well-rail [data-for="2"],.elisa .scene[data-step="3"] .well-rail [data-for="3"],.elisa .scene[data-step="4"] .well-rail [data-for="4"],.elisa .scene[data-step="5"] .well-rail [data-for="5"],.elisa .scene[data-step="6"] .well-rail [data-for="6"],.elisa .scene[data-step="7"] .well-rail [data-for="7"]{color:var(--accent)}.elisa .scene[data-step="0"] .well-rail [data-for="0"] i,.elisa .scene[data-step="1"] .well-rail [data-for="1"] i,.elisa .scene[data-step="2"] .well-rail [data-for="2"] i,.elisa .scene[data-step="3"] .well-rail [data-for="3"] i,.elisa .scene[data-step="4"] .well-rail [data-for="4"] i,.elisa .scene[data-step="5"] .well-rail [data-for="5"] i,.elisa .scene[data-step="6"] .well-rail [data-for="6"] i,.elisa .scene[data-step="7"] .well-rail [data-for="7"] i{background:var(--accent);border-color:var(--accent)}.elisa .well-now{display:block;margin:var(--space-2xs) 0 0;text-align:center;color:var(--accent);font-size:var(--text-sm)}.elisa .hatch{color:var(--hatch)}.elisa .blocker{color:var(--wash-ink);opacity:0}.elisa .blocker circle{fill:currentColor}.elisa .coat,.elisa .blocker,.elisa .sample,.elisa .det,.elisa .readout{transition:opacity var(--duration-slow) var(--ease-out-soft),transform var(--duration-slow) var(--ease-out-soft)}.elisa .liquid,.elisa .beam{transition:none}.elisa .coat{opacity:0}.elisa .sample{opacity:0;transform:translateY(-64px)}.elisa .det{opacity:0;transform:translateY(-52px)}.elisa .liquid{fill:var(--accent);fill-opacity:0;opacity:1;stroke:none}.elisa .beam{fill:var(--beam);opacity:0}.elisa .readout{grid-area:read;position:static;align-self:center;justify-self:end;z-index:2;display:grid;justify-items:end;gap:var(--space-3xs);min-width:5.5rem;opacity:0;pointer-events:none;color:var(--text-primary)}.elisa .od__num{margin:0;font-family:var(--font-body);font-size:var(--text-2xl);font-weight:650;font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1;letter-spacing:.02em;color:var(--text-primary)}.elisa .od__unit{margin:0;font-family:var(--font-body);font-size:var(--text-base);letter-spacing:.06em;color:var(--text-secondary)}.elisa .mark{stroke:currentColor;stroke-width:2px;vector-effect:non-scaling-stroke}.elisa .free{color:var(--text-primary)}.elisa .free .mark{fill:var(--shape-wash)}.elisa .bound{color:var(--accent)}.elisa .bound .mark{fill:var(--accent)}.elisa .enzyme{fill:var(--accent);stroke:currentColor;stroke-width:2px;vector-effect:non-scaling-stroke}.elisa .floater{transform-box:fill-box;transform-origin:center}.elisa .scene[data-scene=s3][data-step="1"] .coat,.elisa .scene[data-scene=s3][data-step="2"] .coat,.elisa .scene[data-scene=s3][data-step="3"] .coat,.elisa .scene[data-scene=s3][data-step="4"] .coat,.elisa .scene[data-scene=s3][data-step="5"] .coat,.elisa .scene[data-scene=s3][data-step="6"] .coat,.elisa .scene[data-scene=s3][data-step="7"] .coat{opacity:1;transform:none}.elisa .scene[data-scene=s3][data-step="2"] .blocker,.elisa .scene[data-scene=s3][data-step="3"] .blocker,.elisa .scene[data-scene=s3][data-step="4"] .blocker,.elisa .scene[data-scene=s3][data-step="5"] .blocker,.elisa .scene[data-scene=s3][data-step="6"] .blocker,.elisa .scene[data-scene=s3][data-step="7"] .blocker{opacity:1}.elisa .scene[data-scene=s3][data-step="3"] .sample{opacity:1;transform:none}.elisa .scene[data-scene=s3][data-step="3"] .floater{animation:drift var(--duration-ambient) var(--ease-in-out) infinite}.elisa .scene[data-scene=s3][data-step="4"] .bound,.elisa .scene[data-scene=s3][data-step="5"] .bound,.elisa .scene[data-scene=s3][data-step="6"] .bound,.elisa .scene[data-scene=s3][data-step="7"] .bound{opacity:1;transform:none}.elisa .scene[data-scene=s3][data-step="4"] .free,.elisa .scene[data-scene=s3][data-step="5"] .free,.elisa .scene[data-scene=s3][data-step="6"] .free,.elisa .scene[data-scene=s3][data-step="7"] .free{opacity:0;transform:translateY(-280px)}.elisa .scene[data-scene=s3][data-step="5"] .det,.elisa .scene[data-scene=s3][data-step="6"] .det,.elisa .scene[data-scene=s3][data-step="7"] .det{opacity:1;transform:none}.elisa .scene[data-scene=s3][data-step="6"] .liquid{fill:var(--accent);fill-opacity:calc(.55 + (var(--sp) * .2))}.elisa .scene[data-scene=s3][data-step="7"] .liquid{fill:var(--warning-color);fill-opacity:.7}.elisa .scene[data-scene=s3][data-step="7"] .beam{opacity:clamp(0,calc((var(--sp) - .08) * 3),1)}.elisa .scene[data-scene=s3][data-step="7"] .readout{opacity:1}.elisa .scene[data-scene=s3][data-step="2"] .coat,.elisa .scene[data-scene=s3][data-step="3"] .coat,.elisa .scene[data-scene=s3][data-step="3"] .blocker,.elisa .scene[data-scene=s3][data-step="4"] .coat,.elisa .scene[data-scene=s3][data-step="4"] .blocker,.elisa .scene[data-scene=s3][data-step="5"] .coat,.elisa .scene[data-scene=s3][data-step="5"] .blocker,.elisa .scene[data-scene=s3][data-step="5"] .bound{opacity:.32}.elisa .scene[data-scene=s3][data-step="2"] .blocker{color:var(--accent)}.elisa .fmt-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));gap:var(--space-xs) var(--space-sm);flex:1 1 auto;min-height:0}.elisa .fmt-cell{display:flex;flex-direction:column;min-height:0;margin:0}.elisa .fmt-cell svg{flex:1 1 auto;min-height:0;width:100%;color:var(--plate-line)}.elisa .fmt-cell figcaption{display:flex;flex-direction:column;align-items:center;text-align:center;font-size:var(--text-sm);line-height:var(--leading-snug);color:var(--text-secondary)}.elisa .fmt-cell figcaption strong{color:var(--text-primary);font-family:var(--font-display);font-weight:600}.elisa .fmt__say{display:none;color:var(--accent)}html:not(.js) .elisa .fmt__say[data-r="2"],html.js .elisa .scene[data-scene=s4a][data-step="0"] .fmt__say[data-r="0"],html.js .elisa .scene[data-scene=s4a][data-step="1"] .fmt__say[data-r="1"],html.js .elisa .scene[data-scene=s4a][data-step="2"] .fmt__say[data-r="2"],html.js .elisa .scene[data-scene=s4a][data-step="3"] .fmt__say[data-r="3"]{display:block}.elisa .r-sig{fill:var(--accent);fill-opacity:.5;stroke:none}.elisa .r-sig--pale{fill-opacity:.14}.elisa .r-fix,.elisa .r-bind,.elisa .r-enz,.elisa .r-sig{transition:opacity var(--duration-slow) var(--ease-out-soft),transform var(--duration-slow) var(--ease-out-soft)}html.js .elisa .scene[data-scene=s4a] .r-bind,html.js .elisa .scene[data-scene=s4a] .r-enz{opacity:0;transform:translateY(calc(-1 * var(--motion-rise-distance)))}html.js .elisa .scene[data-scene=s4a] .r-sig{opacity:0}html.js .elisa .scene[data-scene=s4a][data-step="1"] .r-bind,html.js .elisa .scene[data-scene=s4a][data-step="2"] .r-enz{opacity:1;transform:none}html.js .elisa .scene[data-scene=s4a][data-step="1"] .r-fix,html.js .elisa .scene[data-scene=s4a][data-step="2"] .r-fix,html.js .elisa .scene[data-scene=s4a][data-step="2"] .r-bind,html.js .elisa .scene[data-scene=s4a][data-step="3"] .r-fix,html.js .elisa .scene[data-scene=s4a][data-step="3"] .r-bind,html.js .elisa .scene[data-scene=s4a][data-step="3"] .r-enz{opacity:.32;transform:none}html.js .elisa .scene[data-scene=s4a][data-step="3"] .r-sig{opacity:1}html.js .elisa .scene[data-scene=s4a][data-step="1"] .r-enz--early{opacity:1;transform:none}html:not(.js) .elisa .scene .role-rail [data-for]{color:var(--text-muted)}html:not(.js) .elisa .scene .role-rail [data-for] i{background:transparent;border-color:var(--border-strong)}.elisa .role-rail{justify-content:center;gap:var(--space-xs);margin-top:var(--space-xs);font-size:var(--text-sm)}.elisa .role-rail span{display:inline}.elisa .role-rail .wash-mark{color:var(--text-muted)}.elisa .ag-target{fill:var(--accent);fill-opacity:.22;stroke:var(--accent);stroke-width:1.5px;vector-effect:non-scaling-stroke}.elisa .ag-other{fill:var(--text-muted);fill-opacity:.08;stroke:var(--text-muted);stroke-width:1.25px;vector-effect:non-scaling-stroke}.elisa .sec{opacity:0;transition:opacity var(--duration-slow) var(--ease-out-soft)}.elisa .meter__track{color:var(--text-muted)}.elisa .meter__fill{color:var(--accent);transform-box:fill-box;transform-origin:center bottom;transform:scaleY(.06);transition:transform var(--duration-slow) var(--ease-out-soft)}.elisa .scene[data-scene=s4b][data-step="0"] .sec--1,.elisa .scene[data-scene=s4b][data-step="1"] .sec--1,.elisa .scene[data-scene=s4b][data-step="1"] .sec--2,.elisa .scene[data-scene=s4b][data-step="2"] .sec--1,.elisa .scene[data-scene=s4b][data-step="2"] .sec--2,.elisa .scene[data-scene=s4b][data-step="2"] .sec--3{opacity:1}.elisa .scene[data-scene=s4b][data-step="0"] .meter__fill{transform:scaleY(.34)}.elisa .scene[data-scene=s4b][data-step="1"] .meter__fill{transform:scaleY(.66)}.elisa .scene[data-scene=s4b][data-step="2"] .meter__fill{transform:scaleY(1)}.elisa .curve-rise,.elisa .dot-rise,.elisa .key--rise{color:var(--accent)}.elisa .curve-fall,.elisa .dot-fall,.elisa .key--fall{color:var(--xreact)}.elisa .curve-rise,.elisa .curve-fall{stroke-width:2px;vector-effect:non-scaling-stroke}.elisa .cursor{color:var(--text-secondary);stroke-dasharray:4 4}.elisa .live{display:grid;gap:var(--space-2xs);margin-top:var(--space-sm)}.elisa .live p{margin:0;font-size:15px}.elisa .live b{font-weight:650;font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1;color:var(--text-primary)}.elisa .key{display:inline-block;width:1.15rem;height:2px;margin-right:var(--space-2xs);background:currentColor;vertical-align:middle}.elisa .std{opacity:1}.elisa .pt{fill:var(--accent)}.elisa .err,.elisa .guide,.elisa .extra-line,.elisa .extra-x{color:var(--text-secondary);fill:none;stroke-width:1.25px;vector-effect:non-scaling-stroke}.elisa .guide-dot{fill:currentColor}.elisa .fit{color:var(--accent);stroke-width:2px;vector-effect:non-scaling-stroke;stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset var(--duration-slower) var(--ease-out-soft)}.elisa .band{fill:var(--band);opacity:0}.elisa .guide,.elisa .extra-line,.elisa .extra-x,.elisa #s5-band-label,.elisa #s5-bad-label,.elisa #s5-xlab{opacity:0;transition:opacity var(--duration-slow) var(--ease-out-soft)}.elisa .guide-ok{color:var(--ok-ink)}.elisa .lab--ok{color:var(--ok-ink);fill:var(--ok-ink)}.elisa .guide-bad,.elisa .extra-line,.elisa .extra-x{color:var(--xreact)}.elisa .lab--bad{color:var(--xreact);fill:var(--xreact)}.elisa #s5-band-label{fill:var(--accent)}.elisa .scene[data-scene=s5][data-step="1"] .fit,.elisa .scene[data-scene=s5][data-step="2"] .fit,.elisa .scene[data-scene=s5][data-step="3"] .fit{stroke-dashoffset:0}.elisa .scene[data-scene=s5][data-step="1"] .band,.elisa .scene[data-scene=s5][data-step="1"] #s5-band-label,.elisa .scene[data-scene=s5][data-step="2"] .band,.elisa .scene[data-scene=s5][data-step="2"] #s5-band-label,.elisa .scene[data-scene=s5][data-step="3"] .band,.elisa .scene[data-scene=s5][data-step="3"] #s5-band-label,.elisa .scene[data-scene=s5][data-step="2"] .guide-ok,.elisa .scene[data-scene=s5][data-step="2"] #s5-xlab,.elisa .scene[data-scene=s5][data-step="3"] .guide-ok,.elisa .scene[data-scene=s5][data-step="3"] #s5-xlab,.elisa .scene[data-scene=s5][data-step="3"] .guide-bad,.elisa .scene[data-scene=s5][data-step="3"] .extra-line,.elisa .scene[data-scene=s5][data-step="3"] .extra-x,.elisa .scene[data-scene=s5][data-step="3"] #s5-bad-label{opacity:1}.elisa .q{border-bottom:1px solid var(--border);margin:0}.elisa .q summary{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);padding-block:var(--space-md);cursor:pointer;font-family:var(--font-display);font-size:var(--text-lg);color:var(--text-primary);list-style:none}.elisa .q summary::-webkit-details-marker{display:none}.elisa .q summary:after{content:"";flex:none;width:.5rem;height:.5rem;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);transition:transform var(--duration-slow) var(--ease-out-soft)}.elisa .q[open] summary:after{transform:rotate(-135deg)}.elisa .q__a{padding-bottom:var(--space-md)}.elisa .q[open] .q__a{animation:motion-rise var(--duration-slow) var(--ease-out-soft) both}.elisa .take ol{margin:var(--space-lg) 0 0;padding:0;list-style:none;counter-reset:take}.elisa .take li{counter-increment:take;margin:0 0 var(--space-lg);font-family:var(--font-display);font-size:var(--text-2xl);line-height:var(--leading-snug);color:var(--text-primary)}.elisa .take li:before{content:counter(take);display:block;margin-bottom:var(--space-2xs);font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:.14em;color:var(--bio-cyan)}.elisa .end-rule{width:4rem;height:1px;margin:var(--space-2xl) auto var(--space-lg);background:var(--border-strong);border:0}.elisa .reveal{--motion-rise-distance: 14px}@media(min-width:1100px){.elisa .rail{display:flex;flex-direction:column;gap:var(--space-md);position:fixed;z-index:40;top:calc(var(--header-h) + var(--space-xl));left:var(--page-gutter);width:var(--rail-w)}.elisa .shell{width:min(var(--page-max),calc(100% - var(--rail-w) - var(--space-md) - 2 * var(--page-gutter)));margin-left:calc(var(--page-gutter) + var(--rail-w) + var(--space-md));margin-right:auto}.elisa .scene{display:grid;grid-template-columns:minmax(0,38%) minmax(0,62%);column-gap:var(--space-xl);align-items:start}.elisa .scene__steps{grid-column:1;grid-row:1}.elisa .scene__sticky{grid-column:2;grid-row:1;height:var(--panel-h);top:calc(var(--header-h) + (100vh - var(--header-h) - var(--panel-h)) / 2);z-index:1;background:transparent}.elisa .step{min-height:88vh;padding-top:0;background:transparent}.elisa .plate{padding:var(--space-lg)}}@media(max-width:720px){.elisa .hero{grid-template-columns:1fr;align-content:center}.elisa .scroll-hint{width:100%}.elisa .hero__art{order:-1;width:min(46vw,14rem);height:24svh;justify-self:center}.elisa .vignette{float:none;margin:0 auto var(--space-md)}.elisa .pair,.elisa .chain ol,.elisa .tl ol{grid-template-columns:1fr}.elisa .chain__track,.elisa .tl__track{top:0;bottom:0;left:.2rem;right:auto;width:1px;height:auto}.elisa .chain ol,.elisa .tl ol{padding:0 0 0 var(--space-lg)}.elisa .chain li:before,.elisa .tl li:before{top:.35rem;left:calc(-1 * var(--space-lg) + .05rem)}.elisa .chain__line,.elisa .tl__line{transform:scaleY(1);transform-origin:top center}.elisa .take li{font-size:var(--text-xl)}}@media(prefers-reduced-motion:reduce){.elisa .scroll-hint__line,.elisa .scene[data-scene=s1][data-step="3"] .ab__wob,.elisa .scene[data-scene=s3][data-step="3"] .floater{animation:none}}@supports (animation-timeline: view()){.elisa .reveal{animation:motion-rise both;animation-timeline:view();animation-range:entry 0% cover 28%}.elisa .progress__bar{animation:progress-grow both;animation-timeline:scroll(root)}.elisa .hero__art{animation:hero-drift both;animation-timeline:view();animation-range:exit 0% exit 100%}.elisa .chain__line,.elisa .tl__line{animation:spine-x both;animation-timeline:view();animation-range:entry 12% cover 78%}.elisa .chain .is-here{animation:node-light both;animation-timeline:view();animation-range:cover 40% cover 62%}.elisa .tl li:nth-child(1){animation:line-on both;animation-timeline:view();animation-range:cover 18% cover 36%}.elisa .tl li:nth-child(2){animation:line-on both;animation-timeline:view();animation-range:cover 34% cover 52%}.elisa .tl li:nth-child(3){animation:line-on both;animation-timeline:view();animation-range:cover 50% cover 68%}.elisa .tl li:nth-child(4){animation:line-on both;animation-timeline:view();animation-range:cover 66% cover 84%}.elisa .elisa-name li{animation:line-on both;animation-timeline:view()}.elisa .elisa-name li:nth-child(1){animation-range:cover 10% cover 34%}.elisa .elisa-name li:nth-child(2){animation-range:cover 30% cover 52%}.elisa .elisa-name li:nth-child(3){animation-range:cover 48% cover 70%}.elisa .elisa-name li:nth-child(4){animation-range:cover 66% cover 88%}.elisa .elisa-name .cap{animation:cap-on both;animation-timeline:view()}.elisa .elisa-name li:nth-child(1) .cap:nth-of-type(1){animation-range:cover 8% cover 24%}.elisa .elisa-name li:nth-child(1) .cap:nth-of-type(2){animation-range:cover 20% cover 38%}.elisa .elisa-name li:nth-child(2) .cap{animation-range:cover 32% cover 52%}.elisa .elisa-name li:nth-child(3) .cap{animation-range:cover 50% cover 70%}.elisa .elisa-name li:nth-child(4) .cap{animation-range:cover 66% cover 86%}.elisa .take li{animation:motion-rise both;animation-timeline:view()}.elisa .take li:nth-child(1){animation-range:entry 0% cover 34%}.elisa .take li:nth-child(2){animation-range:entry 14% cover 52%}.elisa .take li:nth-child(3){animation-range:entry 28% cover 70%}.elisa .pair figure{animation:motion-rise both;animation-timeline:view();animation-range:entry 0% cover 36%}}@keyframes cue-breathe{0%,to{transform:scaleY(.35)}50%{transform:scaleY(1)}}@keyframes hatch-in{0%{opacity:0}to{opacity:1}}@keyframes ab-wobble{0%,to{transform:rotate(-2.5deg)}50%{transform:rotate(2.5deg)}}@keyframes drift{0%,to{transform:translate(0)}50%{transform:translate(8px,-14px)}}@keyframes progress-grow{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes hero-drift{0%{transform:translateY(0);opacity:var(--engraving-opacity)}to{transform:translateY(-40px);opacity:.35}}@keyframes spine-x{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes spine-y{0%{transform:scaleY(0)}to{transform:scaleY(1)}}@keyframes node-light{0%{color:var(--text-secondary)}to{color:var(--accent)}}@keyframes line-on{0%{color:var(--text-muted)}to{color:color-mix(in oklch,var(--text-primary) 80%,var(--text-secondary))}}@keyframes cap-on{0%{color:var(--text-muted)}to{color:var(--accent)}}@media(max-width:720px){@supports (animation-timeline: view()){.elisa .chain__line,.elisa .tl__line{animation-name:spine-y;transform-origin:top center}}}.elisa .present-slot{margin:var(--space-md) 0 0}.elisa .tool-cta{margin:var(--space-lg) 0;font-family:var(--font-display);font-size:var(--text-lg);line-height:var(--leading-snug)}.elisa .tool-cta a{color:var(--accent);text-decoration:underline;text-underline-offset:.18em}.elisa .tool-cta a:hover{color:var(--text-primary)}.elisa .tool-cta a:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.wb{--gel-ink: color-mix(in oklch, var(--accent) 16%, transparent);--gel-ink-strong: color-mix(in oklch, var(--accent) 26%, transparent);--band-ink: color-mix(in oklch, var(--accent) 78%, var(--text-primary));--marker-ink: var(--accent);--marker-ref: color-mix(in oklch, var(--error-color) 78%, var(--bg-card-solid));--ponceau: color-mix(in oklch, var(--error-color) 52%, var(--bg-card-solid));--ponceau-soft: color-mix(in oklch, var(--error-color) 22%, var(--bg-card-solid));--neg-ink: color-mix(in oklch, var(--text-primary) 86%, var(--bg-primary));--pos-ink: color-mix(in oklch, var(--error-color) 80%, var(--bg-primary));--xreact: var(--warning-color);--ok-ink: var(--success-color);--wash-ink: color-mix(in oklch, var(--text-secondary) 70%, var(--bg-primary));--hatch: color-mix(in oklch, var(--text-primary) 55%, var(--text-secondary));--plate-line: color-mix(in oklch, var(--text-primary) 78%, var(--text-secondary));--shape-wash: color-mix(in oklch, var(--text-secondary) 16%, transparent);--band-wash: color-mix(in oklch, var(--accent) 12%, transparent);--screen-dark: color-mix(in oklch, var(--text-primary) 88%, var(--bg-primary));--film: var(--bg-card-solid);--film-ink: color-mix(in oklch, var(--text-primary) 92%, var(--bg-primary));--sat-ink: var(--error-color);--ab-core: var(--bg-card-solid);--ab-tip: var(--accent);--header-h: 4.25rem;--rail-w: 10.5rem;--panel-h: min(78vh, 780px)}[data-theme=dark] .wb{--gel-ink: color-mix(in oklch, var(--accent) 22%, transparent);--gel-ink-strong: color-mix(in oklch, var(--accent) 34%, transparent);--band-ink: color-mix(in oklch, var(--accent) 86%, var(--text-primary));--marker-ref: color-mix(in oklch, var(--error-color) 82%, var(--bg-card-solid));--ponceau: color-mix(in oklch, var(--error-color) 70%, var(--bg-card-solid));--ponceau-soft: color-mix(in oklch, var(--error-color) 30%, var(--bg-card-solid));--neg-ink: color-mix(in oklch, var(--bg-primary) 70%, var(--text-primary));--pos-ink: color-mix(in oklch, var(--error-color) 70%, var(--bg-primary));--wash-ink: color-mix(in oklch, var(--text-secondary) 55%, var(--bg-primary));--hatch: color-mix(in oklch, var(--text-primary) 48%, var(--text-secondary));--plate-line: color-mix(in oklch, var(--text-primary) 70%, var(--text-secondary));--shape-wash: color-mix(in oklch, var(--text-secondary) 14%, transparent);--screen-dark: color-mix(in oklch, var(--bg-primary) 80%, var(--text-primary));--film: color-mix(in oklch, var(--text-primary) 92%, var(--bg-primary));--film-ink: var(--bg-primary)}.wb{margin:0;padding-bottom:var(--space-3xl);background:var(--bg-primary);color:var(--text-primary);font-family:var(--font-body);font-size:var(--text-base);line-height:var(--leading-normal);text-rendering:optimizeLegibility}html.is-present .wb{padding-bottom:45vh}.wb svg{max-width:100%}.wb button,.wb a{-webkit-tap-highlight-color:transparent}.wb :focus-visible{outline:2px solid var(--accent);outline-offset:3px}.wb *::selection{background:var(--accent-bg-medium);color:var(--text-primary)}.wb .shell{width:min(calc(100% - 2 * var(--page-gutter)),var(--page-max));margin-inline:auto}.wb .wb-prose{max-width:68ch;margin-inline:auto}.wb .wb-prose p,.wb .step p,.wb .lede,.wb .tl li,.wb .gloss li,.wb .checks li,.wb .rules li,.wb .fork__card p,.wb .tcard p{color:color-mix(in oklch,var(--text-primary) 65%,var(--text-secondary));line-height:var(--leading-relaxed)}.wb .step p{overflow-wrap:anywhere}.wb h1,.wb h2,.wb h3,.wb h4{font-family:var(--font-display);font-weight:500;letter-spacing:-.015em;color:var(--text-primary);line-height:var(--leading-snug)}.wb h1{margin:0 0 var(--space-md);font-size:clamp(2.15rem,4.4vw,3.5rem);font-weight:600;letter-spacing:-.02em;text-wrap:balance}.wb .h1-keep{white-space:nowrap}.wb h2{margin:0 0 var(--space-md);font-size:var(--text-2xl)}.wb h3{margin:var(--space-xl) 0 var(--space-sm);font-size:var(--text-xl)}.wb h4{margin:0 0 var(--space-xs);font-size:var(--text-lg)}.wb p{margin:0 0 var(--space-md)}.wb .eyebrow,.wb .kicker{margin:0 0 var(--space-sm);font-family:var(--font-mono);font-size:var(--text-2xs);font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--bio-cyan);line-height:var(--leading-snug)}.wb .idx{margin-right:var(--space-2xs);color:var(--accent)}.wb .num{font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1}.wb .svg-sprite{position:absolute;width:0;height:0;overflow:hidden}.wb .wb-pat-line{stroke:var(--hatch);stroke-width:.8}.wb .wb-pat-line--fine{stroke-width:.6}.wb .wb-pat-dot{fill:var(--hatch)}.wb .wb-stop-ink{stop-color:var(--film-ink);stop-opacity:.85}.wb .wb-stop-ink--mid{stop-opacity:.4}.wb .wb-stop-clear{stop-color:var(--film-ink);stop-opacity:.08}.wb-ab-core{stroke:var(--ab-core)}.wb-ab-tip{fill:var(--ab-tip)}.wb-enz-core{fill:var(--accent)}.wb-enz-tick{stroke:var(--accent)}.wb .progress{position:fixed;inset:0 0 auto;z-index:80;height:2px;pointer-events:none}.wb .progress__bar{display:block;width:100%;height:100%;background:var(--accent);transform:scaleX(var(--progress, 0));transform-origin:left center}.wb .rail{display:none}.wb .rail a{display:grid;grid-template-columns:1.4rem minmax(0,1fr);gap:var(--space-2xs);color:var(--text-secondary);text-decoration:none;font-size:var(--text-xs);line-height:var(--leading-snug);transition:var(--transition-colors)}.wb .rail a:hover,.wb .rail a[aria-current=true]{color:var(--accent)}.wb .rail__n{font-family:var(--font-display);color:var(--accent)}.wb .present-slot{margin:var(--space-md) 0 0}.wb .present-btn{position:relative;display:inline-grid;place-items:center;min-height:28px;padding:0 var(--space-sm);border:1px solid var(--border);border-radius:var(--radius-control);background:var(--bg-primary);color:var(--text-secondary);font-family:var(--font-body);font-size:var(--text-xs);cursor:pointer;transition:var(--transition-colors)}.wb .present-btn:hover{color:var(--accent);border-color:var(--accent)}.wb .present-btn[aria-pressed=true]{color:var(--on-accent);background:var(--accent);border-color:var(--accent)}.wb .present-btn:after{content:attr(data-tooltip);position:absolute;inset-block-end:calc(100% + var(--space-3xs));inset-inline-start:50%;z-index:5;display:none;padding:var(--space-3xs) var(--space-xs);border:1px solid var(--border);border-radius:var(--radius-control);background:var(--bg-card-solid);box-shadow:var(--shadow-whisper);color:var(--text-primary);font-size:var(--text-xs);white-space:nowrap;pointer-events:none;transform:translate(-50%)}.wb .present-btn:hover:after,.wb .present-btn:focus-visible:after{display:block}.wb .hero{position:relative;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);align-items:center;gap:var(--space-xl);min-height:calc(100svh - var(--header-h));padding-block:var(--space-xl) var(--space-3xl)}.wb .hero__copy{max-width:40rem}.wb .lede{max-width:36ch;font-size:var(--text-xl)}.wb .scroll-hint{position:absolute;left:0;bottom:var(--space-lg);display:flex;flex-direction:column;align-items:center;gap:var(--space-xs);width:calc((100% - var(--space-xl)) * 1.1 / 2.1);margin:0;color:var(--text-secondary);font-size:var(--text-sm);text-align:center}.wb .scroll-hint__line{display:block;width:1px;height:2.75rem;background:var(--text-secondary);transform-origin:top center;animation:wb-cue var(--duration-pulse) var(--ease-in-out) infinite}.wb .hero3d{--hp: 0;--mx: 0;--my: 0;position:relative;display:grid;place-items:center;height:min(70vh,36rem);perspective:1600px}.wb .hero3d__stage{position:relative;width:min(100%,23rem);aspect-ratio:4 / 5;transform-style:preserve-3d;transform:rotateX(calc(57deg - var(--hp) * 12deg + var(--my) * 4deg)) rotate(calc(-38deg + var(--hp) * 22deg + var(--mx) * 5deg))}.wb .h-layer{position:absolute;inset:0;border-radius:var(--radius-region);transform:translateZ(calc(var(--lz) * (62px + var(--hp) * 120px)));animation:wb-float var(--duration-ambient) var(--ease-in-out) infinite}.wb .h-layer--gel{--lz: 0;border:1px solid color-mix(in oklch,var(--accent) 45%,transparent);background:linear-gradient(to bottom,var(--gel-ink-strong) 0 13%,transparent 13%),var(--gel-ink);box-shadow:var(--shadow-whisper)}.wb .h-layer--mem{--lz: 1;border:1px solid var(--border-strong);background:color-mix(in oklch,var(--bg-card-solid) 88%,transparent);box-shadow:var(--panel-shadow);animation-delay:calc(var(--stagger-step) * -30)}.wb .h-layer--ab{--lz: 2;animation-delay:calc(var(--stagger-step) * -60)}.wb .h-lane{position:absolute;top:3%;width:17%;height:7%;border:1px solid color-mix(in oklch,var(--accent) 50%,transparent);border-radius:var(--radius-sm);background:var(--bg-primary)}.wb .h-lane--1{left:7%}.wb .h-lane--2{left:30%}.wb .h-lane--3{left:53%}.wb .h-lane--4{left:76%}.wb .h-band{position:absolute;width:17%;height:2.2%;border-radius:999px;background:var(--band-ink);filter:blur(.6px)}.wb .h-band--a{left:7%;top:20%;background:var(--marker-ink)}.wb .h-band--b{left:7%;top:31%;background:var(--marker-ref)}.wb .h-band--c{left:7%;top:44%;background:var(--marker-ink)}.wb .h-band--d{left:7%;top:61%;background:var(--marker-ref)}.wb .h-band--e{left:30%;top:38%;opacity:.55}.wb .h-band--f{left:53%;top:38%;opacity:.85}.wb .h-band--g{left:76%;top:38%;opacity:.35}.wb .h-band--h{left:30%;top:52%;opacity:.5}.wb .h-band--i{left:53%;top:70%;opacity:.45}.wb .h-band--t1,.wb .h-band--t2,.wb .h-band--t3{top:38%;background:var(--text-primary)}.wb .h-band--t1{left:30%;opacity:.55}.wb .h-band--t2{left:53%;opacity:.9}.wb .h-band--t3{left:76%;opacity:.3}.wb .h-ladder{position:absolute;left:7%;top:18%;width:17%;height:48%;background:repeating-linear-gradient(to bottom,var(--marker-ink) 0 2px,transparent 2px 22%);opacity:.8}.wb .h-tag{position:absolute;right:5%;bottom:4%;font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:.18em;color:var(--text-muted)}.wb .h-glow{position:absolute;top:34%;width:21%;height:10%;border-radius:50%;background:radial-gradient(closest-side,color-mix(in oklch,var(--accent) 70%,transparent),transparent);filter:blur(6px);animation:wb-glow var(--duration-pulse) var(--ease-in-out) infinite alternate}.wb .h-glow--1{left:28%;opacity:.55}.wb .h-glow--2{left:51%;animation-delay:calc(var(--stagger-step) * 6)}.wb .h-glow--3{left:74%;opacity:.32;animation-delay:calc(var(--stagger-step) * 12)}.wb .block,.wb .chapter{padding-top:var(--space-3xl)}.wb .chapter__head{margin-bottom:var(--space-xl)}.wb .table-wrap{margin:var(--space-lg) 0 var(--space-xl);border:1px solid var(--border);border-radius:var(--radius-container);overflow:hidden;background:var(--bg-card-solid);box-shadow:var(--shadow-whisper)}.wb table{width:100%;border-collapse:collapse;table-layout:fixed}.wb th,.wb td{padding:var(--space-sm) var(--space-md);border-bottom:1px solid var(--border);text-align:left;vertical-align:top;font-weight:400;font-size:var(--text-sm);overflow-wrap:anywhere}.wb tr:last-child td{border-bottom:0}.wb th{color:var(--text-secondary);font-size:var(--text-xs);background:var(--bg-secondary)}.wb .num-table td,.wb .num-table th{font-variant-numeric:tabular-nums}.wb .num-table td:not(:first-child),.wb .num-table th:not(:first-child){text-align:right}.wb .num-table b{color:var(--accent);font-weight:650}.wb .gloss,.wb .checks,.wb .rules{margin:0 0 var(--space-lg);padding:0;list-style:none}.wb .gloss li,.wb .checks li,.wb .rules li{position:relative;margin:0;padding-block:var(--space-xs);border-bottom:1px solid var(--border)}.wb .gloss strong,.wb .rules strong{color:var(--text-primary);font-weight:600}.wb .checks li{padding-inline-start:1.6rem}.wb .checks li:before{content:"";position:absolute;left:.2rem;top:calc(var(--space-xs) + .45em);width:.7rem;height:.38rem;border-left:1.5px solid var(--accent);border-bottom:1.5px solid var(--accent);transform:rotate(-45deg)}.wb .rules{counter-reset:rule}.wb .rules li{counter-increment:rule;padding-inline-start:2rem}.wb .rules li:before{content:counter(rule,decimal-leading-zero);position:absolute;left:0;top:calc(var(--space-xs) + .2em);font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:.1em;color:var(--bio-cyan)}.wb .callout{margin:var(--space-xl) 0;padding:var(--space-md) var(--space-lg);border:1px solid var(--border);border-left:2px solid var(--warning-color);border-radius:var(--radius-container)}.wb .callout strong{color:var(--text-primary)}.wb .callout--small{margin:var(--space-lg) 0;padding:var(--space-sm) var(--space-md);font-size:var(--text-sm)}.wb .note{font-size:var(--text-sm);color:var(--text-secondary)}.wb .tool-cta{margin:var(--space-lg) 0;font-family:var(--font-display);font-size:var(--text-lg);line-height:var(--leading-snug)}.wb .tool-cta--soft{font-size:var(--text-base)}.wb .tool-cta a{color:var(--accent);text-decoration:underline;text-underline-offset:.18em;transition:var(--transition-colors)}.wb .tool-cta a:hover{color:var(--text-primary)}.wb .vignette{float:right;width:7.5rem;height:7.5rem;margin-left:var(--space-lg);opacity:.72}.wb .engraving{background-color:var(--engraving-ink);-webkit-mask-image:var(--engraving-src);mask-image:var(--engraving-src);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;-webkit-mask-size:contain;mask-size:contain}.wb .vignette--flask{--engraving-src: url(/assets/sections/flask-engraving.webp)}.wb .vignette--vessel{--engraving-src: url(/assets/sections/wetlab-engraving.webp)}.wb .vignette--imaging{--engraving-src: url(/assets/sections/imaging-engraving.webp)}.wb .chain,.wb .tl{position:relative;margin:var(--space-xl) 0}.wb .chain ol,.wb .tl ol{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-lg);margin:0;padding:var(--space-xl) 0 0;list-style:none}.wb .tl ol{grid-template-columns:repeat(6,minmax(0,1fr))}.wb .chain li,.wb .tl li{position:relative;min-width:0}.wb .chain li:before,.wb .tl li:before{content:"";position:absolute;top:calc(-1 * var(--space-xl) + .35rem);left:0;width:.55rem;height:.55rem;border:1px solid var(--border-strong);border-radius:var(--radius-control);background:var(--bg-primary)}.wb .chain a{color:inherit}.wb .chain__track,.wb .tl__track{position:absolute;top:.45rem;left:0;right:0;height:1px;background:var(--border-strong)}.wb .chain__line,.wb .tl__line{display:block;width:100%;height:100%;background:var(--accent);transform-origin:left center}.wb .chain .is-here{color:var(--accent)}.wb .chain .is-here:before{border-color:var(--accent);background:var(--accent)}.wb .tag{display:inline-block;margin-left:var(--space-2xs);padding:0 var(--space-2xs);border:1px solid var(--accent);border-radius:var(--radius-control);color:var(--accent);font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:.14em}.wb .year{display:block;margin-bottom:var(--space-2xs);color:var(--text-primary);font-family:var(--font-display);font-size:var(--text-lg);font-weight:600;font-variant-numeric:tabular-nums}.wb .tl li span{font-size:var(--text-sm)}.wb .route{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:var(--space-xs);margin:var(--space-lg) 0 var(--space-xl);padding:0;list-style:none;counter-reset:route}.wb .route li{position:relative;min-width:0}.wb .route li:not(:last-child):after{content:"";position:absolute;top:1.35rem;right:calc(-1 * var(--space-xs));width:var(--space-xs);height:1px;background:var(--border-strong)}.wb .route a{display:grid;gap:var(--space-3xs);height:100%;padding:var(--space-sm);border:1px solid var(--border);border-radius:var(--radius-container);color:var(--text-primary);text-decoration:none;transition:var(--transition-lift)}.wb .route a:hover{border-color:var(--accent);transform:translateY(var(--lift-control))}.wb .route__n{display:grid;place-items:center;width:1.6rem;height:1.6rem;border:1px solid var(--accent);border-radius:50%;color:var(--accent);font-family:var(--font-display);font-size:var(--text-sm)}.wb .route strong{font-family:var(--font-display);font-weight:600;font-size:var(--text-base)}.wb .route__t{color:var(--text-secondary);font-size:var(--text-xs)}.wb .scene{--p: 0;--sp: 0;display:block;margin-block:var(--space-lg) var(--space-2xl)}.wb .scene__sticky{position:sticky;top:var(--header-h);z-index:5;height:50svh;background:var(--bg-primary)}.wb .scene__steps{min-width:0}.wb .step{position:relative;z-index:1;display:flex;flex-direction:column;justify-content:center;min-height:88vh;padding-top:46svh;background:var(--bg-primary)}html.js .wb .scene .step{opacity:.35;transition:opacity var(--duration-slow) var(--ease-out-soft)}html.js .wb .scene .step.is-active{opacity:1}.wb .step__lead{display:block;margin-bottom:var(--space-sm);color:var(--text-primary);font-family:var(--font-display);font-size:var(--text-xl);font-weight:500;line-height:var(--leading-snug)}.wb .plate{position:relative;display:flex;flex-direction:column;height:100%;min-height:0;padding:var(--space-md);border:1px solid var(--border);border-radius:var(--radius-region)}.wb .plate__cap{display:flex;justify-content:space-between;gap:var(--space-sm);margin-top:var(--space-xs);font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.14em;color:var(--text-muted)}.wb .fig{position:relative;flex:1 1 auto;min-height:0}.wb .fig>svg{position:absolute;inset:0;display:block;width:100%;height:100%;color:var(--plate-line)}.wb .ink,.wb .ink-sec{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.wb .ink-sec{stroke-width:1.25px}.wb .leader{fill:none;stroke:var(--text-secondary);stroke-width:1px;vector-effect:non-scaling-stroke}.wb .fig text,.wb .lab,.wb .axis-name,.wb .tick{font-family:var(--font-body);font-size:15px;letter-spacing:.01em}.wb .lab{fill:var(--text-primary)}.wb .lab--sub{font-size:13px;fill:var(--text-secondary)}.wb .lab--accent{fill:var(--accent)}.wb .lab--warn{fill:var(--xreact)}.wb .lab--ok{fill:var(--ok-ink)}.wb .axis-name,.wb .tick{font-variant-numeric:tabular-nums;fill:var(--text-secondary)}.wb .tick{font-size:13px}.wb .axes,.wb .tick-mark{fill:none;stroke:var(--text-secondary);stroke-width:1.25px;vector-effect:non-scaling-stroke}.wb .ab-ink{color:var(--text-primary)}.wb .ab-detect{color:var(--accent)}.wb .ag-target{fill:var(--accent);fill-opacity:.22;stroke:var(--accent);stroke-width:1.5px;vector-effect:non-scaling-stroke}.wb .ag-other{fill:var(--text-muted);fill-opacity:.08;stroke:var(--text-muted);stroke-width:1.25px;vector-effect:non-scaling-stroke}.wb .fit{color:var(--accent);stroke-width:2px;vector-effect:non-scaling-stroke;stroke-dasharray:1;stroke-dashoffset:1;opacity:0;transition:stroke-dashoffset var(--duration-slower) var(--ease-out-soft),opacity var(--duration-fast) var(--ease-standard)}.wb .plate-chip{position:absolute;top:var(--space-md);right:var(--space-md);z-index:3;display:inline-flex;align-items:center;gap:var(--space-xs);margin:0;padding:var(--space-3xs) var(--space-sm);border:1px solid var(--border);border-radius:999px;background:var(--bg-card-solid);box-shadow:var(--shadow-whisper);color:var(--text-secondary);font-size:var(--text-xs);opacity:0;transform:translateY(-6px);transition:opacity var(--duration-slow) var(--ease-out-soft),transform var(--duration-slow) var(--ease-out-soft);pointer-events:none}.wb .plate-chip__dot{width:.5rem;height:.5rem;border-radius:50%;background:var(--warning-color);animation:wb-blink var(--duration-pulse) var(--ease-in-out) infinite}.wb .prep-chain{stroke:var(--plate-line);stroke-width:2.5px;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.wb .prep-beads circle{fill:var(--bg-card-solid);stroke:var(--plate-line);stroke-width:1.5px;vector-effect:non-scaling-stroke}.wb .prep-beads circle.is-end{fill:var(--accent);stroke:var(--accent)}.wb .prep-ss line{stroke:var(--xreact);stroke-width:3px;stroke-linecap:round;vector-effect:non-scaling-stroke}.wb .prep-ss line.is-cut{stroke-dasharray:3 5}.wb .prep-sds .sds__tail{stroke:var(--accent);stroke-width:1.5px;stroke-linecap:round;vector-effect:non-scaling-stroke}.wb .prep-sds .sds__head{fill:var(--accent)}.wb .prep-sds text,.wb .prep-native text{font-family:var(--font-mono);font-size:13px;font-weight:700}.wb .prep-sds text{fill:var(--accent)}.wb .prep-native text.is-pos{fill:var(--xreact)}.wb .prep-native text.is-neg{fill:var(--text-secondary)}.wb .prep-note,.wb .prep-ruler{opacity:0;transition:opacity var(--duration-slow) var(--ease-out-soft)}.wb .scene[data-scene=prep][data-step="1"] .prep-note--sds,.wb .scene[data-scene=prep][data-step="0"] .prep-note--ss,.wb .scene[data-scene=prep][data-step="1"] .prep-note--ss,.wb .scene[data-scene=prep][data-step="2"] .prep-note--ss,.wb .scene[data-scene=prep][data-step="3"] .prep-ruler{opacity:1}.wb .meters{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-sm) var(--space-lg);margin-top:var(--space-xs)}.wb .meter{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:var(--space-xs);margin:0;font-size:var(--text-xs);color:var(--text-secondary)}.wb .meter__bar{display:block;height:6px;border:1px solid var(--border-strong);border-radius:999px;overflow:hidden}.wb .meter__fill{display:block;height:100%;background:var(--accent);transform-origin:left center}.wb .meter__fill--fold{background:var(--xreact);transform:scaleX(var(--fold, 1))}.wb .meter__fill--sds{transform:scaleX(var(--sds, 0))}.wb .calc{--v-sample: .5;--v-buffer: .25;--v-water: .25;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:var(--space-xl);max-width:62rem;margin:var(--space-lg) auto var(--space-xl);padding:var(--space-lg);border:1px solid var(--border);border-radius:var(--radius-region);background:var(--bg-card-solid);box-shadow:var(--shadow-whisper)}.wb .calc__inputs{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-md);align-content:start}.wb .calc__field{display:grid;gap:var(--space-2xs);font-size:var(--text-sm);color:var(--text-secondary)}.wb .calc__input{display:flex;align-items:center;border:1px solid var(--input-border);border-radius:var(--radius-control);background:var(--input-bg);transition:var(--transition-colors)}.wb .calc__input:focus-within{border-color:var(--input-focus-border)}.wb .calc__input input,.wb .calc__input select{flex:1 1 auto;min-width:0;padding:var(--space-xs) var(--space-sm);border:0;background:transparent;color:var(--text-primary);font-family:var(--font-body);font-size:var(--text-lg);font-variant-numeric:tabular-nums}.wb .calc__input input:focus,.wb .calc__input select:focus{outline:none}.wb .calc__input em{padding-inline-end:var(--space-sm);color:var(--text-muted);font-style:normal;font-size:var(--text-sm)}.wb .calc__out{display:grid;grid-template-columns:auto minmax(0,1fr);gap:var(--space-sm) var(--space-lg);align-items:center}.wb .calc__tube{grid-row:span 3;display:flex;flex-direction:column;justify-content:flex-end;width:3.2rem;height:9.5rem;padding:3px;border:1.5px solid var(--plate-line);border-top:0;border-radius:0 0 1.6rem 1.6rem;overflow:hidden}.wb .calc__seg{display:block;width:100%;transition:flex-grow var(--duration-slow) var(--ease-out-soft)}.wb .calc__seg--water{flex:var(--v-water) 1 0;background:color-mix(in oklch,var(--accent) 10%,transparent)}.wb .calc__seg--buffer{flex:var(--v-buffer) 1 0;background:color-mix(in srgb,var(--accent) 62%,var(--bg-card-solid))}.wb .calc__seg--sample{flex:var(--v-sample) 1 0;border-radius:0 0 1.4rem 1.4rem;background:color-mix(in oklch,var(--warning-color) 45%,var(--bg-card-solid))}.wb .calc__list{display:grid;gap:var(--space-2xs);margin:0}.wb .calc__list div{display:flex;justify-content:space-between;gap:var(--space-sm);padding-block:var(--space-2xs);border-bottom:1px solid var(--border)}.wb .calc__list dt{display:flex;align-items:center;gap:var(--space-xs);color:var(--text-secondary);font-size:var(--text-sm)}.wb .calc__list dd{margin:0;color:var(--text-secondary);font-size:var(--text-sm)}.wb .calc__list b{color:var(--text-primary);font-size:var(--text-xl);font-weight:650}.wb .calc__key{width:.7rem;height:.7rem;border-radius:2px}.wb .calc__key--sample{background:color-mix(in oklch,var(--warning-color) 45%,var(--bg-card-solid))}.wb .calc__key--buffer{background:color-mix(in srgb,var(--accent) 62%,var(--bg-card-solid))}.wb .calc__key--water{background:color-mix(in oklch,var(--accent) 10%,transparent);border:1px solid var(--border-strong)}.wb .calc__formula{margin:0;color:var(--text-secondary);font-family:var(--font-mono);font-size:var(--text-xs)}.wb .calc__warn{grid-column:1 / -1;margin:0;padding:var(--space-xs) var(--space-sm);border-left:2px solid var(--warning-color);background:var(--warning-bg);color:var(--text-primary);font-size:var(--text-sm)}.wb .calc__warn[hidden]{display:none!important}.wb .cast-glass{fill:color-mix(in oklch,var(--accent) 4%,transparent);stroke:var(--plate-line);stroke-width:1.5px;vector-effect:non-scaling-stroke}.wb .cast-glass--front{fill:none;stroke-width:2px}.wb .cast-front{stroke:var(--plate-line);stroke-width:2px;vector-effect:non-scaling-stroke}.wb .cast-spacer{fill:url(#wb-hatch);stroke:var(--plate-line);stroke-width:1px;vector-effect:non-scaling-stroke}.wb .cast-pour{transition:opacity var(--duration-base) var(--ease-standard)}.wb .cast-stream{fill:color-mix(in srgb,var(--accent) 45%,var(--bg-card-solid))}.wb .cast-pipette{fill:var(--bg-card-solid);stroke:var(--plate-line);stroke-width:1.5px;vector-effect:non-scaling-stroke}.wb .cast-base{fill:var(--neg-ink)}.wb .cast-gasket{fill:var(--wash-ink)}.wb .cast-res,.wb .cast-stack,.wb .cast-overlay,.wb .cast-mesh{transform-box:fill-box;transform-origin:center bottom;transform:scaleY(0);transition:transform var(--duration-slow) var(--ease-out-soft),opacity var(--duration-slow) var(--ease-out-soft)}.wb .cast-res{fill:var(--gel-ink-strong)}.wb .cast-stack{fill:var(--gel-ink)}.wb .cast-overlay{fill:var(--bg-card-solid);stroke:var(--accent);stroke-width:1px;stroke-dasharray:3 3;vector-effect:non-scaling-stroke}.wb .cast-mesh{fill:url(#wb-hatch-fine);opacity:0;transform:none}.wb .cast-wells rect{fill:var(--bg-primary);stroke:var(--plate-line);stroke-width:1px;vector-effect:non-scaling-stroke;opacity:0;transition:opacity var(--duration-slow) var(--ease-out-soft)}.wb .cast-comb{transform:translateY(-150px);opacity:0;transition:transform var(--duration-slower) var(--ease-out-expo),opacity var(--duration-slow) var(--ease-out-soft)}.wb .cast-comb__body{fill:color-mix(in oklch,var(--text-primary) 72%,var(--bg-primary));stroke:var(--text-primary);stroke-width:1px;vector-effect:non-scaling-stroke}.wb .cast-lab,.wb .cast-lens{opacity:0;transition:opacity var(--duration-slow) var(--ease-out-soft)}.wb .cast-lens__ring{fill:none;stroke:var(--plate-line);stroke-width:1.5px;vector-effect:non-scaling-stroke}.wb .cast-lens__bg{fill:var(--bg-card-solid)}.wb .cast-chains path{fill:none;stroke:var(--accent);stroke-width:2px;stroke-linecap:round;vector-effect:non-scaling-stroke}.wb .cast-links line{stroke:var(--xreact);stroke-width:2px;stroke-linecap:round;vector-effect:non-scaling-stroke;opacity:var(--link-on, 0)}.wb .scene[data-scene=cast][data-step="0"] .cast-lab--plate,.wb .scene[data-scene=cast][data-step="0"] .cast-lab--leak{opacity:1}.wb .scene[data-scene=cast][data-step="1"] .cast-res{transform:scaleY(var(--sp));transition:none}.wb .scene[data-scene=cast]:is([data-step="2"],[data-step="3"],[data-step="4"],[data-step="5"]) .cast-res{transform:scaleY(1)}.wb .scene[data-scene=cast]:is([data-step="1"],[data-step="2"]) .cast-lab--res,.wb .scene[data-scene=cast]:is([data-step="1"],[data-step="2"]) .cast-lens{opacity:1}.wb .scene[data-scene=cast][data-step="2"] .cast-overlay{transform:scaleY(1)}.wb .scene[data-scene=cast][data-step="2"] .cast-lab--overlay{opacity:1}.wb .scene[data-scene=cast][data-step="2"] .cast-mesh--res{opacity:var(--sp)}.wb .scene[data-scene=cast]:is([data-step="3"],[data-step="4"],[data-step="5"]) .cast-mesh--res{opacity:1}.wb .scene[data-scene=cast][data-step="3"] .cast-stack{transform:scaleY(var(--sp));transition:none}.wb .scene[data-scene=cast]:is([data-step="4"],[data-step="5"]) .cast-stack{transform:scaleY(1)}.wb .scene[data-scene=cast]:is([data-step="3"],[data-step="4"]) .cast-lab--stack{opacity:1}.wb .scene[data-scene=cast][data-step="4"] .cast-comb{opacity:1;transform:translateY(calc((1 - var(--sp)) * -110px));transition:opacity var(--duration-slow) var(--ease-out-soft)}.wb .scene[data-scene=cast][data-step="4"] .cast-lab--comb,.wb .scene[data-scene=cast][data-step="5"] .cast-lab--well{opacity:1}.wb .scene[data-scene=cast][data-step="4"] .cast-mesh--stack{opacity:var(--sp)}.wb .scene[data-scene=cast][data-step="5"] .cast-mesh--stack{opacity:1}.wb .scene[data-scene=cast][data-step="5"] .cast-comb{opacity:0;transform:translateY(-170px)}.wb .scene[data-scene=cast][data-step="5"] .cast-wells rect{opacity:1}.wb .scene[data-scene=cast]:is([data-step="2"],[data-step="4"]) .plate-chip{opacity:1;transform:none}.wb .gelpct{max-width:54rem;margin:var(--space-lg) auto var(--space-md);padding:var(--space-lg) var(--space-md) var(--space-md);border:1px solid var(--border);border-radius:var(--radius-region)}.wb .gelpct svg{display:block;width:100%;height:auto;color:var(--plate-line)}.wb .gelpct__slab{fill:var(--gel-ink)}.wb .gelpct__mesh{fill:none;stroke:var(--accent);stroke-opacity:.22;stroke-width:.6px}.wb .gelpct__frame{fill:none;stroke:currentColor;stroke-width:1.25px;vector-effect:non-scaling-stroke}.wb .gelpct__gel.is-best .gelpct__frame{stroke:var(--accent);stroke-width:2.5px}.wb .gelpct__well{fill:var(--bg-primary);stroke:currentColor;stroke-width:1px;vector-effect:non-scaling-stroke}.wb .gelpct__marker{fill:var(--text-secondary)}.wb .gelpct__target{fill:var(--accent)}.wb .gelpct__pct{font-family:var(--font-display);font-size:22px;font-weight:600;fill:var(--text-primary)}.wb .gelpct__range{font-family:var(--font-body);font-size:19px;font-variant-numeric:tabular-nums;fill:var(--text-secondary)}.wb .gelpct__gel.is-best .gelpct__pct,.wb .gelpct__gel.is-best .gelpct__range{fill:var(--accent)}.wb .gelpct figcaption{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-2xs) var(--space-lg);margin-top:var(--space-sm);font-size:var(--text-sm);color:var(--text-secondary)}.wb .gelpct__key{display:inline-flex;align-items:center;gap:var(--space-xs)}.wb .gelpct__swatch{width:1.5rem;height:.25rem;background:var(--text-secondary)}.wb .gelpct__swatch--target{height:.4rem;background:var(--accent)}.wb .ions{display:grid;gap:var(--space-md);max-width:54rem;margin:var(--space-lg) auto var(--space-xl);padding:var(--space-lg);border:1px solid var(--border);border-radius:var(--radius-region)}.wb .ions__row{display:grid;grid-template-columns:9rem minmax(0,1fr);align-items:center;gap:var(--space-md)}.wb .ions__zone{margin:0;font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:.12em;color:var(--bio-cyan)}.wb .ions__lane{position:relative;display:flex;align-items:center;gap:var(--space-xs);min-height:3rem;padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-container);background:var(--gel-ink);overflow:hidden}.wb .ion{flex:none;padding:var(--space-3xs) var(--space-xs);border:1px solid currentColor;border-radius:999px;background:var(--bg-card-solid);font-size:var(--text-xs);white-space:nowrap}.wb .ion--cl{color:var(--accent)}.wb .ion--gly{color:var(--xreact)}.wb .ion--prot{color:var(--text-primary);border-width:2px}.wb .ions__lane:not(.ions__lane--split) .ion--prot{border-radius:3px;letter-spacing:.04em}.wb .ions__lane--split .ion--big{margin-right:var(--space-lg)}.wb .ions__lane--split .ion--mid{margin-right:var(--space-xl)}.wb .ions__lane--split .ion--small{margin-right:auto}.wb .ions__arrow{margin-left:auto;color:var(--text-muted);font-size:var(--text-xs)}.wb .ions__lane--split .ions__arrow{margin-left:var(--space-sm)}.wb .run-buffer{fill:color-mix(in oklch,var(--accent) 7%,transparent)}.wb .run-elec--neg{fill:var(--neg-ink)}.wb .run-elec--pos{fill:var(--pos-ink)}.wb .run-elec__sign{fill:var(--text-primary);font-size:14px}.wb .run-elec__sign--pos{fill:var(--pos-ink)}.wb .run-stack{fill:var(--gel-ink)}.wb .run-res{fill:var(--gel-ink-strong)}.wb .run-interface{stroke:color-mix(in oklch,var(--accent) 50%,transparent);stroke-width:1px;stroke-dasharray:4 4;vector-effect:non-scaling-stroke}.wb .run-wells rect{fill:var(--bg-primary);stroke:var(--plate-line);stroke-width:1px;vector-effect:non-scaling-stroke}.wb .run-glass{fill:none;stroke:var(--plate-line);stroke-width:2px;vector-effect:non-scaling-stroke}.wb .run-lanes text,.wb .screen__lanes text,.wb .q-lanes text{fill:var(--text-secondary);font-family:var(--font-mono);font-size:13px;letter-spacing:.08em}.wb .run-band{fill:var(--band-wash);stroke:var(--band-ink);stroke-width:1.25px;stroke-dasharray:3 3;vector-effect:non-scaling-stroke}.wb .run-band--marker{fill:var(--marker-ink);stroke:none}.wb .run-band--ref{fill:var(--marker-ref)}.wb .run-band--target{stroke-width:1.75px;stroke-dasharray:none}.wb .run-dye{stroke:color-mix(in srgb,var(--accent) 80%,var(--bg-card-solid));stroke-width:4px;stroke-linecap:round;vector-effect:non-scaling-stroke;opacity:.85}.wb .run-kda{opacity:0;transition:opacity var(--duration-slow) var(--ease-out-soft)}.wb .run-kda text{fill:var(--text-secondary);font-family:var(--font-mono);font-size:11px}.wb .scene[data-scene=run]:is([data-step="3"],[data-step="4"]) .run-kda{opacity:1}.wb .run-flow path{fill:none;stroke:var(--accent);stroke-width:1.75px;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke;opacity:0}.wb .run-bubbles circle{fill:none;stroke:var(--text-secondary);stroke-width:1px;vector-effect:non-scaling-stroke;opacity:0}.wb .run-ghost-note{opacity:0;transition:opacity var(--duration-slow) var(--ease-out-soft)}.wb .scene[data-scene=run].is-powered .run-flow path{animation:wb-flow var(--duration-pulse) var(--ease-standard) infinite}.wb .scene[data-scene=run].is-powered .run-flow path:nth-child(2){animation-delay:calc(var(--stagger-step) * 8)}.wb .scene[data-scene=run].is-powered .run-flow path:nth-child(3){animation-delay:calc(var(--stagger-step) * 16)}.wb .scene[data-scene=run].is-powered .run-bubbles circle{animation:wb-bubble var(--duration-pulse) var(--ease-standard) infinite}.wb .scene[data-scene=run].is-powered .run-bubbles circle:nth-child(2n){animation-delay:calc(var(--stagger-step) * 9)}.wb .scene[data-scene=run].is-powered .run-bubbles circle:nth-child(3n){animation-delay:calc(var(--stagger-step) * 17)}.wb .scene[data-scene=run]:is([data-step="2"],[data-step="3"]) .run-ghost-note{opacity:1}.wb .run-readout,.wb .imgr-readout{display:flex;flex-wrap:wrap;gap:var(--space-xs) var(--space-xl);margin-top:var(--space-xs)}.wb .run-readout p,.wb .imgr-readout p{display:flex;align-items:baseline;gap:var(--space-2xs);margin:0}.wb .run-readout__k{color:var(--text-muted);font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:.12em}.wb .run-readout b,.wb .imgr-readout b{color:var(--text-primary);font-size:var(--text-xl);font-weight:650}.wb .run-readout .run-ghost-note{align-items:center;gap:var(--space-xs);margin-left:auto;color:var(--text-secondary);font-size:var(--text-xs)}.wb .ghost-key{width:1.4rem;height:.55rem;border:1.25px dashed var(--band-ink);border-radius:2px;background:var(--band-wash)}.wb .run-readout__u{color:var(--text-secondary);font-size:var(--text-sm)}.wb .mw-pt{fill:var(--marker-ink)}.wb .mw-pt.is-ref{fill:var(--marker-ref)}.wb .mw-pt-lab{fill:var(--text-secondary);font-family:var(--font-mono);font-size:11px}.wb .mw-guide{opacity:0;transition:opacity var(--duration-slow) var(--ease-out-soft)}.wb .mw-guide path{fill:none;stroke:var(--ok-ink);stroke-width:1.25px;stroke-dasharray:4 4;vector-effect:non-scaling-stroke}.wb .mw-guide circle{fill:var(--ok-ink)}.wb .scene[data-scene=mw]:is([data-step="1"],[data-step="2"]) .fit{stroke-dashoffset:0;opacity:1}.wb .scene[data-scene=mw][data-step="2"] .mw-guide{opacity:1}.wb .fork{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-md);max-width:54rem;margin:var(--space-md) auto var(--space-xl)}.wb .fork__card{padding:var(--space-lg);border:1px solid var(--border);border-radius:var(--radius-region)}.wb .fork__card--here{border-color:var(--accent);box-shadow:var(--shadow-whisper)}.wb .fork__k{margin:0 0 var(--space-xs);font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:.14em;color:var(--bio-cyan)}.wb .fork__card p:last-child{margin:0;font-size:var(--text-sm)}.wb .fig--3d{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--space-sm)}.wb .stack3d-stage{position:relative;display:grid;place-items:center;min-height:0;container-type:size;perspective:1500px}.wb .stack3d{--gap: 34px;--tilt: calc(-34deg + var(--p) * 18deg);position:relative;width:min(64cqw,92cqh,340px);aspect-ratio:3 / 2;transform-style:preserve-3d;transform:translateY(14%) rotateX(58deg) rotate(var(--tilt))}.wb .scene[data-scene=transfer].is-closed .stack3d{--gap: 12px}.wb .slab{--z: 0;position:absolute;inset:0;border-radius:6px;opacity:0;transform:translateZ(calc(var(--z) * var(--gap) + 160px));transition:transform var(--duration-slower) var(--ease-out-expo),opacity var(--duration-slow) var(--ease-out-soft),box-shadow var(--duration-slow) var(--ease-out-soft)}.wb .slab.is-on{opacity:1;transform:translateZ(calc(var(--z) * var(--gap)))}.wb .slab.is-new{box-shadow:0 0 0 2px var(--accent),var(--panel-shadow)}.wb .scene[data-scene=transfer]:is([data-step="1"],[data-step="2"]) .slab--membrane{opacity:.92;transform:translate3d(74%,-46%,calc(4 * var(--gap) + 40px))}.wb .scene[data-scene=transfer][data-step="5"] .stack3d{--gap: 24px}.wb .scene[data-scene=transfer][data-step="5"] :is(.slab--paper-top,.slab--sponge-top,.slab--cassette-pos){opacity:.14}.wb .slab[data-z="0"]{--z: 0}.wb .slab[data-z="1"]{--z: 1}.wb .slab[data-z="2"]{--z: 2}.wb .slab[data-z="3"]{--z: 3}.wb .slab[data-z="4"]{--z: 4}.wb .slab[data-z="5"]{--z: 5}.wb .slab[data-z="6"]{--z: 6}.wb .slab[data-z="7"]{--z: 7}.wb .slab__name{position:absolute;left:6%;bottom:6%;font-family:var(--font-mono);font-size:11px;letter-spacing:.12em;color:var(--text-secondary)}.wb .slab--cassette-neg,.wb .slab--cassette-pos{background:radial-gradient(circle,var(--bg-primary) 0 2.2px,transparent 2.8px) 0 0 / 16px 16px,var(--neg-ink)}.wb .slab--cassette-pos{background:radial-gradient(circle,var(--bg-primary) 0 2.2px,transparent 2.8px) 0 0 / 16px 16px,var(--pos-ink)}.wb .slab--cassette-neg .slab__name,.wb .slab--cassette-pos .slab__name{padding:2px 6px;border-radius:4px;background:var(--bg-card-solid);color:var(--text-primary)}.wb .slab--sponge{inset:3%;background:radial-gradient(circle,color-mix(in oklch,var(--text-primary) 30%,transparent) 0 1.4px,transparent 1.8px) 0 0 / 7px 7px,color-mix(in oklch,var(--text-muted) 34%,var(--bg-card-solid))}.wb .slab--paper{inset:7%;border:1px solid var(--border-strong);background:repeating-linear-gradient(0deg,color-mix(in oklch,var(--text-muted) 12%,transparent) 0 1px,transparent 1px 6px),var(--bg-card-solid)}.wb .slab--gel,.wb .slab--travel,.wb .slab--membrane{inset:11% 13%}.wb .slab--gel{border:1px solid color-mix(in oklch,var(--accent) 55%,transparent);background:color-mix(in srgb,var(--accent) 20%,var(--bg-card-solid))}.wb .slab--membrane{border:1px solid var(--border-strong);background:var(--bg-card-solid)}.wb .slab--travel{pointer-events:none}.wb .slab__corner{position:absolute;top:-1px;right:-1px;width:12%;aspect-ratio:1;background:linear-gradient(225deg,var(--bg-primary) 0 50%,transparent 50%)}.wb .sb,.wb .mb{position:absolute;height:4.5%;border-radius:999px}.wb .sb{background:var(--band-ink);opacity:.6;transition:opacity var(--duration-slow) var(--ease-out-soft)}.wb .mb{background:var(--film-ink);opacity:0;transition:opacity var(--duration-slow) var(--ease-out-soft),background-color var(--duration-slow) var(--ease-out-soft)}.wb :is(.sb,.mb)[class*=--m]{left:6%;width:18%;background:var(--marker-ink)}.wb :is(.sb,.mb)[class*=--l1]{left:30%;width:18%}.wb :is(.sb,.mb)[class*=--l2]{left:54%;width:18%}.wb :is(.sb,.mb)[class*=--l3]{left:78%;width:18%}.wb :is(.sb,.mb)[class*=--m1]{top:14%}.wb :is(.sb,.mb)[class*=--m2]{top:32%;background:var(--marker-ref)}.wb :is(.sb,.mb)[class*=--m3]{top:52%}.wb :is(.sb,.mb)[class*=--m4]{top:76%;background:var(--marker-ref)}.wb :is(.sb,.mb)[class$=a]{top:24%}.wb :is(.sb,.mb)[class$=b]{top:42%;height:6%}.wb :is(.sb,.mb)[class$=c]{top:62%}.wb .slab--travel .sb{opacity:0}.wb .field3d,.wb .bubble3d{position:absolute;inset:11% 13%;pointer-events:none;transform-style:preserve-3d}.wb .field3d i{position:absolute;inset:0;border:1.5px solid color-mix(in oklch,var(--accent) 70%,transparent);border-radius:6px;opacity:0}.wb .bubble3d{transform:translateZ(calc(4 * var(--gap) + 3px))}.wb .bubble3d i{position:absolute;width:9%;aspect-ratio:1;border:1.5px solid var(--text-secondary);border-radius:50%;background:color-mix(in oklch,var(--bg-card-solid) 70%,transparent);opacity:0;transition:opacity var(--duration-slow) var(--ease-out-soft)}.wb .bubble3d i:nth-child(1){left:30%;top:30%}.wb .bubble3d i:nth-child(2){left:58%;top:56%;width:6%}.wb .bubble3d i:nth-child(3){left:72%;top:22%;width:7%}.wb .scene[data-scene=transfer][data-step="3"] .bubble3d i{opacity:clamp(0,calc(1 - var(--sp) * 1.6),1);transition:none}.wb .scene[data-scene=transfer][data-step="5"] .field3d i{animation:wb-sweep var(--duration-pulse) var(--ease-standard) infinite}.wb .scene[data-scene=transfer][data-step="5"] .field3d i:nth-child(2){animation-delay:calc(var(--stagger-step) * 7)}.wb .scene[data-scene=transfer][data-step="5"] .field3d i:nth-child(3){animation-delay:calc(var(--stagger-step) * 14)}.wb .scene[data-scene=transfer][data-step="5"] .field3d i:nth-child(4){animation-delay:calc(var(--stagger-step) * 21)}.wb .scene[data-scene=transfer][data-step="5"] .field3d i:nth-child(5){animation-delay:calc(var(--stagger-step) * 28)}.wb .scene[data-scene=transfer][data-step="5"] .slab--travel{opacity:1;transform:translateZ(calc((3 + var(--sp)) * var(--gap) + 1px));transition:none}.wb .scene[data-scene=transfer][data-step="5"] .slab--travel .sb{opacity:calc(sin(var(--sp) * 3.14159)*.9);transition:none}.wb .scene[data-scene=transfer][data-step="5"] .slab--gel .sb{opacity:calc(.6 - var(--sp) * .5);transition:none}.wb .scene[data-scene=transfer][data-step="5"] .slab--membrane .mb{opacity:calc(var(--sp) * .85);transition:none}.wb .scene[data-scene=transfer][data-step="5"] .plate-chip--transfer{opacity:1;transform:none}.wb .scene[data-scene=transfer][data-step="6"] .slab.is-on:not(.slab--membrane){opacity:calc(1 - var(--sp) * .88);transition:none}.wb .scene[data-scene=transfer][data-step="6"] .slab--gel .sb{opacity:.1}.wb .scene[data-scene=transfer][data-step="6"] .slab--membrane{transform:translateZ(calc(4 * var(--gap) + var(--sp) * 110px)) rotate(calc(-1 * var(--tilt) * var(--sp))) rotateX(calc(-58deg * var(--sp))) scale(calc(1 + var(--sp) * .25));transition:none;box-shadow:var(--panel-shadow)}.wb .scene[data-scene=transfer][data-step="6"] .slab--membrane .mb{opacity:.85;background:var(--ponceau)}.wb .scene[data-scene=transfer][data-step="6"] .slab--membrane .mb[class*=--m]{background:var(--marker-ink)}.wb .scene[data-scene=transfer][data-step="6"] .slab--membrane .mb[class*=--m2],.wb .scene[data-scene=transfer][data-step="6"] .slab--membrane .mb[class*=--m4]{background:var(--marker-ref)}.wb .scene[data-scene=transfer][data-step="6"] .slab--membrane{background:color-mix(in oklch,var(--ponceau-soft) 40%,var(--bg-card-solid))}.wb .stack-legend{display:grid;align-content:center;gap:var(--space-2xs);margin:0;padding:0;list-style:none;font-size:var(--text-xs);color:var(--text-muted)}.wb .stack-legend li{display:flex;align-items:center;gap:var(--space-xs);opacity:.35;transition:opacity var(--duration-slow) var(--ease-out-soft),color var(--duration-slow) var(--ease-out-soft)}.wb .stack-legend li.is-on{opacity:1;color:var(--text-secondary)}.wb .stack-legend li.is-new{color:var(--accent)}.wb .stack-legend i{width:.9rem;height:.55rem;border-radius:2px;border:1px solid var(--border-strong)}.wb .stack-legend [data-z="0"] i{background:var(--neg-ink)}.wb .stack-legend [data-z="7"] i{background:var(--pos-ink)}.wb .stack-legend [data-z="1"] i,.wb .stack-legend [data-z="6"] i{background:color-mix(in oklch,var(--text-muted) 34%,var(--bg-card-solid))}.wb .stack-legend [data-z="2"] i,.wb .stack-legend [data-z="5"] i{background:var(--bg-card-solid)}.wb .stack-legend [data-z="3"] i{background:color-mix(in srgb,var(--accent) 20%,var(--bg-card-solid))}.wb .stack-legend [data-z="4"] i{background:var(--bg-card-solid);border-color:var(--accent)}.wb .mem-slab{fill:var(--bg-card-solid)}.wb .mem-hatch{fill:url(#wb-hatch)}.wb .liquid-wave path{fill:none;stroke:color-mix(in oklch,var(--accent) 40%,transparent);stroke-width:1.5px;vector-effect:non-scaling-stroke}.wb .liquid-wave{opacity:0;transition:opacity var(--duration-slow) var(--ease-out-soft)}.wb .blockers circle{fill:var(--wash-ink)}.wb .blockers,.wb .pab,.wb .pab-stray,.wb .mem-lab{opacity:0;transition:opacity var(--duration-slow) var(--ease-out-soft),transform var(--duration-slower) var(--ease-out-soft)}.wb .pab{transform:translateY(-60px)}.wb .pab-stray{transform:translateY(-40px)}.wb .mem-lab--target,.wb .mem-lab--other{opacity:1}.wb .scene[data-scene=primary]:not([data-step="0"]) .blockers{opacity:1}.wb .scene[data-scene=primary][data-step="1"] .blockers circle{opacity:calc(var(--sp) * 3 - (var(--bi, 0) * .12))}.wb .scene[data-scene=primary][data-step="1"] .mem-lab--block{opacity:1}.wb .scene[data-scene=primary]:is([data-step="2"],[data-step="3"]) .pab{opacity:1;transform:none}.wb .scene[data-scene=primary][data-step="2"] .mem-lab--ab{opacity:1}.wb .scene[data-scene=primary]:is([data-step="2"],[data-step="3"]) .mem-lab--other{opacity:.4}.wb .scene[data-scene=primary][data-step="2"] .pab-stray{opacity:.85;transform:none}.wb .scene[data-scene=primary][data-step="3"] .pab-stray{opacity:calc(1 - var(--sp) * 1.4);transform:translate(calc(var(--sp) * 90px),calc(var(--sp) * -200px));transition:none}.wb .scene[data-scene=primary][data-step="3"] .liquid-wave,.wb .scene[data-scene=primary][data-step="3"] .mem-lab--wash{opacity:1}.wb .scene[data-scene=primary][data-step="3"] .liquid-wave path{animation:wb-wave var(--duration-pulse) var(--ease-in-out) infinite alternate}.wb .scene[data-scene=primary][data-step="2"] .mem-targets .ag-target,.wb .scene[data-scene=primary][data-step="3"] .mem-targets .ag-target{fill-opacity:.4}.wb .sec,.wb .glow,.wb .luminol,.wb .precip,.wb .det-lab,.wb .camera{opacity:0;transition:opacity var(--duration-slow) var(--ease-out-soft),transform var(--duration-slower) var(--ease-out-soft)}.wb .det-lab--pri{opacity:1}.wb .sec{transform:translateY(-40px)}.wb .glow__halo{fill:color-mix(in oklch,var(--accent) 34%,transparent);filter:blur(8px)}.wb .glow__rays path{fill:none;stroke:var(--accent);stroke-width:2px;stroke-linecap:round;vector-effect:non-scaling-stroke}.wb .photons circle{fill:var(--accent)}.wb .camera__lens{fill:var(--accent)}.wb .luminol circle{fill:none;stroke:var(--accent);stroke-width:1.25px;vector-effect:non-scaling-stroke}.wb .precip{fill:var(--warning-color);filter:url(#wb-soft)}.wb .meter__fill-svg{fill:var(--accent);transform-box:fill-box;transform-origin:center bottom;transform:scaleY(.04);transition:transform var(--duration-slow) var(--ease-out-soft)}.wb .scene[data-scene=detect] .sec--1,.wb .scene[data-scene=detect]:not([data-step="0"]) .sec{opacity:1;transform:none}.wb .scene[data-scene=detect][data-step="0"] .det-lab--sec{opacity:1}.wb .scene[data-scene=detect][data-step="0"] .meter__fill-svg{transform:scaleY(.2)}.wb .scene[data-scene=detect][data-step="1"] .meter__fill-svg{transform:scaleY(.55)}.wb .scene[data-scene=detect][data-step="2"] .meter__fill-svg{transform:scaleY(1)}.wb .scene[data-scene=detect][data-step="3"] .meter__fill-svg{transform:scaleY(.62);fill:var(--warning-color)}.wb .scene[data-scene=detect][data-step="2"] .glow,.wb .scene[data-scene=detect][data-step="2"] .camera,.wb .scene[data-scene=detect][data-step="2"] .det-lab--ecl{opacity:1}.wb .scene[data-scene=detect][data-step="2"] .luminol{opacity:calc(1 - var(--sp) * 1.5);transform:translateY(calc(var(--sp) * 60px));transition:none}.wb .scene[data-scene=detect][data-step="2"] .glow__halo{animation:wb-glow var(--duration-pulse) var(--ease-in-out) infinite alternate}.wb .scene[data-scene=detect][data-step="2"] .photons circle{animation:wb-photon var(--duration-pulse) var(--ease-standard) infinite}.wb .scene[data-scene=detect][data-step="2"] .photons circle:nth-child(2){animation-delay:calc(var(--stagger-step) * 12)}.wb .scene[data-scene=detect][data-step="2"] .photons circle:nth-child(3){animation-delay:calc(var(--stagger-step) * 24)}.wb .scene[data-scene=detect][data-step="3"] .precip,.wb .scene[data-scene=detect][data-step="3"] .det-lab--tmb{opacity:1}.wb .scene[data-scene=detect][data-step="3"] .precip{opacity:calc(.3 + var(--sp) * .7);transition:none}.wb .imgr__body{fill:var(--bg-card-solid)}.wb .imgr__cone{fill:color-mix(in oklch,var(--warning-color) 16%,transparent);stroke:color-mix(in oklch,var(--warning-color) 40%,transparent);stroke-dasharray:4 4;vector-effect:non-scaling-stroke;opacity:0;transition:opacity var(--duration-slow) var(--ease-out-soft),fill var(--duration-slow) var(--ease-out-soft)}.wb .imgr__tray{fill:var(--wash-ink)}.wb .imgr__mem rect{fill:var(--bg-primary);stroke:var(--plate-line);stroke-width:1px;vector-effect:non-scaling-stroke}.wb .imgr__mem{opacity:0;transform:translate(-140px);transition:opacity var(--duration-slow) var(--ease-out-soft),transform var(--duration-slower) var(--ease-out-expo)}.wb .imgr__led{fill:var(--warning-color);animation:wb-blink var(--duration-pulse) var(--ease-in-out) infinite}.wb .scene[data-scene=imager]:not([data-step="0"]) .imgr__led{fill:var(--success-color);animation:none}.wb .scene[data-scene=imager]:not([data-step="0"]) .imgr__mem{opacity:1;transform:none}.wb .scene[data-scene=imager][data-step="2"] .imgr__cone{opacity:1}.wb .scene[data-scene=imager]:is([data-step="3"],[data-step="4"],[data-step="5"]) .imgr__cone{opacity:.6;fill:color-mix(in oklch,var(--accent) 10%,transparent);stroke:color-mix(in oklch,var(--accent) 40%,transparent)}.wb .screen__frame{fill:var(--bg-card-solid);stroke:var(--plate-line);stroke-width:2px;vector-effect:non-scaling-stroke}.wb .screen__img{fill:var(--screen-dark);transition:fill var(--duration-slow) var(--ease-out-soft)}.wb .scene[data-scene=imager][data-step="2"] .screen__img{fill:color-mix(in oklch,var(--text-muted) 22%,var(--bg-card-solid))}.wb .scene[data-scene=imager]:is([data-step="3"],[data-step="4"],[data-step="5"]) .screen__img{fill:var(--film)}.wb .screen__lanes,.wb .screen__marker,.wb .screen__rowlabs,.wb .screen__pick,.wb .screen__save{opacity:0;transition:opacity var(--duration-slow) var(--ease-out-soft)}.wb .scene[data-scene=imager]:not([data-step="0"]):not([data-step="1"]) .screen__lanes,.wb .scene[data-scene=imager]:not([data-step="0"]):not([data-step="1"]) .screen__marker{opacity:1}.wb .scene[data-scene=imager]:is([data-step="3"],[data-step="4"],[data-step="5"]) .screen__marker{opacity:.45}.wb .scene[data-scene=imager]:is([data-step="3"],[data-step="4"],[data-step="5"]) .screen__rowlabs{opacity:1}.wb .mk{fill:var(--marker-ink)}.wb .mk--ref{fill:var(--marker-ref)}.wb .mk-kda,.wb .screen__rowlabs text{fill:var(--text-secondary);font-family:var(--font-mono);font-size:10px}.wb .screen__rowlabs text{font-size:11px}.wb .ib{fill:var(--film-ink);filter:url(#wb-soft)}.wb .ib-sat{fill:var(--sat-ink)}.wb .screen__pick rect{fill:none;stroke:var(--accent);stroke-width:2.5px;vector-effect:non-scaling-stroke}.wb .screen__save{fill:var(--accent);font-family:var(--font-mono);font-size:12px}.wb .scene[data-scene=imager][data-step="5"] .screen__pick,.wb .scene[data-scene=imager][data-step="5"] .screen__save{opacity:1}.wb .imgr__temp{font-family:var(--font-mono)}.wb .imgr-readout__sat.is-hot b{color:var(--sat-ink)}.wb .q-img{fill:var(--film);stroke:var(--plate-line);stroke-width:1.5px;vector-effect:non-scaling-stroke}.wb .q-band{fill:var(--film-ink);filter:url(#wb-soft)}.wb .q-roi rect{fill:none;stroke:var(--accent);stroke-width:1.75px;stroke-dasharray:1;stroke-dashoffset:1;vector-effect:non-scaling-stroke;opacity:0;transition:stroke-dashoffset var(--duration-slower) var(--ease-out-soft),opacity var(--duration-fast) var(--ease-standard)}.wb .q-roi--a rect{stroke:var(--ok-ink)}.wb .q-rowlab{opacity:0;transition:opacity var(--duration-slow) var(--ease-out-soft)}.wb .scene[data-scene=quant]:not([data-step="0"]) .q-roi--t rect{stroke-dashoffset:0;opacity:1}.wb .scene[data-scene=quant]:is([data-step="4"],[data-step="5"]) .q-roi--a rect{stroke-dashoffset:0;opacity:1}.wb .scene[data-scene=quant]:not([data-step="0"]) .q-rowlab{opacity:1}.wb .q-prof,.wb .q-bars{opacity:0;transition:opacity var(--duration-slow) var(--ease-out-soft)}.wb .scene[data-scene=quant]:is([data-step="2"],[data-step="3"],[data-step="4"]) .q-prof{opacity:1}.wb .scene[data-scene=quant][data-step="5"] .q-bars{opacity:1}.wb .q-curve{fill:none;stroke:var(--plate-line);stroke-width:2px;vector-effect:non-scaling-stroke}.wb .q-curve--a{stroke:var(--ok-ink);stroke-dasharray:4 3;opacity:0;transition:opacity var(--duration-slow) var(--ease-out-soft)}.wb .q-area{fill:color-mix(in oklch,var(--accent) 28%,transparent);opacity:0;transition:opacity var(--duration-slow) var(--ease-out-soft)}.wb .q-base{stroke:var(--accent);stroke-width:1.5px;vector-effect:non-scaling-stroke;opacity:0;transition:opacity var(--duration-slow) var(--ease-out-soft)}.wb .q-val,.wb .q-ratio{font-family:var(--font-mono);font-size:12px;opacity:0;transition:opacity var(--duration-slow) var(--ease-out-soft)}.wb .q-val{fill:var(--accent)}.wb .q-ratio{fill:var(--ok-ink)}.wb .scene[data-scene=quant]:is([data-step="3"],[data-step="4"]) :is(.q-area,.q-base,.q-val){opacity:1}.wb .scene[data-scene=quant][data-step="4"] :is(.q-ratio,.q-curve--a){opacity:1}.wb .q-one{stroke:var(--text-secondary);stroke-width:1px;stroke-dasharray:4 4;vector-effect:non-scaling-stroke}.wb .q-bar{fill:var(--accent);transform-box:fill-box;transform-origin:center bottom;transform:scaleY(0);transition:transform var(--duration-slower) var(--ease-out-expo)}.wb .q-bar--ctrl{fill:color-mix(in srgb,var(--accent) 40%,var(--bg-card-solid))}.wb .scene[data-scene=quant][data-step="5"] .q-bar{transform:scaleY(1)}.wb .q-bar-lab{fill:var(--text-primary);font-family:var(--font-body);font-size:15px;font-weight:650}.wb .q-bar-name{fill:var(--text-secondary);font-size:13px}.wb .gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-md);margin:var(--space-lg) 0 var(--space-2xl)}.wb .tcard{display:flex;flex-direction:column;padding:var(--space-sm) var(--space-sm) var(--space-md);border:1px solid var(--border);border-radius:var(--radius-region);transition:var(--transition-lift)}.wb .tcard:hover{border-color:var(--border-strong);transform:translateY(var(--lift-card));box-shadow:var(--shadow-whisper)}.wb .tcard__blot{width:100%;height:auto;aspect-ratio:200 / 120;margin-bottom:var(--space-sm)}.wb .tcard__stage{margin:0 0 var(--space-3xs);font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:.12em;color:var(--bio-cyan)}.wb .tcard .tcard__title{margin:0 0 var(--space-xs);font-size:var(--text-lg)}.wb .tcard p{margin:0 0 var(--space-xs);font-size:var(--text-sm)}.wb .tcard b{color:var(--text-primary);font-weight:600}.wb .tb-bg{fill:var(--film);stroke:var(--border-strong);stroke-width:1px}.wb .tb-bg--dark{fill:color-mix(in oklch,var(--film-ink) 52%,var(--film))}.wb .tb-marker rect{fill:var(--marker-ink)}.wb .tb-marker .tb-ref{fill:var(--marker-ref)}.wb .tb-band rect{fill:var(--film-ink);filter:url(#wb-soft)}.wb .tb-band--dim rect{opacity:.75}.wb .tb-band--faint rect{opacity:.4}.wb .tb-blot-spots circle{fill:var(--film-ink);opacity:.35;filter:url(#wb-soft)}.wb .tb-hole circle{fill:var(--film)}.wb .tb-curve path{fill:none;stroke:var(--film-ink);stroke-width:7px;stroke-linecap:round;filter:url(#wb-soft);opacity:.85}.wb .tb-smear rect{fill:url(#wb-smear)}.wb .tb-donut rect{fill:var(--film-ink);filter:url(#wb-soft)}.wb .tb-donut-core rect{fill:var(--film);filter:url(#wb-soft)}.wb .q{margin:0;border-bottom:1px solid var(--border)}.wb .q summary{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);padding-block:var(--space-md);cursor:pointer;font-family:var(--font-display);font-size:var(--text-lg);color:var(--text-primary);list-style:none}.wb .q summary::-webkit-details-marker{display:none}.wb .q summary:after{content:"";flex:none;width:.5rem;height:.5rem;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);transition:transform var(--duration-slow) var(--ease-out-soft)}.wb .q[open] summary:after{transform:rotate(-135deg)}.wb .q__a{padding-bottom:var(--space-md)}.wb .q[open] .q__a{--motion-rise-distance: 12px;animation:motion-rise var(--duration-slow) var(--ease-out-soft) both}.wb .take ol{margin:var(--space-lg) 0 0;padding:0;list-style:none;counter-reset:take}.wb .take li{counter-increment:take;margin:0 0 var(--space-lg);font-family:var(--font-display);font-size:var(--text-2xl);line-height:var(--leading-snug);color:var(--text-primary)}.wb .take li:before{content:counter(take);display:block;margin-bottom:var(--space-2xs);font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:.14em;color:var(--bio-cyan)}.wb .end-rule{width:4rem;height:1px;margin:var(--space-2xl) auto var(--space-lg);border:0;background:var(--border-strong)}.wb .reveal{--motion-rise-distance: 16px}html.no-timeline .wb .reveal{opacity:0;transform:translateY(var(--motion-rise-distance));transition:opacity var(--duration-slower) var(--ease-out-soft),transform var(--duration-slower) var(--ease-out-soft)}html.no-timeline .wb .reveal.is-in{opacity:1;transform:none}@media(min-width:1100px){.wb .rail{position:fixed;z-index:40;top:calc(var(--header-h) + var(--space-xl));left:var(--page-gutter);display:flex;flex-direction:column;gap:var(--space-md);width:var(--rail-w)}.wb .shell{width:min(var(--page-max),calc(100% - var(--rail-w) - var(--space-md) - 2 * var(--page-gutter)));margin-left:calc(var(--page-gutter) + var(--rail-w) + var(--space-md));margin-right:auto}.wb .scene{display:grid;grid-template-columns:minmax(0,36%) minmax(0,64%);column-gap:var(--space-xl);align-items:start}.wb .scene__steps{grid-column:1;grid-row:1}.wb .scene__sticky{grid-column:2;grid-row:1;z-index:1;height:var(--panel-h);top:calc(var(--header-h) + (100vh - var(--header-h) - var(--panel-h)) / 2);background:transparent}.wb .step{min-height:88vh;padding-top:0;background:transparent}.wb .plate{padding:var(--space-lg)}}@media(max-width:1099px){.wb .route{grid-template-columns:repeat(4,minmax(0,1fr))}.wb .route li:after{display:none}.wb .gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.wb .tl ol{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:720px){.wb .hero{grid-template-columns:1fr;align-content:center}.wb .hero3d{order:-1;height:34svh}.wb .hero3d__stage{width:min(58vw,15rem)}.wb .scroll-hint{position:static;width:100%}.wb .vignette{float:none;margin:0 auto var(--space-md)}.wb .chain ol,.wb .tl ol,.wb .fork,.wb .calc,.wb .gallery{grid-template-columns:1fr}.wb .route{grid-template-columns:repeat(2,minmax(0,1fr))}.wb .calc__inputs{grid-template-columns:1fr 1fr}.wb .ions__row{grid-template-columns:1fr;gap:var(--space-2xs)}.wb .chain__track,.wb .tl__track{top:0;bottom:0;left:.2rem;right:auto;width:1px;height:auto}.wb .chain ol,.wb .tl ol{padding:0 0 0 var(--space-lg)}.wb .chain li:before,.wb .tl li:before{top:.35rem;left:calc(-1 * var(--space-lg) + .05rem)}.wb .chain__line,.wb .tl__line{transform-origin:top center}.wb .fig--3d{grid-template-columns:1fr;grid-template-rows:minmax(0,1fr) auto}.wb .stack-legend{display:flex;flex-wrap:wrap;gap:var(--space-3xs) var(--space-sm)}.wb .stack-legend li:not(.is-on){display:none}.wb .meters{grid-template-columns:1fr;gap:var(--space-3xs)}.wb .take li{font-size:var(--text-xl)}}@supports (animation-timeline: view()){.wb .reveal{animation:motion-rise both;animation-timeline:view();animation-range:entry 0% cover 28%}.wb .progress__bar{animation:wb-progress both;animation-timeline:scroll(root)}.wb .chain__line,.wb .tl__line{animation:wb-spine-x both;animation-timeline:view();animation-range:entry 12% cover 70%}.wb .route li{--motion-rise-distance: 12px;animation:motion-rise both;animation-timeline:view()}.wb .route li:nth-child(1){animation-range:entry 0% cover 22%}.wb .route li:nth-child(2){animation-range:entry 4% cover 26%}.wb .route li:nth-child(3){animation-range:entry 8% cover 30%}.wb .route li:nth-child(4){animation-range:entry 12% cover 34%}.wb .route li:nth-child(5){animation-range:entry 16% cover 38%}.wb .route li:nth-child(6){animation-range:entry 20% cover 42%}.wb .route li:nth-child(7){animation-range:entry 24% cover 46%}.wb .tl li{animation:wb-line-on both;animation-timeline:view()}.wb .tl li:nth-child(1){animation-range:cover 14% cover 30%}.wb .tl li:nth-child(2){animation-range:cover 26% cover 42%}.wb .tl li:nth-child(3){animation-range:cover 38% cover 54%}.wb .tl li:nth-child(4){animation-range:cover 50% cover 66%}.wb .tl li:nth-child(5){animation-range:cover 62% cover 78%}.wb .tl li:nth-child(6){animation-range:cover 70% cover 86%}.wb .ions__lane .ion{animation:wb-ion-slide both;animation-timeline:view();animation-range:entry 10% cover 50%}.wb .ions__lane--split .ion--big{animation-name:wb-ion-big}.wb .ions__lane--split .ion--mid{animation-name:wb-ion-mid}.wb .ions__lane--split .ion--small{animation-name:wb-ion-small}.wb .ions__lane--split .ion--fast{animation-name:wb-ion-fast}.wb .take li{animation:motion-rise both;animation-timeline:view()}.wb .take li:nth-child(1){animation-range:entry 0% cover 34%}.wb .take li:nth-child(2){animation-range:entry 14% cover 52%}.wb .take li:nth-child(3){animation-range:entry 28% cover 70%}.wb .gallery .tcard:nth-child(2n){animation-range:entry 6% cover 32%}}@media(max-width:720px){@supports (animation-timeline: view()){.wb .chain__line,.wb .tl__line{animation-name:wb-spine-y}}}@keyframes wb-cue{0%,to{transform:scaleY(.35)}50%{transform:scaleY(1)}}@keyframes wb-float{0%,to{translate:0 0 0}50%{translate:0 0 10px}}@keyframes wb-glow{0%{opacity:.45}to{opacity:1}}@keyframes wb-blink{0%,to{opacity:1}50%{opacity:.3}}@keyframes wb-progress{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes wb-spine-x{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes wb-spine-y{0%{transform:scaleY(0)}to{transform:scaleY(1)}}@keyframes wb-line-on{0%{color:var(--text-muted)}to{color:color-mix(in oklch,var(--text-primary) 80%,var(--text-secondary))}}@keyframes wb-flow{0%{opacity:0;transform:translateY(-14px)}40%{opacity:1}to{opacity:0;transform:translateY(18px)}}@keyframes wb-bubble{0%{opacity:0;transform:translateY(4px)}30%{opacity:1}to{opacity:0;transform:translateY(-14px)}}@keyframes wb-sweep{0%{opacity:0;transform:translateZ(0)}30%{opacity:.9}to{opacity:0;transform:translateZ(calc(7 * var(--gap)))}}@keyframes wb-wave{0%{transform:translate(-18px)}to{transform:translate(18px)}}@keyframes wb-photon{0%{opacity:0;transform:translate(-60px,60px)}30%{opacity:1}to{opacity:0;transform:translate(60px,-60px)}}@keyframes wb-ion-slide{0%{opacity:0;transform:translate(-40px)}to{opacity:1;transform:none}}@keyframes wb-ion-big{0%{opacity:0;transform:translate(120px)}to{opacity:1;transform:none}}@keyframes wb-ion-mid{0%{opacity:0;transform:translate(60px)}to{opacity:1;transform:none}}@keyframes wb-ion-small{0%{opacity:0;transform:translate(0)}to{opacity:1;transform:none}}@keyframes wb-ion-fast{0%{opacity:0;transform:translate(-200px)}to{opacity:1;transform:none}}.wb .calc>*,.wb .calc__field,.wb .calc__list,.wb .calc__list div{min-width:0}.wb .calc__input input{width:100%}.wb .calc__formula{overflow-wrap:anywhere}@media(max-width:720px){.wb .calc{grid-template-columns:minmax(0,1fr);padding:var(--space-md)}.wb .calc__inputs{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.wb .table-wrap{overflow-x:auto}.wb .num-table{min-width:34rem}}.cd{--strand-old: color-mix(in oklch, var(--text-primary) 88%, var(--bg-primary));--strand-new: var(--accent);--rna: color-mix(in oklch, var(--error-color) 78%, var(--bg-primary));--protein: color-mix(in oklch, var(--success-color) 82%, var(--bg-primary));--pair-at: color-mix(in oklch, var(--warning-color) 82%, var(--text-primary));--pair-gc: color-mix(in oklch, var(--accent) 58%, var(--bg-primary));--plate-line: color-mix(in oklch, var(--text-primary) 78%, var(--text-secondary));--hatch: color-mix(in oklch, var(--text-primary) 22%, transparent);--node-hi: color-mix(in oklch, var(--bg-primary) 62%, var(--text-primary));--shape-wash: color-mix(in oklch, var(--text-secondary) 16%, transparent);--header-h: 4.25rem;--rail-w: 11rem;--panel-h: min(78vh, 780px)}[data-theme=dark] .cd{--strand-old: color-mix(in oklch, var(--text-primary) 86%, var(--bg-primary));--strand-new: color-mix(in oklch, var(--accent) 82%, var(--text-primary));--rna: color-mix(in oklch, var(--error-color) 74%, var(--text-primary));--protein: color-mix(in oklch, var(--success-color) 76%, var(--text-primary));--pair-at: color-mix(in oklch, var(--warning-color) 70%, var(--text-primary));--pair-gc: color-mix(in oklch, var(--accent) 62%, var(--text-primary));--plate-line: color-mix(in oklch, var(--text-primary) 70%, var(--text-secondary));--hatch: color-mix(in oklch, var(--text-primary) 28%, transparent);--node-hi: color-mix(in oklch, var(--text-primary) 78%, var(--bg-primary));--shape-wash: color-mix(in oklch, var(--text-secondary) 14%, transparent)}.cd{margin:0;padding-bottom:var(--space-3xl);background:var(--bg-primary);color:var(--text-primary);font-family:var(--font-body);font-size:var(--text-base);line-height:var(--leading-normal);text-rendering:optimizeLegibility}html.is-present{font-size:125%}html.is-present .cd{padding-bottom:45vh}.cd svg{max-width:100%}.cd button,.cd a{-webkit-tap-highlight-color:transparent}.cd :focus-visible{outline:2px solid var(--accent);outline-offset:3px}.cd *::selection{background:var(--accent-bg-medium);color:var(--text-primary)}.cd .shell{width:min(calc(100% - 2 * var(--page-gutter)),var(--page-max));margin-inline:auto;min-width:0}.cd .cd-prose{max-width:68ch;margin-inline:auto;min-width:0}.cd .cd-prose p,.cd .step p,.cd .lede,.cd .tl li,.cd .gloss li,.cd .checks li,.cd .rules li{color:color-mix(in oklch,var(--text-primary) 65%,var(--text-secondary));line-height:var(--leading-relaxed)}.cd .step p{overflow-wrap:anywhere}.cd h1,.cd h2,.cd h3,.cd h4{font-family:var(--font-display);font-weight:500;letter-spacing:-.015em;color:var(--text-primary);line-height:var(--leading-snug)}.cd h1{margin:0 0 var(--space-md);font-size:clamp(2.15rem,4.4vw,3.5rem);font-weight:600;letter-spacing:-.02em;text-wrap:balance}.cd .h1-keep{white-space:nowrap}.cd h2{margin:0 0 var(--space-md);font-size:var(--text-2xl)}.cd h3{margin:var(--space-xl) 0 var(--space-sm);font-size:var(--text-xl)}.cd p{margin:0 0 var(--space-md)}.cd .eyebrow,.cd .kicker{margin:0 0 var(--space-sm);font-family:var(--font-mono);font-size:var(--text-2xs);font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--bio-cyan);line-height:var(--leading-snug)}.cd .idx{margin-right:var(--space-2xs);color:var(--accent)}.cd .num{font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1}.cd .svg-sprite{position:absolute;width:0;height:0;overflow:hidden}.cd-pat-line{stroke:var(--hatch);stroke-width:.8}.cd-pat-dot{fill:var(--hatch)}.cd-arrowhead{fill:var(--plate-line)}.cd .progress{position:fixed;inset:0 0 auto;z-index:80;height:2px;pointer-events:none}.cd .progress__bar{display:block;width:100%;height:100%;background:var(--accent);transform:scaleX(var(--progress, 0));transform-origin:left center}.cd .rail{display:none}.cd .rail a{display:grid;grid-template-columns:1.4rem minmax(0,1fr);gap:var(--space-2xs);color:var(--text-secondary);text-decoration:none;font-size:var(--text-xs);line-height:var(--leading-snug);transition:var(--transition-colors)}.cd .rail a:hover,.cd .rail a[aria-current=true]{color:var(--accent)}.cd .rail__n{font-family:var(--font-display);color:var(--accent)}.cd .present-slot{margin:var(--space-md) 0 0}.cd .present-btn{position:relative;display:inline-grid;place-items:center;min-height:28px;padding:0 var(--space-sm);border:1px solid var(--border);border-radius:var(--radius-control);background:var(--bg-primary);color:var(--text-secondary);font-family:var(--font-body);font-size:var(--text-xs);cursor:pointer;transition:var(--transition-colors)}.cd .present-btn:hover{color:var(--accent);border-color:var(--accent)}.cd .present-btn[aria-pressed=true]{color:var(--on-accent);background:var(--accent);border-color:var(--accent)}.cd .present-btn:after{content:attr(data-tooltip);position:absolute;inset-block-end:calc(100% + var(--space-3xs));inset-inline-start:50%;z-index:5;display:none;padding:var(--space-3xs) var(--space-xs);border:1px solid var(--border);border-radius:var(--radius-control);background:var(--bg-card-solid);box-shadow:var(--shadow-whisper);color:var(--text-primary);font-size:var(--text-xs);white-space:nowrap;pointer-events:none;transform:translate(-50%)}.cd .present-btn:hover:after,.cd .present-btn:focus-visible:after{display:block}.cd .hero{position:relative;display:block;height:230svh;min-height:0;min-width:0}.cd .hero__pin{position:sticky;top:var(--header-h);display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);align-items:center;gap:var(--space-xl);height:calc(100svh - var(--header-h));min-width:0}.cd .hero__copy{max-width:40rem;min-width:0}.cd .lede{max-width:38ch;font-size:var(--text-xl)}.cd .scroll-hint{position:absolute;left:0;bottom:var(--space-lg);display:flex;flex-direction:column;align-items:center;gap:var(--space-xs);width:calc((100% - var(--space-xl)) * 1.1 / 2.1);margin:0;color:var(--text-secondary);font-size:var(--text-sm);text-align:center;opacity:clamp(0,calc(1 - var(--hp, 0) * 12.5),1)}.cd .scroll-hint__line{display:block;width:1px;height:2.75rem;background:var(--text-secondary);transform-origin:top center;animation:cd-cue var(--duration-pulse) var(--ease-in-out) infinite}.cd .hero3d{--hp: 0;--mx: 0;--my: 0;position:relative;display:grid;place-items:center;height:min(80vh,46rem);min-width:0;overflow:hidden}.cd .hx-svg{display:block;width:100%;height:min(80vh,46rem);max-width:100%;overflow:hidden}.cd .hero__captions{display:grid;grid-template-columns:minmax(0,1fr);min-width:0;margin-top:var(--space-md)}.cd .hero__caption{grid-area:1 / 1;display:flex;flex-direction:column;gap:var(--space-3xs);min-width:0;margin:0;color:var(--text-secondary)}.cd .hero__caption--dna{opacity:var(--hero-caption-1, 0)}.cd .hero__caption--rna{opacity:var(--hero-caption-2, 0)}.cd .hero__caption--protein{opacity:var(--hero-caption-3, 0)}.cd .hero__caption-mark{font-family:var(--font-mono);font-size:var(--text-2xs);font-weight:500;letter-spacing:.14em;line-height:var(--leading-snug)}.cd .hero__caption-line{font-family:var(--font-display);font-size:var(--text-lg);line-height:var(--leading-snug);overflow-wrap:anywhere}.cd .hx-backbone{stroke-linecap:round}.cd .hx-backbone--a,.cd .hx-phosphate--a{color:var(--strand-old)}.cd .hx-backbone--b,.cd .hx-phosphate--b{color:var(--strand-new)}.cd .hx-phosphate{fill:var(--bg-primary);stroke-width:1.2}.cd .hx-rung{fill:none;stroke-linecap:round}.cd .hx-rung--at{color:var(--pair-at)}.cd .hx-rung--gc{color:var(--pair-gc)}.cd .hx-rna-path{fill:none;stroke:var(--rna);stroke-linecap:round;stroke-linejoin:round}.cd .hx-rna{fill:var(--rna)}.cd .hx-protein-path{fill:none;stroke:var(--protein);stroke-linecap:round;stroke-linejoin:round}.cd .hx-protein{fill:var(--protein)}.cd .block,.cd .chapter{min-width:0}.cd .chapter__head{position:relative}.cd .table-wrap{max-width:100%;margin:0 0 var(--space-lg);overflow-x:auto;border:1px solid var(--border);border-radius:var(--radius-container)}.cd table{width:100%;border-collapse:collapse}.cd th,.cd td{padding:var(--space-xs) var(--space-sm);border-bottom:1px solid var(--border);text-align:left;vertical-align:top;font-size:var(--text-sm);overflow-wrap:anywhere}.cd tr:last-child td{border-bottom:0}.cd th{font-family:var(--font-mono);font-size:var(--text-xs);font-weight:500;letter-spacing:.04em;color:var(--text-secondary)}.cd .gloss,.cd .checks,.cd .rules{margin:0 0 var(--space-lg);padding:0;list-style:none}.cd .gloss li,.cd .checks li,.cd .rules li{position:relative;margin:0;padding-block:var(--space-xs);border-bottom:1px solid var(--border)}.cd .gloss strong,.cd .rules strong{color:var(--text-primary);font-weight:600}.cd .checks li{padding-inline-start:var(--space-lg)}.cd .checks li:before{content:"";position:absolute;left:.2rem;top:calc(var(--space-xs) + .45em);width:.7rem;height:.38rem;border-left:1.5px solid var(--accent);border-bottom:1.5px solid var(--accent);transform:rotate(-45deg)}.cd .rules{counter-reset:rule}.cd .rules li{counter-increment:rule;padding-inline-start:var(--space-xl)}.cd .rules li:before{content:counter(rule,decimal-leading-zero);position:absolute;left:0;top:calc(var(--space-xs) + .2em);font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:.1em;color:var(--bio-cyan)}.cd .callout{margin:var(--space-xl) 0;padding:var(--space-md) var(--space-lg);border:1px solid var(--border);border-left:2px solid var(--warning-color);border-radius:var(--radius-container)}.cd .callout strong{color:var(--text-primary)}.cd .callout--small{margin:var(--space-lg) 0;padding:var(--space-sm) var(--space-md);font-size:var(--text-sm)}.cd .note{font-size:var(--text-sm);color:var(--text-secondary)}.cd .tool-cta{margin:var(--space-lg) 0;font-family:var(--font-display);font-size:var(--text-lg);line-height:var(--leading-snug)}.cd .tool-cta--soft{font-size:var(--text-base)}.cd .tool-cta a{color:var(--accent);text-decoration:underline;text-underline-offset:.18em;transition:var(--transition-colors)}.cd .tool-cta a:hover{color:var(--text-primary)}.cd .vignette{float:right;width:7.5rem;height:7.5rem;margin-left:var(--space-lg);opacity:.72}.cd .engraving{background-color:var(--engraving-ink);-webkit-mask-image:var(--engraving-src);mask-image:var(--engraving-src);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;-webkit-mask-size:contain;mask-size:contain}.cd .vignette--molecular{--engraving-src: url(/assets/sections/molecular-engraving.webp)}.cd .vignette--flask{--engraving-src: url(/assets/sections/flask-engraving.webp)}.cd .vignette--imaging{--engraving-src: url(/assets/sections/imaging-engraving.webp)}.cd .tl{position:relative;width:100%;max-width:100%;min-width:0;margin:var(--space-xl) 0}.cd .tl ol{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:var(--space-sm);width:100%;max-width:100%;min-width:0;margin:0;padding:var(--space-xl) 0 0;list-style:none}.cd .tl li{position:relative;min-width:0;max-width:100%;line-height:var(--leading-normal);overflow-wrap:anywhere}.cd .tl li:before{content:"";position:absolute;top:calc(-1 * var(--space-xl) + .35rem);left:0;width:.55rem;height:.55rem;border:1px solid var(--border-strong);border-radius:var(--radius-control);background:var(--bg-primary)}.cd .tl__track{position:absolute;top:.45rem;left:0;right:0;height:1px;background:var(--border-strong)}.cd .tl__line{display:block;width:100%;height:100%;background:var(--accent);transform:scaleX(0);transform-origin:left center}.cd .year{display:block;margin-bottom:var(--space-2xs);color:var(--text-primary);font-family:var(--font-display);font-size:var(--text-lg);font-weight:600;font-variant-numeric:tabular-nums}.cd .tl li span{display:block;max-width:100%;font-size:var(--text-sm);line-height:var(--leading-normal);overflow-wrap:anywhere}.cd .route{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:var(--space-xs);margin:var(--space-lg) 0 var(--space-xl);padding:0;list-style:none}.cd .route li{position:relative;min-width:0}.cd .route li:not(:last-child):after{content:"";position:absolute;top:1.35rem;right:calc(-1 * var(--space-xs));width:var(--space-xs);height:1px;background:var(--border-strong)}.cd .route a{display:grid;gap:var(--space-3xs);height:100%;padding:var(--space-sm);border:1px solid var(--border);border-radius:var(--radius-container);color:var(--text-primary);text-decoration:none;transition:var(--transition-lift)}.cd .route a:hover{border-color:var(--accent);transform:translateY(var(--lift-control))}.cd .route__n{display:grid;place-items:center;width:1.6rem;height:1.6rem;border:1px solid var(--accent);border-radius:50%;color:var(--accent);font-family:var(--font-display);font-size:var(--text-sm)}.cd .route strong{font-family:var(--font-display);font-weight:600;font-size:var(--text-base)}.cd .route__t{color:var(--text-secondary);font-size:var(--text-xs)}.cd .scene{--p: 0;--sp: 0;display:block;margin-block:var(--space-lg) var(--space-2xl);min-width:0}.cd .scene__sticky{position:sticky;top:var(--header-h);z-index:5;height:50svh;background:var(--bg-primary)}.cd .scene__steps{min-width:0}.cd .step{position:relative;z-index:1;display:flex;flex-direction:column;justify-content:center;min-height:88vh;padding-top:46svh;background:var(--bg-primary)}html.js .cd .scene .step{opacity:.35;transition:opacity var(--duration-slow) var(--ease-out-soft)}html.js .cd .scene .step.is-active{opacity:1}.cd .step__lead{display:block;margin-bottom:var(--space-sm);color:var(--text-primary);font-family:var(--font-display);font-size:var(--text-xl);font-weight:500;line-height:var(--leading-snug)}.cd .plate{position:relative;display:flex;flex-direction:column;height:100%;min-height:0;padding:var(--space-md);border:1px solid var(--border);border-radius:var(--radius-region);background:var(--bg-primary);box-shadow:var(--shadow-whisper)}.cd .plate__cap{display:flex;justify-content:space-between;gap:var(--space-sm);margin-top:var(--space-xs);font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.14em;color:var(--text-muted)}.cd .fig{position:relative;flex:1 1 auto;min-height:0}.cd .fig>svg{position:absolute;inset:0;display:block;width:100%;height:100%;overflow:hidden;color:var(--plate-line)}.cd .fig{container-type:size;--u: min(.15625cqw, .22727cqh);--lab-size: max(13px, calc(15 * var(--u)));--lab-display: max(13px, calc(30 * var(--u)));--lab-seq: max(13px, calc(18 * var(--u)));--lab-carbon: max(13px, calc(15 * var(--u)))}.cd .fig .lab{font-size:var(--lab-size)}.cd .fig .lab--display{font-size:var(--lab-display)}.cd .fig .lab--seq{font-size:var(--lab-seq)}.cd .fig .lab--tiny{font-size:var(--lab-carbon)}.cd .cd-fig{margin:var(--space-lg) auto;max-width:52rem}.cd .cd-fig svg{display:block;width:100%;height:auto;color:var(--plate-line)}.cd .melt{padding:var(--space-md);border:1px solid var(--border);border-radius:var(--radius-region)}.cd .melt__axes{fill:none;stroke:var(--text-secondary);stroke-width:1.25px;vector-effect:non-scaling-stroke}.cd .melt .melt__tick{font-family:var(--font-body);font-size:18px;font-variant-numeric:tabular-nums;fill:var(--text-secondary)}.cd .melt__guide{fill:none;stroke:var(--text-muted);stroke-width:1px;stroke-dasharray:4 4;vector-effect:non-scaling-stroke}.cd .melt__curve{fill:none;stroke-width:3px;stroke-linecap:round;vector-effect:non-scaling-stroke}.cd .melt__curve--lo,.cd .melt__dot--lo{stroke:var(--plate-line);fill:var(--plate-line)}.cd .melt__curve--hi,.cd .melt__dot--hi{stroke:var(--pair-gc);fill:var(--pair-gc)}.cd .melt__curve--lo,.cd .melt__curve--hi{fill:none}.cd .melt .melt__tm{font-family:var(--font-body);font-size:18px;font-weight:600;font-variant-numeric:tabular-nums}.cd .melt .melt__tm--lo{fill:var(--text-primary)}.cd .melt .melt__tm--hi{fill:var(--pair-gc)}.cd .melt__rise{fill:none;stroke:var(--text-secondary);stroke-width:1.25px;vector-effect:non-scaling-stroke;color:var(--text-secondary)}.cd .melt__head{fill:var(--text-secondary)}.cd .melt figcaption{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-2xs) var(--space-lg);margin-top:var(--space-sm);font-size:var(--text-sm);color:var(--text-secondary)}.cd .melt__key{display:inline-flex;align-items:center;gap:var(--space-xs)}.cd .melt__swatch{width:1.5rem;height:.2rem;border-radius:var(--radius-control);background:var(--plate-line)}.cd .melt__swatch--hi{background:var(--pair-gc)}.cd .melt__src{flex-basis:100%;text-align:center;font-size:var(--text-xs);color:var(--text-muted)}.cd .dogma-box{fill:url(#cd-hatch);stroke:currentColor;stroke-width:1.5px;vector-effect:non-scaling-stroke}.cd .dogma-label-bg{fill:var(--bg-primary);stroke:none}.cd .dogma-arrow{fill:none;stroke:currentColor;stroke-width:1.75px;stroke-linecap:round;vector-effect:non-scaling-stroke}.cd .dogma-arrow--solid{stroke-dasharray:1;stroke-dashoffset:0}.cd .dogma-arrow--dash{stroke-dasharray:5 4;opacity:1}.cd .dogma-head{fill:currentColor;stroke:none}.cd .fig text,.cd .cd-fig text,.cd .lab{font-family:var(--font-body);font-size:15px;fill:var(--text-primary)}.cd .lab--display{font-family:var(--font-display);font-size:20px}.cd .lab--seq{font-family:var(--font-mono);font-size:18px;font-weight:600}.cd .lab--tiny{font-family:var(--font-mono);font-size:13px}.cd .lab--sub{font-size:13px;fill:var(--text-secondary)}.cd .lab--accent{fill:var(--accent)}.cd .leader,.cd .bracket,.cd .ink{fill:none;stroke:var(--text-secondary);stroke-width:1.25px;stroke-linecap:round;vector-effect:non-scaling-stroke}.cd .leader{stroke-width:1px}.cd .ink{stroke:var(--plate-line);stroke-width:1.75px}.cd .nuc-sugar,.cd .nuc-phos{fill:url(#cd-hatch);stroke:currentColor;stroke-width:1.75px;vector-effect:non-scaling-stroke}.cd .nuc-base{fill:url(#cd-dots);stroke:currentColor;stroke-width:1.75px;vector-effect:non-scaling-stroke}.cd .nuc-base.is-at{stroke:var(--pair-at)}.cd .nuc-base.is-gc{stroke:var(--pair-gc)}.cd .nuc-bond{fill:none;stroke:currentColor;stroke-width:1.5px;stroke-linecap:round;vector-effect:non-scaling-stroke}.cd .backbone{fill:none;stroke:var(--strand-old);stroke-width:2.4px;stroke-linecap:round;stroke-linejoin:round}.cd .backbone.is-front{stroke-width:3.5px}.cd .backbone.is-back{stroke-width:1.6px;opacity:.45}.cd .hbond{fill:none;stroke:var(--accent);stroke-width:2px;stroke-linecap:round}.cd .helix-rung{fill:none;stroke-linecap:round;stroke-width:4px}.cd .helix-rung.is-back{stroke-width:2.5px;opacity:.45}.cd .helix-rung.is-at{stroke:var(--pair-at)}.cd .helix-rung.is-gc{stroke:var(--pair-gc)}.cd .calc{display:grid;gap:var(--space-lg);max-width:62rem;margin:var(--space-lg) auto var(--space-xl);padding:var(--space-lg);border:1px solid var(--border);border-radius:var(--radius-region);background:var(--bg-card-solid);box-shadow:var(--shadow-whisper);min-width:0}.cd .calc__inputs{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--space-md);align-content:start;min-width:0}.cd .calc__field{display:grid;gap:var(--space-2xs);min-width:0;font-size:var(--text-sm);color:var(--text-secondary)}.cd .calc__field--wide{grid-column:1 / -1}.cd .calc__input{display:flex;align-items:center;min-width:0;border:1px solid var(--input-border);border-radius:var(--radius-control);background:var(--input-bg);transition:var(--transition-colors)}.cd .calc__input:focus-within,.cd .calc__area:focus-within{border-color:var(--input-focus-border)}.cd .calc__input input,.cd .calc__input select{flex:1 1 auto;width:100%;min-width:0;padding:var(--space-xs) var(--space-sm);border:0;background:transparent;color:var(--text-primary);font-family:var(--font-body);font-size:var(--text-lg);font-variant-numeric:tabular-nums}.cd .calc__input input:focus,.cd .calc__input select:focus,.cd .calc__area textarea:focus{outline:none}.cd .calc__input em{padding-inline-end:var(--space-sm);color:var(--text-muted);font-style:normal;font-size:var(--text-sm)}.cd .calc__area textarea{display:block;width:100%;min-width:0;max-width:100%;box-sizing:border-box;padding:var(--space-xs) var(--space-sm);border:1px solid var(--input-border);border-radius:var(--radius-control);background:var(--input-bg);color:var(--text-primary);font-family:var(--font-mono);font-size:var(--text-sm);line-height:var(--leading-normal);resize:vertical;overflow-wrap:anywhere}.cd .calc__out{display:grid;gap:var(--space-xs);min-width:0}.cd .calc__row{display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--space-2xs) var(--space-xs);margin:0;min-width:0;color:var(--text-secondary);font-size:var(--text-sm)}.cd .calc__row b{color:var(--text-primary);font-size:var(--text-xl);font-weight:650}.cd .calc__k{color:var(--text-secondary)}.cd .mono{font-family:var(--font-mono);overflow-wrap:anywhere;word-break:break-all}.cd .seq-align{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:var(--space-3xs) var(--space-xs);align-items:baseline;min-width:0;margin:0;font-family:var(--font-mono)}.cd .seq-end{color:var(--text-muted);font-size:var(--text-xs)}.cd .seq-bases{min-width:0;color:var(--text-primary);letter-spacing:.06em;overflow-wrap:anywhere;word-break:break-all}.cd .seq-name{grid-column:1 / -1;margin:var(--space-xs) 0 0;color:var(--text-secondary);font-family:var(--font-body);font-size:var(--text-sm)}.cd .gc-bar{height:var(--space-xs);border:1px solid var(--border-strong);border-radius:var(--radius-control);background:var(--shape-wash);overflow:hidden}.cd .gc-bar__fill{display:block;height:100%;width:100%;background:var(--pair-gc);transform:scaleX(var(--gc, 0));transform-origin:left center}.cd .calc__formula{margin:0;color:var(--text-secondary);font-family:var(--font-mono);font-size:var(--text-xs);overflow-wrap:anywhere}.cd .calc__warn{margin:0;padding:var(--space-xs) var(--space-sm);border-left:2px solid var(--warning-color);background:var(--warning-bg);color:var(--text-primary);font-size:var(--text-sm);overflow-wrap:anywhere}.cd .calc__warn[hidden],.cd .calc__formula[hidden],.cd .calc__stats[hidden]{display:none}.cd .chip{display:inline-block;padding:var(--space-3xs) var(--space-xs);border:1px solid var(--border-strong);border-radius:var(--radius-control);color:var(--text-primary);font-size:var(--text-xs);line-height:var(--leading-snug)}.cd .chip[data-tone=ok]{border-color:var(--success-color);background:var(--success-bg)}.cd .chip[data-tone=warn]{border-color:var(--warning-color);background:var(--warning-bg)}.cd .nano-spec{display:block;width:100%;height:150px;max-width:100%;color:var(--plate-line)}.cd .nano-spec .axis{stroke:var(--text-secondary);stroke-width:1.25px}.cd .nano-spec .trace{fill:none;stroke:var(--strand-new);stroke-width:2px;stroke-linejoin:round;stroke-linecap:round}.cd .nano-spec .trace-ref{fill:none;stroke:var(--text-secondary);stroke-width:1.25px;stroke-linejoin:round;stroke-linecap:round;stroke-dasharray:4 3;opacity:.55}.cd .nano-spec .dot{fill:var(--text-primary);stroke:none}.cd .nano-spec text{font-family:var(--font-mono);font-size:13px;fill:var(--text-secondary)}.cd .nano-spec .nano-val{font-size:13px;fill:var(--text-primary)}.cd .q{margin:0;border-bottom:1px solid var(--border)}.cd .q summary{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);padding-block:var(--space-md);cursor:pointer;font-family:var(--font-display);font-size:var(--text-lg);color:var(--text-primary);list-style:none}.cd .q summary::-webkit-details-marker{display:none}.cd .q summary:after{content:"";flex:none;width:.5rem;height:.5rem;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);transition:transform var(--duration-slow) var(--ease-out-soft)}.cd .q[open] summary:after{transform:rotate(-135deg)}.cd .q__a{padding-bottom:var(--space-md)}.cd .q[open] .q__a{--motion-rise-distance: 12px;animation:motion-rise var(--duration-slow) var(--ease-out-soft) both}.cd .take ol{margin:var(--space-lg) 0 0;padding:0;list-style:none;counter-reset:take}.cd .take li{counter-increment:take;margin:0 0 var(--space-lg);font-family:var(--font-display);font-size:var(--text-2xl);line-height:var(--leading-snug);color:var(--text-primary)}.cd .take li:before{content:counter(take);display:block;margin-bottom:var(--space-2xs);font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:.14em;color:var(--bio-cyan)}.cd .end-rule{width:4rem;height:1px;margin:var(--space-2xl) auto var(--space-lg);border:0;background:var(--border-strong)}.cd .reveal{--motion-rise-distance: 16px}html.no-timeline .cd .reveal{opacity:0;transform:translateY(var(--motion-rise-distance));transition:opacity var(--duration-slower) var(--ease-out-soft),transform var(--duration-slower) var(--ease-out-soft)}html.no-timeline .cd .reveal.is-in{opacity:1;transform:none}@media(min-width:1100px){.cd .rail{position:fixed;z-index:40;top:calc(var(--header-h) + var(--space-xl));left:var(--page-gutter);display:flex;flex-direction:column;gap:var(--space-md);width:var(--rail-w)}.cd .shell{width:min(var(--page-max),calc(100% - var(--rail-w) - var(--space-md) - 2 * var(--page-gutter)));margin-left:calc(var(--page-gutter) + var(--rail-w) + var(--space-md));margin-right:auto}.cd .scene{display:grid;grid-template-columns:minmax(0,36%) minmax(0,64%);column-gap:var(--space-xl);align-items:start}.cd .scene__steps{grid-column:1;grid-row:1}.cd .scene__sticky{grid-column:2;grid-row:1;z-index:1;height:var(--panel-h);top:calc(var(--header-h) + (100vh - var(--header-h) - var(--panel-h)) / 2);background:transparent}.cd .step{min-height:88vh;padding-top:0;background:transparent}.cd .plate{padding:var(--space-lg)}}@media(max-width:1099px){.cd .route{grid-template-columns:repeat(4,minmax(0,1fr))}.cd .route li:after{display:none}.cd .tl ol{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(max-width:720px){.cd .scene__sticky{height:min(50svh,84vw)}.cd .hero{height:200svh}.cd .hero__pin{grid-template-columns:minmax(0,1fr);align-content:center;gap:var(--space-md)}.cd .hero3d{order:-1;height:28svh}.cd .hx-svg{height:28svh}.cd .lede{font-size:var(--text-base)}.cd .scroll-hint{left:0;bottom:var(--space-sm);width:100%}.cd h1{display:flex;flex-direction:column}.cd h1 wbr{display:none}.cd .h1-keep{display:block;width:fit-content;max-width:100%;white-space:normal}.cd .vignette{float:none;margin:0 auto var(--space-md)}.cd .tl ol,.cd .calc{grid-template-columns:minmax(0,1fr)}.cd .route{grid-template-columns:repeat(2,minmax(0,1fr))}.cd .calc__inputs{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.cd .tl__track{top:0;bottom:0;left:.2rem;right:auto;width:1px;height:auto}.cd .tl ol{padding:0 0 0 var(--space-lg)}.cd .tl li:before{top:.35rem;left:calc(-1 * var(--space-lg) + .05rem)}.cd .tl__line{transform-origin:top center}.cd .take li{font-size:var(--text-xl)}.cd .lab--display{font-size:16px}}@supports (animation-timeline: view()){.cd .reveal{animation:motion-rise both;animation-timeline:view();animation-range:entry 0% cover 28%}.cd .progress__bar{animation:cd-progress both;animation-timeline:scroll(root)}.cd .tl__line{animation:cd-spine-x both;animation-timeline:view();animation-range:entry 12% cover 70%}.cd .route li{--motion-rise-distance: 12px;animation:motion-rise both;animation-timeline:view()}.cd .route li:nth-child(1){animation-range:entry 0% cover 22%}.cd .route li:nth-child(2){animation-range:entry 4% cover 26%}.cd .route li:nth-child(3){animation-range:entry 8% cover 30%}.cd .route li:nth-child(4){animation-range:entry 12% cover 34%}.cd .route li:nth-child(5){animation-range:entry 16% cover 38%}.cd .route li:nth-child(6){animation-range:entry 20% cover 42%}.cd .route li:nth-child(7){animation-range:entry 24% cover 46%}.cd .route li:nth-child(8){animation-range:entry 28% cover 50%}.cd .tl li{animation:cd-line-on both;animation-timeline:view()}.cd .tl li:nth-child(1){animation-range:cover 10% cover 26%}.cd .tl li:nth-child(2){animation-range:cover 20% cover 36%}.cd .tl li:nth-child(3){animation-range:cover 30% cover 46%}.cd .tl li:nth-child(4){animation-range:cover 40% cover 56%}.cd .tl li:nth-child(5){animation-range:cover 50% cover 66%}.cd .tl li:nth-child(6){animation-range:cover 60% cover 76%}.cd .tl li:nth-child(7){animation-range:cover 70% cover 86%}.cd .dogma-arrow--tx{animation:cd-draw both;animation-timeline:view();animation-range:entry 6% cover 30%}.cd .dogma-arrow--tl{animation:cd-draw both;animation-timeline:view();animation-range:entry 18% cover 42%}.cd .dogma-arrow--rep{animation:cd-draw both;animation-timeline:view();animation-range:entry 28% cover 52%}.cd .dogma-head--solid{opacity:0;animation:cd-fade both;animation-timeline:view();animation-range:entry 24% cover 46%}.cd .dogma-arrow--dash,.cd .dogma-head--dash{opacity:0;animation:cd-fade both;animation-timeline:view();animation-range:entry 46% cover 74%}.cd .take li{animation:motion-rise both;animation-timeline:view()}.cd .take li:nth-child(1){animation-range:entry 0% cover 34%}.cd .take li:nth-child(2){animation-range:entry 14% cover 52%}.cd .take li:nth-child(3){animation-range:entry 28% cover 70%}}@media(max-width:720px){@supports (animation-timeline: view()){.cd .tl__line{animation-name:cd-spine-y}}}@media(max-width:479px){.cd .strand-arrow{display:none}}@keyframes cd-cue{0%,to{transform:scaleY(.35)}50%{transform:scaleY(1)}}@keyframes cd-progress{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes cd-spine-x{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes cd-spine-y{0%{transform:scaleY(0)}to{transform:scaleY(1)}}@keyframes cd-line-on{0%{color:var(--text-muted)}to{color:color-mix(in oklch,var(--text-primary) 80%,var(--text-secondary))}}@keyframes cd-draw{0%{stroke-dashoffset:1}to{stroke-dashoffset:0}}@keyframes cd-fade{0%{opacity:0}to{opacity:1}}@media(prefers-reduced-motion:reduce){.cd .hero{height:auto;min-height:calc(100svh - var(--header-h))}.cd .hero__pin{position:static;top:auto;height:auto;min-height:calc(100svh - var(--header-h))}.cd .hero__captions{display:none}.cd .scroll-hint__line,.cd .dogma-arrow--solid,.cd .dogma-arrow--dash,.cd .dogma-head{animation:none}.cd .dogma-arrow--solid{stroke-dashoffset:0}.cd .dogma-arrow--dash,.cd .dogma-head{opacity:1}}.cd{--b-gel-surface: color-mix(in oklch, var(--text-primary) 82%, var(--bg-primary));--b-gel-ink: var(--bg-primary);--b-gel-hatch: color-mix(in oklch, var(--bg-primary) 44%, var(--text-primary));--b-new-text: color-mix(in oklch, var(--strand-new) 40%, var(--text-primary));--b-rna-text: color-mix(in oklch, var(--rna) 40%, var(--text-primary))}[data-theme=dark] .cd{--b-gel-surface: color-mix(in oklch, var(--text-primary) 24%, var(--bg-primary));--b-gel-ink: var(--text-primary);--b-gel-hatch: color-mix(in oklch, var(--text-primary) 24%, var(--bg-primary));--b-new-text: color-mix(in oklch, var(--strand-new) 40%, var(--text-primary));--b-rna-text: color-mix(in oklch, var(--rna) 40%, var(--text-primary))}.cd .b-label{fill:currentColor;stroke:none;color:var(--text-primary);font-size:var(--lab-size);font-weight:500}.cd .b-label--tiny{font-size:var(--lab-carbon)}.cd .b-label--seq{font-family:var(--font-mono);font-size:var(--lab-seq);font-weight:600}.cd .b-label--rna{color:var(--b-rna-text)}.cd .b-label--new{color:var(--b-new-text)}.cd .b-label--old{color:var(--strand-old)}.cd .b-label--protein{color:var(--text-primary)}.cd .b-old{color:var(--strand-old)}.cd .b-new{color:var(--strand-new)}.cd .b-rna{color:var(--rna)}.cd .b-protein{color:var(--protein)}.cd .b-plate-line{color:var(--plate-line)}.cd .b-strand{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:3}.cd .b-strand--heavy{stroke-width:4.5}.cd .b-fine{fill:none;stroke:currentColor;stroke-width:1.4}.cd .b-leader{fill:none;stroke:var(--text-secondary);stroke-width:1}.cd .b-polymerase{fill:none;stroke:currentColor;stroke-width:2.4}.cd .b-bead{fill:currentColor;stroke:currentColor;stroke-width:1}.cd .b-old-mark{color:var(--strand-old)}.cd .b-new-mark{color:var(--strand-new)}.cd .b-figure{--lab-size: var(--text-sm);--lab-carbon: var(--text-xs);--lab-seq: var(--text-base);--lab-display: var(--text-lg);margin:var(--space-lg) auto;width:min(100%,var(--page-max))}.cd .b-meselson svg,.cd .b-gel svg,.cd .b-strands svg{display:block;width:100%;height:auto;overflow:visible;color:var(--plate-line)}.cd .b-tube-shell{fill:none;stroke:var(--plate-line);stroke-width:2}.cd .b-tube-cap{fill:none;stroke:var(--plate-line);stroke-width:1.4}.cd .b-tube-band{color:var(--text-primary);fill:currentColor}.cd .b-band-wide{opacity:.14}.cd .b-band-soft{opacity:.3}.cd .b-band-core{opacity:.82}.cd .b-duplex-old{color:var(--strand-old)}.cd .b-duplex-new{color:var(--strand-new)}.cd .b-tube{opacity:1;transform:none}.cd .b-pcr-panels{display:grid;flex:1 1 auto;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:var(--space-sm);min-width:0;min-height:0}.cd .b-pcr-illustration{min-width:0;min-height:0}.cd .b-pcr-illustration svg{color:var(--plate-line)}.cd .b-pcr-tube{fill:none;stroke:var(--plate-line);stroke-width:2}.cd .b-pcr-lens,.cd .b-pcr-lens-outline{fill:none;stroke:var(--text-primary);stroke-width:2.2}.cd .b-pcr-lens-outline{stroke:var(--plate-line);stroke-width:2.8}.cd .b-pcr-product,.cd .b-mini-duplex{opacity:1}.cd .b-pcr-readout{display:grid;grid-template-rows:auto minmax(0,1fr) minmax(0,.8fr);gap:var(--space-2xs);min-width:0;min-height:0;color:var(--text-primary)}.cd .b-pcr-values{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-2xs);align-items:center}.cd .b-pcr-values p{display:grid;gap:var(--space-3xs);margin:0;color:var(--text-secondary);font-size:var(--text-sm);line-height:var(--leading-snug)}.cd .b-pcr-values strong{color:var(--text-primary);font-family:var(--font-mono);font-size:var(--text-lg);font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1;white-space:nowrap}.cd .b-pcr-ideal{color:var(--text-secondary);font-size:var(--text-sm);white-space:nowrap}.cd .b-pcr-trace,.cd .b-pcr-amplification{display:block;width:100%;height:100%;min-height:0;color:var(--text-primary)}.cd .b-pcr-trace text,.cd .b-pcr-amplification text{fill:currentColor;stroke:none;font-family:var(--font-mono);font-size:var(--text-sm)}.cd .b-pcr-trace .b-rna,.cd .b-pcr-amplification .b-rna{color:var(--rna)}.cd .b-pcr-trace .b-new,.cd .b-pcr-amplification .b-new{color:var(--strand-new)}.cd .b-pcr-trace .b-axis,.cd .b-pcr-amplification .b-axis{fill:none;stroke:var(--border-strong);stroke-width:1}.cd .b-pcr-trace .b-trace-line,.cd .b-pcr-amplification .b-amplification-line{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:3}.cd .b-pcr-amplification .b-amplification-line{color:var(--strand-new)}.cd .b-pcr-amplification .b-amplification-ghost{fill:none;stroke:var(--text-secondary);stroke-dasharray:4 5;stroke-linecap:round;stroke-linejoin:round;stroke-width:2;opacity:.45}.cd .b-pcr-temperature-dot{color:var(--strand-new);fill:currentColor;stroke:var(--bg-primary);stroke-width:1.5}.cd .b-pcr-amplification .b-phase-label{fill:var(--text-primary);font-family:var(--font-body);font-size:var(--text-sm);font-weight:500}.cd .b-chip{fill:var(--bg-primary);stroke:var(--border-strong);stroke-width:1.4}.cd .b-chip-text{fill:var(--text-primary);stroke:none;font-family:var(--font-mono);font-size:var(--text-sm);font-weight:600}.cd .b-gel-surface{color:var(--b-gel-surface)}.cd .b-gel-surface-shape{fill:currentColor;stroke:var(--plate-line);stroke-width:1.5}.cd .b-gel-hatch{fill:none;stroke:var(--b-gel-hatch);stroke-width:.7;opacity:.42}.cd .b-gel-label{fill:var(--text-primary);stroke:none;font-family:var(--font-mono);font-size:var(--text-sm);font-weight:600}.cd .b-gel-band{fill:var(--b-gel-ink);stroke:none}.cd .b-gel-well{fill:none;stroke:var(--b-gel-ink);stroke-width:2}.cd .b-tx-polymerase-shell{fill:var(--bg-primary);stroke:var(--text-primary);stroke-width:2.4}.cd .b-tx-hatch{fill:none;stroke:var(--b-gel-hatch);stroke-width:1;opacity:.72}.cd .b-tx-paper{fill:var(--bg-primary)}.cd .b-strand-row{opacity:1;transform:none}.cd .b-strand-row-label{fill:var(--text-primary);stroke:none;font-size:var(--lab-size);font-weight:600}.cd .b-strand-char{fill:var(--text-primary);stroke:none;font-family:var(--font-mono);font-size:var(--lab-display);font-weight:600}.cd .b-strand-char--rna{fill:var(--b-rna-text)}.cd .b-strand-char--u{fill:var(--b-rna-text);font-weight:700}.cd .b-highlight{color:color-mix(in oklch,var(--pair-at) 45%,var(--bg-primary));fill:currentColor;opacity:.34}.cd .b-highlight--rna{color:color-mix(in oklch,var(--rna) 45%,var(--bg-primary))}.cd .b-strand-connector{fill:none;stroke:var(--text-secondary);stroke-width:1;opacity:.65}@supports (animation-timeline: view()){.cd .b-tube{animation:b-view-shift both;animation-timeline:view()}.cd .b-tube:nth-of-type(2){animation-range:entry 0% cover 30%}.cd .b-tube:nth-of-type(3){animation-range:entry 10% cover 40%}.cd .b-tube:nth-of-type(4){animation-range:entry 20% cover 50%}.cd .b-gel-band{animation:b-gel-migrate both;animation-timeline:view();animation-range:entry 0% cover 46%}.cd .b-strand-row--coding{animation:b-row-in both;animation-timeline:view();animation-range:entry 0% cover 38%}.cd .b-strand-row--template{animation:b-row-in both;animation-timeline:view();animation-range:entry 10% cover 48%}.cd .b-strand-row--mrna{animation:b-row-in both;animation-timeline:view();animation-range:entry 20% cover 58%}}@media(max-width:720px){.cd .fig .b-primer-label{transform:translate(30px)}.cd .scene[data-scene=pcr] .scene__sticky{height:74svh}.cd .b-pcr-panels{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,.92fr) minmax(0,1.08fr);gap:var(--space-2xs)}.cd .b-pcr-readout{grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr) minmax(0,.8fr);gap:var(--space-3xs)}.cd .b-pcr-values p{gap:0}.cd .b-pcr-trace text,.cd .b-pcr-amplification text{font-size:calc(var(--text-lg) * 1.1)}.cd .b-pcr-amplification .b-phase-label{font-size:calc(var(--text-lg) * 1.1)}.cd .b-chip-text{font-size:var(--text-base)}.cd .scene .fig .b-label:not(.b-label--seq){font-size:calc(var(--text-lg) * 1.5)}.cd .scene .fig .b-label--seq,.cd .scene .fig .b-strand-char{font-size:calc(var(--text-lg) * 1.4)}.cd .b-figure:not(.b-meselson) .b-label{font-size:calc(var(--text-lg) * 1.5)}.cd .b-figure:not(.b-meselson) .b-label--seq{font-size:calc(var(--text-lg) * 1.5)}.cd .b-figure:not(.b-meselson) .b-gel-label{font-size:calc(var(--text-lg) * 1.5)}.cd .b-figure:not(.b-meselson) .b-strand-row-label{font-size:calc(var(--text-lg) * 1.5)}.cd .b-figure:not(.b-meselson) .b-strand-char{font-size:calc(var(--text-lg) * 1.5)}}@media(prefers-reduced-motion:reduce){.cd .b-tube,.cd .b-gel-band,.cd .b-strand-row{animation:none;opacity:1;transform:none}}@keyframes b-view-shift{0%{opacity:.1;transform:translate(calc(-1 * var(--space-lg)))}to{opacity:1;transform:none}}@keyframes b-gel-migrate{0%{opacity:.2;transform:translateY(calc(-1 * var(--space-3xl)))}to{opacity:1;transform:none}}@keyframes b-row-in{0%{opacity:.1;transform:translate(calc(-1 * var(--space-lg)))}to{opacity:1;transform:none}}.cd{--c-base-u: color-mix(in srgb, var(--success-color) 14%, var(--bg-card-solid));--c-base-c: color-mix(in srgb, var(--warning-color) 14%, var(--bg-card-solid));--c-base-a: color-mix(in srgb, var(--error-color) 13%, var(--bg-card-solid));--c-base-g: color-mix(in srgb, var(--accent) 13%, var(--bg-card-solid));--c-hatch: color-mix(in srgb, var(--plate-line) 56%, transparent);--c-aa-fill: color-mix(in srgb, var(--plate-line) 10%, var(--bg-primary));--c-warn-ink: color-mix(in srgb, var(--warning-color) 70%, var(--text-primary));--c-muted-ink: color-mix(in srgb, var(--text-primary) 62%, var(--text-secondary))}[data-theme=dark] .cd{--c-base-u: color-mix(in srgb, var(--success-color) 15%, var(--bg-card-solid));--c-base-c: color-mix(in srgb, var(--warning-color) 15%, var(--bg-card-solid));--c-base-a: color-mix(in srgb, var(--error-color) 14%, var(--bg-card-solid));--c-base-g: color-mix(in srgb, var(--accent) 14%, var(--bg-card-solid));--c-hatch: color-mix(in srgb, var(--plate-line) 62%, transparent);--c-aa-fill: color-mix(in srgb, var(--plate-line) 14%, var(--bg-primary));--c-warn-ink: color-mix(in srgb, var(--warning-color) 63%, var(--text-primary));--c-muted-ink: color-mix(in srgb, var(--text-primary) 66%, var(--text-secondary))}.cd .fig .c-splice-boundary{fill:none;stroke:var(--plate-line);stroke-width:1.5px;stroke-dasharray:7 6;vector-effect:non-scaling-stroke}.cd .fig .c-splice-line{fill:none;stroke:var(--plate-line);stroke-width:2px;vector-effect:non-scaling-stroke}.cd .fig .c-splice-exon{fill:var(--rna);stroke:var(--plate-line);stroke-width:1.4px;vector-effect:non-scaling-stroke}.cd .fig .c-splice-intron{fill:url(#cd-hatch);stroke:var(--plate-line);stroke-width:1.25px;vector-effect:non-scaling-stroke}.cd .fig .c-splice-label,.cd .fig .c-splice-end,.cd .fig .c-splice-zoom-label,.cd .fig .c-splice-nuc-label{fill:var(--text-primary);font-family:var(--font-body);font-size:15px;font-weight:600}.cd .fig .c-splice-leader{fill:none;stroke:var(--text-secondary);stroke-width:1px;vector-effect:non-scaling-stroke}.cd .fig .c-splice-end{font-family:var(--font-mono);font-weight:700}.cd .fig .c-splice-cap{fill:var(--accent);stroke:var(--plate-line);stroke-width:1.25px;vector-effect:non-scaling-stroke}.cd .fig .c-splice-zoom-lens{fill:var(--bg-card-solid);stroke:var(--border-strong);stroke-width:1.25px;vector-effect:non-scaling-stroke}.cd .fig .c-splice-zoom-label{font-family:var(--font-mono);font-size:18px;font-weight:800;text-anchor:middle}.cd .fig .c-splice-blob{fill:var(--protein);stroke:var(--plate-line);stroke-width:1.25px;vector-effect:non-scaling-stroke}.cd .fig .c-splice-lariat-loop,.cd .fig .c-splice-lariat-tail{fill:none;stroke:var(--rna);stroke-width:2.5px;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.cd .fig .c-splice-bracket{fill:none;stroke:var(--text-secondary);stroke-width:1.25px;vector-effect:non-scaling-stroke}.cd .fig .c-splice-zoom-trace{fill:none;stroke:var(--accent);stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.cd .fig .c-splice-tail{fill:none;stroke:var(--rna);stroke-width:5px;stroke-linecap:round;vector-effect:non-scaling-stroke}.cd .fig .c-splice-junction{stroke:var(--accent);stroke-width:2px;vector-effect:non-scaling-stroke}.cd .fig .c-splice-send-arrow{fill:none;stroke:var(--accent);stroke-width:1.75px;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.cd .fig .c-splice-tail-text{fill:var(--text-primary);font-family:var(--font-mono);font-size:16px;font-weight:700}.cd .fig .c-splice-pore{fill:var(--bg-primary);stroke:var(--accent);stroke-width:2px;vector-effect:non-scaling-stroke}.cd .c-alt-fig{max-width:52rem;margin:var(--space-lg) auto}.cd .c-alt-fig svg{display:block;width:100%;height:auto;color:var(--plate-line)}.cd .c-alt-line,.cd .c-alt-arrow{fill:none;stroke:var(--plate-line);stroke-width:1.75px;stroke-linecap:round;vector-effect:non-scaling-stroke}.cd .c-alt-arrow{stroke:var(--accent);stroke-dasharray:1;stroke-dashoffset:1}.cd .c-alt-arrow--skip{stroke:var(--rna)}.cd .c-alt-key{fill:none;stroke:var(--accent);stroke-width:4px;stroke-linecap:round;vector-effect:non-scaling-stroke}.cd .c-alt-key--skip{stroke:var(--rna)}.cd .c-alt-fig.is-in .c-alt-arrow{stroke-dashoffset:0;transition:stroke-dashoffset var(--duration-slow) var(--ease-out-soft)}.cd .c-alt-exon rect,.cd .c-alt-product rect{fill:var(--c-base-g);stroke:var(--plate-line);stroke-width:1.5px;vector-effect:non-scaling-stroke}.cd .c-alt-product rect{fill:var(--c-base-u)}.cd .c-alt-fig text{fill:var(--text-primary);font-family:var(--font-mono);font-size:18px;font-weight:700}.cd .c-alt-fig .c-alt-label{font-family:var(--font-body);font-size:17px}.cd .fig .c-wheel-sector{stroke:var(--plate-line);stroke-width:.9px;vector-effect:non-scaling-stroke}.cd .fig .c-wheel-base--u{fill:var(--c-base-u)}.cd .fig .c-wheel-base--c{fill:var(--c-base-c)}.cd .fig .c-wheel-base--a{fill:var(--c-base-a)}.cd .fig .c-wheel-base--g{fill:var(--c-base-g)}.cd .fig .c-wheel-aa{fill:var(--c-aa-fill);stroke:var(--plate-line);stroke-width:.9px;vector-effect:non-scaling-stroke}.cd .fig .c-wheel-aa--stop{fill:var(--warning-bg)}.cd .fig .c-wheel-base-label,.cd .fig .c-wheel-aa-label,.cd .fig .c-wheel-marker,.cd .fig .c-wheel-center{fill:var(--text-primary);font-family:var(--font-mono);font-size:15px;font-weight:700;text-anchor:middle;dominant-baseline:central}.cd .fig .c-wheel-base-label--third{font-size:11px}.cd .fig .c-wheel-base-label.is-muted{opacity:.56}.cd .fig .c-wheel-base-label.is-path,.cd .fig .c-wheel-base-label.is-focus{font-weight:900}.cd .fig .c-wheel-aa-label{font-family:var(--font-body);font-size:14px}.cd .fig .c-wheel-aa-label.is-focus{font-weight:800;paint-order:stroke;stroke:var(--bg-primary);stroke-width:2px}.cd .fig .c-wheel-center{font-size:13px;fill:var(--text-primary)}.cd .fig .c-wheel-marker{fill:var(--c-warn-ink);font-family:var(--font-body);font-size:14px;paint-order:stroke;stroke:var(--bg-primary);stroke-width:3px;stroke-linejoin:round}.cd .fig .c-wheel-leader{fill:none;stroke:var(--text-secondary);stroke-width:1px;vector-effect:non-scaling-stroke}.cd .fig .c-wheel-sector.is-muted,.cd .fig .c-wheel-aa.is-muted,.cd .fig .c-wheel-aa-label.is-muted{opacity:.56}.cd .fig .c-wheel-sector.is-path,.cd .fig .c-wheel-sector.is-focus,.cd .fig .c-wheel-aa.is-focus,.cd .fig .c-wheel-aa-label.is-focus{stroke:var(--accent);stroke-width:2px}.cd .fig .c-wheel-aa.is-focus{fill:var(--success-bg)}.cd .fig .c-wheel-aa--stop.is-focus{fill:var(--warning-bg)}.cd .fig .c-wheel-sector.is-path.c-wheel-base--u,.cd .fig .c-wheel-sector.is-focus.c-wheel-base--u{fill:var(--success-color)}.cd .fig .c-wheel-sector.is-path.c-wheel-base--c,.cd .fig .c-wheel-sector.is-focus.c-wheel-base--c{fill:var(--warning-color)}.cd .fig .c-wheel-sector.is-path.c-wheel-base--a,.cd .fig .c-wheel-sector.is-focus.c-wheel-base--a{fill:var(--error-color)}.cd .fig .c-wheel-sector.is-path.c-wheel-base--g,.cd .fig .c-wheel-sector.is-focus.c-wheel-base--g{fill:var(--accent)}.cd .fig .c-wheel-sector.is-focus[data-codon=UAA],.cd .fig .c-wheel-sector.is-focus[data-codon=UAG],.cd .fig .c-wheel-sector.is-focus[data-codon=UGA]{fill:var(--warning-bg)}.cd .fig .c-wheel-center-disc{fill:var(--bg-card-solid);stroke:var(--plate-line);stroke-width:1.2px;vector-effect:non-scaling-stroke}.cd .fig .c-wheel-marker[hidden]{display:none}.cd .c-tx,.cd .c-tx__inputs{grid-template-columns:minmax(0,1fr)}.cd .c-tx__frames{min-width:0;margin:0;padding:0;border:0}.cd .c-tx__frames legend{margin-bottom:var(--space-2xs);color:var(--text-primary);font-size:var(--text-sm)}.cd .c-tx__segments{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));min-width:0;border:1px solid var(--border-strong);border-radius:var(--radius-control);overflow:hidden}.cd .c-tx__segments label{position:relative;min-width:0;color:var(--text-primary);font-family:var(--font-mono);font-size:var(--text-sm);text-align:center;cursor:pointer}.cd .c-tx__segments label+label{border-left:1px solid var(--border)}.cd .c-tx__segments input{position:absolute;width:1px;height:1px;opacity:0}.cd .c-tx__segments span{display:block;padding:var(--space-xs) var(--space-2xs);background:var(--bg-primary)}.cd .c-tx__segments input:checked+span{background:var(--accent-bg-medium);color:var(--text-primary);box-shadow:inset 0 -2px var(--accent)}.cd .c-tx__segments input:focus-visible+span{outline:2px solid var(--accent);outline-offset:-2px}.cd .c-tx__actions{display:flex;justify-content:flex-start}.cd .tx-longest{color:var(--text-primary);font-size:var(--text-sm);font-weight:650;text-underline-offset:.2em;text-decoration-color:var(--accent)}.cd .c-tx__stats{color:var(--text-primary);font-variant-numeric:tabular-nums}.cd .c-tx__error{color:var(--text-primary)}.cd .tx-strip{display:flex;gap:var(--space-2xs);max-width:100%;min-width:0;padding:var(--space-sm) var(--space-2xs) var(--space-md);border:1px solid var(--border);border-radius:var(--radius-control);background:var(--bg-primary);overflow-x:auto;overscroll-behavior-inline:contain;scrollbar-color:var(--border-strong) var(--bg-secondary);scrollbar-width:thin;scroll-snap-type:inline proximity}.cd .c-tx-cell{position:relative;display:grid;flex:0 0 auto;grid-template-rows:auto auto;justify-items:center;gap:var(--space-3xs);min-width:3.15rem;padding:var(--space-2xs) var(--space-xs);border:1px solid transparent;border-radius:var(--radius-control);color:var(--text-primary);font-family:var(--font-mono);line-height:var(--leading-snug);scroll-snap-align:center}.cd .c-tx-cell__codon{font-size:var(--text-xs);letter-spacing:.04em}.cd .c-tx-cell__aa{font-size:var(--text-base);font-weight:700}.cd .c-tx-cell--start{border-color:var(--accent);background:var(--accent-bg-soft)}.cd .c-tx-cell--stop{border-color:var(--warning-color);background:var(--warning-bg);color:var(--text-primary)}.cd .c-tx-cell--orf{border-bottom:2px solid var(--accent);border-radius:0}.cd .c-tx-cell--orf-start:before,.cd .c-tx-cell--orf-end:after{position:absolute;bottom:calc(-1 * var(--space-2xs));width:var(--space-2xs);height:var(--space-xs);border-color:var(--accent);border-style:solid;content:""}.cd .c-tx-cell--orf-start:before{left:0;border-width:1px 0 0 1px}.cd .c-tx-cell--orf-end:after{right:0;border-width:1px 1px 0 0}.cd .c-tx__protein-label{margin:0;color:var(--text-primary);font-size:var(--text-sm)}.cd .c-tx__protein{display:block;min-width:0;color:var(--text-primary);font-size:var(--text-sm);line-height:var(--leading-relaxed);overflow-wrap:anywhere;word-break:break-all}.cd .c-mutation-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-md);max-width:72rem;margin:var(--space-lg) auto}.cd .c-mutation{min-width:0;padding:var(--space-md);border:1px solid var(--border);border-radius:var(--radius-region);background:var(--bg-card-solid);box-shadow:var(--shadow-whisper)}.cd .c-mutation__stage{margin:0 0 var(--space-2xs);color:var(--text-primary);font-family:var(--font-mono);font-size:var(--text-xs);font-weight:650}.cd .c-mutation h4{margin:0 0 var(--space-sm);font-size:var(--text-lg)}.cd .c-mutation__figure{display:block;min-width:0;margin:0 0 var(--space-sm)}.cd .c-mutation__figure svg{display:block;width:100%;height:auto;overflow:visible}.cd .c-mutation__cells rect{fill:var(--bg-primary);stroke:var(--border);stroke-width:1px;vector-effect:non-scaling-stroke}.cd .c-mutation__cells .c-mutation__cell--changed,.cd .c-mutation__cells .c-mutation__cell--shifted{fill:var(--warning-bg)}.cd .c-mutation__cells--muted{opacity:.35}.cd .c-mutation__figure text{fill:var(--text-primary);font-family:var(--font-mono);font-size:17px;font-weight:650}.cd .c-mutation__figure .c-mutation__row-label{font-family:var(--font-body);font-size:17px;font-weight:600}.cd .c-tx .calc__field{color:var(--text-primary)}.cd .c-mutation__figure .c-mutation__aa{font-size:18px}.cd .c-mutation__figure .c-mutation__changed-base,.cd .c-mutation__figure .c-mutation__changed-aa,.cd .c-mutation__figure .c-mutation__stop{fill:var(--c-warn-ink);font-weight:800}.cd .c-mutation__figure .c-mutation__codons--muted,.cd .c-mutation__figure .c-mutation__aa--muted{opacity:.35}.cd .c-mutation__figure .c-mutation__codons--shifted text,.cd .c-mutation__figure .c-mutation__aa--shifted text{fill:var(--c-warn-ink)}.cd .c-mutation>p:last-child{margin:0;color:var(--text-secondary);font-size:var(--text-sm);line-height:var(--leading-relaxed)}@supports (animation-timeline: view()){.cd .c-alt-arrow{animation:cd-draw both;animation-timeline:view();animation-range:entry 10% cover 40%}}@media(max-width:720px){.cd .c-alt-fig text,.cd .c-alt-fig .c-alt-label{font-size:22px}.cd .c-mutation-grid{grid-template-columns:minmax(0,1fr)}.cd .fig .c-splice-label,.cd .fig .c-splice-end,.cd .fig .c-splice-zoom-label,.cd .fig .c-splice-nuc-label{font-size:24px}.cd .fig .c-splice-zoom-label,.cd .fig .c-splice-tail-text{font-size:22px}.cd .fig .c-wheel-base-label,.cd .fig .c-wheel-aa-label,.cd .fig .c-wheel-marker{font-size:24px}.cd .fig .c-wheel-base-label--third{font-size:22px}}@media(max-width:479px){.cd .fig .c-wheel-base-label--third{display:none}}@media(prefers-reduced-motion:reduce){.cd .c-alt-arrow{stroke-dashoffset:0;opacity:1;animation:none;transition:none}.cd .tx-strip{scroll-behavior:auto}}.cd{--d-gel-bed: color-mix(in oklch, var(--text-primary) 92%, var(--bg-primary));--d-gel-band: var(--bg-primary);--d-gel-band-soft: color-mix(in oklch, var(--bg-primary) 68%, transparent);--d-rna-band: color-mix(in oklch, var(--protein) 78%, var(--bg-primary));--d-spectrum: color-mix(in oklch, var(--accent) 72%, var(--text-primary))}[data-theme=dark] .cd{--d-gel-bed: color-mix(in oklch, var(--bg-primary) 80%, var(--text-primary));--d-gel-band: color-mix(in oklch, var(--text-primary) 90%, var(--bg-primary));--d-gel-band-soft: color-mix(in oklch, var(--text-primary) 66%, transparent);--d-rna-band: color-mix(in oklch, var(--protein) 76%, var(--text-primary));--d-spectrum: color-mix(in oklch, var(--accent) 76%, var(--text-primary))}.cd .fig .r-label,.cd .fig .f-label{font-family:var(--font-body);font-size:15px;font-weight:600;fill:var(--text-primary)}.cd .fig .r-mono{font-family:var(--font-mono);font-size:15px;font-weight:700;fill:var(--text-primary)}.cd .fig .r-site{font-family:var(--font-mono);font-size:15px;font-weight:800;fill:var(--text-secondary)}.cd .fig .r-bead-text,.cd .fig .f-bead-text{font-family:var(--font-mono);font-size:14px;font-weight:800;fill:var(--text-primary)}.cd .fig .r-chip-text{font-size:14px}.cd .fig .r-wrong-mark{fill:none;stroke:var(--error-color);stroke-width:3px;stroke-linecap:round;vector-effect:non-scaling-stroke}.cd .fig .r-sub{fill:var(--bg-card-solid);stroke:var(--plate-line);stroke-width:1.4px;vector-effect:non-scaling-stroke}.cd .fig .r-hatch{fill:url(#cd-hatch)}.cd .fig .r-slot{fill:color-mix(in oklch,var(--bg-card-solid) 72%,transparent);stroke:var(--plate-line);stroke-width:1px;stroke-dasharray:4 4;vector-effect:non-scaling-stroke}.cd .fig .r-mrna-line{fill:none;stroke:var(--rna);stroke-width:4px;vector-effect:non-scaling-stroke}.cd .fig .r-codon{fill:var(--bg-card-solid);stroke:var(--rna);stroke-width:1.6px;vector-effect:non-scaling-stroke}.cd .fig .r-codon--stop{fill:color-mix(in oklch,var(--rna) 22%,var(--bg-card-solid))}.cd .fig .r-cap{fill:var(--accent);stroke:var(--plate-line);stroke-width:1.2px;vector-effect:non-scaling-stroke}.cd .fig .r-trna-arm{fill:none;stroke:var(--plate-line);stroke-width:3px;stroke-linecap:round;vector-effect:non-scaling-stroke}.cd .fig .r-ac-box{fill:color-mix(in oklch,var(--accent) 16%,var(--bg-card-solid));stroke:var(--accent);stroke-width:1.4px;vector-effect:non-scaling-stroke}.cd .fig .r-bead,.cd .fig .f-bead{fill:color-mix(in oklch,var(--protein) 40%,var(--bg-card-solid));stroke:var(--protein);stroke-width:1.6px;vector-effect:non-scaling-stroke}.cd .fig .r-chain-line,.cd .fig .f-link{fill:none;stroke:var(--protein);stroke-width:3px;stroke-linejoin:round;vector-effect:non-scaling-stroke}.cd .fig .r-spark{fill:color-mix(in oklch,var(--warning-color) 70%,var(--bg-card-solid));stroke:var(--plate-line);stroke-width:1px;vector-effect:non-scaling-stroke}.cd .fig .r-chip{fill:var(--bg-card-solid);stroke:var(--border-strong);stroke-width:1px;vector-effect:non-scaling-stroke}.cd .fig .r-release-shape{fill:color-mix(in oklch,var(--text-secondary) 32%,var(--bg-card-solid));stroke:var(--plate-line);stroke-width:1.4px;vector-effect:non-scaling-stroke}.cd .fig .r-leader,.cd .fig .f-leader,.cd .fig .f-bracket{fill:none;stroke:var(--text-secondary);stroke-width:1px;vector-effect:non-scaling-stroke}.cd .fig .f-rib{fill:color-mix(in oklch,var(--protein) 36%,var(--bg-card-solid));stroke:var(--text-primary);stroke-width:1.5px;stroke-linejoin:round;vector-effect:non-scaling-stroke}.cd .fig .f-rib--back{fill:color-mix(in oklch,var(--protein) 14%,var(--bg-card-solid));stroke:var(--plate-line);stroke-width:1px}.cd .fig .f-rim{fill:none;stroke:var(--plate-line);stroke-width:1px;stroke-dasharray:3 4;vector-effect:non-scaling-stroke}.cd .fig .f-helix,.cd .fig .f-inset-coil{fill:none;stroke:var(--accent);stroke-width:2.5px;stroke-linecap:round;vector-effect:non-scaling-stroke}.cd .fig .f-inset-sheet{fill:color-mix(in oklch,var(--protein) 36%,var(--bg-card-solid));stroke:var(--text-primary);stroke-width:1.2px;stroke-linejoin:round;vector-effect:non-scaling-stroke}.cd .fig .f-chromo-ring{fill:var(--bg-card-solid);stroke:var(--protein);stroke-width:1.4px;vector-effect:non-scaling-stroke}.cd .fig .f-chromo--lit .f-chromo-ring{fill:var(--protein);stroke:var(--text-primary)}.cd .fig .f-halo{fill:var(--protein)}.cd .fig .f-ray-in,.cd .fig .f-ray-out{fill:none;stroke:var(--accent);stroke-width:2.5px;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.cd .fig .f-ray-out{stroke:var(--protein)}.cd .fig .f-sub{stroke-width:1.4px;vector-effect:non-scaling-stroke}.cd .fig .f-sub--a{fill:color-mix(in oklch,var(--accent) 50%,var(--bg-card-solid));stroke:var(--accent)}.cd .fig .f-sub--b{fill:color-mix(in oklch,var(--text-primary) 34%,var(--bg-card-solid));stroke:var(--text-primary)}.cd .fig .f-sub-hi{fill:var(--bg-card-solid);opacity:.35}.cd .fig .f-sub-text{font-family:var(--font-display);font-size:22px;font-weight:700;fill:var(--text-primary)}@media(max-width:720px){.cd .fig .r-label,.cd .fig .f-label,.cd .fig .r-mono,.cd .fig .r-site{font-size:24px}.cd .fig .r-bead-text,.cd .fig .f-bead-text,.cd .fig .r-chip-text{font-size:20px}.cd .fig .f-sub-text{font-size:28px}}.cd .d-layer-flow{display:grid;grid-template-columns:minmax(0,1fr) minmax(4rem,.28fr) minmax(0,1fr) minmax(4rem,.28fr) minmax(0,1fr);align-items:stretch;gap:var(--space-sm);margin:var(--space-lg) 0 var(--space-2xl)}.cd .d-layer-card{position:relative;z-index:1;min-width:0;padding:var(--space-md);border:1px solid var(--border);border-radius:var(--radius-region);background:var(--bg-primary);box-shadow:var(--shadow-whisper)}.cd .d-layer-kicker{margin:0 0 var(--space-xs);color:var(--text-primary);font-family:var(--font-mono);font-size:var(--text-xs);font-weight:700;letter-spacing:.12em}.cd .d-layer-card h4{margin:0 0 var(--space-md);color:var(--text-primary);font-size:var(--text-lg);line-height:var(--leading-snug)}.cd .d-layer-card ul{display:grid;gap:var(--space-xs);margin:0;padding-inline-start:var(--space-md);color:var(--text-primary);font-size:var(--text-sm);line-height:var(--leading-relaxed)}.cd .d-layer-card a{color:var(--accent);text-decoration-color:currentColor;text-underline-offset:.16em}.cd .d-layer-connector{position:relative;display:flex;align-items:center;justify-content:center;min-width:0;color:var(--text-primary);font-family:var(--font-mono);font-size:var(--text-xs);font-weight:700}.cd .d-layer-connector svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible;color:var(--plate-line)}.cd .d-layer-connector path{stroke-dasharray:1;stroke-dashoffset:1;stroke-width:1.5px;vector-effect:non-scaling-stroke}.cd .d-layer-connector span{position:relative;z-index:1;padding:var(--space-2xs);background:var(--bg-primary)}.cd .d-flow-y{display:none}.cd .d-gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-md);margin:var(--space-lg) 0 var(--space-2xl)}.cd .d-tcard{display:flex;min-width:0;flex-direction:column;padding:var(--space-sm) var(--space-sm) var(--space-md);border:1px solid var(--border);border-radius:var(--radius-region);background:var(--bg-primary);transition:border-color var(--duration-fast) var(--ease-standard),box-shadow var(--duration-fast) var(--ease-standard),transform var(--duration-fast) var(--ease-out-soft)}.cd .d-tcard:hover{border-color:var(--border-strong);box-shadow:var(--shadow-whisper);transform:translateY(var(--lift-card))}.cd .d-tcard__figure{width:100%;max-width:none;margin:0 0 var(--space-sm)}.cd .d-tcard__sketch{display:block;width:100%;height:auto;aspect-ratio:220 / 132;color:var(--text-primary)}.cd .d-gel-bed{fill:var(--d-gel-bed);stroke:var(--border-strong);stroke-width:1px}.cd .d-gel-well{fill:color-mix(in oklch,var(--bg-primary) 34%,var(--d-gel-bed));stroke:var(--d-gel-band);stroke-width:1px}.cd .d-gel-lane{fill:none;stroke:color-mix(in oklch,var(--d-gel-band) 26%,transparent);stroke-width:1px}.cd .d-gel-band{fill:var(--d-gel-band)}.cd .d-gel-band--strong,.cd .d-gel-band--rna{fill:var(--d-rna-band)}.cd .d-gel-band--soft{opacity:.68}.cd .d-gel-band--ladder{fill:var(--d-gel-band)}.cd .d-gel-smear{fill:none;stroke:var(--d-gel-band-soft);stroke-width:7px;stroke-linecap:round}.cd .d-gel-label{fill:var(--text-secondary);font-family:var(--font-mono);font-size:10px;font-weight:600}.cd .d-spec-label{fill:var(--text-primary);font-family:var(--font-mono);font-size:9px;font-weight:600}.cd .d-spec-axis{fill:none;stroke:var(--plate-line);stroke-width:1px;vector-effect:non-scaling-stroke}.cd .d-spec-guide{fill:none;stroke:var(--text-secondary);stroke-width:.8px;stroke-dasharray:2 3;opacity:.64;vector-effect:non-scaling-stroke}.cd .d-spec-trace{fill:none;stroke:var(--d-spectrum);stroke-width:2.5px;stroke-linecap:round;vector-effect:non-scaling-stroke}.cd .d-tcard__stage{margin:0 0 var(--space-3xs);color:var(--text-primary);font-family:var(--font-mono);font-size:var(--text-2xs);font-weight:700;letter-spacing:.1em}.cd .d-tcard .d-tcard__title{margin:0 0 var(--space-xs);color:var(--text-primary);font-size:var(--text-lg);line-height:var(--leading-snug)}.cd .d-tcard p:not(.d-tcard__stage){margin:0 0 var(--space-xs);color:var(--text-primary);font-size:var(--text-sm);line-height:var(--leading-relaxed)}.cd .d-tcard p:last-child{margin-bottom:0}.cd .d-tcard b{color:var(--text-primary);font-weight:700}@keyframes d-flow-draw{0%{stroke-dashoffset:1}to{stroke-dashoffset:0}}@keyframes d-card-rise{0%{opacity:0;transform:translateY(var(--motion-rise-distance))}to{opacity:1;transform:none}}@supports (animation-timeline: view()){.cd .d-layer-connector path{animation:d-flow-draw var(--duration-slower) var(--ease-out-soft) both;animation-timeline:view();animation-range:entry 10% cover 70%}.cd .d-tcard{animation:d-card-rise var(--duration-slower) var(--ease-out-soft) both;animation-timeline:view();animation-range:entry 0% cover 30%}}html.no-timeline .cd .d-layer-connector.is-in path{stroke-dashoffset:0;transition:stroke-dashoffset var(--duration-slower) var(--ease-out-soft)}html.no-timeline .cd .d-layer-connector.is-in .d-flow-y path{transition-delay:var(--duration-fast)}@media(max-width:1099px){.cd .d-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:720px){.cd .d-layer-flow{grid-template-columns:minmax(0,1fr);gap:0}.cd .d-layer-card{padding:var(--space-md)}.cd .d-layer-connector{min-height:var(--space-2xl)}.cd .d-flow-x{display:none}.cd .d-flow-y{display:block;width:100%;height:100%}.cd .d-gallery{grid-template-columns:minmax(0,1fr)}}@media(prefers-reduced-motion:reduce){.cd .d-tcard{animation:none;transition:none;transform:none}.cd .d-layer-connector path{animation:none;stroke-dashoffset:0}}
