.content-ad[data-astro-cid-xuhmi26a]{margin:2.4rem auto;padding:.75rem;border:1px solid var(--border);border-radius:var(--radius-region);background:color-mix(in srgb,var(--bg-card) 86%,transparent)}.content-ad__label[data-astro-cid-xuhmi26a]{display:block;margin-bottom:.5rem;font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted);text-align:center}.adsbygoogle[data-astro-cid-xuhmi26a]{min-height:90px}.content-ad__unit[data-astro-cid-xuhmi26a]{display:block}@media(max-width:580px){.content-ad[data-astro-cid-xuhmi26a]{margin:1.8rem auto;padding:.6rem}}.postcta[data-astro-cid-frauxexg]{margin-top:2.5em;padding:1.25em 0 0;border-top:1px solid var(--border)}.postcta-line[data-astro-cid-frauxexg]{color:var(--text-secondary);font-size:var(--text-sm);margin:0;line-height:1.6}.postcta-line[data-astro-cid-frauxexg] a[data-astro-cid-frauxexg]{color:inherit;text-decoration:underline;text-decoration-color:var(--border-strong);text-underline-offset:.16em;transition:var(--transition-colors)}.postcta-line[data-astro-cid-frauxexg] a[data-astro-cid-frauxexg]:hover,.postcta-line[data-astro-cid-frauxexg] a[data-astro-cid-frauxexg]:focus-visible{color:var(--text-primary);text-decoration-color:currentColor}.fig-cards{container-type:inline-size;min-width:0;margin:1.1rem 0 1.5rem;color:var(--text-primary)}.fig-stage{display:flex;flex-direction:column;gap:.65rem;min-width:0;margin:0 0 1.25rem}.fig-stage.is-scroll-stage{position:sticky;top:calc(var(--blog-header-stack) + .75rem);min-height:calc(100dvh - var(--blog-header-stack) - 1.5rem);justify-content:center}.fig-stage.is-scroll-stage.is-fit-scaled>*{zoom:var(--fig-fit-scale, 1)}.fig-intro,.fig-note-list{width:100%;box-sizing:border-box;margin:0;font-size:1rem;line-height:1.55}.fig-intro{color:var(--text-secondary)}.fig-note-list{display:grid;padding:0;list-style:none;color:var(--text-primary)}.fig-note-list>li{grid-area:1 / 1;border-left:2px solid var(--accent);padding:.45rem .55rem;visibility:hidden;opacity:0;transition:opacity var(--duration-moderate) var(--ease-standard),visibility var(--duration-moderate) var(--ease-standard)}.fig-note-list>li.is-current{visibility:visible;opacity:1}.fig-card{container-type:inline-size;min-width:0;margin:0;border:1px solid var(--border);border-radius:var(--radius-container);background:var(--bg-card);padding:.85rem}.fig-track.is-scroll-track{--fig-step-scroll: 40vh;--fig-step-gaps: 0}.fig-track.is-scroll-track[data-steps="2"]{--fig-step-gaps: 1}.fig-track.is-scroll-track[data-steps="3"]{--fig-step-gaps: 2}.fig-track.is-scroll-track[data-steps="4"]{--fig-step-gaps: 3}.fig-track.is-scroll-track[data-steps="5"]{--fig-step-gaps: 4}.fig-track.is-scroll-track[data-steps="6"]{--fig-step-gaps: 5}.fig-track.is-scroll-track[data-steps="7"]{--fig-step-gaps: 6}.fig-track.is-scroll-track[data-steps="8"]{--fig-step-gaps: 7}.fig-track.is-scroll-track:after{content:"";display:block;height:calc(var(--fig-step-scroll) * var(--fig-step-gaps))}.fig-track>.fig-stage{margin:0}.fig-title{margin:0 0 .55rem;color:var(--text-primary);font-family:var(--font-display);font-size:1.12rem;line-height:1.4}.fig-card-body{display:grid;grid-template-columns:minmax(0,1fr);gap:.85rem;align-items:start}.fig-visual{min-width:0;width:100%;max-width:420px;margin-inline:auto}.fig-svg{display:block;width:100%;height:auto;overflow:visible;font-family:var(--font-sans)}.fig-text{fill:var(--chart-text-ink);font-family:var(--font-sans);font-size:12px}.fig-tick-label{fill:var(--chart-muted-ink)}.fig-axis-label{fill:var(--chart-text-ink)}.fig-axis{stroke:var(--chart-axis-ink);stroke-width:1.25}.fig-gridline{stroke:var(--border);stroke-width:1}.fig-tone-accent{--fig-tone: var(--accent);color:var(--accent)}.fig-tone-muted{--fig-tone: var(--chart-muted-ink);color:var(--chart-muted-ink)}.fig-tone-warn{--fig-tone: var(--warning-color);color:var(--warning-color)}.fig-tone-good{--fig-tone: var(--success-color);color:var(--success-color)}.fig-dot{fill:var(--fig-tone, var(--accent));stroke:var(--bg-primary);stroke-width:1}.fig-span-line,.fig-marker-line,.fig-box-line,.fig-whisker,.fig-fence,.fig-vline,.fig-step-arrow,.fig-curve,.fig-arc-line,.fig-flow-arrow,.fig-flow-divider{fill:none;stroke:var(--fig-tone, var(--chart-axis-ink))}.fig-span-line,.fig-marker-line{stroke-width:1.5}.fig-box-line,.fig-whisker{stroke-width:1.8}.fig-fence,.fig-vline,.fig-flow-divider{stroke-dasharray:4 4;stroke-width:1.3}.fig-curve{stroke-width:2.2;stroke-linejoin:round;stroke-linecap:round}.fig-legend-line{fill:none;stroke:var(--fig-tone, var(--chart-axis-ink));stroke-width:2.2;stroke-linecap:round}.fig-dashed{stroke-dasharray:5 4}.fig-step-arrow{stroke-width:1.6}.fig-plot-point{fill:var(--fig-tone, var(--accent));stroke:var(--bg-primary);stroke-width:1}.fig-scatter-point{fill:var(--fig-tone, var(--accent));fill-opacity:.85}.fig-step-label,.fig-curve-label,.fig-scatter-label{font-size:12px}.fig-scatter-label{fill:var(--fig-tone, var(--chart-text-ink))}.fig-arrow-head{fill:var(--fig-tone, var(--accent))}.fig-box-half{fill:var(--accent);fill-opacity:.18;stroke:var(--accent);stroke-width:1.5;transform-box:fill-box}.fig-box-left{transform-origin:100% 50%}.fig-box-right{transform-origin:0 50%}.fig-outlier{fill:var(--bg-primary);stroke:var(--warning-color);stroke-width:2}.fig-frame-label{fill:var(--text-secondary);font-family:var(--font-display);font-size:12px}.fig-bar-slot{opacity:1;transition:opacity var(--duration-moderate) var(--ease-out-soft)}.fig-bar-slot.is-absent{opacity:0;pointer-events:none}.fig-bar-fill{fill:var(--fig-tone, var(--accent));fill-opacity:.2;stroke:var(--fig-tone, var(--accent));stroke-width:1.5;transform-box:fill-box;transform-origin:50% 100%;transition:y var(--duration-slow) var(--ease-out-soft),height var(--duration-slow) var(--ease-out-soft)}.fig-bar-strike{opacity:0;stroke:var(--chart-axis-ink);stroke-width:1.5}.fig-bar-slot[data-dropped=true] .fig-bar-fill{fill-opacity:.08;opacity:.55}.fig-bar-slot[data-dropped=true] .fig-bar-strike{opacity:1}.fig-bar-value,.fig-bar-name{font-size:12px}.fig-baseline-label{display:none;fill:var(--chart-muted-ink);font-size:12px}.fig-bars-svg.is-truncated .fig-baseline-label,.fig-bars-svg.is-truncated .fig-axis-break{display:block}.fig-axis-break{display:none;fill:none;stroke-width:1.5}.fig-frame-tabs{display:flex;flex-wrap:wrap;gap:.35rem;margin:.3rem 0 0}.fig-frame-tab,.fig-control{border:1px solid var(--border);border-radius:var(--radius-control);background:transparent;padding:.3rem .5rem;color:var(--text-secondary);font:inherit;font-size:.82rem;line-height:1.4;cursor:pointer}.fig-frame-tab[aria-selected=true]{border-color:var(--accent);color:var(--accent);background:var(--bg-card)}.fig-token-chip .fig-chip-box{fill:var(--fig-tone, var(--chart-muted-ink));fill-opacity:.12;stroke:var(--fig-tone, var(--chart-muted-ink));stroke-width:1.2}.fig-chip-label{fill:var(--fig-tone, var(--chart-text-ink))}.fig-token-outside{opacity:.35}.fig-window-frame{fill:var(--accent);fill-opacity:.06;stroke:var(--accent);stroke-width:1.2;stroke-dasharray:4 3}.fig-window-outside-label{fill:var(--warning-color)}.fig-arc-line{stroke-linecap:round}.fig-arc-label{fill:var(--accent)}.fig-cursor-box{fill:var(--bg-primary);fill-opacity:.4;stroke:var(--chart-muted-ink);stroke-width:1.2;stroke-dasharray:4 3}.fig-candidate-bar{fill:var(--fig-tone, var(--chart-muted-ink));fill-opacity:.45}.fig-candidate-value{fill:var(--chart-muted-ink)}.fig-candidate-label{fill:var(--fig-tone, var(--chart-text-ink))}.fig-token-chosen .fig-chip-box{fill-opacity:.2}.fig-token-chosen .fig-chip-label{fill:var(--accent)}.fig-chosen-cover{fill:var(--bg-card-solid)}.fig-flow-arrow{stroke-width:1.5}.fig-area{fill:var(--fig-tone, var(--accent));fill-opacity:.22;stroke:none}.fig-tree-connector{fill:none;stroke:var(--fig-tone, var(--accent));stroke-width:1.4}.fig-tree-node .fig-node-label{font-size:13px;font-weight:600}.fig-node-box{fill:var(--bg-card);stroke:var(--fig-tone, var(--border-strong));stroke-width:1.4}.fig-node-label{fill:var(--fig-tone, var(--text-primary));font-size:14px}.fig-node-sub{fill:var(--chart-muted-ink);font-size:12px}.fig-cycle-pulse{fill:var(--bg-card)}.fig-flow-divider{stroke:var(--warning-color)}.fig-grid-cell-border{fill:none;stroke:var(--border);stroke-width:.8}.fig-grid-header-fill{fill:var(--accent);fill-opacity:.06}.fig-grid-heading{fill:var(--chart-text-ink);font-size:13px;font-weight:600}.fig-grid-row-heading{fill:var(--chart-text-ink);font-size:12px;font-weight:600}.fig-grid-cell-text,.fig-grid-highlight-label{fill:var(--fig-tone, var(--chart-muted-ink));font-size:12px}.fig-grid-highlight,.fig-grid-highlight-chip{fill:var(--fig-tone, var(--accent));fill-opacity:.12;stroke:var(--fig-tone, var(--accent));stroke-width:2}.fig-caption{margin:.35rem 0 0;color:var(--text-secondary);font-size:.9rem;line-height:1.55}.fig-steps-panel{min-width:0}.fig-steps-list{display:flex;flex-direction:column;gap:.25rem;margin:0;padding:0;list-style:none}.fig-step-button{display:grid;grid-template-columns:1.65rem minmax(0,1fr);gap:.55rem;width:100%;border:0;border-left:2px solid transparent;background:transparent;padding:.45rem .55rem;color:var(--text-secondary);font:inherit;font-size:.92rem;line-height:1.5;text-align:left;cursor:pointer;transition:color var(--duration-fast) var(--ease-standard),border-color var(--duration-fast) var(--ease-standard),background-color var(--duration-fast) var(--ease-standard)}.fig-step-button.is-current{border-left-color:var(--accent);color:var(--text-primary)}.fig-step-button.is-past{color:var(--text-secondary)}.fig-step-button.is-future{color:var(--text-muted)}.fig-step-number{display:grid;place-items:center;width:1.35rem;height:1.35rem;border:1px solid var(--border);border-radius:50%;color:var(--accent);font-size:.75rem;font-variant-numeric:tabular-nums}.fig-step-button.is-current .fig-step-number{border-color:var(--accent);background:var(--accent);color:var(--text-on-accent, var(--bg-primary))}.fig-controls{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem;margin-top:.7rem}.fig-control{color:var(--accent)}.fig-control:hover,.fig-control:focus-visible,.fig-frame-tab:hover,.fig-frame-tab:focus-visible{border-color:var(--accent)}.fig-control:disabled{opacity:.45;cursor:default}.fig-counter{margin-left:auto;color:var(--text-muted);font-size:.82rem;font-variant-numeric:tabular-nums}.fig-step-live{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.blog-article-content .reveal-pending{opacity:0;transform:translateY(var(--lift-control));transition:opacity var(--duration-moderate) var(--ease-out-soft),transform var(--duration-moderate) var(--ease-out-soft)}.blog-article-content .reveal-pending.is-in{opacity:1;transform:none}.fig-card [data-key]{transform-box:fill-box;transform-origin:center;transition:opacity var(--duration-slow) var(--ease-out-soft),transform var(--duration-slow) var(--ease-out-soft),visibility var(--duration-slow) var(--ease-out-soft)}.fig-card [data-key].is-hidden{opacity:0;transform:translateY(4px);visibility:hidden;pointer-events:none}.fig-card [data-key].is-revealed{opacity:1;transform:translateY(0);visibility:visible}.fig-card [data-key].fig-draw{stroke-dasharray:1;stroke-dashoffset:0;transition:stroke-dashoffset var(--duration-slow) var(--ease-out-soft),opacity var(--duration-slow) var(--ease-out-soft),visibility var(--duration-slow) var(--ease-out-soft)}.fig-card [data-key].is-hidden.fig-draw{stroke-dashoffset:1}.fig-card.motion-disabled [data-key],.fig-card.motion-disabled [data-key].fig-draw{transition:none}@container (min-width: 640px){.fig-card-body{grid-template-columns:minmax(0,420px) minmax(0,1fr);gap:1rem}.fig-visual{margin:0}}@media(min-width:641px)and (max-height:820px){.fig-visual:has(.fig-flow-svg),.fig-visual:has(.fig-tree-svg){max-width:20rem}}@container (max-width: 639px){.fig-steps-list:has(.fig-step-button.is-current) li:has(.fig-step-button:not(.is-current)){display:none}}@media(prefers-reduced-motion:reduce){.fig-note-list{display:block;padding-left:1.6rem;list-style:decimal}.fig-note-list>li{visibility:visible;opacity:1;transition:none}.fig-note-list>li+li{margin-top:.25rem}.fig-card [data-key],.fig-card [data-key].fig-draw{transition:none}.blog-article-content .reveal-pending{opacity:1;transform:none;transition:none}}@media(min-width:1200px){.blog-article-content .fig-stage{width:min(860px,calc(100vw - 420px))}.blog-article-content .fig-card{width:100%}}.fig-tool{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem 1rem;max-width:46rem;box-sizing:border-box;margin:1rem 0 1.5rem;border:1px solid var(--border);border-radius:var(--radius-container);background:var(--bg-card);padding:.75rem .9rem}.fig-tool-hint{flex:1 1 18rem;margin:0;color:var(--text-secondary);font-size:.95rem;line-height:1.55}.fig-tool-label{display:block;margin-bottom:.15rem;color:var(--accent);font-size:.78rem;font-weight:600;letter-spacing:.04em}.fig-tool-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin:0}.blog-article-content .fig-tool-link,.fig-tool-link{display:inline-flex;align-items:center;gap:.35rem;border:1px solid var(--accent);border-radius:var(--radius-control);padding:.4rem .8rem;color:var(--accent);font-size:.9rem;line-height:1.4;text-decoration:none;transition:background-color var(--duration-fast) var(--ease-standard),color var(--duration-fast) var(--ease-standard)}.blog-article-content .fig-tool-link:hover,.blog-article-content .fig-tool-link:focus-visible,.fig-tool-link:hover,.fig-tool-link:focus-visible{background:var(--accent);color:var(--text-on-accent, var(--bg-primary))}.blog-article-content .fig-tool .fig-tool-hint,.blog-article-content .fig-tool .fig-tool-actions{margin:0}.fig-stack-visual{min-width:0;width:100%;color:var(--text-primary)}.fig-stack-layout{display:grid;grid-template-areas:"input scene output" "contrast contrast contrast";grid-template-columns:minmax(min-content,.75fr) minmax(0,2.5fr) minmax(0,1.45fr);align-items:center;gap:.65rem .45rem;min-width:0}.fig-stack-input,.fig-stack-output{position:relative;min-width:0}.fig-stack-input{grid-area:input}.fig-stack-output{grid-area:output}.fig-stack-eyebrow{display:block;margin-bottom:.3rem;color:var(--text-secondary);font-family:var(--font-mono);font-size:var(--text-2xs);line-height:1.35;overflow-wrap:anywhere}.fig-stack-input-tokens{display:flex;flex-direction:column;align-items:flex-start;gap:.25rem}.fig-stack-chip{max-width:100%;border:1px solid var(--border);border-radius:var(--radius-control);background:var(--bg-card-solid);padding:.2rem .3rem;color:var(--text-primary);font-size:var(--text-2xs);line-height:1.35;white-space:nowrap}.fig-stack-scene{--stack-gap: min(calc(var(--fig-progress, 0) * 1rem), calc((1 - var(--fig-progress, 0)) * 3rem));--stack-depth: calc((var(--stack-layer-count) - 1) * (.42rem + var(--stack-gap)));position:relative;grid-area:scene;min-width:0;height:12rem;perspective:43rem;perspective-origin:50% 48%}.fig-stack-scene:before{position:absolute;z-index:1;top:50%;left:-.45rem;width:8%;transform:none;transform-origin:left center;border-top:1px solid var(--border-strong);content:"";opacity:0;pointer-events:none;transition:opacity var(--duration-moderate) var(--ease-standard)}.fig-stack-input.is-revealed~.fig-stack-scene:before{opacity:1}.fig-stack-rig{position:absolute;top:22%;left:5%;width:90%;height:55%;transform:rotateX(58deg) rotate(-24deg) rotateY(calc(var(--fig-progress, 0) * 7deg - 3.5deg));transform-style:preserve-3d}.fig-stack-slab{position:absolute;inset:16% 0 auto;box-sizing:border-box;height:68%;border:1px solid var(--border-strong);border-radius:var(--radius-control);background-color:var(--bg-card-solid);backface-visibility:hidden}.fig-stack-slab:before{position:absolute;inset:0;border-radius:inherit;background-image:repeating-linear-gradient(135deg,transparent 0 .32rem,var(--border) .32rem calc(.32rem + 1px));content:"";opacity:.72}.fig-stack-slab:after{position:absolute;inset:auto 0 -.24rem;height:.24rem;transform:rotateX(-90deg);transform-origin:top;border:1px solid var(--border);background:var(--bg-secondary);content:""}.fig-stack-rig .fig-stack-slab{transform-style:preserve-3d}.fig-card .fig-stack-slab.is-revealed{transform:translateZ(calc(var(--stack-layer-index) * (.42rem + var(--stack-gap))))}.fig-stack-pulse{position:absolute;top:16%;left:0;box-sizing:border-box;width:100%;height:68%;border:2px solid var(--accent);transform-style:preserve-3d}.fig-card .fig-stack-pulse.is-revealed{transform:translateZ(calc(clamp(0,max(calc((var(--fig-progress, 0) - var(--stack-pulse-start, 0)) * var(--stack-pulse-scale, 1)),var(--fig-step-progress, 0)),1) * var(--stack-depth)))}.fig-stack-layer-label{position:absolute;inset:auto 0 0;color:var(--text-secondary);font-family:var(--font-mono);font-size:var(--text-2xs);line-height:1.35;text-align:center}.fig-stack-head{position:relative;margin-bottom:.4rem;border-bottom:1px solid var(--border);padding-bottom:.25rem}.fig-stack-head:after{position:absolute;bottom:-.4rem;left:.5rem;height:.4rem;border-left:1px solid var(--border-strong);content:"";opacity:0;transition:opacity var(--duration-moderate) var(--ease-standard)}.fig-stack-head.is-revealed:after{opacity:1}.fig-stack-head .fig-stack-eyebrow{margin-bottom:.15rem;color:var(--accent);font-family:var(--font-display);font-size:var(--text-sm)}.fig-stack-head-sub{display:block;color:var(--text-secondary);font-size:var(--text-2xs);line-height:1.4;overflow-wrap:anywhere}.fig-stack-options{display:flex;flex-direction:column;gap:.24rem;margin:0;padding:0;list-style:none}.fig-stack-option{display:grid;grid-template-columns:max-content minmax(0,1fr) auto;align-items:center;gap:.2rem .35rem;min-width:0;padding:.12rem 0}.fig-stack-option:has(.fig-stack-stamp){grid-template-columns:auto max-content minmax(0,1fr) auto}.fig-stack-option-label{min-width:max-content;color:var(--text-secondary);font-family:var(--font-mono);font-size:var(--text-2xs);line-height:1.25;white-space:nowrap}.fig-stack-option-value{color:var(--chart-muted-ink);font-family:var(--font-mono);font-size:var(--text-2xs);font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap}.fig-stack-option-track{display:block;box-sizing:border-box;width:100%;height:8px;overflow:hidden;border:1px solid var(--border);border-radius:var(--radius-control);background:var(--bg-secondary)}.fig-stack-option-fill{display:block;width:100%;height:100%;transform:scaleX(var(--stack-probability, 0));transform-origin:left center;background:var(--fig-tone, var(--chart-muted-ink));transition:transform var(--duration-moderate) var(--ease-out-soft),background-color var(--duration-fast) var(--ease-standard)}.fig-stack-option:has(.fig-stack-stamp.is-revealed) .fig-stack-option-fill{background:var(--accent)}.fig-stack-option:has(.fig-stack-stamp.is-revealed) .fig-stack-option-label,.fig-stack-option:has(.fig-stack-stamp.is-revealed) .fig-stack-option-value{color:var(--accent)}.fig-stack-stamp{display:grid;place-items:center;box-sizing:border-box;width:1rem;height:1rem;border:1px solid var(--accent);border-radius:var(--radius-control);background:var(--bg-card-solid);color:var(--accent);font-family:var(--font-mono);font-size:var(--text-2xs);line-height:1}.fig-stack-contrast{position:relative;grid-area:contrast;display:flex;flex-wrap:wrap;align-items:center;gap:.35rem .65rem;min-width:0;border-top:1px solid var(--border);padding-top:.45rem;color:var(--text-muted)}.fig-stack-contrast-label{font-size:var(--text-2xs);line-height:1.35}.fig-stack-contrast-tokens{position:relative;display:inline-flex;flex-wrap:wrap;gap:.2rem;min-width:0}.fig-stack-contrast-token{border-bottom:1px solid var(--border);padding:.08rem .18rem;font-family:var(--font-mono);font-size:var(--text-2xs);line-height:1.3;opacity:0;transition:opacity var(--duration-fast) var(--ease-standard);transition-delay:calc(var(--stack-token-index) * var(--duration-fast))}.fig-stack-contrast.is-revealed .fig-stack-contrast-token{opacity:1}.fig-stack-contrast-tokens:after{position:absolute;inset:50% 0 auto;border-top:1px solid var(--chart-muted-ink);transform:scaleX(var(--fig-step-progress, 0));transform-origin:left center;transition:transform var(--duration-base) var(--ease-standard);transition-delay:calc(var(--stack-token-count) * var(--duration-fast));content:"";pointer-events:none}.fig-card.motion-disabled .fig-stack-rig{transform:rotateX(58deg) rotate(-24deg) rotateY(0)}@media(min-width:641px)and (max-width:960px){.fig-card-body:has(.fig-stack-visual){grid-template-columns:minmax(0,1fr)}.fig-card-body:has(.fig-stack-visual)>.fig-visual{max-width:none}}@media(min-width:961px){.fig-card-body:has(.fig-stack-visual){grid-template-columns:minmax(0,2.1fr) minmax(15rem,1fr)}.fig-card-body:has(.fig-stack-visual)>.fig-visual{max-width:none}.fig-card-body:has(.fig-stack-visual) .fig-stack-scene{height:18.75rem;min-height:18.75rem}}@media(max-width:640px){.fig-visual:has(.fig-stack-visual){max-width:none}.fig-stack-layout{grid-template-areas:"scene" "output";grid-template-columns:minmax(0,1fr);align-items:stretch;gap:.4rem}.fig-stack-input,.fig-stack-contrast{grid-area:scene;z-index:2}.fig-stack-input{align-self:start}.fig-stack-contrast{align-self:end;flex-direction:column;flex-wrap:nowrap;gap:.1rem;border-top:0;padding-top:0}.fig-stack-contrast-label,.fig-stack-contrast-token{white-space:nowrap}.fig-stack-contrast-tokens{flex-wrap:nowrap}.fig-stack-input .fig-stack-eyebrow,.fig-stack-head-sub,.fig-stack-layer-label{display:none}.fig-stack-head{margin-bottom:.25rem}.fig-stack-options{gap:.05rem}.fig-stack-option{padding:.04rem 0}.fig-stack-option-label,.fig-stack-option-value{line-height:1.15}.fig-stack-input-tokens{flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:flex-start}.fig-stack-scene{width:100%;max-width:32rem;height:11rem;margin-inline:auto}.fig-stack-rig{top:40%;left:12%;width:76%;height:34%;transform:rotateX(58deg) rotate(-14deg) rotateY(calc(var(--fig-progress, 0) * 7deg - 3.5deg))}.fig-card.motion-disabled .fig-stack-rig{transform:rotateX(58deg) rotate(-14deg) rotateY(0)}.fig-stack-scene:before{top:1.6rem;left:22%;width:0;height:calc(46% - 1.6rem);transform:none;border-top:0;border-left:1px solid var(--border-strong)}}@media(max-width:380px){.fig-stack-scene{height:10.5rem}.fig-stack-rig{left:8%;width:84%}}@media(max-width:640px)and (max-height:830px){.fig-stack-scene{height:9.5rem}}@media(prefers-reduced-motion:reduce){.fig-stack-scene:before,.fig-stack-head:after{transition:none}}@media(max-width:960px){html:has(body.blog-directory-scroll),body.blog-directory-scroll{height:auto;min-height:100dvh;overflow:visible}body.blog-directory-scroll{display:block}main[data-astro-cid-bvzihdzo]#main-content.blog-main.nslist-main{height:auto;overflow:visible;display:block}.blog-main[data-astro-cid-bvzihdzo] .nslist[data-astro-cid-bvzihdzo]{align-items:start}.blog-main[data-astro-cid-bvzihdzo] .nslist__aside[data-astro-cid-bvzihdzo],.blog-main[data-astro-cid-bvzihdzo] .nslist__scroll[data-astro-cid-bvzihdzo]{height:auto;max-height:none;overflow:visible;min-width:0}}@media(min-width:961px){.blog-main[data-astro-cid-bvzihdzo] .nslist__aside[data-astro-cid-bvzihdzo]{min-width:0;max-height:100%;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-gutter:stable;padding-right:var(--space-2xs)}.blog-main[data-astro-cid-bvzihdzo] .nslist__scroll[data-astro-cid-bvzihdzo]{min-width:0}}.blog-main[data-astro-cid-bvzihdzo] .nslist__scroll[data-astro-cid-bvzihdzo]{padding-right:0}.blog-main[data-astro-cid-bvzihdzo] .nslist__aside[data-astro-cid-bvzihdzo] .filter-bar[data-astro-cid-bvzihdzo]{padding:0;border:0;background:transparent}.blog-main[data-astro-cid-bvzihdzo] .fb-secondary[data-astro-cid-bvzihdzo]>summary[data-astro-cid-bvzihdzo]{cursor:pointer;min-height:44px;padding-block:.65rem;color:var(--text-secondary)}.blog-main[data-astro-cid-bvzihdzo] .fb-secondary-content[data-astro-cid-bvzihdzo]{display:flex;flex-direction:column;gap:1rem}.blog-main[data-astro-cid-bvzihdzo] .fb-tags-dd[data-astro-cid-bvzihdzo] .fb-tags[data-astro-cid-bvzihdzo]{position:static;min-width:0;max-width:100%;max-height:12rem;overflow-y:auto;margin-top:.5rem;box-shadow:none}.blog-main[data-astro-cid-bvzihdzo] .fb-search[data-astro-cid-bvzihdzo]{min-height:44px;box-sizing:border-box}.blog-main[data-astro-cid-bvzihdzo] .fb-count[data-astro-cid-bvzihdzo]{color:var(--text-secondary);line-height:1.7}.blog-main[data-astro-cid-bvzihdzo] .blog-card-body[data-astro-cid-bvzihdzo]{padding:1.5rem;gap:.75rem}.blog-main[data-astro-cid-bvzihdzo] .blog-card-title[data-astro-cid-bvzihdzo]{font-size:clamp(1.15rem,1.7vw,1.4rem);line-height:1.45}.blog-main[data-astro-cid-bvzihdzo] .blog-card-desc[data-astro-cid-bvzihdzo]{display:block;min-height:0;font-size:var(--text-base);line-height:1.7}.blog-main[data-astro-cid-bvzihdzo] .blog-card-meta[data-astro-cid-bvzihdzo]{flex-wrap:wrap;gap:.5rem}.blog-main[data-astro-cid-bvzihdzo] .blog-card-date[data-astro-cid-bvzihdzo],.blog-main[data-astro-cid-bvzihdzo] .blog-card-category[data-astro-cid-bvzihdzo],.blog-main[data-astro-cid-bvzihdzo] .blog-card-tag[data-astro-cid-bvzihdzo],.blog-main[data-astro-cid-bvzihdzo] .blog-card-arrow[data-astro-cid-bvzihdzo]{font-size:max(14px,var(--text-xs))}.blog-main[data-astro-cid-bvzihdzo] .blog-card[data-astro-cid-bvzihdzo]{animation:none}@media(min-width:961px){.blog-main[data-astro-cid-bvzihdzo] .fb-secondary[data-astro-cid-bvzihdzo][data-responsive-ready]>summary[data-astro-cid-bvzihdzo]{display:none}}@media(max-width:960px){.blog-main[data-astro-cid-bvzihdzo] .nslist[data-astro-cid-bvzihdzo]{grid-template-columns:1fr}.blog-main[data-astro-cid-bvzihdzo] .nslist__scroll[data-astro-cid-bvzihdzo] .blog-card-grid[data-astro-cid-bvzihdzo]{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.blog-main[data-astro-cid-bvzihdzo] .nslist__scroll[data-astro-cid-bvzihdzo] .blog-card-grid[data-astro-cid-bvzihdzo]{grid-template-columns:1fr}}.world-switch[data-astro-cid-bvzihdzo],.cat-chips[data-astro-cid-bvzihdzo]{display:flex;gap:.5em;flex-wrap:wrap}.cat-chips[data-astro-cid-bvzihdzo]{margin-top:.5em}.world-chip[data-astro-cid-bvzihdzo],.cat-chip[data-astro-cid-bvzihdzo]{background:var(--bg-primary);border:1px solid var(--border);color:var(--text-secondary);padding:.4em .8em;border-radius:var(--radius-sm);cursor:pointer;font-size:.85em;text-decoration:none;transition:var(--transition-colors)}.world-chip[data-astro-cid-bvzihdzo]:hover,.world-chip[data-astro-cid-bvzihdzo].active,.cat-chip[data-astro-cid-bvzihdzo]:hover,.cat-chip[data-astro-cid-bvzihdzo].active{background:var(--accent);color:var(--bg-primary);border-color:var(--accent)}.blog-card-grid[data-astro-cid-bvzihdzo]{container-type:inline-size;display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:1.5rem;margin-top:0}.blog-card[data-astro-cid-bvzihdzo]{background:var(--bg-card-solid);border:1px solid var(--border);border-radius:var(--radius-container);box-shadow:var(--shadow-whisper);overflow:hidden;transition:var(--transition-lift)}.blog-card[data-astro-cid-bvzihdzo]:hover{transform:translateY(var(--lift-control));border-color:var(--accent);box-shadow:var(--shadow-whisper),var(--shadow-ring)}.blog-card[data-astro-cid-bvzihdzo]:has(>a:focus-visible){outline:2px solid var(--bio-cyan);outline-offset:2px;box-shadow:0 0 0 4px var(--bio-cyan-dim)}.blog-card[data-astro-cid-bvzihdzo]>a[data-astro-cid-bvzihdzo]:focus-visible{outline:none}.blog-card[data-astro-cid-bvzihdzo]>a[data-astro-cid-bvzihdzo]{display:flex;flex-direction:column;height:100%;text-decoration:none;color:inherit}.blog-card-image[data-astro-cid-bvzihdzo]{position:relative;aspect-ratio:16 / 9;overflow:hidden;background:var(--bg-primary)}.blog-card-image[data-astro-cid-bvzihdzo] img[data-astro-cid-bvzihdzo]{width:100%;height:100%;object-fit:cover;transition:transform .3s ease;display:block;position:relative;z-index:1}.blog-card[data-astro-cid-bvzihdzo]:hover .blog-card-image[data-astro-cid-bvzihdzo] img[data-astro-cid-bvzihdzo]{transform:scale(1.04)}.blog-card-image[data-astro-cid-bvzihdzo] .card-svg-bg{inset:0 auto auto 0;width:100%;height:100%;opacity:.04}.blog-card[data-astro-cid-bvzihdzo]:hover .card-svg-bg{opacity:.12;transform:scale(1.05);color:var(--accent-light)}.blog-card-fallback[data-astro-cid-bvzihdzo]{position:relative;z-index:1}.blog-card-image[data-astro-cid-bvzihdzo][data-category=nad-metabolism]{background:var(--cat-bg-nad-metabolism)}.blog-card-image[data-astro-cid-bvzihdzo][data-category=aging-mechanisms]{background:var(--cat-bg-aging-mechanisms)}.blog-card-image[data-astro-cid-bvzihdzo][data-category=brain-health]{background:var(--cat-bg-brain-health)}.blog-card-image[data-astro-cid-bvzihdzo][data-category=health-evidence]{background:var(--cat-bg-health-evidence)}.blog-card-image[data-astro-cid-bvzihdzo][data-category=agent-architecture]{background:var(--cat-bg-agent-architecture)}.blog-card-image[data-astro-cid-bvzihdzo][data-category=hands-on]{background:var(--cat-bg-hands-on)}.blog-card-image[data-astro-cid-bvzihdzo][data-category=tool-reviews]{background:var(--cat-bg-tool-reviews)}.blog-card-image[data-astro-cid-bvzihdzo][data-category=llm-internals]{background:var(--cat-bg-llm-internals)}.blog-card-image[data-astro-cid-bvzihdzo][data-category=ai-security]{background:var(--cat-bg-ai-security)}.blog-card-image[data-astro-cid-bvzihdzo][data-category=industry-signal]{background:var(--cat-bg-industry-signal)}.blog-card-fallback[data-astro-cid-bvzihdzo]{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:3rem;opacity:.6;user-select:none;pointer-events:none}.blog-card-image[data-astro-cid-bvzihdzo]:not(:has(img)) .blog-card-fallback[data-astro-cid-bvzihdzo]:before{content:"";position:absolute;top:-60px;left:-80px;width:160px;height:160px;background:radial-gradient(circle,var(--accent) 0%,transparent 70%);opacity:.15;pointer-events:none}.blog-card-body[data-astro-cid-bvzihdzo]{padding:1.1rem 1.2rem 1.2rem;display:flex;flex-direction:column;flex:1;gap:.35rem}.blog-card-meta[data-astro-cid-bvzihdzo]{display:flex;justify-content:space-between;align-items:center}.blog-card-category[data-astro-cid-bvzihdzo]{font-size:var(--text-xs);color:var(--accent);font-weight:500}.blog-card-date[data-astro-cid-bvzihdzo]{font-family:var(--font-mono);font-size:var(--text-2xs);color:var(--text-muted)}.blog-card-title[data-astro-cid-bvzihdzo]{color:var(--text-primary);font-family:var(--font-display);font-size:var(--text-lg);font-weight:600;margin:0;line-height:1.4}.blog-card-desc[data-astro-cid-bvzihdzo]{color:var(--text-secondary);font-size:var(--text-sm);margin:0;line-height:1.55;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:3.1em;flex:1}.blog-card-tags[data-astro-cid-bvzihdzo]{display:flex;gap:.4em;flex-wrap:wrap;margin-top:.2rem}.blog-card-tag[data-astro-cid-bvzihdzo]{font-family:var(--font-mono);font-size:var(--text-2xs);color:var(--bio-cyan);background:var(--bio-cyan-glow);border:1px solid var(--bio-cyan-border-faint);padding:.1rem .5rem;border-radius:var(--radius-control);transition:color .3s ease,border-color .3s ease,background .3s ease}.blog-card[data-astro-cid-bvzihdzo]:hover .blog-card-tag[data-astro-cid-bvzihdzo]{color:var(--accent-light);border-color:var(--accent-border-strong);background:var(--accent-bg-soft)}.blog-card-arrow[data-astro-cid-bvzihdzo]{margin-top:auto;padding-top:.6rem;font-family:var(--font-mono);font-size:var(--text-2xs);color:var(--accent);align-self:flex-end;transition:var(--transition-transform)}.blog-card[data-astro-cid-bvzihdzo]:hover .blog-card-arrow[data-astro-cid-bvzihdzo]{transform:translate(3px)}@media(max-width:768px){.blog-card-grid[data-astro-cid-bvzihdzo]{grid-template-columns:1fr;gap:1rem}}@media(max-width:480px){.blog-card-body[data-astro-cid-bvzihdzo]{padding:.9rem 1rem 1rem}}@container (max-width: 680px){.blog-card-grid[data-astro-cid-bvzihdzo]{grid-template-columns:1fr;gap:1rem}}@container (max-width: 440px){.blog-card-body[data-astro-cid-bvzihdzo]{padding:.9rem 1rem 1rem}.blog-card-title[data-astro-cid-bvzihdzo]{font-size:var(--text-base)}.blog-card-desc[data-astro-cid-bvzihdzo]{font-size:var(--text-sm)}}.series-banner[data-astro-cid-bvzihdzo]{display:inline-flex;align-items:center;gap:.4em;margin-top:.6rem;font-family:var(--font-mono);font-size:var(--text-xs);color:var(--bio-cyan);background:var(--bio-cyan-glow);border:1px solid var(--bio-cyan-border-faint);padding:.3rem .7rem;border-radius:var(--radius-sm);text-decoration:none;transition:var(--transition-colors)}.series-banner[data-astro-cid-bvzihdzo]:hover{color:var(--accent-light);border-color:var(--accent-border-strong);background:var(--accent-bg-soft)}.series-nav[data-astro-cid-bvzihdzo]{display:flex;justify-content:space-between;gap:1rem;margin-top:2.5em;padding-top:1.5em;border-top:1px solid var(--border)}.series-nav-prev[data-astro-cid-bvzihdzo],.series-nav-next[data-astro-cid-bvzihdzo]{flex:1;min-width:0;padding:.9rem 1.1rem;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-card);color:var(--text-primary);font-size:var(--text-sm);font-weight:600;text-decoration:none;transition:var(--transition-lift),var(--transition-colors)}.series-nav-next[data-astro-cid-bvzihdzo]{text-align:right}.series-nav-prev[data-astro-cid-bvzihdzo]:hover,.series-nav-next[data-astro-cid-bvzihdzo]:hover{border-color:var(--bio-cyan);transform:translateY(var(--lift-control))}@media(prefers-reduced-motion:reduce){.series-nav-prev[data-astro-cid-bvzihdzo]:hover,.series-nav-next[data-astro-cid-bvzihdzo]:hover{transform:none}}.series-entry-card[data-astro-cid-bvzihdzo]{display:block;grid-column:1 / -1;padding:1rem 1.2rem;margin-bottom:1.2rem;border:1px solid var(--bio-cyan-border-faint);border-radius:var(--radius-md);background:var(--bio-cyan-glow);color:var(--bio-cyan);text-decoration:none;font-weight:600;transition:var(--transition-colors),var(--transition-lift)}.series-entry-card[data-astro-cid-bvzihdzo]:hover{color:var(--accent-light);border-color:var(--accent-border-strong);background:var(--accent-bg-soft);transform:translateY(var(--lift-card))}@media(prefers-reduced-motion:reduce){.series-entry-card[data-astro-cid-bvzihdzo]:hover{transform:none}}html:has(body.blog-ledger-page),body.blog-ledger-page{height:auto;min-height:100dvh;overflow-x:hidden;overflow-y:auto}body.blog-ledger-page{display:block}body.blog-ledger-page main#main-content.blog-main.nslist-main{display:flex;flex-direction:column;flex:1 0 auto;width:100%;height:auto;min-height:0;max-width:80rem;overflow:visible;margin-inline:auto}.blog-main[data-astro-cid-bvzihdzo].nslist-main .nslist[data-astro-cid-bvzihdzo]{grid-template-columns:minmax(15rem,22rem) minmax(0,1fr);align-items:start;flex:none;min-height:0}.blog-main[data-astro-cid-bvzihdzo].nslist-main .nslist__aside[data-astro-cid-bvzihdzo]{min-height:0;max-height:none;overflow:visible;padding:0}.blog-main[data-astro-cid-bvzihdzo].nslist-main .nslist__scroll[data-astro-cid-bvzihdzo]{display:block;height:auto;min-height:0;overflow:visible;padding:0}.blog-main[data-astro-cid-bvzihdzo].nslist-main .nslist__aside[data-astro-cid-bvzihdzo] .filter-bar[data-astro-cid-bvzihdzo]{gap:.8rem;margin:1.2rem 0 0;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}.blog-main[data-astro-cid-bvzihdzo].nslist-main .fb-count[data-astro-cid-bvzihdzo]{margin-top:.75rem;color:var(--text-muted);font-family:var(--font-display);font-variant-numeric:oldstyle-nums;font-size:var(--text-xs)}.blog-main[data-astro-cid-bvzihdzo].nslist-main .world-switch[data-astro-cid-bvzihdzo],.blog-main[data-astro-cid-bvzihdzo].nslist-main .cat-chips[data-astro-cid-bvzihdzo],.blog-main[data-astro-cid-bvzihdzo].nslist-main .fb-tags[data-astro-cid-bvzihdzo]{gap:.8rem}.blog-main[data-astro-cid-bvzihdzo].nslist-main .world-switch[data-astro-cid-bvzihdzo] .world-chip[data-astro-cid-bvzihdzo],.blog-main[data-astro-cid-bvzihdzo].nslist-main .cat-chips[data-astro-cid-bvzihdzo] .cat-chip[data-astro-cid-bvzihdzo],.blog-main[data-astro-cid-bvzihdzo].nslist-main .fb-tags[data-astro-cid-bvzihdzo] .fb-tag[data-astro-cid-bvzihdzo]{padding:.22rem 0 .28rem;border:0;border-bottom:1px solid transparent;border-radius:0;background:transparent;color:var(--text-secondary);font-family:var(--font-sans);font-size:var(--text-sm);line-height:1.4;text-decoration:none;transition:color var(--duration-fast) var(--ease-standard),border-color var(--duration-fast) var(--ease-standard)}.blog-main[data-astro-cid-bvzihdzo].nslist-main .world-switch[data-astro-cid-bvzihdzo] .world-chip[data-astro-cid-bvzihdzo]:hover,.blog-main[data-astro-cid-bvzihdzo].nslist-main .world-switch[data-astro-cid-bvzihdzo] .world-chip[data-astro-cid-bvzihdzo].active,.blog-main[data-astro-cid-bvzihdzo].nslist-main .cat-chips[data-astro-cid-bvzihdzo] .cat-chip[data-astro-cid-bvzihdzo]:hover,.blog-main[data-astro-cid-bvzihdzo].nslist-main .cat-chips[data-astro-cid-bvzihdzo] .cat-chip[data-astro-cid-bvzihdzo].active,.blog-main[data-astro-cid-bvzihdzo].nslist-main .fb-tags[data-astro-cid-bvzihdzo] .fb-tag[data-astro-cid-bvzihdzo]:hover,.blog-main[data-astro-cid-bvzihdzo].nslist-main .fb-tags[data-astro-cid-bvzihdzo] .fb-tag[data-astro-cid-bvzihdzo].is-active{border-bottom-color:var(--accent);background:transparent;color:var(--text-primary)}.blog-main[data-astro-cid-bvzihdzo].nslist-main .fb-tags-dd[data-astro-cid-bvzihdzo] .fb-tags[data-astro-cid-bvzihdzo]{position:static;min-width:0;max-width:100%;max-height:none;overflow:visible;margin-top:.5rem;padding:0;border:0;box-shadow:none}.blog-main[data-astro-cid-bvzihdzo].nslist-main .fb-tags-dd__summary[data-astro-cid-bvzihdzo]{padding:.22rem 0 .28rem;border:0;border-bottom:1px solid transparent;border-radius:0;background:transparent;color:var(--text-secondary);font-family:var(--font-sans);font-size:var(--text-sm);line-height:1.4}.blog-main[data-astro-cid-bvzihdzo].nslist-main .fb-tags-dd__summary[data-astro-cid-bvzihdzo]:hover,.blog-main[data-astro-cid-bvzihdzo].nslist-main .fb-tags-dd[data-astro-cid-bvzihdzo][open] .fb-tags-dd__summary[data-astro-cid-bvzihdzo]{border-color:transparent;border-bottom-color:var(--accent);background:transparent;color:var(--text-primary)}.blog-main[data-astro-cid-bvzihdzo].nslist-main .fb-clear[data-astro-cid-bvzihdzo]{padding:0;border:0;border-radius:0;background:transparent;color:var(--text-muted);font-size:var(--text-sm)}.blog-ledger-list[data-astro-cid-bvzihdzo]{display:flex;flex-direction:column;margin:0;border-top:1px solid var(--border-strong)}.blog-main[data-astro-cid-bvzihdzo] .blog-card[data-astro-cid-bvzihdzo].blog-ledger-row{display:grid;grid-template-columns:minmax(0,1fr) auto 1.25rem;align-items:center;gap:.8rem;min-width:0;padding:.85rem .2rem;border:0;border-bottom:1px solid var(--border);border-radius:0;background:transparent;box-shadow:none;overflow:visible;animation:none;transition:none}.blog-main[data-astro-cid-bvzihdzo] .blog-card[data-astro-cid-bvzihdzo].blog-ledger-row:hover{transform:none;border-color:var(--accent);box-shadow:none}.blog-main[data-astro-cid-bvzihdzo] .blog-card[data-astro-cid-bvzihdzo].blog-ledger-row>.grimoire-glow[data-astro-cid-bvzihdzo]{display:none}.blog-main[data-astro-cid-bvzihdzo] .blog-card[data-astro-cid-bvzihdzo].blog-ledger-row:hover .blog-ledger-title[data-astro-cid-bvzihdzo] a[data-astro-cid-bvzihdzo]{color:var(--accent-light)}.blog-main[data-astro-cid-bvzihdzo] .blog-card[data-astro-cid-bvzihdzo].blog-ledger-row:has(>:focus-visible){outline:none;box-shadow:none}.blog-ledger-main[data-astro-cid-bvzihdzo]{min-width:0}.blog-ledger-title[data-astro-cid-bvzihdzo]{margin:0;color:var(--text-primary);font-family:var(--font-display);font-size:var(--text-lg);font-weight:500;line-height:1.4;text-wrap:pretty}.blog-ledger-title[data-astro-cid-bvzihdzo] a[data-astro-cid-bvzihdzo]{color:inherit;text-decoration:none}.blog-ledger-title[data-astro-cid-bvzihdzo] a[data-astro-cid-bvzihdzo]:hover{color:var(--accent-light)}.blog-ledger-title[data-astro-cid-bvzihdzo] a[data-astro-cid-bvzihdzo]:focus-visible{color:var(--accent-light);text-decoration:underline;text-underline-offset:.16em}.blog-ledger-description[data-astro-cid-bvzihdzo]{margin:.2rem 0 0;overflow:hidden;color:var(--text-secondary);font-size:var(--text-sm);line-height:1.45;text-overflow:ellipsis;white-space:nowrap}.blog-ledger-meta[data-astro-cid-bvzihdzo]{display:flex;flex-direction:column;align-items:flex-end;gap:.18rem;min-width:7rem;text-align:right}.blog-ledger-category[data-astro-cid-bvzihdzo]{color:var(--text-muted);font-size:var(--text-xs);letter-spacing:.04em;line-height:1.35}.blog-ledger-date[data-astro-cid-bvzihdzo]{color:var(--text-secondary);font-family:var(--font-display);font-size:var(--text-sm);font-variant-numeric:oldstyle-nums;line-height:1.35}.blog-ledger-arrow[data-astro-cid-bvzihdzo]{justify-self:end;color:var(--text-muted);font-size:var(--text-sm)}.blog-series-entry[data-astro-cid-bvzihdzo]{display:grid;grid-template-columns:minmax(0,1fr) 1.25rem;align-items:center;gap:.8rem;padding:.85rem .2rem;border-bottom:1px solid var(--border);color:var(--text-secondary);font-family:var(--font-display);text-decoration:none}.blog-series-entry[data-astro-cid-bvzihdzo]:hover{color:var(--text-primary)}.blog-main[data-astro-cid-bvzihdzo].nslist-main .empty[data-astro-cid-bvzihdzo]{margin:0;padding:1rem 0;color:var(--text-muted);font-family:var(--font-sans);font-size:var(--text-sm);text-align:left}.blog-main[data-astro-cid-bvzihdzo].nslist-main .pg-btn[data-astro-cid-bvzihdzo],.blog-main[data-astro-cid-bvzihdzo].nslist-main .pg-ellipsis[data-astro-cid-bvzihdzo]{border-color:transparent;background:transparent;color:var(--text-secondary);font-family:var(--font-sans)}.blog-main[data-astro-cid-bvzihdzo].nslist-main .pg-btn[data-astro-cid-bvzihdzo].active{border-color:transparent;border-radius:0;background:transparent;color:var(--text-primary);text-decoration:underline;text-decoration-color:var(--accent);text-underline-offset:.28em}.blog-main[data-astro-cid-bvzihdzo].nslist-main .fb-time[data-astro-cid-bvzihdzo] select[data-astro-cid-bvzihdzo]{font-family:var(--font-sans)}.blog-main[data-astro-cid-bvzihdzo].nslist-main .pg-btn[data-astro-cid-bvzihdzo]{font-family:var(--font-display);font-variant-numeric:oldstyle-nums}@media(max-width:960px){.blog-main[data-astro-cid-bvzihdzo].nslist-main .nslist[data-astro-cid-bvzihdzo]{grid-template-columns:minmax(0,1fr);gap:1.25rem}}@media(max-width:600px){.blog-main[data-astro-cid-bvzihdzo] .blog-card[data-astro-cid-bvzihdzo].blog-ledger-row{grid-template-columns:minmax(0,1fr);gap:.25rem;padding-block:.75rem}.blog-ledger-meta[data-astro-cid-bvzihdzo]{flex-direction:row;flex-wrap:wrap;align-items:baseline;gap:0 .5rem;min-width:0;text-align:left}.blog-ledger-meta[data-astro-cid-bvzihdzo]>[data-astro-cid-bvzihdzo]+[data-astro-cid-bvzihdzo]:before{content:"·";margin-right:.5rem;color:var(--text-muted)}.blog-ledger-arrow[data-astro-cid-bvzihdzo]{display:none}.blog-ledger-title[data-astro-cid-bvzihdzo]{font-size:var(--text-base)}.blog-ledger-description[data-astro-cid-bvzihdzo]{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;white-space:normal}.blog-ledger-date[data-astro-cid-bvzihdzo]{font-size:var(--text-xs)}}body.blog-article-scroll{height:auto;min-height:100dvh;overflow:visible;display:block;padding-bottom:3.25rem}html:has(body.blog-article-scroll){height:auto;overflow:visible}main[data-astro-cid-bvzihdzo]#main-content.blog-detail-viewport{flex:none;height:auto;min-height:0;overflow:visible;display:block;max-width:var(--page-max);margin:0 auto;width:100%;box-sizing:border-box;padding:clamp(1.1rem,2.5vw,2rem) var(--page-gutter) clamp(1.2rem,2.5vw,2rem)}:root{--blog-header-stack: 5.2rem}.blog-cover-wrap[data-astro-cid-bvzihdzo]{position:relative;z-index:1;width:100%;height:auto;background:var(--bg-primary);margin:1.5rem 0 2.5rem;padding:0}.blog-cover-wrap[data-astro-cid-bvzihdzo][hidden]{display:none}.blog-cover-wrap[data-astro-cid-bvzihdzo]>img[data-astro-cid-bvzihdzo]{display:block;width:100%;height:auto;border-radius:var(--radius-sm)}.blog-summary[data-astro-cid-bvzihdzo]{max-width:65ch;font-size:var(--text-lg);line-height:1.85;color:var(--text-secondary);margin:1rem 0}.blog-header-meta[data-astro-cid-bvzihdzo]{display:flex;flex-wrap:wrap;gap:.75rem 2rem;margin:1.25rem 0;font-size:max(14px,var(--text-sm))}.blog-header-meta[data-astro-cid-bvzihdzo]>div[data-astro-cid-bvzihdzo]{display:flex;flex-wrap:wrap;gap:.5rem}.blog-header-meta[data-astro-cid-bvzihdzo] dt[data-astro-cid-bvzihdzo]{color:var(--text-secondary)}.blog-header-meta[data-astro-cid-bvzihdzo] dd[data-astro-cid-bvzihdzo]{margin:0;color:var(--text-primary)}.blog-date[data-astro-cid-bvzihdzo]{font-family:var(--font-display);font-variant-numeric:oldstyle-nums}.blog-read-sentinel[data-astro-cid-bvzihdzo]{height:1px;width:100%;margin:0;padding:0;pointer-events:none;visibility:hidden}.blog-header-section[data-astro-cid-bvzihdzo]{padding:0 0 .85rem;background:transparent}.breadcrumb[data-astro-cid-bvzihdzo]{font-size:var(--text-xs);color:var(--text-muted);margin-bottom:.3rem}.breadcrumb-trail[data-astro-cid-bvzihdzo] a[data-astro-cid-bvzihdzo]{color:var(--text-muted);text-decoration:none}.breadcrumb-trail[data-astro-cid-bvzihdzo] a[data-astro-cid-bvzihdzo]:hover{color:var(--accent-light)}.breadcrumb-trail[data-astro-cid-bvzihdzo] span[data-astro-cid-bvzihdzo]{color:var(--text-secondary)}.blog-hero[data-astro-cid-bvzihdzo]{margin:0}.blog-hero-badge[data-astro-cid-bvzihdzo]{font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:.05em;text-transform:uppercase;color:var(--accent)}.blog-hero[data-astro-cid-bvzihdzo] h1[data-astro-cid-bvzihdzo]{font-family:var(--font-display);font-size:clamp(1.75rem,3.5vw,3rem);line-height:1.35;margin:.5rem 0 0;color:var(--text-primary)}.blog-detail-layout[data-astro-cid-bvzihdzo]{display:grid;grid-template-columns:240px minmax(0,1fr);gap:clamp(1.25rem,2.5vw,2.5rem);padding:.9rem 0 0;width:100%;box-sizing:border-box;align-items:start}.blog-rail[data-astro-cid-bvzihdzo]{position:sticky;top:calc(var(--blog-header-stack) + .75rem);max-height:calc(100dvh - var(--blog-header-stack) - 1.5rem);overflow-y:auto;overscroll-behavior:contain;display:flex;flex-direction:column;gap:1.1rem;padding-right:.3rem;padding-bottom:1.5rem;scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent}.blog-rail[data-astro-cid-bvzihdzo]::-webkit-scrollbar{width:6px}.blog-rail[data-astro-cid-bvzihdzo]::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:var(--radius-control)}.blog-meta-slot[data-astro-cid-bvzihdzo]{display:grid;grid-template-rows:1fr;transition:grid-template-rows var(--duration-slow) var(--ease-out-expo),opacity var(--duration-moderate) var(--ease-standard);opacity:1}.blog-meta-slot[data-astro-cid-bvzihdzo]>.blog-meta-inner[data-astro-cid-bvzihdzo]{overflow:hidden;min-height:0;display:flex;flex-direction:column;gap:1.1rem}body.is-reading .blog-meta-slot[data-astro-cid-bvzihdzo]{grid-template-rows:0fr;opacity:0;pointer-events:none}.blog-meta-card[data-astro-cid-bvzihdzo]{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-card-solid);box-shadow:var(--shadow-glow);padding:1.1rem 1.2rem;display:flex;flex-direction:column;gap:1rem}.blog-meta-tags[data-astro-cid-bvzihdzo]{display:flex;flex-wrap:wrap;gap:.4rem}.blog-tag[data-astro-cid-bvzihdzo]{font-size:var(--text-2xs);font-family:var(--font-mono);color:var(--text-secondary);border:1px solid var(--border);border-radius:var(--radius-control);padding:.15rem .6rem}.blog-toc[data-astro-cid-bvzihdzo]{display:flex;flex-direction:column;gap:.1rem}.blog-toc[data-astro-cid-bvzihdzo][hidden]{display:none}.blog-toc-links[data-astro-cid-bvzihdzo]{display:flex;flex-direction:column;gap:.1rem}.blog-toc-head[data-astro-cid-bvzihdzo]{font-size:var(--text-2xs);text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);font-family:var(--font-mono);margin-bottom:.35rem}.blog-toc-links[data-astro-cid-bvzihdzo] .blog-toc-link{font-size:var(--text-sm);color:var(--text-secondary);text-decoration:none;padding:.3rem .6rem;border-left:2px solid var(--border);border-radius:0 var(--radius-sm) var(--radius-sm) 0;transition:var(--transition-colors)}.blog-toc-links[data-astro-cid-bvzihdzo] .blog-toc-link:hover,.blog-toc-links[data-astro-cid-bvzihdzo] .blog-toc-link.is-active{border-left-color:var(--accent);color:var(--accent-light);background:var(--accent-bg-soft)}.blog-reading[data-astro-cid-bvzihdzo]{min-width:0;padding:0 .4rem 0 .2rem}.blog-prose[data-astro-cid-bvzihdzo]{max-width:42rem;overflow-wrap:anywhere;font-size:var(--text-lg);line-height:1.85}.blog-prose[data-astro-cid-bvzihdzo] pre{max-width:100%;overflow-x:auto;white-space:pre}.blog-prose[data-astro-cid-bvzihdzo] table{display:block;max-width:100%;overflow-x:auto;margin:0 0 1.8em}.blog-prose[data-astro-cid-bvzihdzo][data-figure-led]{max-width:none}.blog-prose[data-astro-cid-bvzihdzo][data-figure-led] :is(p,ul,ol,h2,h3,h4,blockquote,details,pre,hr){max-width:46rem}.blog-prose[data-astro-cid-bvzihdzo][data-figure-led] .fig-stage{width:auto}.blog-prose[data-astro-cid-bvzihdzo][data-figure-led] :is(th,td):first-child{width:24%}.blog-prose[data-astro-cid-bvzihdzo][data-figure-led] th{white-space:nowrap}@media(max-width:640px){.blog-prose[data-astro-cid-bvzihdzo][data-figure-led] table,.blog-prose[data-astro-cid-bvzihdzo][data-figure-led] tbody,.blog-prose[data-astro-cid-bvzihdzo][data-figure-led] tr,.blog-prose[data-astro-cid-bvzihdzo][data-figure-led] td{display:block;width:auto}.blog-prose[data-astro-cid-bvzihdzo][data-figure-led] thead{display:none}.blog-prose[data-astro-cid-bvzihdzo][data-figure-led] tr{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-card);padding:.7rem .9rem;margin-bottom:.75rem}.blog-prose[data-astro-cid-bvzihdzo][data-figure-led] td{border:0;padding:.3rem 0}.blog-prose[data-astro-cid-bvzihdzo][data-figure-led] td:first-child{width:auto;color:var(--text-primary);font-weight:600;padding-top:0}.blog-prose[data-astro-cid-bvzihdzo][data-figure-led] td[data-label]:not(:first-child):before{content:attr(data-label);display:block;color:var(--accent);font-size:var(--text-xs);font-weight:600}}.blog-prose[data-astro-cid-bvzihdzo] img,.blog-prose[data-astro-cid-bvzihdzo] video{max-width:100%;height:auto}.blog-prose[data-astro-cid-bvzihdzo] h2{font-size:var(--text-2xl);line-height:1.4;margin-top:2.5rem}.blog-prose[data-astro-cid-bvzihdzo] h3{font-size:var(--text-xl);line-height:1.5}.blog-prose[data-astro-cid-bvzihdzo] details{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-card);padding:.9rem 1.1rem;margin-bottom:1.2em}.blog-prose[data-astro-cid-bvzihdzo] summary{cursor:pointer;font-weight:600;color:var(--accent-light)}.blog-prose[data-astro-cid-bvzihdzo] details[open]>summary{margin-bottom:.75em}.blog-prose[data-astro-cid-bvzihdzo] details.more{border:0;border-radius:0;background:transparent;padding:0;margin:0 0 1.2em}.blog-prose[data-astro-cid-bvzihdzo] details.more>summary{position:relative;display:inline-grid;place-items:center;width:1.75rem;height:1.75rem;box-sizing:border-box;list-style:none;border:1px solid var(--accent);border-radius:50%;padding:0;color:var(--accent);font-size:0;line-height:1;transition:transform var(--duration-fast) var(--ease-out-soft),background-color var(--duration-fast) var(--ease-standard)}.blog-prose[data-astro-cid-bvzihdzo] details.more>summary:before{content:"!";font-size:var(--text-sm);font-weight:700}.blog-prose[data-astro-cid-bvzihdzo] details.more[open]>summary:before{content:"×";font-size:1.2rem}.blog-prose[data-astro-cid-bvzihdzo] details.more>summary:after{position:absolute;z-index:2;top:50%;left:calc(100% + .45rem);padding:.2rem .45rem;border:1px solid var(--border);border-radius:var(--radius-control);background:var(--bg-card);color:var(--text-primary);content:"詳細說明";font-size:var(--text-xs);font-weight:500;line-height:1.4;white-space:nowrap;opacity:0;pointer-events:none;transform:translateY(-50%);transition:opacity var(--duration-fast) var(--ease-standard)}.blog-prose[data-astro-cid-bvzihdzo] details.more>summary:hover:after,.blog-prose[data-astro-cid-bvzihdzo] details.more>summary:focus-visible:after{opacity:1}.blog-prose[data-astro-cid-bvzihdzo] details.more>summary .more-summary-label{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.blog-prose[data-astro-cid-bvzihdzo] details.more>summary::-webkit-details-marker{display:none}.blog-prose[data-astro-cid-bvzihdzo] details.more>summary::marker{content:""}.blog-prose[data-astro-cid-bvzihdzo] details.more>summary:hover,.blog-prose[data-astro-cid-bvzihdzo] details.more>summary:focus-visible{transform:translateY(var(--lift-control))}.blog-prose[data-astro-cid-bvzihdzo] details.more[open]{border-left:1px solid var(--border);padding-left:.9rem}.blog-prose[data-astro-cid-bvzihdzo] details.more[open]>summary{margin-bottom:.65rem}.blog-prose[data-astro-cid-bvzihdzo] p.lead{margin-bottom:.6rem;color:var(--text-primary);font-size:var(--text-lg);line-height:1.7}.blog-prose[data-astro-cid-bvzihdzo] h2{scroll-margin-top:calc(var(--blog-header-stack) + .75rem)}.blog-mobile-toc[data-astro-cid-bvzihdzo]{display:none;margin:0 0 1.1rem;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-card);padding:.65rem .9rem}.blog-mobile-toc[data-astro-cid-bvzihdzo][hidden]{display:none}.blog-mobile-toc[data-astro-cid-bvzihdzo] summary[data-astro-cid-bvzihdzo]{cursor:pointer;font-size:var(--text-xs);font-weight:600;color:var(--text-secondary);letter-spacing:.04em;text-transform:uppercase;font-family:var(--font-mono)}.blog-mobile-toc-links[data-astro-cid-bvzihdzo]{display:flex;flex-direction:column;gap:.15rem;margin-top:.55rem}.blog-mobile-toc-links[data-astro-cid-bvzihdzo] a{font-size:var(--text-sm);color:var(--text-secondary);text-decoration:none;padding:.3rem 0}.blog-mobile-toc-links[data-astro-cid-bvzihdzo] a:hover{color:var(--accent-light)}.blog-footer-chrome[data-astro-cid-bvzihdzo]{position:fixed;left:0;right:0;bottom:0;z-index:45;transform-origin:center bottom;transition:transform var(--duration-slow) var(--ease-out-expo),opacity var(--duration-moderate) var(--ease-standard);transform:translateZ(0);opacity:1;background:var(--sticky-ground);border-top:1px solid var(--border);padding-inline:var(--page-gutter)}.blog-footer-chrome[data-astro-cid-bvzihdzo] .site-footer--slim{border-top:none;padding-top:.55rem;padding-bottom:.35rem}body.is-reading:not(.is-near-end) .blog-footer-chrome[data-astro-cid-bvzihdzo]{transform:translate3d(0,100%,0);opacity:0;pointer-events:none}.citations-section[data-astro-cid-bvzihdzo]{margin-top:2.5em;padding-top:1.5em;border-top:1px solid var(--border)}.citations-section[data-astro-cid-bvzihdzo] h2[data-astro-cid-bvzihdzo]{font-size:var(--text-xl);margin-bottom:1em}.citations-list[data-astro-cid-bvzihdzo]{margin:0;padding-left:1.25em;display:flex;flex-direction:column;gap:.65rem}.citations-list[data-astro-cid-bvzihdzo] a[data-astro-cid-bvzihdzo]{color:var(--accent);text-decoration:underline;text-underline-offset:.15em}.faq-section[data-astro-cid-bvzihdzo]{margin-top:2.5em;padding-top:1.5em;border-top:1px solid var(--border)}.faq-section[data-astro-cid-bvzihdzo] h2[data-astro-cid-bvzihdzo]{font-size:var(--text-xl);margin-bottom:1em}.faq-item[data-astro-cid-bvzihdzo]{margin-bottom:1.2em;padding:1em 1.2em;background:var(--bg-card);border-radius:var(--radius-container);border-left:3px solid var(--bio-cyan)}.faq-q[data-astro-cid-bvzihdzo]{font-size:var(--text-base);font-weight:600;margin:0 0 .4em;color:var(--text-primary)}.faq-a[data-astro-cid-bvzihdzo]{font-size:var(--text-base);margin:0;color:var(--text-secondary);line-height:1.6}.related-posts[data-astro-cid-bvzihdzo]{margin-top:2.5em;padding-top:1.5em;border-top:1px solid var(--border)}.related-posts[data-astro-cid-bvzihdzo] h2[data-astro-cid-bvzihdzo]{font-size:var(--text-xl);margin-bottom:1em}.related-grid[data-astro-cid-bvzihdzo]{display:grid;grid-template-columns:minmax(0,1fr)}.related-card[data-astro-cid-bvzihdzo]{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:baseline;gap:.75rem 1rem;padding:.85rem .1rem;border-bottom:1px solid var(--border);text-decoration:none;transition:color var(--duration-base) var(--ease-standard)}.related-card[data-astro-cid-bvzihdzo]:hover{color:var(--text-primary)}.related-cat[data-astro-cid-bvzihdzo]{grid-column:2;grid-row:1;color:var(--text-muted);font-size:var(--text-xs);text-align:right}.related-title[data-astro-cid-bvzihdzo]{grid-column:1;grid-row:1;font-family:var(--font-display);font-size:var(--text-lg);font-weight:500;color:var(--text-primary);line-height:1.35}@media(max-width:600px){.related-card[data-astro-cid-bvzihdzo]{grid-template-columns:minmax(0,1fr);gap:.2rem}.related-cat[data-astro-cid-bvzihdzo]{grid-column:1;grid-row:2;text-align:left}}@media(max-width:1100px)and (min-width:901px){.blog-detail-layout[data-astro-cid-bvzihdzo]{grid-template-columns:240px minmax(0,1fr)}}@media(max-width:900px){.blog-detail-layout[data-astro-cid-bvzihdzo]{grid-template-columns:1fr}.blog-rail[data-astro-cid-bvzihdzo]{display:none}.blog-mobile-toc[data-astro-cid-bvzihdzo]{display:block}.blog-cover-wrap[data-astro-cid-bvzihdzo]{height:auto}}@media(prefers-reduced-motion:reduce){.blog-meta-slot[data-astro-cid-bvzihdzo],.blog-footer-chrome[data-astro-cid-bvzihdzo]{transition:none!important}.related-card[data-astro-cid-bvzihdzo]:hover{transform:none}}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}}.kg-widget{margin:2rem 0;padding:1.5rem;background:var(--bg-card-solid);border:1px solid var(--bg-card-hover);border-radius:var(--radius-container)}.kg-title{font-size:var(--text-2xs);color:var(--kg-accent);font-family:monospace;text-transform:uppercase;letter-spacing:1px;margin-bottom:10px}.kg-tags{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}.kg-chip{padding:4px 10px;border-radius:var(--radius-region);font-size:var(--text-2xs);font-family:monospace;text-decoration:none;transition:opacity .2s}.kg-chip:hover{opacity:.8}.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 .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}}.hx{--he-hema: var(--stain-hema);--he-hred: var(--stain-hema-red);--he-eosin: var(--stain-eosin);--he-eosin-deep: var(--stain-eosin-deep);--he-stroma: var(--stain-collagen);--he-fib: oklch(.72 .14 355);--he-rbc: var(--stain-rbc);--he-lumen: oklch(.985 .005 90);--dab-1: oklch(.8 .07 75);--dab-2: oklch(.62 .1 60);--dab-3: var(--stain-dab);--ihc-hema: oklch(.6 .1 268);--wet-ground: oklch(.95 .008 80);--wet-cell: oklch(.91 .012 70);--wet-nuc: oklch(.83 .016 70);--wax: var(--stain-wax);--field: var(--stain-field);--marker-ink: var(--accent);--marker-ref: color-mix(in oklab, var(--error-color) 78%, var(--bg-card-solid));--xreact: var(--warning-color);--ok-ink: var(--success-color);--hatch: color-mix(in oklab, var(--text-primary) 55%, var(--text-secondary));--plate-line: color-mix(in oklab, var(--text-primary) 78%, var(--text-secondary));--shape-wash: color-mix(in oklab, var(--text-secondary) 16%, transparent);--film: var(--bg-card-solid);--film-ink: color-mix(in oklab, var(--text-primary) 92%, var(--bg-primary));--ab-core: var(--bg-card-solid);--ab-tip: var(--accent);--header-h: 4.25rem;--rail-w: 10.5rem;--panel-h: min(78vh, 780px);--hx-camera: 1.1s;--hx-scene: 1s;--hx-grow: 1.4s;--hx-tick: 90ms}[data-theme=dark] .hx{--he-lumen: oklch(.9 .01 85);--wet-ground: oklch(.86 .01 80);--wet-cell: oklch(.82 .012 70);--wet-nuc: oklch(.74 .016 70);--marker-ref: color-mix(in oklab, var(--error-color) 82%, var(--bg-card-solid));--hatch: color-mix(in oklab, var(--text-primary) 48%, var(--text-secondary));--plate-line: color-mix(in oklab, var(--text-primary) 70%, var(--text-secondary));--shape-wash: color-mix(in oklab, var(--text-secondary) 14%, transparent);--film: color-mix(in oklab, var(--text-primary) 92%, var(--bg-primary));--film-ink: var(--bg-primary)}.hx .vignette--microscope{--engraving-src: url(/assets/sections/imaging-engraving.webp)}.hx .vignette--molecular{--engraving-src: url(/assets/sections/molecular-engraving.webp)}.hx .vignette--dish{--engraving-src: url(/assets/sections/dish-engraving.webp)}.hx{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;overflow-x:clip}html.is-present{font-size:125%}html.is-present .hx{padding-bottom:45vh}.hx svg{max-width:100%}.hx button,.hx a{-webkit-tap-highlight-color:transparent}.hx :focus-visible{outline:2px solid var(--accent);outline-offset:3px}.hx *::selection{background:var(--accent-bg-medium);color:var(--text-primary)}.hx .shell{width:min(calc(100% - 2 * var(--page-gutter)),var(--page-max));margin-inline:auto}.hx .hx-prose{max-width:68ch;margin-inline:auto}.hx .hx-prose p,.hx .step p,.hx .lede,.hx .tl li,.hx .gloss li,.hx .checks li,.hx .rules li,.hx .fork__card p,.hx .tcard p{color:color-mix(in oklab,var(--text-primary) 65%,var(--text-secondary));line-height:var(--leading-relaxed)}.hx .step p{overflow-wrap:anywhere}.hx h1,.hx h2,.hx h3,.hx h4{font-family:var(--font-display);font-weight:500;letter-spacing:-.015em;color:var(--text-primary);line-height:var(--leading-snug)}.hx 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}.hx .h1-keep{white-space:nowrap}.hx:lang(en) .h1-keep{white-space:normal}.hx h2{margin:0 0 var(--space-md);font-size:var(--text-2xl)}.hx h3{margin:var(--space-xl) 0 var(--space-sm);font-size:var(--text-xl)}.hx h4{margin:0 0 var(--space-xs);font-size:var(--text-lg)}.hx p{margin:0 0 var(--space-md)}.hx .eyebrow,.hx .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)}.hx .idx{margin-right:var(--space-2xs);color:var(--accent)}.hx .num{font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1}.hx .svg-sprite{position:absolute;width:0;height:0;overflow:hidden}.hx .hx-pat-line{stroke:var(--hatch);stroke-width:.8}.hx .hx-pat-line--fine{stroke-width:.6}.hx .hx-pat-dot{fill:var(--hatch)}.hx .hx-stop-ink{stop-color:var(--film-ink);stop-opacity:.85}.hx .hx-stop-ink--mid{stop-opacity:.4}.hx .hx-stop-clear{stop-color:var(--film-ink);stop-opacity:.08}.hx-ab-core{stroke:var(--ab-core)}.hx-ab-tip{fill:var(--ab-tip)}.hx-enz-core{fill:var(--accent)}.hx-enz-tick{stroke:var(--accent)}.hx .progress{position:fixed;inset:0 0 auto;z-index:80;height:2px;pointer-events:none}.hx .progress__bar{display:block;width:100%;height:100%;background:var(--accent);transform:scaleX(var(--progress, 0));transform-origin:left center}.hx .rail{display:none}.hx .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)}.hx .rail a:hover,.hx .rail a[aria-current=true]{color:var(--accent)}.hx .rail__n{font-family:var(--font-display);color:var(--accent)}.hx .present-slot{margin:var(--space-md) 0 0}.hx .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)}.hx .present-btn:hover{color:var(--accent);border-color:var(--accent)}.hx .present-btn[aria-pressed=true]{color:var(--on-accent);background:var(--accent);border-color:var(--accent)}.hx .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%)}.hx .present-btn:hover:after,.hx .present-btn:focus-visible:after{display:block}.hx .block,.hx .chapter{padding-top:var(--space-3xl)}.hx .chapter__head{margin-bottom:var(--space-xl)}.hx .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)}.hx table{width:100%;border-collapse:collapse;table-layout:fixed}.hx th,.hx 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}.hx tr:last-child td{border-bottom:0}.hx th{color:var(--text-secondary);font-size:var(--text-xs);background:var(--bg-secondary)}.hx .num-table td,.hx .num-table th{font-variant-numeric:tabular-nums}.hx .num-table td:not(:first-child),.hx .num-table th:not(:first-child){text-align:right}.hx .num-table b{color:var(--accent);font-weight:650}.hx .gloss,.hx .checks,.hx .rules{margin:0 0 var(--space-lg);padding:0;list-style:none}.hx .gloss li,.hx .checks li,.hx .rules li{position:relative;margin:0;padding-block:var(--space-xs);border-bottom:1px solid var(--border)}.hx .gloss strong,.hx .rules strong{color:var(--text-primary);font-weight:600}.hx .checks li{padding-inline-start:calc(var(--space-lg) + var(--space-3xs) / 2)}.hx .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)}.hx .rules{counter-reset:rule}.hx .rules li{counter-increment:rule;padding-inline-start:var(--space-xl)}.hx .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)}.hx .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)}.hx .callout strong{color:var(--text-primary)}.hx .callout--small{margin:var(--space-lg) 0;padding:var(--space-sm) var(--space-md);font-size:var(--text-sm)}.hx .note{font-size:var(--text-sm);color:var(--text-secondary)}.hx .tool-cta{margin:var(--space-lg) 0;font-family:var(--font-display);font-size:var(--text-lg);line-height:var(--leading-snug)}.hx .tool-cta--soft{font-size:var(--text-base)}.hx .tool-cta a{color:var(--accent);text-decoration:underline;text-underline-offset:.18em;transition:var(--transition-colors)}.hx .tool-cta a:hover{color:var(--text-primary)}.hx .vignette{float:right;width:7.5rem;height:7.5rem;margin-left:var(--space-lg);opacity:.72}.hx .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}.hx .vignette--flask{--engraving-src: url(/assets/sections/flask-engraving.webp)}.hx .vignette--vessel{--engraving-src: url(/assets/sections/wetlab-engraving.webp)}.hx .vignette--imaging{--engraving-src: url(/assets/sections/imaging-engraving.webp)}.hx .chain,.hx .tl{position:relative;margin:var(--space-xl) 0}.hx .chain ol,.hx .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}.hx .tl ol{grid-template-columns:repeat(6,minmax(0,1fr))}.hx .chain li,.hx .tl li{position:relative;min-width:0}.hx .chain li:before,.hx .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)}.hx .chain a{color:inherit}.hx .chain__track,.hx .tl__track{position:absolute;top:.45rem;left:0;right:0;height:1px;background:var(--border-strong)}.hx .chain__line,.hx .tl__line{display:block;width:100%;height:100%;background:var(--accent);transform-origin:left center}.hx .chain .is-here{color:var(--accent)}.hx .chain .is-here:before{border-color:var(--accent);background:var(--accent)}.hx .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}.hx .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}.hx .tl li span{font-size:var(--text-sm)}.hx .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}.hx .route li{position:relative;min-width:0}.hx .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)}.hx .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)}.hx .route a:hover{border-color:var(--accent);transform:translateY(var(--lift-control))}.hx .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)}.hx .route strong{font-family:var(--font-display);font-weight:600;font-size:var(--text-base)}.hx .route__t{color:var(--text-secondary);font-size:var(--text-xs)}.hx .scene{--p: 0;--sp: 0;display:block;margin-block:var(--space-lg) var(--space-2xl)}.hx .scene__sticky{position:sticky;top:var(--header-h);z-index:5;height:50svh;background:var(--bg-primary)}.hx .scene__steps{min-width:0}.hx .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 .hx .scene .step{opacity:.35;transition:opacity var(--duration-slow) var(--ease-out-soft)}html.js .hx .scene .step.is-active{opacity:1}.hx .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)}.hx .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)}.hx .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)}.hx .fig{position:relative;flex:1 1 auto;min-height:0}.hx .fig>svg{position:absolute;inset:0;display:block;width:100%;height:100%;color:var(--plate-line)}.hx .ink,.hx .ink-sec{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.hx .ink-sec{stroke-width:1.25px}.hx .lab--halo{paint-order:stroke;stroke:var(--bg-card-solid);stroke-width:5px;stroke-linejoin:round}.hx .leader{fill:none;stroke:var(--text-secondary);stroke-width:1px;vector-effect:non-scaling-stroke}.hx .fig text,.hx .lab,.hx .axis-name,.hx .tick{font-family:var(--font-body);font-size:15px;letter-spacing:.01em}.hx .lab{fill:var(--text-primary)}.hx .lab--sub{font-size:13px;fill:var(--text-secondary)}.hx .lab--accent{fill:var(--accent)}.hx .lab--warn{fill:var(--xreact)}.hx .lab--ok{fill:var(--ok-ink)}.hx .axis-name,.hx .tick{font-variant-numeric:tabular-nums;fill:var(--text-secondary)}.hx .tick{font-size:13px}.hx .axes,.hx .tick-mark{fill:none;stroke:var(--text-secondary);stroke-width:1.25px;vector-effect:non-scaling-stroke}.hx .ab-ink{color:var(--text-primary)}.hx .ab-detect{color:var(--accent)}.hx .ag-target{fill:var(--accent);fill-opacity:.22;stroke:var(--accent);stroke-width:1.5px;vector-effect:non-scaling-stroke}.hx .ag-other{fill:var(--text-muted);fill-opacity:.08;stroke:var(--text-muted);stroke-width:1.25px;vector-effect:non-scaling-stroke}.hx .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)}.hx .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}.hx .plate-chip__dot{width:.5rem;height:.5rem;border-radius:50%;background:var(--warning-color);animation:hx-blink var(--duration-pulse) var(--ease-in-out) infinite}.hx .gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-md);margin:var(--space-lg) 0 var(--space-2xl)}.hx .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)}.hx .tcard:hover{border-color:var(--border-strong);transform:translateY(var(--lift-card));box-shadow:var(--shadow-whisper)}.hx .tcard__blot{width:100%;height:auto;aspect-ratio:200 / 120;margin-bottom:var(--space-sm)}.hx .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)}.hx .tcard .tcard__title{margin:0 0 var(--space-xs);font-size:var(--text-lg)}.hx .tcard p{margin:0 0 var(--space-xs);font-size:var(--text-sm)}.hx .tcard b{color:var(--text-primary);font-weight:600}.hx .tb-bg{fill:var(--film);stroke:var(--border-strong);stroke-width:1px}.hx .tb-bg--dark{fill:color-mix(in oklab,var(--film-ink) 52%,var(--film))}.hx .tb-marker rect{fill:var(--marker-ink)}.hx .tb-marker .tb-ref{fill:var(--marker-ref)}.hx .tb-band rect{fill:var(--film-ink);filter:url(#hx-soft)}.hx .tb-band--dim rect{opacity:.75}.hx .tb-band--faint rect{opacity:.4}.hx .tb-blot-spots circle{fill:var(--film-ink);opacity:.35;filter:url(#hx-soft)}.hx .tb-hole circle{fill:var(--film)}.hx .tb-curve path{fill:none;stroke:var(--film-ink);stroke-width:7px;stroke-linecap:round;filter:url(#hx-soft);opacity:.85}.hx .tb-smear rect{fill:url(#hx-smear)}.hx .tb-donut rect{fill:var(--film-ink);filter:url(#hx-soft)}.hx .tb-donut-core rect{fill:var(--film);filter:url(#hx-soft)}.hx .q{margin:0;border-bottom:1px solid var(--border)}.hx .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}.hx .q summary::-webkit-details-marker{display:none}.hx .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)}.hx .q[open] summary:after{transform:rotate(-135deg)}.hx .q__a{padding-bottom:var(--space-md)}.hx .q[open] .q__a{--motion-rise-distance: 12px;animation:motion-rise var(--duration-slow) var(--ease-out-soft) both}.hx .take ol{margin:var(--space-lg) 0 0;padding:0;list-style:none;counter-reset:take}.hx .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)}.hx .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)}.hx .end-rule{width:4rem;height:1px;margin:var(--space-2xl) auto var(--space-lg);border:0;background:var(--border-strong)}.hx .reveal{--motion-rise-distance: 16px}html.no-timeline .hx .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 .hx .reveal.is-in{opacity:1;transform:none}.hx .lab{font-family:var(--font-sans);font-size:13px;fill:var(--text-secondary)}.hx .lab--lg{font-family:var(--font-display);font-size:22px;font-weight:600;fill:var(--text-primary)}.hx .lab--sm{font-size:12.5px}.hx .lab--xs{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.08em;fill:var(--text-muted)}.hx .leader{fill:none;stroke:var(--text-muted);stroke-width:1;stroke-dasharray:3 4}html.js .hx .fig svg [data-show]:not(.line-dot):not(.clk-row){transition:opacity var(--duration-slow) var(--ease-standard)}html.js .hx .fig svg [data-show]:not(.is-on):not(.line-dot):not(.clk-row){opacity:0}html.js .hx .qpanel [data-show]{transition:opacity var(--duration-slow) var(--ease-out-soft),transform var(--duration-slow) var(--ease-out-soft)}html.js .hx .qpanel [data-show]:not(.is-on){opacity:0;transform:translateY(10px)}.hx .tz{--c-ground: var(--he-stroma);--c-fib: var(--he-fib);--c-vwall: var(--he-eosin-deep);--c-vlum: var(--he-lumen);--c-rbc: var(--he-rbc);--c-base: color-mix(in oklab, var(--he-eosin-deep) 70%, transparent);--c-cyto: var(--he-eosin);--c-edge: color-mix(in oklab, var(--he-eosin-deep) 55%, transparent);--c-d1: var(--c-cyto);--c-d2: var(--c-cyto);--c-d3: var(--c-cyto);--c-lum: var(--he-lumen);--c-nuce: var(--he-hema);--c-nucs: color-mix(in oklab, var(--he-hema) 88%, black)}.hx .tz>use,.hx .tz>path{transition:fill var(--duration-slow) var(--ease-standard),stroke var(--duration-slow) var(--ease-standard),opacity var(--duration-slow) var(--ease-standard)}.hx .tz-ground{fill:var(--c-ground)}.hx .tz-fib{fill:none;stroke:var(--c-fib);stroke-width:2.4;stroke-linecap:round}.hx .tz-vwall{fill:var(--c-vwall)}.hx .tz-vlum{fill:var(--c-vlum)}.hx .tz-rbc{fill:var(--c-rbc)}.hx .tz-base{fill:var(--c-base)}.hx .tz-cyto{fill:var(--c-cyto);stroke:var(--c-edge);stroke-width:.8}.hx .tz-dab1{fill:var(--c-d1);stroke:var(--c-edge);stroke-width:.8}.hx .tz-dab2{fill:var(--c-d2);stroke:var(--c-edge);stroke-width:.8}.hx .tz-dab3{fill:var(--c-d3);stroke:var(--c-edge);stroke-width:.8}.hx .tz-lum{fill:var(--c-lum)}.hx .tz-nuc--epi{fill:var(--c-nuce)}.hx .tz-nuc--str{fill:var(--c-nucs)}.hx .h-edge{fill:none;stroke:var(--plate-line);stroke-width:1.2;opacity:.45}.hx .tz[data-mode=wet],.hx .tz[data-mode=clear],.hx .tz[data-mode=wax],.hx .tz[data-mode=raw]{--c-ground: var(--wet-ground);--c-fib: color-mix(in oklab, var(--wet-nuc) 55%, transparent);--c-vwall: var(--wet-cell);--c-vlum: var(--wet-ground);--c-rbc: oklch(.86 .035 60);--c-base: color-mix(in oklab, var(--wet-nuc) 40%, transparent);--c-cyto: var(--wet-cell);--c-edge: color-mix(in oklab, var(--wet-nuc) 60%, transparent);--c-lum: var(--field);--c-nuce: var(--wet-nuc);--c-nucs: var(--wet-nuc)}.hx .tz[data-mode=wax]{--c-ground: var(--wax);--c-cyto: color-mix(in oklab, var(--wax) 55%, var(--wet-cell));--c-lum: var(--wax);--c-vlum: var(--wax)}.hx .tz[data-mode=clear]{--c-ground: color-mix(in oklab, var(--wet-ground) 60%, var(--field));--c-lum: var(--field)}.hx .tz[data-mode=hover]{--c-ground: color-mix(in oklab, var(--he-hred) 26%, var(--field));--c-fib: color-mix(in oklab, var(--he-hred) 36%, var(--field));--c-vwall: color-mix(in oklab, var(--he-hred) 36%, var(--field));--c-vlum: color-mix(in oklab, var(--he-hred) 14%, var(--field));--c-rbc: color-mix(in oklab, var(--he-hred) 45%, var(--he-rbc));--c-base: color-mix(in oklab, var(--he-hred) 50%, transparent);--c-cyto: color-mix(in oklab, var(--he-hred) 34%, var(--field));--c-edge: color-mix(in oklab, var(--he-hred) 50%, transparent);--c-lum: color-mix(in oklab, var(--he-hred) 10%, var(--field));--c-nuce: var(--he-hred);--c-nucs: var(--he-hred)}.hx .tz[data-mode=hred],.hx .tz[data-mode=hblue]{--c-ground: color-mix(in oklab, var(--he-hred) 6%, var(--field));--c-fib: color-mix(in oklab, var(--he-hred) 16%, var(--field));--c-vwall: color-mix(in oklab, var(--he-hred) 14%, var(--field));--c-vlum: var(--field);--c-rbc: color-mix(in oklab, var(--he-hred) 25%, var(--he-rbc));--c-base: color-mix(in oklab, var(--he-hred) 20%, transparent);--c-cyto: color-mix(in oklab, var(--he-hred) 12%, var(--field));--c-edge: color-mix(in oklab, var(--he-hred) 26%, transparent);--c-lum: var(--field);--c-nuce: var(--he-hred);--c-nucs: var(--he-hred)}.hx .tz[data-mode=hblue]{--c-ground: color-mix(in oklab, var(--he-hema) 5%, var(--field));--c-fib: color-mix(in oklab, var(--he-hema) 14%, var(--field));--c-vwall: color-mix(in oklab, var(--he-hema) 12%, var(--field));--c-cyto: color-mix(in oklab, var(--he-hema) 10%, var(--field));--c-edge: color-mix(in oklab, var(--he-hema) 22%, transparent);--c-nuce: var(--he-hema);--c-nucs: color-mix(in oklab, var(--he-hema) 88%, black)}.hx .tz[data-mode=hph]{--c-ground: color-mix(in oklab, var(--he-hema) 4%, var(--field));--c-fib: color-mix(in oklab, var(--he-hema) 12%, var(--field));--c-vwall: color-mix(in oklab, var(--he-hema) 10%, var(--field));--c-vlum: var(--field);--c-rbc: color-mix(in oklab, var(--he-hred) 25%, var(--he-rbc));--c-base: color-mix(in oklab, var(--he-hema) 18%, transparent);--c-cyto: color-mix(in oklab, var(--he-hema) 8%, var(--field));--c-edge: color-mix(in oklab, var(--he-hema) 20%, transparent);--c-lum: var(--field);--c-nuce: color-mix(in oklab, var(--he-hema) calc(var(--hb, 0) * 100%), var(--he-hred));--c-nucs: var(--c-nuce)}.hx .tz[data-mode=hph]>use{transition:none}.hx .tz:is([data-mode=he-nuc],[data-mode=he-cyto],[data-mode=he-fib],[data-mode=he-rbc],[data-mode=he-lum])>:not(.tz-ground){opacity:.3}.hx .tz:is([data-mode=he-nuc],[data-mode=he-cyto],[data-mode=he-fib],[data-mode=he-rbc],[data-mode=he-lum])>.tz-ground{fill:color-mix(in oklab,var(--he-stroma) 45%,var(--field))}.hx .tz[data-mode=he-nuc]>.tz-nuc,.hx .tz[data-mode=he-cyto]>:is(.tz-cyto,.tz-dab1,.tz-dab2,.tz-dab3,.tz-base),.hx .tz[data-mode=he-fib]>.tz-fib,.hx .tz[data-mode=he-rbc]>:is(.tz-rbc,.tz-vwall,.tz-vlum),.hx .tz[data-mode=he-lum]>:is(.tz-lum,.tz-cyto,.tz-dab1,.tz-dab2,.tz-dab3){opacity:1}.hx .tz[data-mode=he-fib]>.tz-fib{stroke-width:3}.hx .tz[data-mode=he-lum]>.tz-lum{stroke:var(--accent);stroke-width:2.2}.hx .tz:is([data-mode=ihc],[data-mode=ihc-pos],[data-mode=ihc-neg],[data-mode=ihc-iso],[data-mode=ihc-bg],[data-mode=ihc-rbc]){--c-ground: oklch(.955 .012 82);--c-fib: oklch(.86 .02 250);--c-vwall: oklch(.9 .018 250);--c-vlum: var(--field);--c-rbc: oklch(.74 .07 45);--c-base: oklch(.85 .02 250 / .6);--c-cyto: oklch(.935 .012 80);--c-edge: oklch(.78 .02 250 / .55);--c-d1: var(--dab-1);--c-d2: var(--dab-2);--c-d3: var(--dab-3);--c-lum: var(--field);--c-nuce: var(--ihc-hema);--c-nucs: var(--ihc-hema)}.hx .tz[data-mode=ihc-pos]{--c-cyto: var(--dab-1);--c-d1: var(--dab-2);--c-d2: var(--dab-3);--c-d3: var(--dab-3)}.hx .tz[data-mode=ihc-neg]{--c-d1: var(--c-cyto);--c-d2: var(--c-cyto);--c-d3: var(--c-cyto)}.hx .tz[data-mode=ihc-iso]{--c-ground: oklch(.94 .02 78);--c-d1: color-mix(in oklab, var(--dab-1) 30%, oklch(.935 .012 80));--c-d2: color-mix(in oklab, var(--dab-1) 30%, oklch(.935 .012 80));--c-d3: color-mix(in oklab, var(--dab-1) 38%, oklch(.935 .012 80))}.hx .tz[data-mode=over]{--c-ground: color-mix(in oklab, var(--he-hema) 30%, var(--he-stroma));--c-fib: color-mix(in oklab, var(--he-hema) 45%, var(--he-eosin));--c-cyto: color-mix(in oklab, var(--he-hema) 42%, var(--he-eosin));--c-edge: color-mix(in oklab, var(--he-hema) 60%, transparent);--c-nuce: color-mix(in oklab, var(--he-hema) 70%, black);--c-nucs: color-mix(in oklab, var(--he-hema) 70%, black)}.hx .tz[data-mode=hred-e]{--c-nuce: color-mix(in oklab, var(--he-hred) 80%, var(--he-eosin-deep));--c-nucs: color-mix(in oklab, var(--he-hred) 80%, var(--he-eosin-deep))}.hx .tz[data-mode=eopale]{--c-ground: color-mix(in oklab, var(--he-stroma) 22%, var(--field));--c-fib: color-mix(in oklab, var(--he-eosin) 26%, var(--field));--c-vwall: color-mix(in oklab, var(--he-eosin) 24%, var(--field));--c-cyto: color-mix(in oklab, var(--he-eosin) 16%, var(--field));--c-edge: color-mix(in oklab, var(--he-hema) 22%, transparent)}.hx .tz[data-mode=ihc-bg]{--c-ground: color-mix(in oklab, var(--dab-1) 55%, var(--field));--c-fib: color-mix(in oklab, var(--dab-2) 45%, var(--field));--c-vwall: color-mix(in oklab, var(--dab-1) 60%, var(--field));--c-cyto: color-mix(in oklab, var(--dab-1) 70%, var(--field));--c-lum: color-mix(in oklab, var(--dab-1) 22%, var(--field));--c-vlum: color-mix(in oklab, var(--dab-1) 22%, var(--field))}.hx .tz[data-mode=ihc-rbc]{--c-rbc: var(--dab-3);--c-vwall: color-mix(in oklab, var(--dab-1) 40%, var(--field))}.hx .tx-wax ellipse{fill:color-mix(in oklab,var(--wax) 92%,white);stroke:color-mix(in oklab,var(--wax) 60%,var(--text-secondary));stroke-width:1.5;opacity:.94}.hx .tx-edge{fill:none;stroke:var(--dab-3);stroke-width:34;opacity:.78;filter:blur(6px)}.hx .tz:is([data-mode=hchan],[data-mode=dabchan]){--c-ground: var(--field);--c-fib: oklch(.93 .008 250);--c-vwall: oklch(.94 .006 250);--c-vlum: var(--field);--c-rbc: oklch(.93 .006 250);--c-base: transparent;--c-cyto: var(--field);--c-edge: oklch(.85 .01 250 / .45);--c-d1: var(--field);--c-d2: var(--field);--c-d3: var(--field);--c-lum: var(--field);--c-nuce: oklch(.42 .13 268);--c-nucs: oklch(.42 .13 268)}.hx .tz[data-mode=dabchan]{--c-rbc: color-mix(in oklab, var(--dab-1) 50%, var(--field));--c-d1: var(--dab-1);--c-d2: var(--dab-2);--c-d3: var(--dab-3);--c-nuce: var(--field);--c-nucs: var(--field)}.hx .fov-bg{fill:var(--field)}.hx .fov-ring{fill:none;stroke:var(--plate-line);stroke-width:2}.hx .fov-vig{fill:url(#hx-vignette);pointer-events:none}.hx .hx-vig-0{stop-color:#1d140d;stop-opacity:0}.hx .hx-vig-1{stop-color:#1d140d;stop-opacity:.38}.hx .hx-dab-0{stop-color:var(--dab-2);stop-opacity:.55}.hx .hx-dab-1{stop-color:var(--dab-2);stop-opacity:0}.hx .fx-jar__liquid{fill:color-mix(in oklab,var(--warning-color) 12%,transparent)}.hx .fx-dish{fill:color-mix(in oklab,var(--accent) 6%,transparent)}.hx .fx-chunk{stroke:var(--plate-line);stroke-width:1.2;transform-box:fill-box;transform-origin:center;transition:fill var(--duration-slow) var(--ease-standard),transform var(--hx-scene) var(--ease-out-soft),opacity var(--duration-slow) var(--ease-standard)}.hx .fx-chunk[data-mode=raw]{fill:#e37a84}.hx .fx-chunk[data-mode=fixed]{fill:#dfc0b2}.hx .fx-chunk[data-mode=wax]{fill:#e6d5bb}.hx .scene[data-scene=fix]:is([data-step="2"],[data-step="3"],[data-step="4"]) .fx-chunk{transform:scale(.92)}.hx .scene[data-scene=fix][data-step="1"] .fx-chunk{transform:translateY(12px) rotate(-4deg)}.hx .fx-lens__bg{fill:var(--bg-card-solid);stroke:var(--border-strong);stroke-width:1.2}.hx .fx-lens{transform-origin:446px 250px;transform:scale(.86);transition:opacity var(--duration-slow) var(--ease-standard),transform var(--duration-slower) var(--ease-out-soft)}.hx .fx-lens.is-on{transform:none}.hx .fx-chain{fill:none;stroke:var(--text-secondary);stroke-width:3;stroke-linecap:round}.hx .fx-bridges path{fill:none;stroke:var(--xreact);stroke-width:3.5;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset var(--duration-slower) var(--ease-out-soft)}.hx .fx-lens.is-on .fx-bridges path{stroke-dashoffset:0}.hx .fx-lens.is-on .fx-bridges path:nth-child(2){transition-delay:calc(var(--stagger-step) * 5.5)}.hx .fx-lens.is-on .fx-bridges path:nth-child(3){transition-delay:calc(var(--stagger-step) * 11)}.hx .fx-bath__liq--eth{fill:color-mix(in oklab,var(--accent) 10%,transparent)}.hx .fx-bath__liq--xyl{fill:color-mix(in oklab,var(--warning-color) 14%,transparent)}.hx .fx-bath__liq--wax{fill:var(--wax)}.hx .fx-baths>*{transition:opacity var(--duration-slow) var(--ease-out-soft),transform var(--duration-slow) var(--ease-out-soft)}html.js .hx .fx-baths:not(.is-on)>*{opacity:0;transform:translateY(-10px)}.hx .fx-baths.is-on>:nth-child(2){transition-delay:calc(var(--stagger-step) * 3)}.hx .fx-baths.is-on>:nth-child(3){transition-delay:calc(var(--stagger-step) * 6)}.hx .fx-baths.is-on>:nth-child(4){transition-delay:calc(var(--stagger-step) * 9)}.hx .fx-baths.is-on>:nth-child(5){transition-delay:calc(var(--stagger-step) * 12)}.hx .fx-baths.is-on>:nth-child(6){transition-delay:var(--duration-slow)}.hx .fx-block__wax{fill:var(--wax);stroke:var(--plate-line);stroke-width:1.2}.hx .fx-cassette{fill:color-mix(in oklab,var(--accent) 30%,var(--bg-card-solid));stroke:var(--plate-line);stroke-width:1.2}.hx .fx-blade{fill:color-mix(in oklab,var(--text-secondary) 28%,var(--bg-card-solid));stroke:var(--plate-line);stroke-width:1.2}.hx .fx-ribbon__s{fill:var(--wax);stroke:var(--plate-line);stroke-width:.9}html.js .hx .fx-ribbon__s:nth-child(1){opacity:clamp(0,calc(var(--sp, 0) * 6 - .2),1)}html.js .hx .fx-ribbon__s:nth-child(2){opacity:clamp(0,calc(var(--sp, 0) * 6 - 1.2),1)}html.js .hx .fx-ribbon__s:nth-child(3){opacity:clamp(0,calc(var(--sp, 0) * 6 - 2.2),1)}html.js .hx .fx-ribbon__s:nth-child(4){opacity:clamp(0,calc(var(--sp, 0) * 6 - 3.2),1)}html.js .hx .fx-ribbon__s:nth-child(5){opacity:clamp(0,calc(var(--sp, 0) * 6 - 4.2),1)}.hx .fx-onslide .h-edge{stroke-width:5}.hx .fx-bathwater{fill:color-mix(in oklab,oklch(.75 .08 230) 22%,transparent)}.hx .fx-float{fill:var(--wax);stroke:var(--plate-line);stroke-width:1}html.js .hx .scene[data-scene=fix][data-step="5"] .fx-float{opacity:clamp(0,calc(1.4 - var(--sp, 0) * 2),1);transform:translateY(calc(var(--sp, 0) * 46px))}.hx .fx-glass{fill:color-mix(in oklab,var(--accent) 7%,var(--bg-card-solid));stroke:var(--plate-line);stroke-width:1.2}.hx .fx-frost{fill:color-mix(in oklab,var(--text-muted) 24%,var(--bg-card-solid))}html.js .hx .scene[data-scene=fix] .fx-slide .tz{opacity:clamp(0,calc(var(--sp, 0) * 2.2 - .5),1)}.hx .ch-hex{fill:var(--bg-card-solid);stroke:var(--plate-line);stroke-width:1.6;transition:fill var(--hx-scene) var(--ease-standard)}.hx .ch-hex--pale{fill:color-mix(in oklab,var(--text-muted) 16%,var(--bg-card-solid))}.hx .ch-hex--red,.hx .ch-hex--dye{fill:var(--he-hred)}.hx .scene[data-scene=chem]:is([data-step="4"],[data-step="5"]) :is(.ch-hex--dye,.ch-row>:nth-child(5) .ch-hex--red){fill:var(--he-hema)}.hx .ch-al{fill:color-mix(in oklab,var(--text-secondary) 38%,var(--bg-card-solid));stroke:var(--plate-line);stroke-width:1.4}.hx .ch-sign{font-family:var(--font-mono);font-size:16px;font-weight:700;fill:var(--text-primary)}.hx .ch-minus{fill:var(--he-eosin-deep)}.hx .ch-sign--inv{fill:var(--bg-card-solid)}.hx .ch-eosin{fill:var(--he-eosin);stroke:color-mix(in oklab,var(--he-eosin-deep) 70%,var(--plate-line));stroke-width:1.2}.hx .ch-panel__bg{fill:var(--bg-card-solid);stroke:var(--border);stroke-width:1.2;transition:stroke var(--duration-slow) var(--ease-standard)}.hx .scene[data-scene=chem]:is([data-step="2"],[data-step="3"],[data-step="4"]) .ch-panel--nuc .ch-panel__bg,.hx .scene[data-scene=chem][data-step="5"] .ch-panel--cyto .ch-panel__bg{stroke:var(--accent);stroke-width:2}.hx .ch-phos circle{fill:color-mix(in oklab,var(--accent) 14%,var(--bg-card-solid));stroke:var(--accent);stroke-width:1.4}.hx .ch-amine circle{fill:color-mix(in oklab,var(--he-eosin-deep) 14%,var(--bg-card-solid));stroke:var(--he-eosin-deep);stroke-width:1.4}.hx :is(.ch-phos-sign,.ch-amine-sign) text{font-family:var(--font-mono);font-size:14px;font-weight:700;text-anchor:middle}.hx .ch-phos-sign text{fill:var(--accent)}.hx .ch-amine-sign text{fill:var(--he-eosin-deep)}.hx :is(.ch-dock--h,.ch-dock--e) use{transform-box:fill-box;transform-origin:center;transition:transform var(--duration-slower) var(--ease-out-soft),opacity var(--duration-slow) var(--ease-out-soft)}html.js .hx :is(.ch-dock--h,.ch-dock--e):not(.is-on) use{transform:translateY(-34px) rotate(-30deg);opacity:0}.hx :is(.ch-dock--h,.ch-dock--e).is-on use:nth-of-type(2){transition-delay:calc(var(--stagger-step) * 2.25)}.hx :is(.ch-dock--h,.ch-dock--e).is-on use:nth-of-type(3){transition-delay:calc(var(--stagger-step) * 4.5)}.hx :is(.ch-dock--h,.ch-dock--e).is-on use:nth-of-type(4){transition-delay:calc(var(--stagger-step) * 6.75)}.hx :is(.ch-dock--h,.ch-dock--e).is-on use:nth-of-type(5){transition-delay:calc(var(--stagger-step) * 9)}.hx :is(.ch-dock--h,.ch-dock--e).is-on use:nth-of-type(6){transition-delay:calc(var(--stagger-step) * 11.25)}.hx .ch-ph__bg{fill:color-mix(in oklab,var(--accent) 14%,var(--bg-card-solid));stroke:var(--accent);stroke-width:1.2}.hx .line-cam{transform:translate(calc(var(--camx, 0) * 1px));will-change:transform}.hx .rack{transform:translateY(calc(var(--rackdy, 0) * 1px));will-change:transform}.hx .rack__frame{fill:none;stroke:var(--plate-line);stroke-width:1.6}.hx .rack__slide{fill:color-mix(in oklab,var(--accent) 10%,var(--bg-card-solid));stroke:var(--plate-line);stroke-width:1}.hx .line-bench{stroke:var(--border-strong);stroke-width:1.5}.hx .jar__liq{fill:color-mix(in oklab,var(--accent) 6%,transparent)}.hx .jar--xyl .jar__liq{fill:color-mix(in oklab,var(--warning-color) 12%,transparent)}.hx .jar--eth .jar__liq{fill:color-mix(in oklab,var(--accent) 8%,transparent)}.hx .jar--water .jar__liq{fill:color-mix(in oklab,oklch(.75 .08 230) 26%,transparent)}.hx .jar--hema .jar__liq{fill:color-mix(in oklab,var(--he-hema) 78%,transparent)}.hx .jar--acid .jar__liq{fill:color-mix(in oklab,var(--he-hred) 22%,transparent)}.hx .jar--blue .jar__liq{fill:color-mix(in oklab,oklch(.6 .12 250) 52%,transparent)}.hx .jar--eosin .jar__liq{fill:color-mix(in oklab,var(--he-eosin) 82%,transparent)}.hx .jar--mount .jar__liq{fill:color-mix(in oklab,var(--warning-color) 32%,transparent)}.hx .jar__glass{fill:color-mix(in oklab,var(--accent) 8%,var(--bg-card-solid));stroke:var(--plate-line);stroke-width:1.2}.hx .jar .ink{transition:stroke var(--duration-slow) var(--ease-standard)}.hx .jar.is-cur .ink{stroke:var(--accent)}.hx .jar__name{fill:var(--text-muted);transition:fill var(--duration-slow) var(--ease-standard)}.hx .jar.is-cur .jar__name{fill:var(--text-primary);font-weight:700}.hx .line-info__k{letter-spacing:.18em}.hx .line-dot{fill:var(--bg-card-solid);stroke:var(--border-strong);stroke-width:1.4;transition:fill var(--duration-base) var(--ease-standard),stroke var(--duration-base) var(--ease-standard)}.hx .line-dot.is-on{fill:var(--accent);stroke:var(--accent)}.hx .line-dots .leader{stroke-dasharray:none;opacity:.35}.hx .line-dot{paint-order:stroke}.hx .fov-cover path{fill:none;stroke:var(--accent);stroke-width:2;stroke-linecap:round;opacity:.6}.hx .read-cam{transform-box:view-box;transform-origin:0 0;transition:transform var(--hx-camera) var(--ease-out-soft)}.hx .scene[data-scene=read][data-step="1"] .read-cam{transform:translate(280px,210px) scale(2.6) translate(-203px,-272px)}.hx .scene[data-scene=read][data-step="2"] .read-cam{transform:translate(280px,210px) scale(2.3) translate(-118px,-178px)}.hx .scene[data-scene=read][data-step="3"] .read-cam{transform:translate(280px,210px) scale(2.2) translate(-280px,-342px)}.hx .scene[data-scene=read][data-step="4"] .read-cam{transform:translate(280px,210px) scale(3) translate(-111px,-333px)}.hx .scene[data-scene=read][data-step="5"] .read-cam{transform:translate(280px,210px) scale(1.9) translate(-425px,-126px)}.hx .scene[data-scene=read] .plate-chip{opacity:1;transform:none;max-width:calc(100% - 2 * var(--space-md))}.hx .read-swatch{animation:none;width:.7rem;height:.7rem;background:linear-gradient(90deg,var(--he-hema) 50%,var(--he-eosin) 50%);transition:background var(--duration-slow) var(--ease-standard)}.hx .scene[data-scene=read][data-step="1"] .read-swatch{background:var(--he-hema)}.hx .scene[data-scene=read][data-step="2"] .read-swatch{background:var(--he-eosin)}.hx .scene[data-scene=read][data-step="3"] .read-swatch{background:var(--he-fib)}.hx .scene[data-scene=read][data-step="4"] .read-swatch{background:var(--he-rbc)}.hx .scene[data-scene=read][data-step="5"] .read-swatch{background:var(--field);box-shadow:inset 0 0 0 1px var(--border-strong)}.hx .ih-mol{transform-origin:276px 240px;transition:opacity var(--duration-slower) var(--ease-standard),transform var(--hx-scene) var(--ease-out-soft)}.hx .scene[data-scene=ihc][data-step="7"] .ih-mol{opacity:0;transform:scale(.22)}.hx .ih-ground{fill:color-mix(in oklab,var(--text-secondary) 10%,var(--bg-card-solid))}.hx .ih-ground-hatch{fill:url(#hx-hatch);opacity:.35}.hx .ih-antigen{fill:color-mix(in oklab,var(--accent) 20%,var(--bg-card-solid));stroke:var(--accent);stroke-width:1.6}.hx .ih-epitope{fill:none;stroke:var(--accent);stroke-width:5;stroke-linecap:round;transition:stroke var(--duration-slow) var(--ease-standard),stroke-dasharray var(--duration-slow) var(--ease-standard)}.hx .scene[data-scene=ihc][data-step="1"] .ih-epitope{stroke:var(--text-muted);stroke-dasharray:2 5}.hx .ih-neigh ellipse{fill:color-mix(in oklab,var(--text-secondary) 22%,var(--bg-card-solid));stroke:var(--text-secondary);stroke-width:1.2;transition:transform var(--hx-scene) var(--ease-out-soft)}.hx .scene[data-scene=ihc][data-step="1"] .ih-neigh ellipse:nth-child(1){transform:translate(14px,4px)}.hx .scene[data-scene=ihc][data-step="1"] .ih-neigh ellipse:nth-child(2){transform:translate(-14px,4px)}.hx .scene[data-scene=ihc][data-step="1"] .ih-neigh ellipse:nth-child(3){transform:translateY(10px)}.hx .scene[data-scene=ihc]:not([data-step="0"]):not([data-step="1"]) .ih-neigh ellipse:nth-child(1){transform:translate(-22px,10px)}.hx .scene[data-scene=ihc]:not([data-step="0"]):not([data-step="1"]) .ih-neigh ellipse:nth-child(2){transform:translate(24px,10px)}.hx .scene[data-scene=ihc]:not([data-step="0"]):not([data-step="1"]) .ih-neigh ellipse:nth-child(3){transform:translate(-124px,-26px)}.hx .scene[data-scene=ihc]:is([data-step="5"],[data-step="6"]) .ih-neigh ellipse:nth-child(3){transform:translate(-170px,-40px);opacity:0}.hx .ih-bridge path{fill:none;stroke:var(--xreact);stroke-width:3;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset var(--duration-slower) var(--ease-out-soft)}.hx .ih-bridge.is-on path{stroke-dashoffset:0}.hx .ih-bridge .lab{fill:var(--xreact)}.hx .ih-heat path{fill:none;stroke:var(--error-color);stroke-width:2.5;stroke-linecap:round;stroke-dasharray:10 12;opacity:.7;animation:hx-rise calc(var(--duration-pulse) * 1.07) linear infinite}.hx .ih-therm{fill:var(--bg-card-solid);stroke:var(--plate-line);stroke-width:1.2}.hx .ih-therm__fill{fill:var(--error-color);transform-box:fill-box;transform-origin:bottom;transform:scaleY(.15);transition:transform var(--hx-grow) var(--ease-out-soft)}.hx .ih-heat.is-on .ih-therm__fill{transform:none}.hx .ih-block circle{fill:color-mix(in oklab,var(--text-muted) 45%,var(--bg-card-solid));stroke:var(--text-secondary);stroke-width:1;transform-box:fill-box;transform-origin:center;transition:transform var(--duration-slow) var(--ease-out-soft);transition-delay:calc(var(--bi, 0) * calc(var(--stagger-step) * 1.75))}html.js .hx .ih-block:not(.is-on) circle{transform:scale(0)}.hx .ih-y--1{color:var(--accent)}.hx .ih-y--2{color:var(--text-secondary)}.hx .ih-enz{color:var(--xreact)}.hx .ih-ab1,.hx .ih-poly{transition:opacity var(--duration-slow) var(--ease-standard),transform var(--hx-scene) var(--ease-out-soft)}html.js .hx .ih-ab1:not(.is-on){transform:translateY(-70px)}html.js .hx .ih-poly:not(.is-on){transform:translateY(-46px)}.hx .ih-poly__chain{fill:none;stroke:var(--text-secondary);stroke-width:3;stroke-linecap:round;stroke-dasharray:2 7}.hx .ih-dab__cloud{fill:url(#hx-dab-cloud);transform-box:fill-box;transform-origin:center;transition:transform var(--hx-grow) var(--ease-out-soft)}html.js .hx .ih-dab:not(.is-on) .ih-dab__cloud{transform:scale(.3)}.hx .ih-dab__grains circle{fill:var(--dab-3);transform-box:fill-box;transform-origin:center;transition:transform var(--duration-slow) var(--ease-out-soft);transition-delay:calc(calc(var(--stagger-step) * 10) + var(--bi, 0) * calc(var(--stagger-step) * 2.25))}html.js .hx .ih-dab:not(.is-on) .ih-dab__grains circle{transform:scale(0)}.hx .ih-zoom{transform-origin:280px 210px;transition:opacity var(--hx-scene) var(--ease-standard),transform var(--hx-camera) var(--ease-out-soft)}html.js .hx .ih-zoom:not(.is-on){transform:scale(1.3)}.hx .clk-face{fill:var(--bg-card-solid);stroke:var(--border);stroke-width:1.2}.hx .clk-tick{stroke:var(--text-muted);stroke-width:1.2}.hx .clk-arc{fill:none;stroke-width:20}.hx .clk-arc--bg{stroke:color-mix(in oklab,var(--text-secondary) 12%,transparent)}.hx .clk-arc--fill{stroke:var(--kc);stroke-dasharray:1 1;stroke-dashoffset:calc(1 - var(--f, 0))}html:not(.js) .hx .clk-arc--fill{stroke-dashoffset:0}.hx .clk-arc--prep{--kc: var(--text-secondary)}.hx .clk-arc--heat{--kc: var(--error-color)}.hx .clk-arc--block{--kc: color-mix(in oklab, var(--text-secondary) 50%, var(--accent))}.hx .clk-arc--ab{--kc: var(--accent)}.hx .clk-arc--dab{--kc: var(--dab-2)}.hx .clk-arc--hema{--kc: var(--he-hema)}.hx .clk-sw{fill:var(--kc);stroke:none}.hx .clk-min{font-family:var(--font-display);font-size:46px;font-weight:600;fill:var(--text-primary);font-variant-numeric:tabular-nums}.hx .clk-row{opacity:.4;transition:opacity var(--duration-base) var(--ease-standard)}.hx .clk-row.is-done{opacity:.75}.hx .clk-row.is-on{opacity:1}.hx .clk-row.is-on .lab--sm{fill:var(--text-primary);font-weight:700}.hx .clk-drop{fill:color-mix(in oklab,oklch(.72 .1 230) 55%,transparent);stroke:#328bb0;stroke-width:1.2;animation:hx-bob calc(var(--duration-pulse) * 1.6) var(--ease-in-out) infinite}.hx .fig--quant{display:grid;grid-template-columns:minmax(0,1fr) 13rem;gap:var(--space-md);align-items:center}.hx .q3d{position:relative;display:grid;place-items:center;height:100%;perspective:1400px}.hx .q3d__stage{position:relative;width:min(100%,30rem);aspect-ratio:4 / 3;transform-style:preserve-3d;transition:transform var(--hx-camera) var(--ease-out-soft)}.hx .q-layer{position:absolute;inset:0;overflow:hidden;border:1px solid var(--border-strong);border-radius:var(--radius-control);background:var(--field);box-shadow:0 18px 40px var(--shadow-ink-strong);transition:transform var(--hx-camera) var(--ease-out-soft),opacity var(--duration-slower) var(--ease-standard)}.hx .q-layer svg{display:block;width:100%;height:100%}.hx .q-tag{position:absolute;top:.5rem;left:.5rem;padding:calc(var(--space-3xs) / 2) var(--space-xs);border:1px solid var(--border);border-radius:999px;background:var(--bg-card-solid);color:var(--text-secondary);font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:.08em}html.js .hx .scene[data-scene=quant][data-step="0"] :is(.q-layer--h,.q-layer--dab){opacity:0}.hx .scene[data-scene=quant][data-step="1"] .q3d__stage{transform:rotateX(56deg) rotate(-32deg) scale(.86)}.hx .scene[data-scene=quant][data-step="1"] .q-layer--h{transform:translateZ(80px)}.hx .scene[data-scene=quant][data-step="1"] .q-layer--dab{transform:translateZ(160px)}html.js .hx .scene[data-scene=quant]:is([data-step="2"],[data-step="3"],[data-step="4"]) :is(.q-layer--rgb,.q-layer--h){opacity:0}.hx .q-ring{fill:none;stroke-width:2.8;opacity:0;transition:opacity var(--duration-slow) var(--ease-standard)}.hx .scene[data-scene=quant]:is([data-step="3"],[data-step="4"]) .q-ring{opacity:1}.hx .scene[data-scene=quant]:is([data-step="3"],[data-step="4"]) .q-ring--1{transition-delay:calc(var(--stagger-step) * 3.75)}.hx .scene[data-scene=quant]:is([data-step="3"],[data-step="4"]) .q-ring--2{transition-delay:calc(var(--stagger-step) * 7.5)}.hx .scene[data-scene=quant]:is([data-step="3"],[data-step="4"]) .q-ring--3{transition-delay:calc(var(--stagger-step) * 11.25)}html:not(.js) .hx .q-ring{opacity:1}.hx .q-ring--0,.hx .qsw--0,.hx .qbar__fill--0{--qc: oklch(.7 .06 250)}.hx .q-ring--1,.hx .qsw--1,.hx .qbar__fill--1{--qc: oklch(.8 .15 92)}.hx .q-ring--2,.hx .qsw--2,.hx .qbar__fill--2{--qc: oklch(.68 .17 52)}.hx .q-ring--3,.hx .qsw--3,.hx .qbar__fill--3{--qc: oklch(.55 .2 28)}.hx .q-ring{stroke:var(--qc)}.hx .qpanel{display:grid;gap:var(--space-md);font-size:var(--text-sm);color:var(--text-secondary)}.hx .qlegend{display:grid;gap:var(--space-3xs);margin:0;padding:0;list-style:none}.hx .qlegend li{display:flex;align-items:center;gap:var(--space-xs)}.hx .qsw{display:inline-block;width:.85rem;height:.85rem;border-radius:3px;background:var(--qc)}.hx .qbars{display:grid;gap:var(--space-2xs)}.hx .qbar{display:grid;grid-template-columns:1.8rem minmax(0,1fr) 2.6rem;align-items:center;gap:var(--space-xs);font-family:var(--font-mono);font-size:var(--text-xs)}.hx .qbar__track{height:.55rem;overflow:hidden;border-radius:999px;background:var(--shape-wash)}.hx .qbar__fill{display:block;height:100%;border-radius:inherit;background:var(--qc);transform:scaleX(var(--w, 0));transform-origin:left;transition:transform var(--hx-scene) var(--ease-out-soft)}html.js .hx .qbars:not(.is-on) .qbar__fill{transform:scaleX(0)}.hx .qbar__v{text-align:right}.hx .qformula{margin:var(--space-xs) 0 0;font-family:var(--font-mono);font-size:var(--text-xs);color:var(--text-primary)}.hx .qformula strong{color:var(--accent);font-size:var(--text-base)}.hx .phlab{display:grid;grid-template-columns:minmax(0,18rem) minmax(0,1fr);gap:var(--space-lg);align-items:center;max-width:56rem;margin:var(--space-xl) auto;padding:var(--space-lg);border:1px solid var(--border);border-radius:var(--radius-region);background:var(--bg-card);box-shadow:var(--shadow-whisper)}.hx .phlab__swatch svg{display:block;width:100%;border-radius:var(--radius-control);border:1px solid var(--border)}.hx .phlab input[type=range]{width:100%;accent-color:var(--accent)}.hx .phlab output{font-family:var(--font-display);font-size:var(--text-2xl);font-weight:600;color:var(--text-primary);font-variant-numeric:tabular-nums}.hx .phlab__state{min-height:3em;margin:var(--space-xs) 0 0;color:var(--text-primary)}.hx .ctrl-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-md);max-width:76rem;margin:var(--space-lg) auto 0;padding:0 var(--space-md)}.hx .ctrl{padding:var(--space-md);border:1px solid var(--border);border-radius:var(--radius-region);background:var(--bg-card)}.hx .ctrl svg{display:block;width:100%;aspect-ratio:4 / 3;border-radius:var(--radius-control)}.hx .ctrl h3{margin:var(--space-sm) 0 var(--space-3xs);font-size:var(--text-base)}.hx .ctrl p{margin:0;font-size:var(--text-sm);color:var(--text-secondary)}.hx .ctrl b{color:var(--text-primary)}.hx .calc{max-width:44rem;margin:var(--space-xl) auto;padding:var(--space-lg);border:1px solid var(--border);border-radius:var(--radius-region);background:var(--bg-card);box-shadow:var(--shadow-whisper)}.hx .calc__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-sm)}.hx .calc label{display:grid;gap:var(--space-3xs);font-size:var(--text-sm);color:var(--text-secondary)}.hx .calc input{width:100%;padding:var(--space-xs) var(--space-sm);border:1px solid var(--border-strong);border-radius:var(--radius-control);background:var(--input-bg);color:var(--text-primary);font-family:var(--font-mono);font-size:var(--text-base)}.hx .calc input:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.hx .calc__out{display:flex;flex-wrap:wrap;gap:var(--space-lg);margin-top:var(--space-md);font-family:var(--font-mono);font-size:var(--text-sm);color:var(--text-secondary)}.hx .calc__out b{font-family:var(--font-display);font-size:var(--text-2xl);color:var(--accent)}.hx .calc__title{margin:0 0 var(--space-3xs);font-size:var(--text-lg)}.hx .calc__hint{margin:0 0 var(--space-md);font-size:var(--text-sm);color:var(--text-muted)}.hx .calc__warn{margin:var(--space-xs) 0 0;font-size:var(--text-sm);color:var(--error-color)}.hx .phlab__ctl label{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-sm);font-size:var(--text-sm);color:var(--text-secondary)}.hx .phlab figcaption{margin-top:var(--space-xs);font-size:var(--text-sm);color:var(--text-muted)}.hx .step__note{margin-top:var(--space-sm);padding-left:var(--space-sm);border-left:2px solid var(--accent);font-size:var(--text-sm);color:var(--text-secondary)}.hx .refs{font-size:var(--text-sm);color:var(--text-secondary)}.hx .refs li{margin-bottom:var(--space-2xs)}.hx .hero{position:relative;display:grid;grid-template-columns:minmax(0,1.05fr) 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)}.hx .hero__copy{max-width:40rem}.hx .hero .lede{max-width:36ch;font-size:var(--text-xl)}.hx .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.05 / 2.05);margin:0;color:var(--text-secondary);font-size:var(--text-sm);text-align:center}.hx .scroll-hint__line{display:block;width:1px;height:2.75rem;background:var(--text-secondary);transform-origin:top center;animation:hx-cue var(--duration-pulse) var(--ease-in-out) infinite}.hx .hero3d{position:relative;z-index:0;isolation:isolate;display:grid;place-items:center;height:min(70vh,36rem);perspective:1500px;--hp: 0;--mx: 0;--my: 0}.hx .hero3d__stage{position:relative;width:min(100%,27rem);aspect-ratio:4 / 3;transform-style:preserve-3d;transform:rotateX(calc(52deg - var(--hp) * 10deg + var(--my) * -6deg)) rotate(calc(-30deg + var(--hp) * 8deg + var(--mx) * 6deg));transition:transform var(--duration-moderate) var(--ease-out-soft)}.hx .h-layer{position:absolute;inset:0;transform:translateZ(calc(var(--lz, 0) * (28px + var(--hp) * 120px)));transform-style:preserve-3d;animation:hx-float var(--duration-ambient) var(--ease-in-out) infinite;animation-delay:calc(var(--lz, 0) * var(--stagger-step) * -3)}.hx .h-layer--glass{--lz: 0;border:1px solid var(--border-strong);border-radius:var(--radius-control);background:color-mix(in oklab,var(--accent) 7%,var(--bg-card-solid));box-shadow:0 30px 60px var(--shadow-ink-strong)}.hx .h-layer--raw{--lz: 1}.hx .h-layer--he{--lz: 2}.hx .h-layer--ihc{--lz: 3}.hx .h-layer svg{position:absolute;inset:8% 4% 8% 26%;width:70%;height:84%;filter:drop-shadow(0 10px 16px var(--shadow-ink-strong))}.hx .h-frost{position:absolute;inset:0 auto 0 0;display:grid;place-items:center;width:22%;border-right:1px solid var(--border-strong);border-radius:var(--radius-control) 0 0 var(--radius-control);background:repeating-linear-gradient(45deg,color-mix(in oklab,var(--text-muted) 26%,transparent) 0 2px,transparent 2px 6px);color:var(--text-secondary);font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:.16em;writing-mode:vertical-rl}.hx .h-tag{position:absolute;top:2%;left:27%;padding:calc(var(--space-3xs) / 2) var(--space-xs);border:1px solid var(--border);border-radius:999px;background:var(--bg-card-solid);color:var(--text-secondary);font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:.08em;opacity:clamp(0,calc(var(--hp) * 3 - .15),1);transform:translateZ(1px)}@keyframes hx-rise{to{stroke-dashoffset:-44}}@keyframes hx-bob{0%,to{transform:translateY(0)}50%{transform:translateY(6px)}}@media(min-width:1100px){.hx .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)}.hx .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}.hx .scene{display:grid;grid-template-columns:minmax(0,36%) minmax(0,64%);column-gap:var(--space-xl);align-items:start}.hx .scene__steps{grid-column:1;grid-row:1}.hx .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}.hx .step{min-height:88vh;padding-top:0;background:transparent}.hx .plate{padding:var(--space-lg)}.hx .route{grid-template-columns:repeat(8,minmax(0,1fr))}.hx .chain ol,.hx .tl ol{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(max-width:1099px){.hx .route{grid-template-columns:repeat(4,minmax(0,1fr))}.hx .route li:after{display:none}.hx .gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.hx .tl ol{grid-template-columns:repeat(4,minmax(0,1fr))}.hx .ctrl-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:720px){.hx .hero{grid-template-columns:1fr;align-content:center}.hx .hero3d{order:-1;height:34svh}.hx .hero3d__stage{width:min(58vw,15rem)}.hx .scroll-hint{position:static;width:100%}.hx .vignette{float:none;margin:0 auto var(--space-md)}.hx .chain ol,.hx .tl ol,.hx .fork,.hx .calc,.hx .gallery{grid-template-columns:1fr}.hx .route{grid-template-columns:repeat(2,minmax(0,1fr))}.hx .calc__grid{grid-template-columns:repeat(3,minmax(0,1fr))}.hx .phlab{grid-template-columns:1fr;gap:var(--space-md);padding:var(--space-md)}.hx .ctrl-grid{grid-template-columns:1fr}.hx .chain__track,.hx .tl__track{top:0;bottom:0;left:.2rem;right:auto;width:1px;height:auto}.hx .chain ol,.hx .tl ol{padding:0 0 0 var(--space-lg)}.hx .chain li:before,.hx .tl li:before{top:.35rem;left:calc(-1 * var(--space-lg) + .05rem)}.hx .chain__line,.hx .tl__line{transform-origin:top center}.hx .fig--quant{grid-template-columns:1fr;grid-template-rows:minmax(0,1fr) auto;gap:var(--space-xs)}.hx .qpanel{display:flex;flex-wrap:wrap;gap:var(--space-xs) var(--space-md)}.hx .qlegend{display:flex;flex-wrap:wrap;gap:var(--space-3xs) var(--space-sm)}.hx .qbars:not(.is-on){display:none}.hx .qbars{width:100%}.hx .take li{font-size:var(--text-xl)}}@supports (animation-timeline: view()){.hx .reveal{animation:motion-rise both;animation-timeline:view();animation-range:entry 0% cover 28%}.hx .progress__bar{animation:hx-progress both;animation-timeline:scroll(root)}.hx .chain__line,.hx .tl__line{animation:hx-spine-x both;animation-timeline:view();animation-range:entry 12% cover 70%}.hx .route li{--motion-rise-distance: 12px;animation:motion-rise both;animation-timeline:view()}.hx .route li:nth-child(1){animation-range:entry 0% cover 22%}.hx .route li:nth-child(2){animation-range:entry 4% cover 26%}.hx .route li:nth-child(3){animation-range:entry 8% cover 30%}.hx .route li:nth-child(4){animation-range:entry 12% cover 34%}.hx .route li:nth-child(5){animation-range:entry 16% cover 38%}.hx .route li:nth-child(6){animation-range:entry 20% cover 42%}.hx .route li:nth-child(7){animation-range:entry 24% cover 46%}.hx .route li:nth-child(8){animation-range:entry 28% cover 50%}.hx .tl li{animation:hx-line-on both;animation-timeline:view()}.hx .tl li:nth-child(1){animation-range:cover 14% cover 30%}.hx .tl li:nth-child(2){animation-range:cover 26% cover 42%}.hx .tl li:nth-child(3){animation-range:cover 38% cover 54%}.hx .tl li:nth-child(4){animation-range:cover 50% cover 66%}.hx .tl li:nth-child(5){animation-range:cover 62% cover 78%}.hx .tl li:nth-child(6){animation-range:cover 70% cover 86%}.hx .tl li:nth-child(7){animation-range:cover 74% cover 88%}.hx .tl li:nth-child(8){animation-range:cover 78% cover 90%}.hx .take li{animation:motion-rise both;animation-timeline:view()}.hx .take li:nth-child(1){animation-range:entry 0% cover 34%}.hx .take li:nth-child(2){animation-range:entry 14% cover 52%}.hx .take li:nth-child(3){animation-range:entry 28% cover 70%}.hx .ctrl:nth-child(2){animation-range:entry 6% cover 32%}.hx .ctrl:nth-child(3){animation-range:entry 12% cover 36%}.hx .ctrl:nth-child(4){animation-range:entry 18% cover 40%}.hx .gallery .tcard:nth-child(2n){animation-range:entry 6% cover 32%}}@media(max-width:720px){@supports (animation-timeline: view()){.hx .chain__line,.hx .tl__line{animation-name:hx-spine-y}}}@keyframes hx-cue{0%,to{transform:scaleY(.35)}50%{transform:scaleY(1)}}@keyframes hx-float{0%,to{translate:0 0 0}50%{translate:0 0 10px}}@keyframes hx-glow{0%{opacity:.45}to{opacity:1}}@keyframes hx-blink{0%,to{opacity:1}50%{opacity:.3}}@keyframes hx-progress{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes hx-spine-x{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes hx-spine-y{0%{transform:scaleY(0)}to{transform:scaleY(1)}}@keyframes hx-line-on{0%{color:var(--text-muted)}to{color:color-mix(in oklab,var(--text-primary) 80%,var(--text-secondary))}}@media(prefers-reduced-motion:reduce){.hx .h-layer,.hx .ih-heat path,.hx .clk-drop,.hx .plate-chip__dot{animation:none}.hx .hero3d__stage,.hx .read-cam,.hx .ih-mol,.hx .ih-zoom,.hx .q3d__stage,.hx .q-layer{transition:none}}
