:root{
  --paper:#f3f0e8;
  --paper-deep:#e7e2d7;
  --ink:#11120f;
  --muted:#686860;
  --rule:#b9b5aa;
  --blue:#173f53;
  --live:#b3472e;
  --night:#111618;
  --night-ink:#f2efe7;
  --sans:"Barlow","Helvetica Neue",Arial,sans-serif;
  --serif:"Crimson Pro",Georgia,serif;
  --page:1360px;
  --margin:clamp(18px,4vw,64px);
  --section:clamp(54px,5.4vw,84px);
  --display-name:max(52px,min(clamp(3.25rem,8vw,7.375rem),13.5vw));
  --display:max(50px,min(clamp(3.125rem,6.4vw,5.75rem),13vw));
  --head-xl:clamp(1.875rem,4.6vw,4.125rem);
  --head-lg:max(24px,min(clamp(1.5rem,3.3vw,3rem),10.5vw));
  --head-md:clamp(1.25rem,2.4vw,2.125rem);
  --head-sm:clamp(1.0625rem,1.55vw,1.375rem);
  --chapter:clamp(2.75rem,4.2vw,4.125rem);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--mast,58px) + 12px)}
a,button{scroll-margin-top:calc(var(--mast,58px) + 12px)}
body{margin:0;min-height:100vh;display:flex;flex-direction:column;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:1rem;line-height:1.5;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%;height:auto}
figure{margin:0}
a{color:inherit;text-decoration-thickness:1px;text-underline-offset:5px;transition:color 120ms ease,text-decoration-color 120ms ease,text-decoration-thickness 120ms ease}
a:hover{text-decoration-color:currentColor;text-decoration-thickness:2px}
.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.skip{position:fixed;left:16px;top:-80px;z-index:100;background:var(--ink);color:white;padding:10px 14px}
.skip:focus{top:12px}
main:focus{outline:none}
:focus-visible{outline:2px solid var(--live);outline-offset:4px}
#main{flex:1 0 auto}
.masthead{position:sticky;top:0;z-index:20;min-height:58px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:0 20px;padding:0 var(--margin);background:var(--paper)}
.masthead .name{font-weight:600;text-decoration:none;font-size:1.0625rem;letter-spacing:-.01em;white-space:nowrap}
.masthead nav{display:flex;align-items:center;gap:clamp(14px,2vw,30px);font-size:.9375rem}
.masthead nav a{text-decoration:none;white-space:nowrap;color:var(--muted);color:color-mix(in srgb,var(--ink) 65%,var(--muted));padding-block:6px}
.masthead nav a:hover{color:var(--ink)}
.masthead nav a[aria-current="page"]{color:var(--ink);font-weight:500}
.masthead nav a[aria-current="location"]{color:var(--ink);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:5px;text-decoration-color:var(--rule)}
.reader-rule{position:absolute;left:0;right:0;bottom:0;height:1px;background:rgba(17,18,15,.16)}
.reader-rule i{position:absolute;left:0;top:0;height:1px;width:0;max-width:100%;background:var(--blue);opacity:.5}
.reader-rule i:after{content:"";position:absolute;right:0;top:-2px;width:5px;height:5px;border-radius:50%;background:var(--live)}
.wrap{width:min(calc(100% - 2 * var(--margin)),var(--page));margin-inline:auto}
.grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:clamp(18px,2vw,32px);row-gap:clamp(40px,5vw,72px);align-items:start}
.c1-3{grid-column:1/4}.c1-5{grid-column:1/6}.c1-6{grid-column:1/7}.c1-7{grid-column:1/8}.c1-8{grid-column:1/9}.c1-11{grid-column:1/12}.c1-12{grid-column:1/-1}.c3-12{grid-column:3/-1}.c4-12{grid-column:4/-1}.c6-12{grid-column:6/-1}.c7-11{grid-column:7/12}.c6-10{grid-column:6/11}.c7-12{grid-column:7/-1}.c8-11{grid-column:8/12}.c8-12{grid-column:8/-1}.c9-12{grid-column:9/-1}.c10-12{grid-column:10/-1}.meta{font-family:var(--sans);font-size:.75rem;line-height:1.35;color:var(--muted);letter-spacing:.025em;margin:0}
h2.meta,h3.meta{font-weight:400}
.caption,figcaption{font-family:var(--sans);font-size:.75rem;line-height:1.5;color:var(--muted);margin-top:10px;max-width:56ch}
.caption a,figcaption a{color:var(--muted)}
.display,h1,h2,h3{font-family:var(--serif);font-weight:450;letter-spacing:-.022em}
.display,h1,h2,h3,.chapter-next b,.record-title{text-wrap:balance}
.display{font-size:var(--display);line-height:.94;margin:.22em 0 0}
.prose{font-family:var(--serif);font-size:clamp(1.125rem,1.35vw,1.3125rem);line-height:1.56;max-width:62ch}
.prose p{margin:0 0 .85em}
.prose b{font-weight:600}
.prose p:last-child{margin-bottom:0}
.prose h2{font-family:var(--serif);font-size:var(--head-lg);line-height:1.04;margin:0 0 .45em;max-width:19ch;font-weight:450;letter-spacing:-.022em}
.enter{display:inline-block;font-family:var(--sans);font-size:.8125rem;margin-top:22px}
.sources{display:flex;flex-wrap:wrap;gap:12px 24px;margin-top:24px;font-family:var(--sans);font-size:.8125rem}
.chapter-open{padding-top:clamp(52px,5.5vw,86px);padding-bottom:var(--chapter)}
.chapter-open .display{max-width:16ch;text-wrap:balance}
.chapter-open .marginal{align-self:start;margin-top:.35em}
.chapter-open-lede{row-gap:clamp(24px,2.8vw,42px)}
.chapter-open-lede .open-head{grid-row:1}
.chapter-open-lede .standfirst{grid-row:2}
.chapter-open-lede .marginal{grid-row:1}
.marginal{font-family:var(--sans);font-size:.8125rem;line-height:1.5;color:var(--muted)}
.marginal b{display:block;color:var(--ink);font-weight:600;margin-bottom:5px}
.chapter-copy{padding-top:var(--chapter);padding-bottom:var(--chapter)}
.chapter-copy+.chapter-copy{padding-top:0}
.section{padding-top:var(--section);padding-bottom:var(--section)}
.section+.section,.chapter-copy+.section{padding-top:0}
.section-head{display:flex;justify-content:space-between;gap:28px;align-items:baseline;margin-bottom:clamp(30px,3.4vw,52px);border-top:1px solid var(--ink);padding-top:16px}
.section-head h2{font-family:var(--serif);font-size:var(--head-lg);line-height:1.02;margin:0;max-width:24ch;font-weight:450;text-wrap:balance}
.section-head>.meta,.section-head>span{font-size:.75rem;color:var(--muted);text-align:right;white-space:nowrap}
.device{display:block;border:1px solid rgba(17,18,15,.2);border-radius:16px;overflow:hidden;background:var(--paper-deep)}
.device img{width:100%}
.home-safey .device{border-color:rgba(242,239,231,.24);background:#1b2124}
.chapter-next{border-top:1px solid var(--ink);margin-bottom:clamp(60px,6vw,96px)}
.chapter-next a{display:grid;grid-template-columns:minmax(7.5rem,.22fr) 1fr;gap:3vw;align-items:baseline;text-decoration:none;padding:20px 0}
.chapter-next span{font-size:.75rem;color:var(--muted)}
.chapter-next b{font-family:var(--serif);font-size:var(--head-lg);font-weight:450;line-height:1.04;letter-spacing:-.022em}
.chapter-next b:after{content:"\00a0\00a0\2192";content:"\00a0\00a0\2192" / "";color:var(--muted)}
.chapter-next a:hover b{text-decoration:underline;text-underline-offset:7px;text-decoration-thickness:1px}
.home-hero{padding-top:clamp(36px,4.4vw,72px);padding-bottom:var(--section);row-gap:clamp(26px,3vw,48px);align-items:start}
.hero-name h1{margin:0;font-size:clamp(min(4rem,16.4vw),10.4vw,10.25rem);line-height:.82;letter-spacing:-.052em;font-weight:500}
.hero-window{grid-row:1/4;align-self:start;margin-top:clamp(10px,1.4vw,22px)}
.hero-window .plate{grid-area:1/1;aspect-ratio:4/5;overflow:hidden;background:#161210;opacity:0;transition:opacity 520ms ease}
.hero-window{display:grid}
.hero-window>figcaption{grid-row:2;grid-column:1}
.hero-window .plate.is-current{opacity:1}
.hero-window .plate img{width:100%;height:100%;object-fit:cover;transform:scale(1.035);transition:transform 1400ms cubic-bezier(.2,.7,.2,1)}
.hero-window .plate.is-current img{transform:none}
.hero-window .plate[data-plate="safey"]{background:var(--night);display:grid;place-items:center}
.hero-window .plate .plate-screen{width:54%;height:auto;object-fit:contain;border:1px solid rgba(242,239,231,.22);border-radius:14px}
.hero-window .plate[data-plate="lung"]{background:#e4ded4}
.hero-window figcaption{max-width:40ch;display:grid}
.hero-window figcaption>span{grid-area:1/1;visibility:hidden}
.hero-window figcaption>span.is-current{visibility:visible}
.hero-sentence{margin:0;font-family:var(--serif);font-size:clamp(1.4375rem,2.35vw,2.25rem);line-height:1.34;letter-spacing:-.012em;max-width:34ch;text-wrap:pretty}
.clause{text-decoration:none}
.clause-text{text-decoration:underline;text-decoration-color:var(--rule);text-decoration-thickness:1px;text-underline-offset:.2em}
.clause:hover .clause-text,.clause:focus-visible .clause-text{text-decoration-color:currentColor;text-decoration-thickness:2px}
.clause .nb{white-space:nowrap}
.glyph-box{display:inline-block;width:1.7em;height:.8em;margin:0 0 0 .18em;vertical-align:-.02em}
.glyph-box:empty{display:none}
.glyph{display:block;width:100%;height:100%;overflow:visible;fill:none;stroke:var(--blue);stroke-width:1;stroke-linecap:round;stroke-linejoin:round}
.glyph .g-line{stroke:var(--rule)}
.glyph .g-fill{fill:rgba(23,63,83,.14)}
.glyph-safey .g-hot{fill:var(--blue)}
.glyph .g-dot{fill:var(--blue);stroke:none}
.glyph .g-lit{fill:var(--blue)}
.hero-where{margin-top:-8px}
.motion.enter-ready .hero-sentence .g-step{opacity:0;animation:g-in 420ms calc(300ms + var(--i) * 220ms) cubic-bezier(.2,.7,.2,1) forwards}
.motion.enter-ready .hero-sentence .g-draw{stroke-dasharray:80;stroke-dashoffset:80;animation:g-draw 1200ms 500ms cubic-bezier(.4,0,.2,1) forwards}
.motion.enter-ready .hero-sentence .g-bird{transform-box:fill-box;transform-origin:center;transform:rotate(var(--a));animation:g-align 1400ms calc(700ms + var(--i) * 60ms) cubic-bezier(.2,.7,.2,1) forwards}
.motion.enter-ready .hero-sentence .g-dot,.motion.enter-ready .hero-sentence .g-lit{opacity:0;animation:g-in 300ms calc(900ms + var(--i) * 160ms) ease forwards}
.motion.enter-ready .hero-sentence .g-pointer{transform-box:view-box;transform-origin:22px 10px;transform:rotate(-40deg);animation:g-turn 700ms 1200ms cubic-bezier(.3,1.55,.6,1) forwards}
.motion .glyph-guitar .g-string{transform-box:fill-box;transform-origin:center}
.motion.enter-ready .hero-sentence .glyph-guitar .g-string{animation:g-pluck 900ms 1500ms ease-out}
.motion .clause:hover .g-step,.motion .clause:focus-visible .g-step{animation:g-in 420ms calc(var(--i) * 160ms) cubic-bezier(.2,.7,.2,1) both}
.motion .clause:hover .g-draw,.motion .clause:focus-visible .g-draw{stroke-dasharray:80;animation:g-draw 900ms cubic-bezier(.4,0,.2,1) both}
.motion .clause:hover .g-bird,.motion .clause:focus-visible .g-bird{transform-box:fill-box;transform-origin:center;animation:g-align 900ms cubic-bezier(.2,.7,.2,1) both}
.motion .clause:hover .g-hot,.motion .clause:focus-visible .g-hot{animation:g-key 300ms steps(1) 3}
.motion .clause:hover .g-dot,.motion .clause:focus-visible .g-dot,.motion .clause:hover .g-lit,.motion .clause:focus-visible .g-lit{animation:g-in 300ms calc(var(--i) * 120ms) ease both}
.motion .clause:hover .glyph-guitar .g-string,.motion .clause:focus-visible .glyph-guitar .g-string{animation:g-pluck 900ms ease-out}
@keyframes g-in{from{opacity:0;transform:translateY(-3px)}to{opacity:1;transform:none}}
@keyframes g-draw{from{stroke-dashoffset:80}to{stroke-dashoffset:0}}
@keyframes g-align{from{transform:rotate(var(--a))}to{transform:rotate(0deg)}}
@keyframes g-turn{to{transform:rotate(0deg)}}
@keyframes g-pluck{0%{transform:none}12%{transform:translateY(-2.4px)}24%{transform:translateY(2px)}36%{transform:translateY(-1.5px)}50%{transform:translateY(1px)}68%{transform:translateY(-.5px)}100%{transform:none}}
@keyframes g-key{0%{fill:none}50%{fill:var(--blue)}}
.feature-label{font-family:var(--sans);font-size:clamp(.8125rem,1.05vw,.90625rem);line-height:1.45;letter-spacing:.012em;color:var(--ink);margin:0;max-width:46ch;text-wrap:balance}
.home-safey .feature-label{color:var(--night-ink)}
.home-lead{border-top:1px solid var(--ink);padding-top:clamp(28px,3vw,46px);padding-bottom:var(--section);align-items:center}
.home-lead h2,.home-measure h2,.home-safey h2,.home-community h2{font-family:var(--serif);font-size:var(--head-xl);line-height:.98;font-weight:450;margin:.3em 0 .45em;letter-spacing:-.025em}
.home-lead-art svg{display:block;width:100%;height:auto;overflow:hidden}
.auc.auc-compact .auc-narrow{display:block;max-width:440px}
.auc-compact figcaption{margin-top:8px}
@media(min-width:781px) and (max-width:1000px){.auc.auc-compact .auc-num{font-size:15px}.auc.auc-compact .auc-note{font-size:14px}}
.home-lead-aside{max-width:520px;margin-top:clamp(36px,4vw,56px);font-size:.8125rem;color:var(--muted);border-top:1px solid var(--rule);padding-top:12px}
.home-lead-aside p:not(.meta){font-family:var(--serif);font-size:clamp(1.0625rem,1.35vw,1.25rem);line-height:1.35;color:var(--ink);margin:8px 0 0;max-width:34ch}
.home-lead-aside a{display:inline-block;margin-top:12px;font-size:.8125rem;padding-block:4px}
.home-measure{border-top:1px solid var(--ink);padding-top:clamp(28px,3vw,46px);padding-bottom:var(--section)}
.home-measure-head{align-items:end;padding-bottom:clamp(8px,1vw,16px)}
.home-measure-head .prose{font-size:clamp(1.0625rem,1.3vw,1.25rem)}
.home-safey{background:var(--night);color:var(--night-ink);padding:var(--section) 0}
.home-safey p:not(.meta):not(.feature-label):not(.safey-pair-label){font-family:var(--serif);font-size:clamp(1.125rem,1.35vw,1.3125rem);line-height:1.5;max-width:34ch}
.home-safey figcaption{color:#8d9a9e}
.home-safey .grid{align-items:center}
.home-safey-mark{justify-self:start}
.home-community{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);align-items:center;gap:clamp(24px,4vw,72px);padding:var(--section) max(var(--margin),calc((100vw - var(--page)) / 2))}
.home-community-figure{margin:0}
.home-community-figure img{width:100%}
.home-community-text .prose{font-size:clamp(1.0625rem,1.3vw,1.25rem)}
.home-index{padding-top:var(--section);padding-bottom:var(--section);border-top:1px solid var(--ink)}
.home-index>.meta{margin-bottom:26px}
.chapter-links{border-top:1px solid var(--ink)}
.chapter-links>.chapter-link:last-child{border-bottom:0}
.chapter-link{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1fr) minmax(7.5rem,.22fr);position:relative;gap:clamp(20px,3vw,48px);align-items:baseline;padding:22px 0;border-bottom:1px solid var(--rule)}
.chapter-link h2:has(.row-glyph),.chapter-link h3:has(.row-glyph){display:grid;grid-template-columns:1.9em 1fr;column-gap:.45em;align-items:center}
.row-glyph{display:block;width:1.6em;height:.75em}
.chapter-note{font-size:.78125rem;color:var(--muted);text-align:right;white-space:nowrap}
.chapter-link h2,.chapter-link h3{font-family:var(--serif);font-size:var(--head-md);font-weight:450;line-height:1.05;margin:0;letter-spacing:-.022em}
.chapter-link h2 a,.chapter-link h3 a{text-decoration:none;display:inline-block;padding-block:3px}
.chapter-link h2 a:hover,.chapter-link h3 a:hover{text-decoration:underline;text-underline-offset:6px}
.chapter-link p{margin:0;color:var(--muted);font-size:.84375rem;line-height:1.5;max-width:56ch}
.method-note{padding-top:14px}
.method-note>.meta{margin-bottom:4px}
.method-note dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 clamp(24px,3vw,56px);margin:0;padding:0}
.method-note dl>div{display:grid;grid-template-columns:minmax(4.125rem,.2fr) 1fr;gap:clamp(10px,1.2vw,18px);padding:11px 0;border-bottom:1px solid var(--rule)}
.method-note dt{font-size:.75rem;color:var(--muted);letter-spacing:.025em}
.method-note dd{margin:0;font-size:.84375rem;line-height:1.45;color:var(--muted)}
.method-note>a{display:inline-block;font-size:.8125rem;margin-top:14px;padding-block:4px}
.presentation-ending{row-gap:clamp(28px,3vw,44px)}
.finding{max-width:44ch}
.record-plate{padding-top:2px}
.record-title{font-family:var(--serif);font-size:var(--head-sm);line-height:1.25;margin:.4em 0 .6em;letter-spacing:-.012em}
.record-cite{font-size:.75rem;color:var(--muted);margin:0;max-width:56ch;overflow-wrap:anywhere}
.record-authors{font-family:var(--sans);font-size:.8125rem;color:var(--ink);margin:0 0 .5em}
.axis{position:relative;height:88px}
.axis:before{content:"";position:absolute;left:4%;right:0;top:50%;height:1px;background:var(--ink)}
.axis:after{content:"";position:absolute;right:-1px;top:calc(50% - 4px);border:4.5px solid transparent;border-left:7px solid var(--ink);border-right:0}
.tp{position:absolute;top:50%;left:4%;width:9px;height:9px;margin:-4.5px 0 0 -4.5px;border-radius:50%;background:var(--blue)}
.tp b{position:absolute;bottom:18px;left:50%;transform:translateX(-50%);font-family:var(--serif);font-size:var(--head-sm);font-weight:450;white-space:nowrap}
.lung-cover{padding-bottom:clamp(20px,2vw,32px)}
.lung-cover-head{padding-top:clamp(40px,4.4vw,70px);row-gap:24px}
.lung-cover-head .display{max-width:12ch}
.lung-plate{grid-row:1/span 2;align-self:start;font-size:.8125rem;color:var(--muted);padding-top:6px}
.lung-plate>.meta{border-top:1px solid var(--ink);padding-top:12px;margin:clamp(24px,2.6vw,36px) 0 0}
.lung-plate-venue{margin:8px 0 0;font-family:var(--serif);font-size:var(--head-sm);line-height:1.2;color:var(--ink)}
.lung-plate-venue a{color:inherit;text-underline-offset:.2em;text-decoration-thickness:1px}
.lung-plate a{display:inline-block;margin-top:12px;padding-block:4px;color:var(--ink)}
.lung-question{padding:0 0 clamp(28px,3vw,44px)}
.lung-question p{margin:0;font-family:var(--serif);font-size:clamp(1.625rem,3.1vw,2.875rem);line-height:1.16;letter-spacing:-.018em;max-width:30ch;text-wrap:pretty}
.lung-question em{font-style:italic;color:var(--blue)}
.motion.enter-ready [data-enter="question"] p{color:var(--muted);transition:color 900ms ease}
.motion.enter-ready [data-enter="question"] em{color:var(--muted);transition:color 900ms ease 500ms}
.motion.enter-ready [data-enter="question"].is-in p{color:var(--ink)}
.motion.enter-ready [data-enter="question"].is-in em{color:var(--blue)}
.lung-cohort{padding-bottom:clamp(20px,2vw,30px)}
.lung-auc{margin-bottom:clamp(8px,1vw,16px)}
.auc{margin:0;max-width:980px}
.auc svg{display:block;width:100%;height:auto;overflow:visible}
.auc-axis{stroke:var(--ink);stroke-width:1.2;vector-effect:non-scaling-stroke}
.auc-tick{stroke:var(--ink);stroke-width:1;vector-effect:non-scaling-stroke}
.auc text{font-family:var(--sans);font-size:15px;fill:var(--muted);text-anchor:middle}
.auc .auc-note{font-size:14px}
.auc .auc-lab{font-family:var(--serif);font-size:22px;fill:var(--ink)}
.auc .auc-lab-base{fill:var(--muted);text-anchor:end}
.auc .auc-lab-model{text-anchor:start}
.auc-gain{stroke:var(--blue);stroke-width:5}
.auc-base{fill:var(--paper);stroke:var(--muted);stroke-width:2;vector-effect:non-scaling-stroke}
.auc-model{fill:var(--blue)}
.auc-lead{stroke:var(--blue);stroke-width:1;vector-effect:non-scaling-stroke}
.auc .auc-narrow{display:none;max-width:440px}
.auc-narrow text{font-size:13px}
.auc-narrow .auc-note{font-size:12px;text-anchor:start}
.auc .auc-narrow .auc-lab{font-size:18px}
.auc .auc-narrow .auc-lab-end{fill:var(--ink);text-anchor:end}
.lung-asco{margin:0;max-width:none}
.lung-asco img{display:block;width:100%;height:auto}
.nist-methods{padding-top:var(--section)}
.nist-methods-lede{font-family:var(--serif);font-size:clamp(1.125rem,1.35vw,1.3125rem);line-height:1.5;max-width:52ch;margin:0 0 clamp(28px,3vw,44px)}
.nist-methods-pair{row-gap:32px}
.nist-methods-pair>div{border-top:1px solid var(--ink);padding-top:18px}
.nist-methods-pair h3{font-family:var(--serif);font-size:var(--head-sm);font-weight:450;line-height:1.15;margin:0 0 .5em}
.nist-methods-pair p{font-family:var(--serif);font-size:clamp(1.0625rem,1.25vw,1.1875rem);line-height:1.55;margin:0;max-width:44ch}
.nist-methods-note{margin-top:28px}
.nist-schematic{margin:0}
.nist-schematic-art{padding:6px 0 4px}
.channel-frame{position:relative;padding-top:20px}
.win-label,.trace-label{position:absolute;font-size:.75rem;line-height:1;color:var(--muted)}
.win-label{top:0;transform:translateX(-50%)}
.trace-label{left:0;transform:translateY(-50%)}
.trace-frame{position:relative;margin-top:clamp(14px,2vw,26px);padding-left:20px}
.nist-channel,.nist-traces{display:block;width:100%;height:auto;overflow:visible}
.nist-channel .wall{stroke:var(--ink);stroke-width:1.5;vector-effect:non-scaling-stroke}
.nist-channel .droplets rect{fill:rgba(23,63,83,.3);stroke:var(--blue);stroke-width:1.25;vector-effect:non-scaling-stroke}
.nist-channel .window{fill:none;stroke:var(--ink);stroke-width:1;stroke-dasharray:4 3;vector-effect:non-scaling-stroke}
.nist-channel .flow{fill:none;stroke:var(--muted);stroke-width:1;vector-effect:non-scaling-stroke}
.nist-traces .base{stroke:var(--rule);stroke-width:1;vector-effect:non-scaling-stroke}
.nist-traces .trace{fill:none;stroke:var(--blue);stroke-width:1.75;stroke-linejoin:round;vector-effect:non-scaling-stroke}
.nist-traces .trace-b{stroke:#5f7c89}
.nist-traces .edges line{stroke:var(--ink);stroke-width:1;vector-effect:non-scaling-stroke}
.nist-traces .edges .lag{stroke-dasharray:3 3}
.nist-traces .edges .lag-span{stroke-width:2}
.nist-traces .ends{fill:rgba(17,18,15,.05)}
.nist-traces .middle{fill:rgba(23,63,83,.14)}
.nist-schematic figcaption{max-width:52ch}
body[data-page="safey"]{--paper:#111618;--paper-deep:#1a2225;--ink:#ece8df;--muted:#97a2a4;--rule:#3a4548;--blue:#a9c4d1;--live:#d9694c}
body[data-page="safey"] *{transition-duration:0s}
body[data-page="safey"] .reader-rule{background:rgba(236,232,223,.14)}
body[data-page="safey"] .device{border-color:#3a4548;background:#1b2124}
body[data-page="safey"] .skip{background:var(--ink);color:var(--paper)}
.safey-cover{padding:clamp(40px,4.4vw,70px) 0 var(--section)}
.safey-cover .grid{align-items:start}
.safey-cover-text .display{font-size:clamp(4rem,10vw,9.375rem);letter-spacing:-.04em;line-height:.86;margin-top:.12em}
.safey-cover-text .standfirst{margin-top:clamp(26px,3vw,42px);max-width:26ch}
.safey-premise{font-family:var(--serif);font-size:clamp(1.125rem,1.4vw,1.3125rem);line-height:1.5;color:var(--muted);max-width:40ch;margin:clamp(18px,2vw,28px) 0 0}
.safey-cover .marginal{margin-top:clamp(26px,3vw,40px)}
.safey-cover .marginal a{color:var(--ink)}
.safey-boundary{padding-top:var(--section);padding-bottom:var(--section)}
.safey-ledger{row-gap:36px}
.safey-ledger h3{margin:0 0 6px;padding-bottom:10px;border-bottom:1px solid var(--ink)}
.safey-ledger ul{list-style:none;margin:0;padding:0}
.safey-ledger li{font-family:var(--serif);font-size:clamp(1.125rem,1.5vw,1.375rem);line-height:1.35;padding:11px 0;border-bottom:1px solid var(--rule);max-width:34ch}
.safey-ledger li b{display:block;font-family:var(--sans);font-size:.8125rem;font-weight:600;letter-spacing:.01em;margin-bottom:4px}
.safey-boundary .boundary-limit{font-family:var(--serif);font-size:clamp(1.125rem,1.5vw,1.375rem);line-height:1.42;border-top:1px solid var(--ink);padding-top:16px;margin-top:clamp(36px,4vw,56px);max-width:44ch}
.safey-boundary .boundary-source{margin-top:12px}
.boundary-source a{display:inline-block;padding-block:7px}
.safey-sequence{padding:var(--section) 0}
.safey-stealth{align-items:start}
.safey-screen{width:100%;margin:0}
.safey-screen figcaption{font-size:.78125rem;color:var(--muted);margin-top:12px;max-width:42ch}
.safey-inside{display:grid;grid-template-columns:1fr 1fr;gap:clamp(16px,2vw,28px);align-items:start;max-width:600px}
.safey-stealth .prose h3{font-family:var(--serif);font-size:var(--head-sm);font-weight:450;line-height:1.2;margin:0 0 12px}
.safey-stealth .prose p+h3{margin-top:clamp(30px,3vw,44px)}
.safey-recognition{padding-top:var(--section);padding-bottom:var(--section);row-gap:clamp(26px,3vw,44px)}
.safey-recognition .marginal{align-self:start}
.safey-recognition .prose p{font-size:clamp(1.375rem,2.2vw,2rem);line-height:1.3;letter-spacing:-.01em;max-width:32ch}
body[data-page="safey"] .chapter-next{border-color:var(--ink)}
.jarvis-modes{--muted:#55554d;background:var(--paper-deep);padding:clamp(28px,3vw,44px) 0 var(--section);border-top:1px solid var(--ink)}
.jarvis-modes .section-head{border-top:0;padding-top:0}
.jarvis-foot{padding-top:clamp(28px,3vw,48px)}
.jarvis-foot .sources{margin-top:0}
.jarvis-foot .caption{max-width:62ch;margin-top:20px}
body[data-page="eagle-project"]{--paper:#f0eadf}
.eagle-cover{--cover-w:min(50vw,calc(min(calc(100vh - 58px),860px) * .86));display:grid;grid-template-columns:minmax(0,1fr) var(--cover-w);align-items:stretch;border-bottom:1px solid var(--ink)}
@media(min-width:781px){
  .eagle-cover .eagle-cover-photo{min-height:calc(var(--cover-w) / .86);display:flex;flex-direction:column}
  .eagle-cover .eagle-cover-photo picture{display:block;position:relative;flex:1 1 auto;container-type:size}
  .eagle-cover .eagle-cover-photo figcaption{position:static}
  @container (max-aspect-ratio: 81/100){.eagle-cover .eagle-cover-photo img{object-fit:contain}}
}
@media(min-width:781px) and (max-height:600px){.eagle-cover{--cover-w:50vw}}
.eagle-cover-text{padding:clamp(40px,4.4vw,70px) clamp(24px,4vw,72px) var(--section) max(var(--margin),calc((100vw - var(--page)) / 2));display:flex;flex-direction:column;justify-content:space-between;gap:36px}
.eagle-cover-text .display{max-width:9ch;margin-top:.2em}
.eagle-cover-text .standfirst{max-width:28ch;margin-top:auto}
.eagle-cover-text .marginal{margin:0;max-width:34ch}
.eagle-cover-photo{margin:0;position:relative;overflow:hidden;background:#2a2a28}
.eagle-cover-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 40%}
.motion .eagle-cover-photo img{object-position:50% calc(25% + var(--q,.5) * 30%);transition:object-position 80ms linear}
.motion.enter-ready [data-enter="photo"] img{clip-path:inset(100% 0 0 0);transition:clip-path 450ms cubic-bezier(.2,.7,.2,1)}
.motion.enter-ready [data-enter="photo"].is-in img{clip-path:inset(0 0 0 0)}
.eagle-cover-photo figcaption{position:absolute;left:0;right:0;bottom:0;margin:0;max-width:none;padding:10px 18px 11px;background:rgba(17,17,15,.8);color:#efeae0;font-size:.78125rem}
.eagle-design{padding-top:var(--section);padding-bottom:clamp(30px,3vw,48px);align-items:center}
.eagle-design h2,.eagle-prep h2,.eagle-build h2{font-family:var(--serif);font-size:var(--head-xl);line-height:1;margin:0 0 .5em;font-weight:450;letter-spacing:-.025em}
.eagle-close{margin:0}
.eagle-close img{width:100%}
.eagle-prep img{width:100%}
.eagle-prep{padding-bottom:var(--section);align-items:center}
.eagle-prep img{max-width:700px}
.eagle-build{border-top:1px solid var(--ink);padding:var(--section) 0}
.eagle-build-head{padding-bottom:clamp(20px,2.4vw,36px);align-items:end}
.eagle-screws{font-size:clamp(1.0625rem,1.25vw,1.1875rem);color:var(--muted)}
.eagle-handoff{border-top:1px solid var(--ink)}
.eagle-handoff figure{margin:0 auto;overflow:hidden;max-width:1400px}
.handoff-frame{display:block;overflow:hidden}
.eagle-handoff img{width:100%;height:min(80vh,780px);object-fit:cover;object-position:50% 0%;transform:scale(calc(1.06 - var(--q,.5) * .06));transform-origin:50% 0%}
.eagle-handoff figcaption{margin:14px auto var(--section);font-size:.8125rem;max-width:none;width:min(calc(100% - 2 * var(--margin)),var(--page))}
.eagle-handoff figcaption b{color:var(--ink);font-weight:600;margin-right:6px}
.hh-open{padding-bottom:clamp(20px,2vw,32px)}
.hh-intro{padding-bottom:var(--section);row-gap:clamp(34px,4vw,56px);align-items:start}
.standfirst,.research-lede,.mode-does,.lung-plate-venue,.eng-text>p,.cy-line,.td-what,.mi-does,.prose p{text-wrap:pretty}
.hh-line{margin:0;font-family:var(--serif);font-size:clamp(1.75rem,3.2vw,3.125rem);line-height:1.08;letter-spacing:-.025em;max-width:24ch;text-wrap:balance}
.motion.enter-ready [data-enter="line"]{clip-path:inset(0 100% 0 0);transition:clip-path 1100ms cubic-bezier(.6,0,.2,1)}
.motion.enter-ready [data-enter="line"].is-in{clip-path:inset(-20% -30% -20% -5%)}
.hh-work{padding-top:clamp(6px,.9vw,14px)}
.hh-work h2{margin:0 0 12px}
.hh-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--ink)}
.hh-list li{padding:clamp(12px,1.2vw,16px) 0;border-bottom:1px solid var(--rule)}
.hh-list b{display:block;font-family:var(--serif);font-weight:450;font-size:clamp(1.375rem,1.9vw,1.75rem);line-height:1.1;letter-spacing:-.015em}
.hh-list span{display:block;margin-top:4px;font-family:var(--sans);font-size:.84375rem;line-height:1.45;color:var(--muted)}
.hh-coates{border-top:1px solid var(--ink);padding:clamp(28px,3vw,44px) 0 var(--section)}
.hh-coates h2{font-family:var(--sans);font-size:.8125rem;font-weight:500;letter-spacing:.02em;color:var(--muted);margin:0 0 clamp(28px,3.4vw,52px)}
.hh-quote{margin:0}
.hh-quote p{margin:0;max-width:26ch;font-family:var(--serif);font-size:clamp(1.75rem,3.4vw,3.25rem);line-height:1.12;letter-spacing:-.022em;text-indent:-.42em;text-wrap:pretty}
.hh-quote footer{display:flex;flex-wrap:wrap;gap:6px 24px;align-items:baseline;margin-top:clamp(20px,2.4vw,32px);font-family:var(--sans);font-size:.8125rem}
.hh-quote cite{font-style:normal;color:var(--muted)}
.hh-quote a{display:inline-block;padding-block:7px}
.record-title{display:block;font-style:normal}
.lit-label{position:absolute;top:7%;left:calc(var(--x) * 1%);transform:translateX(-50%);margin:0;text-align:center;font-family:var(--serif);font-size:clamp(.9375rem,1.5vw,1.3125rem);line-height:1.2;color:#f3f0e8}
.lit-label b{display:block;font-family:var(--sans);font-size:.75rem;font-weight:600;letter-spacing:.03em;margin-bottom:3px;color:#c9d3d6}
.lit-label-parents{opacity:round(up,var(--lit-a),1);transition:opacity 240ms ease}
.lit-label-children{opacity:round(up,var(--lit-b),1);transition:opacity 240ms ease}
.music-cover{--wood:#140d09;background:var(--wood);color:var(--night-ink);padding-bottom:clamp(26px,2.6vw,40px)}
.music-cover-head{padding-top:clamp(40px,4.4vw,70px);padding-bottom:clamp(18px,2vw,32px);align-items:end}
.music-cover-head .display{font-size:clamp(min(4.5rem,26vw),12vw,11rem);letter-spacing:-.045em;line-height:.84;font-style:italic;font-weight:400}
.music-cover-note{font-family:var(--serif);font-size:clamp(1.125rem,1.5vw,1.375rem);line-height:1.45;margin:0 0 .6em;max-width:36ch;color:#d9d0c3}
.string-intro{padding-bottom:20px}
.string-invitation{font-family:var(--serif);font-size:1.25rem;line-height:1.4;margin:0 0 8px}
.string-intro .caption{max-width:66ch;color:#a89a8a}
.string-intro .scene-controls{margin:12px 0 0}
.string-stage{position:relative;aspect-ratio:1916/821;overflow:hidden;background:var(--wood,#140d09)}
.string-stage img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.string-stage .tab,.string-stage canvas{position:absolute;inset:0;width:100%;height:100%}
.string-keys{position:absolute;inset:0;z-index:3;pointer-events:none}
.string-key[aria-disabled="true"]{cursor:default}
.scene-button:disabled,.scene-button[aria-disabled="true"]{cursor:default;opacity:.62}
.string-key{position:absolute;margin:0;padding:0;border:0;background:transparent;pointer-events:auto;cursor:pointer;cursor:var(--pick),pointer}
.string-key:focus-visible{outline:2px solid #d9694c;outline-offset:-2px}
.string-plate .string-stage{touch-action:pan-y;cursor:pointer;cursor:var(--pick),pointer;-webkit-mask-image:linear-gradient(transparent,#000 7%,#000 92%,transparent);mask-image:linear-gradient(transparent,#000 7%,#000 92%,transparent)}
.string-plate .scene-foot{padding-top:48px;width:min(calc(100% - 2 * var(--margin)),var(--page));margin:0 auto}
.string-plate .scene-foot .caption{max-width:66ch;color:#a89a8a;margin:0}
.string-plate .scene-foot .caption a{color:#a89a8a}
.string-plate .scene-button{color:var(--night-ink);border-color:#5a4a3d}
.string-plate .scene-button:hover{border-color:var(--night-ink)}
.tab .string-name rect{fill:rgba(20,13,9,.86)}
.tab .string-name text{font-family:var(--sans);font-weight:600;fill:#efe4d2;text-anchor:middle}
.tab .playhead{stroke:var(--paper);stroke-width:1;stroke-dasharray:3 6;vector-effect:non-scaling-stroke;opacity:0}
.is-playing .tab .playhead{opacity:.8}
.string-plate .tab-narrow{display:none}
.music-open{padding-top:var(--section);padding-bottom:var(--section);align-items:start}
.music-teach .marginal{margin-top:clamp(20px,2vw,30px)}
.music-record .program li{grid-template-columns:1fr;row-gap:4px}
.music-record .program-when{grid-row:auto}
.music-record .program-parts{grid-column:auto;margin-top:6px}
.music-record .program b{font-size:clamp(1.625rem,2.3vw,2.25rem)}
.music-record .section-head{display:block}
.music-record .section-head>.meta{display:block;text-align:left;margin-top:8px;white-space:normal}
.program{list-style:none;margin:0;padding:0}
.program li{display:grid;grid-template-columns:minmax(9.375rem,.3fr) 1fr;column-gap:clamp(20px,3vw,48px);align-items:baseline;padding:clamp(18px,2vw,28px) 0}
.program-when{grid-row:1;font-size:.75rem;line-height:1.45;letter-spacing:.02em;color:var(--muted);max-width:26ch}
.program b{font-family:var(--serif);font-style:italic;font-weight:400;font-size:var(--head-lg);line-height:1.05;letter-spacing:-.015em}
.program-parts{grid-column:2;display:flex;flex-wrap:wrap;gap:4px 22px;margin-top:10px;font-size:.84375rem}
.program-parts a{padding-block:6px;text-underline-offset:4px}
.program-parts a:hover{color:var(--blue)}
.music-record .enter{margin-top:22px}
.about-open{padding-top:clamp(52px,5.5vw,86px);padding-bottom:var(--section);align-items:start}
.about-open .about-head{grid-row:1}
.about-open .about-portrait{grid-row:1;margin:0;max-width:455px}
.about-head .display{font-size:var(--display-name);line-height:.9;letter-spacing:-.04em;margin:.18em 0 .5em;max-width:9ch}
.about-intro{font-size:clamp(1.25rem,1.85vw,1.8125rem);line-height:1.42;max-width:40ch}
.about-intro p{margin:0 0 .7em}
.about-portrait img{width:100%}
.about-aside{margin-top:clamp(20px,2.4vw,36px)}
.about-aside{padding-top:2px}
.about-aside .sources{margin-top:10px;gap:10px 20px}
.about-timeline{padding-bottom:var(--section)}
.chronology{margin:0;padding:0;border-top:1px solid var(--ink);padding-top:clamp(26px,3vw,40px)}
.chronology>div{display:grid;grid-template-columns:minmax(min(5.75rem,30vw),.16fr) 1fr;gap:clamp(16px,2.2vw,38px);padding-bottom:clamp(26px,3vw,44px)}
.chronology>div:last-child{padding-bottom:0}
.chronology dt{font-family:var(--serif);font-size:var(--head-md);line-height:1.1;font-weight:450;letter-spacing:-.02em}
@media(min-width:781px){
  .chronology>div{grid-template-columns:minmax(12.5rem,.3fr) 1fr;padding-bottom:clamp(56px,6vw,96px)}
  .chronology dt{position:sticky;top:calc(var(--mast,58px) + 28px);align-self:start;font-size:clamp(3rem,5.6vw,5.5rem);line-height:.88;letter-spacing:-.04em;font-variant-numeric:lining-nums}
  .chronology>div:first-child dt{font-size:clamp(1.875rem,3vw,2.75rem);line-height:1;letter-spacing:-.02em}
  .chronology dd{font-size:clamp(1.125rem,1.45vw,1.375rem);line-height:1.5;max-width:52ch;padding-top:.5em}
}
.chronology dd{margin:0;font-family:var(--serif);font-size:1.09375rem;line-height:1.5;max-width:60ch}
.chronology{position:relative}
.chronology>div{padding-left:clamp(20px,2.4vw,34px);border-left:1px solid var(--rule)}
.js .chronology:before{content:"";position:absolute;left:0;top:clamp(26px,3vw,40px);width:1px;height:calc(var(--read,0) * (100% - clamp(26px,3vw,40px)));background:var(--blue);opacity:.5}
.js .chronology:after{content:"";position:absolute;left:-3px;top:calc(clamp(26px,3vw,40px) + var(--read,0) * (100% - clamp(26px,3vw,40px)) - 3.5px);width:7px;height:7px;border-radius:50%;background:var(--live)}
.chapter-copy:not(:has(aside))>.prose>h2{font-size:var(--head-xl);max-width:16ch;letter-spacing:-.028em;line-height:1}
.standfirst{font-family:var(--serif);font-size:clamp(1.3125rem,2vw,1.8125rem);line-height:1.3;margin:0;color:var(--ink)}
.research-open{padding-bottom:clamp(30px,3vw,48px);align-items:end}
.open-head .standfirst{margin-top:clamp(14px,1.6vw,22px)}
.y2023{--year:#4f6b78}.y2024{--year:#3f5d6c}.y2025{--year:#2c4c5d}.y2026{--year:var(--blue)}
.thread-dates{list-style:none;margin:0;padding:0;border-top:1px solid var(--ink)}
.thread-dates li{border-bottom:1px solid var(--rule)}
.thread-dates a{display:grid;grid-template-columns:4.5rem 1fr;gap:14px;align-items:baseline;padding:12px 0;text-decoration:none;color:var(--ink)}
.thread-dates .td-year{font-family:var(--serif);font-size:var(--head-md);line-height:1;letter-spacing:-.02em;font-variant-numeric:lining-nums;color:var(--year)}
.thread-dates .td-what{font-size:.875rem;line-height:1.35;color:var(--muted)}
.thread-dates a:hover .td-what{color:var(--ink);text-decoration:underline;text-underline-offset:4px}
.research-swarm{border-top:1px solid var(--ink);padding-top:clamp(26px,3vw,40px);padding-bottom:var(--section)}
.swarm-head{row-gap:18px;padding-bottom:clamp(24px,2.6vw,40px);align-items:end}
.swarm-head h2{font-family:var(--serif);font-size:var(--head-xl);line-height:.98;margin:.3em 0 0;font-weight:450;letter-spacing:-.025em;max-width:12ch}
.swarm-lede .research-lede{max-width:40ch}
.swarm-field .scene-art{height:clamp(380px,42vw,620px);background:var(--paper-deep);border-top:1px solid var(--ink);border-bottom:1px solid var(--ink)}
.swarm-field .scene-foot{width:min(calc(100% - 2 * var(--margin)),var(--page));margin:0 auto}
.swarm-field .scene-foot .caption{max-width:58ch}
.scene-art .swarm{display:block;width:100%;height:100%}
.swarm .links{fill:none;stroke:#9d998e;stroke-width:.8;vector-effect:non-scaling-stroke;opacity:.38}
.swarm .trail{fill:none;stroke:var(--ink);stroke-width:1.1;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}
.swarm .trail-0{opacity:.3}.swarm .trail-1{opacity:.16}.swarm .trail-2{opacity:.07}
.swarm .near{fill:none;stroke:var(--blue);stroke-width:1.4;vector-effect:non-scaling-stroke}
.swarm .sight{fill:rgba(23,63,83,.06);stroke:var(--blue);stroke-width:1.2;stroke-dasharray:4 5;vector-effect:non-scaling-stroke}
.swarm .marks{fill:none;stroke:var(--ink);stroke-width:1.6;stroke-linejoin:round;stroke-linecap:round;vector-effect:non-scaling-stroke}
.swarm .focus{fill:none;stroke:var(--blue);stroke-width:2.6;stroke-linejoin:round;stroke-linecap:round;vector-effect:non-scaling-stroke}
.thread-art{align-self:center;margin:0}
.thread-art svg{display:block;width:100%;height:auto;overflow:hidden}
@media(min-width:781px){
  .thread-nist>div{grid-row:1}
  .thread-nist>.thread-art-nist{grid-row:1;align-self:start;margin-top:.4em}
}
.eng-open{padding-bottom:clamp(30px,3vw,48px);align-items:end}
@media(min-width:781px){.eng-open .standfirst{margin:0 0 .35em}}
.eng-night{--paper:#111618;--ink:#ece8df;--muted:#98a4a6;--rule:#3a4548;--blue:#a9c4d1;--live:#d9694c;background:var(--paper);color:var(--ink);border-top:1px solid var(--ink);padding:clamp(40px,4.6vw,72px) 0 var(--section)}
.eng-night .grid,.eng-jarvis{align-items:start}
.eng-jarvis{padding-top:clamp(40px,4.6vw,72px);padding-bottom:var(--section)}
.eng-text h2{font-family:var(--serif);font-size:var(--head-xl);line-height:1;margin:.28em 0 .4em;font-weight:450;letter-spacing:-.025em}
.eng-text h2 a{text-decoration:none}
.eng-text h2 a:hover{text-decoration:underline;text-underline-offset:7px}
.eng-text>p:not(.meta){font-family:var(--serif);font-size:clamp(1.0625rem,1.3vw,1.21875rem);line-height:1.45;max-width:42ch;margin:0 0 .4em}
.mode-index h3{margin:.35em 0 12px}
.eng-photo{margin:0;align-self:center}
.eng-photo img{display:block;width:100%;height:auto}
.eng-photo figcaption{margin-top:12px}
.mode-index ol{list-style:none;margin:0;padding:0;border-top:1px solid var(--ink);counter-reset:mode}
.mode-index li{border-bottom:1px solid var(--rule);counter-increment:mode}
.mode-index a{display:grid;grid-template-columns:1.5rem minmax(7rem,.34fr) 1fr;gap:12px;align-items:baseline;padding:12px 0;text-decoration:none;color:var(--ink)}
.mode-index a::before{content:counter(mode) / "";font-size:.75rem;color:var(--muted);font-variant-numeric:tabular-nums}
.mode-index .mi-name{font-family:var(--serif);font-size:var(--head-sm);line-height:1.2}
.mode-index .mi-does{font-size:.8125rem;line-height:1.45;color:var(--muted)}
.mode-index a:hover .mi-name{text-decoration:underline;text-underline-offset:5px}
@media(min-width:781px){.mode-index,.thread-dates,.com-ledger,.open-head,.chapter-links{container-type:inline-size}.open-head .display{font-size:min(var(--display),18cqi)}}
@container (max-width:44em){.chapter-link{display:block}.chapter-link p{margin-top:7px}}
@container (max-width:40em){.com-ledger li{grid-template-columns:min(4rem,22vw) minmax(0,1fr);row-gap:8px}.com-ledger .cy-line{grid-column:2}}
@container (max-width:22em){.mode-index a{grid-template-columns:1.5rem minmax(0,1fr);row-gap:2px}.mode-index .mi-does{grid-column:2}}
@container (max-width:14em){.thread-dates a{grid-template-columns:1fr;row-gap:2px}}
.com-open{padding-bottom:clamp(30px,3vw,48px);align-items:end}
.com-photo{margin:0}
.com-photo img{display:block;width:100%;max-width:700px}
.com-ledger{padding-bottom:var(--section)}
.com-ledger ol{list-style:none;margin:0;padding:0;border-top:1px solid var(--ink)}
.com-ledger li{display:grid;grid-template-columns:minmax(5rem,.13fr) minmax(0,.37fr) minmax(0,.5fr);gap:clamp(16px,2.2vw,38px);align-items:baseline;padding:clamp(18px,2vw,28px) 0;border-bottom:1px solid var(--rule)}
.cy-year{margin:0;font-family:var(--serif);font-size:var(--head-md);line-height:1;letter-spacing:-.02em;font-variant-numeric:lining-nums;color:var(--year)}
.cy-title{margin:0;font-family:var(--serif);font-size:var(--head-lg);line-height:1.05;font-weight:450;letter-spacing:-.02em}
.cy-title a{text-decoration:underline;text-decoration-color:var(--rule);text-decoration-thickness:1px;text-underline-offset:.16em}
.cy-title a:hover{text-decoration-color:var(--ink)}
.cy-title a:hover{text-decoration:underline;text-underline-offset:6px}
.cy-line{margin:0;font-family:var(--serif);font-size:clamp(1.0625rem,1.3vw,1.21875rem);line-height:1.45;max-width:46ch}
.string-stage-narrow{aspect-ratio:800/821}
.string-stage-narrow .tab-narrow{display:block}
.hub-more{padding-top:clamp(36px,4vw,60px);padding-bottom:var(--section)}
.hub-more>.meta{margin:0 0 12px;padding-top:14px}
.hub-more ul{list-style:none;margin:0;padding:0;border-top:1px solid var(--rule)}
.hub-more li{border-bottom:1px solid var(--rule)}
.hub-more li>a,.hub-more li>p{display:block;margin:0;padding:13px 0;font-family:var(--serif);font-size:var(--head-sm);line-height:1.25;color:var(--ink)}
.hub-more li>a{text-decoration:none}
.hub-more li>a:hover{color:var(--blue)}
.hub-more li span{display:block;margin-top:4px;font-family:var(--sans);font-size:.8125rem;line-height:1.5;letter-spacing:.01em;color:var(--muted);max-width:64ch}
.hub-more .hub-title{margin-top:0;font-family:var(--serif);font-size:var(--head-sm);line-height:1.25;letter-spacing:normal;color:inherit;max-width:none}
.hub-more li span a{display:inline-block;padding-block:4px;color:var(--ink)}
.research-index{padding-bottom:var(--section)}
.research-thread{border-top:1px solid var(--ink);padding:26px 0 clamp(40px,4.4vw,68px);row-gap:22px;align-items:center}
.research-thread h2{font-family:var(--serif);font-size:var(--head-xl);line-height:1;margin:.25em 0 .35em;max-width:20ch;text-wrap:balance;font-weight:450;letter-spacing:-.025em}
.research-thread h2 a{text-decoration:none}
.research-thread h2 a:hover{text-decoration:underline;text-underline-offset:8px}
.research-lede{font-family:var(--serif);font-size:clamp(1.125rem,1.5vw,1.375rem);line-height:1.42;max-width:44ch;margin:0}
.research-sub{font-family:var(--serif);font-size:clamp(1rem,1.15vw,1.0625rem);line-height:1.55;color:var(--muted);max-width:50ch;margin:14px 0 clamp(14px,1.6vw,22px)}
.research-thread-notes a{display:block;width:max-content;max-width:100%;font-size:.8125rem;margin-top:10px}
.contact-email{margin:0 0 .4em}
.contact-email a{display:inline-block;max-width:100%;overflow-wrap:anywhere;font-family:var(--serif);font-size:clamp(1.625rem,2.8vw,2.5rem);line-height:1.1;letter-spacing:-.02em;padding-block:6px;text-underline-offset:8px}
.not-found .chapter-open{padding-bottom:30px}
.not-found>.wrap{padding-bottom:var(--section)}
body[data-page="contact"] .chapter-copy{padding-top:0;padding-bottom:var(--section)}
body[data-page="contact"] .chapter-open{padding-bottom:clamp(26px,2.6vw,40px)}
body[data-page="contact"] .chapter-open .display{font-size:clamp(1.875rem,3.2vw,2.875rem)}
.contact-email a{font-size:clamp(1.875rem,5.1vw,4.5625rem);text-underline-offset:.14em}
.contact-ledger{padding-bottom:var(--section)}
.contact-ledger>.meta{padding-top:4px}
@media(max-width:430px){.contact-email a{font-size:clamp(1.3125rem,6.6vw,1.875rem)}}
.contact-block{border-top:1px solid var(--ink);padding-top:clamp(24px,2.6vw,40px)}
.contact-record ul,.not-found-ways ul{list-style:none;margin:0;padding:0}
.contact-record li{border-bottom:1px solid var(--rule)}
.contact-record li:first-child{border-top:1px solid var(--rule)}
.contact-record a{display:block;padding:13px 0;font-family:var(--serif);font-size:var(--head-sm);line-height:1.25;color:var(--ink);text-decoration:none;border:0}
.contact-record a:hover{color:var(--blue)}
.contact-record a span{display:block;margin-top:4px;font-family:var(--sans);font-size:.78125rem;letter-spacing:.01em;color:var(--muted);max-width:60ch}
.not-found-ways .not-found-lede{font-family:var(--serif);font-size:clamp(1.125rem,1.35vw,1.3125rem);line-height:1.5;margin:0 0 clamp(24px,3vw,40px);max-width:44ch}
.not-found-ways .not-found-lede a{display:inline;padding:0;font:inherit;color:var(--ink);text-decoration:underline;text-decoration-color:var(--rule);text-underline-offset:4px}
.not-found-ways ul{display:flex;flex-direction:column;gap:0;margin-top:14px;border-top:1px solid var(--ink)}
.not-found-ways li{border-bottom:1px solid var(--rule)}
.not-found-groups{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 clamp(24px,3vw,48px);margin-top:clamp(16px,2vw,28px)}
.not-found-groups h2{margin:0}
.not-found-groups a{display:block;padding:12px 0;font-family:var(--serif);font-size:var(--head-sm);letter-spacing:-.015em;text-decoration:none}
.not-found-ways a:hover{color:var(--blue)}
.enter, .sources a, .colophon a, .masthead .name, .marginal a{display:inline-block;padding-block:4px}
.research-thread-notes a{padding-block:4px}
.research-thread-notes a{margin-top:6px}
.colophon{border-top:1px solid var(--ink);display:flex;justify-content:space-between;gap:40px;padding:42px var(--margin) 64px;font-size:.8125rem}
.colophon p{font-weight:600;margin:0 0 8px}
.colophon a{overflow-wrap:anywhere}
.colophon nav,.foot-group{display:flex;flex-wrap:wrap;gap:12px 24px;align-content:flex-start}
a:active, .masthead nav a:active, .masthead nav a[aria-current]:active, .masthead .name:active, .contact-record a:active, .hub-more a:active, .program-parts a:active, .contact-email a:active, .chapter-link h2 a:active, .chapter-link h3 a:active, .research-thread h2 a:active, .enter:active, .sources a:active, .colophon a:active, .caption a:active, figcaption a:active, .marginal a:active, .chapter-next a:active b, .chapter-next a:active .meta{color:var(--live)}
.scene{margin:0}
.scene-art svg{display:block;width:100%;height:auto;overflow:visible}
.scene-foot{display:flex;justify-content:space-between;align-items:flex-start;gap:20px}
.scene-foot .caption{margin-top:12px}
.scene-controls{margin-left:auto;display:flex;flex-wrap:wrap;gap:8px;flex-shrink:0;max-width:100%}
.js [data-scene] .scene-controls{min-height:42px}
.live-only{display:none}
.js .live-only{display:inline;visibility:hidden}
.is-live .live-only{visibility:visible}
@media(prefers-reduced-motion:reduce){.motion-only{display:none!important}}
.live-only-block{visibility:hidden}
.hint-touch{display:none}
@media(pointer:coarse){.hint-fine{display:none}.hint-touch{display:inline}}
.is-live .live-only-block{visibility:visible}
.scene-toggle,.scene-button{font:inherit;font-family:var(--sans);font-size:.75rem;letter-spacing:.02em;color:var(--ink);background:transparent;border:1px solid var(--rule);border-radius:0;padding:7px 11px;margin-top:10px;cursor:pointer;min-height:32px}
.scene-toggle:hover,.scene-button:hover{border-color:var(--ink)}
.scene-toggle[hidden]{display:none}
.motion.enter-ready [data-enter="diff"] .lang-row{clip-path:inset(0 100% 0 0);transition:clip-path 700ms cubic-bezier(.2,.7,.2,1)}
.motion.enter-ready [data-enter="diff"].is-in .lang-row{clip-path:inset(0 0 0 0)}
.motion.enter-ready [data-enter="diff"].is-in .lang-row:nth-of-type(3){transition-delay:140ms}
.motion.enter-ready [data-enter="diff"].is-in .lang-row:nth-of-type(4){transition-delay:280ms}
.nist-cover{padding-bottom:var(--section);border-bottom:1px solid var(--ink)}
.nist-cover-head{padding-top:clamp(40px,4.4vw,70px);padding-bottom:clamp(8px,1vw,16px);row-gap:clamp(18px,2vw,30px)}
.nist-cover-head .display{max-width:14ch}
.record-plate .method-note{margin-top:clamp(22px,2.4vw,34px);padding-top:0}
.record-plate .method-note dl{grid-template-columns:1fr}
.lang-diff{margin:0;border-top:1px solid var(--ink)}
.lang-head{display:grid;grid-template-columns:1fr 1fr;column-gap:20px;padding:10px 0 8px;font-size:.75rem;letter-spacing:.025em;color:var(--muted)}
.lang-row{display:grid;grid-template-columns:1fr 1fr;column-gap:20px;padding:14px 0 16px;border-top:1px solid var(--rule)}
.lang-what{grid-column:1/-1;font-family:var(--sans);font-size:.75rem;font-weight:600;letter-spacing:.02em;margin:0 0 8px}
.lang-a,.lang-b{margin:0;display:flex;flex-direction:column;gap:4px}
.lang-a code,.lang-b code{flex:1 0 auto}
.lang-row code{font-family:ui-monospace,"Cascadia Mono",Consolas,monospace;font-size:.78125rem;color:var(--muted);overflow-wrap:anywhere}
.research-thread .lang-diff{border-top:0}
.lang-row samp{font-family:var(--serif);font-size:clamp(1.625rem,2.6vw,2.375rem);line-height:1;letter-spacing:-.02em;font-variant-numeric:lining-nums}
.lang-row:nth-of-type(4) samp{font-size:clamp(1.0625rem,1.5vw,1.3125rem);line-height:1.2;letter-spacing:0}
.lang-b samp{color:var(--blue)}
.lang-why{grid-column:1/-1;margin:10px 0 0;font-family:var(--serif);font-size:1rem;line-height:1.4;color:var(--muted);max-width:44ch}
@media(max-width:1024px){
  .masthead nav{font-size:.875rem;gap:14px}
}
@media(max-width:780px){
  :root{--section:62px;--chapter:52px}
  .nist-cover-head{padding-top:44px}
  .masthead{height:auto;flex-direction:column;align-items:flex-start;gap:5px;padding:9px 16px 8px}
  .masthead .name{font-size:.9375rem}
  .masthead nav{gap:2px 13px;font-size:.875rem;flex-wrap:wrap}
  .masthead nav a{padding:10px 0}
  html{scroll-padding-top:calc(var(--mast,88px) + 12px)}
  .wrap{width:calc(100% - 32px)}
  .grid{display:block}
  .grid>*+*{margin-top:34px}
  .display{font-size:clamp(min(2.5rem,11.5vw),11.5vw,3.375rem);line-height:1}
  .standfirst{font-size:1.25rem}
  .chapter-open{padding:44px 0 52px}
  .chapter-open .marginal{margin-top:44px}
  .section-head{display:block}
  .section-head>span,.section-head>.meta{display:block;text-align:left;margin-top:10px;white-space:normal}
  .home-lead-aside p:not(.meta){max-width:none}
      .home-safey{padding:62px 0}
  .home-safey-mark{justify-self:start;margin-top:34px}
  .hero-window{width:62%;margin-left:auto;margin-top:34px}
  .chapter-link{display:block;padding:18px 0}
  .program li{display:block;padding:16px 0}
  .program-when{display:block;margin-bottom:6px}
  .home-community{display:block;padding:var(--section) 16px}
  .home-community-figure{margin:0 0 30px}
  .scene-foot{flex-wrap:wrap;gap:0 12px}
  .scene-foot .caption{flex:1 1 100%}
  .scene-controls{margin-left:0}
  .chronology>div{display:block}
  .chronology dd{margin-top:8px}
  .chronology dt{font-size:2.75rem;line-height:.95;letter-spacing:-.035em;font-variant-numeric:lining-nums}
  .chronology>div:first-child dt{font-size:1.75rem;line-height:1.05;letter-spacing:-.02em}
  .chapter-note{display:block;text-align:left;margin-top:8px}
  .not-found-groups{grid-template-columns:1fr;row-gap:30px}
  .chapter-link p{margin-top:7px}
  .about-portrait img{max-width:455px}
  .about-open .about-portrait{margin-top:40px}
    .axis{height:84px;margin-top:6px}
  .auc .auc-wide{display:none}
  .auc .auc-narrow{display:block}
  .lung-question p{font-size:1.5rem}
  .nist-diff{padding-top:32px}
  .method-note dl{grid-template-columns:1fr}
  .method-note dd{font-size:.90625rem}
  .thread-dates,.eng-photo,.mode-index{margin-top:30px}
  .com-photo{margin-top:30px}
  .com-ledger li{grid-template-columns:min(4rem,22vw) minmax(0,1fr);row-gap:8px}
  .cy-line{grid-column:2}
  .swarm-field .scene-art{height:440px}
  .thread-art{margin-top:30px}
    .eagle-cover{display:flex;flex-direction:column;min-height:0}
  .motion .eagle-cover-photo img{transform:none}
  .eagle-cover-text{padding:34px 16px 44px}
  .eagle-cover-photo{width:100%;aspect-ratio:1131/1400;max-height:78vh}
  .eagle-handoff img{height:auto;transform:none}
  .chapter-next a{display:block;padding:16px 0}
  .chapter-next b{display:block;font-size:1.625rem;margin-top:8px}
  .colophon{display:block;padding:34px 16px 56px}
  .colophon nav{margin-top:28px}
}
@media(max-width:780px){
  .enter, .sources a, .colophon a, .research-thread-notes a, .marginal a{padding-block:7px}
  .research-thread-notes a{display:block}
}
@media(min-width:481px) and (max-width:780px){
}
@media(min-width:521px) and (max-width:780px){
  .masthead{height:auto;min-height:52px;flex-direction:row;flex-wrap:wrap;align-items:center;gap:0 16px;padding:0 16px}
  .masthead nav{flex-wrap:wrap;column-gap:14px}
  .masthead nav a{padding:11px 0}
  html{scroll-padding-top:calc(var(--mast,52px) + 12px)}
}
@media(min-width:601px) and (max-width:780px){
  .home-safey .safey-pair{max-width:460px}
  .prose{max-width:36em}
  .standfirst{max-width:32em}
}
@media(max-width:780px) and (orientation:landscape) and (max-height:500px){
  .eagle-cover-photo{aspect-ratio:auto;max-height:none}
  .eagle-cover-photo img{position:static;height:auto;object-fit:contain}
  .eagle-cover-photo figcaption{position:static;background:#2a2a28}
}
@media(max-width:600px){
  .mode-index a{grid-template-columns:1.5rem minmax(0,1fr);row-gap:2px}
  .mode-index .mi-does{grid-column:2}
  .scene-toggle,.scene-button{min-height:44px;padding-inline:14px}
  .string-plate .string-stage{aspect-ratio:800/821}
  .string-plate .tab-wide{display:none}
  .string-plate .tab-narrow{display:block}
  .lit-label{font-size:.875rem;top:19%;left:calc(var(--xn) * 1%)}
}
@media(max-width:400px){
  .lit-label{width:min(9.5em,46%);transform:none}
  .lit-label-parents{left:3%;text-align:left}
  .lit-label-children{left:auto;right:3%;text-align:right}
  .masthead nav{gap:9px;font-size:.8125rem}
    .display{font-size:min(2.375rem,11.5vw)}
}
@media(max-width:340px){.about-head .display{max-width:none}.masthead nav{font-size:.75rem}}
@view-transition{navigation:auto}
.masthead{view-transition-name:masthead}
::view-transition-old(root),::view-transition-new(root){animation-duration:220ms;animation-timing-function:ease}
@media(prefers-reduced-motion:reduce){@view-transition{navigation:none}}
@media(prefers-reduced-motion:reduce){*{animation-duration:0.001ms!important;animation-iteration-count:1!important;transition-duration:0.001ms!important;scroll-behavior:auto!important}}
@media(max-height:300px){.masthead{position:static}}
@media print{.masthead{position:static}.reader-rule,.skip,.scene-controls,.scene-toggle,.scene-button,.string-motion{display:none!important}a{text-decoration:none}main a{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
  .motion.enter-ready [data-enter] :is(img,.lang-row,.axis-head,.axis-t,.axis-gap),.motion.enter-ready [data-enter="line"]{clip-path:none!important}
  .motion.enter-ready [data-enter="axis"] .axis-line{stroke-dashoffset:0!important}
  .motion.enter-ready [data-enter="question"] p{color:var(--ink)!important}.motion.enter-ready [data-enter="question"] em{color:var(--blue)!important}
  [data-scroll]{--q:1!important}
}
@media(forced-colors:active){
  :is(.glyph,.swarm,.nist-traces,.nist-channel,.auc-wide,.auc-narrow){forced-color-adjust:none;background:#f3f0e8}
  .tab{forced-color-adjust:none}
}
.auc-narrow .auc-note{font-size:max(12px,calc((12px + (538px - 100vw) * 0.0138) * 1.06))}
.auc-narrow .auc-num{font-size:max(13px,calc((13px + (455px - 100vw) * 0.0148) * 1.06))}
.auc-wide .auc-note{font-size:max(14px,calc((14px + (963px - 100vw) * 0.0042) * 1.06))}
.tab .string-name{transform-box:fill-box;transform-origin:center}
@media(min-width:601px) and (max-width:700px){.tab-wide .string-name{transform:scale(1.64)}}
@media(min-width:701px) and (max-width:800px){.tab-wide .string-name{transform:scale(1.41)}}
@media(min-width:801px) and (max-width:900px){.tab-wide .string-name{transform:scale(1.23)}}
@media(min-width:901px) and (max-width:985px){.tab-wide .string-name{transform:scale(1.09)}}
.hero-sentence{font-size:clamp(1.375rem,2.1vw,2rem);max-width:36ch}
.hero-sentence a{text-decoration-color:rgba(17,18,15,.26);text-decoration-thickness:1px;text-underline-offset:.2em}
.hero-sentence a:hover{text-decoration-color:currentColor}
.hero-photo .plate{background:var(--paper-deep)}
.hero-photo figcaption{margin-top:10px}
.home-elsewhere{display:flex;flex-wrap:wrap;gap:4px 22px;margin:12px 0 0;font-size:.875rem}
.home-elsewhere a{text-decoration-color:var(--rule);padding-block:6px}
.home-more{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:clamp(18px,2vw,32px);padding:clamp(28px,3vw,46px) 0 var(--section);border-top:1px solid var(--ink)}
.home-more>h2{grid-column:1/4;padding-top:6px}
.home-more>.home-items,.home-more>.enter{grid-column:4/12}
.home-more>.enter{justify-self:start;margin-top:30px}
.home-items{list-style:none;margin:0;padding:0;display:grid;gap:22px}
.home-items li{display:grid;grid-template-columns:7.5rem minmax(0,1fr);column-gap:16px;align-items:baseline}
.index-when{font-size:.8125rem;color:var(--muted);letter-spacing:.01em;font-variant-numeric:tabular-nums}
.index-title{font-family:var(--serif);font-size:1.3125rem;line-height:1.3;text-decoration-color:var(--rule);text-underline-offset:4px;padding-block:2px}
.home-items p{margin:4px 0 0;max-width:38rem;font-family:var(--serif);font-size:1.0625rem;line-height:1.5;color:#3b3b36}
@media(max-width:780px){
  .home-more{display:block;padding-top:24px}
  .home-more>h2{margin-bottom:18px;padding-top:0}
  .home-items li{display:block}
  .index-when{display:block;margin-bottom:2px}
}
.swarm-field svg.swarm{overflow:hidden}
@media(hover:none){
  .mode-index a .mi-name,.hub-more li>a .hub-title,.chapter-link h2 a,.chapter-link h3 a,.not-found-ways a,.research-thread h2 a{text-decoration:underline;text-decoration-color:var(--rule);text-decoration-thickness:1px;text-underline-offset:5px}
  .contact-record a{text-decoration:underline;text-decoration-color:var(--rule);text-underline-offset:5px}
}
@media(max-width:780px){
  :root{--margin:16px}
  .masthead{padding:7px 16px 4px;gap:1px}
}
@media(max-width:430px){
  .com-ledger li{display:block}
  .com-ledger .cy-year{margin:0 0 4px}
  .com-ledger .cy-title{margin:0 0 6px}
}
@media(max-width:480px){.colophon .foot-group{column-gap:18px}}
.nist-seac{margin:0;max-width:360px}
.prose .nist-note{margin-top:clamp(32px,3.4vw,48px);max-width:46ch}
.nist-seac img{width:100%}
.nist-seac figcaption{margin-top:8px}
.safey-hoc{margin-top:clamp(8px,1vw,16px)}
.safey-hoc img{width:100%;max-width:800px}
.safey-hoc figcaption{margin-top:10px}
.thread-art-nist img{display:block;width:100%;height:auto}
.thread-art-nist .caption{margin-top:10px}
.contact-block{align-items:start;padding-bottom:clamp(40px,4.4vw,72px)}
.contact-portrait{margin:0;max-width:360px}
.contact-portrait img{display:block;width:100%;height:auto}
@media(max-width:780px){.contact-portrait{grid-column:1/-1;max-width:300px;margin-top:28px}}
.js [data-scene]:not([data-pause]) .scene-controls:empty{display:none}
:root{--pick:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 width=%2232%22 height=%2232%22 viewBox=%220 0 32 32%22%3E%3Cpath d=%22M16 30C9.5 22.5 3.5 15 4 8.5 4.4 3.6 10.4 2 16 2s11.6 1.6 12 6.5c.5 6.5-5.5 14-12 21.5z%22 fill=%22%23c07a2c%22 stroke=%22%233b2510%22 stroke-width=%221.5%22 stroke-linejoin=%22round%22/%3E%3Cpath d=%22M9 7.5c2-2 10-2.5 13.5-.6%22 fill=%22none%22 stroke=%22%23f3d9a8%22 stroke-width=%221.6%22 stroke-linecap=%22round%22 opacity=%22.8%22/%3E%3C/svg%3E") 16 30}
.hh-coates-grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(28px,4vw,72px);align-items:center}
.hh-coates-photo{margin:0;max-width:601px}
.hh-coates-photo img{display:block;width:100%;height:auto}
@media(max-width:780px){.hh-coates-grid{grid-template-columns:1fr}}
.board-film{margin:0}
.board-film-view video{display:block;width:100%;height:auto;aspect-ratio:1000/760;background:var(--paper)}
.board-film .scene-foot{justify-content:center}
.board-film .scene-foot .caption{margin:6px auto 0;max-width:46ch;text-align:center}
.eagle-cover-film{background:#f3f0e8;display:flex;flex-direction:column;justify-content:center;padding:clamp(24px,3vw,48px) clamp(16px,2.4vw,40px);border-left:1px solid var(--rule)}
.eagle-set{margin-top:clamp(28px,3vw,48px);align-items:end}
.eagle-set img{display:block;width:100%;height:auto}
.eagle-set .caption{max-width:36ch;margin:0}
@media(max-width:780px){.eagle-set .caption{margin-top:10px}}
@media(max-width:780px){
  .eagle-cover-film{border-left:0;border-top:1px solid var(--rule);padding:20px 16px 28px}
}
.coding-judge{margin:0 0 var(--section)}
.judge-art{border-top:1px solid var(--ink);padding-top:clamp(18px,2vw,28px)}
.judge-problem{font-family:var(--serif);font-size:clamp(1.125rem,1.45vw,1.375rem);line-height:1.45;max-width:46ch;margin:0 0 clamp(22px,2.6vw,38px)}
.judge-problem b{display:block;font:500 .75rem/1.3 var(--sans);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-bottom:8px}
.judge-lanes{display:grid;grid-template-columns:1fr 1fr;gap:clamp(22px,3.2vw,56px)}
.judge-lane{min-width:0}
.judge-lane h3{font-family:var(--serif);font-weight:450;font-size:var(--head-sm);margin:0 0 12px}
.judge-lane pre{margin:0 0 18px;padding:14px 16px;min-height:calc(5 * 1.55 * .8125rem + 28px);box-sizing:border-box;background:var(--paper-deep);border-left:2px solid var(--blue);overflow-x:auto}
.judge-lane code{font-family:ui-monospace,"Cascadia Mono",Consolas,monospace;font-size:.8125rem;line-height:1.55;color:var(--ink);white-space:pre}
.judge-tests{list-style:none;margin:0;padding:0}
.jt{display:grid;grid-template-columns:8.5em 1fr 10.5em;align-items:center;column-gap:12px;padding:7px 0;border-top:1px solid var(--rule);font:400 .8125rem/1.3 var(--sans);color:var(--ink)}
.jt-n{font-variant-numeric:tabular-nums;color:var(--muted)}
.jt-bar{position:relative;height:8px;background:rgba(23,63,83,.08)}
.jt-bar::after{content:"";position:absolute;right:0;top:-4px;bottom:-4px;border-right:1px solid var(--ink)}
.jt-bar i{position:absolute;left:0;top:0;bottom:0;width:calc(var(--p) * 100%);background:var(--blue)}
.jt.is-over:not(.is-running) .jt-bar i{background:repeating-linear-gradient(135deg,var(--ink) 0 3px,transparent 3px 6px)}
.jt-v{font-variant-numeric:tabular-nums;color:var(--blue)}
.jt.is-over .jt-v{color:var(--ink);font-weight:600}
.is-judging .jt.is-pending .jt-v,.is-judging .jt.is-running .jt-v{visibility:hidden}
.judge-score{margin:12px 0 0;font:400 .8125rem/1.3 var(--sans);color:var(--muted)}
.judge-score b{color:var(--ink);font-weight:600}
.coding-judge .scene-foot{margin-top:18px}
.coding-explain{padding-bottom:clamp(28px,3vw,48px)}
@media(max-width:780px){
  .judge-lanes{grid-template-columns:1fr;row-gap:36px}
  .jt{grid-template-columns:7.5em 1fr 9.5em}
}
@media(max-width:400px){
  .jt{grid-template-columns:minmax(0,1fr) auto;row-gap:4px}
  .jt-v{text-align:right}
  .jt-bar{grid-column:1/-1;grid-row:2}
}
.lungscans{margin:0}
.lungscans .lungct-view{max-width:420px;aspect-ratio:1}
.lungscans .lungct-view>img{display:block;width:100%;height:auto}
.lungscans .lungct-view[role="slider"]{cursor:grab;touch-action:pan-y;user-select:none;-webkit-user-select:none}
.lungscans .lungct-view.is-turning{cursor:grabbing}
.lungscans .scene-controls{display:flex}
.lungscans .scene-controls .scene-toggle{margin-top:12px}
.lungscans figcaption{max-width:44ch;margin-top:14px}
.lung-cohort{align-items:center;row-gap:34px}
.lung-method{padding-top:28px}
.lung-method-steps{list-style:none;counter-reset:lung-step;margin:0;padding:0;grid-column:1/10}
.lung-method-steps li{counter-increment:lung-step;display:grid;grid-template-columns:56px 1fr;column-gap:24px;border-top:1px solid var(--rule);padding:28px 0}
.lung-method-steps li:before{content:counter(lung-step,decimal-leading-zero);font-family:var(--sans);font-size:1rem;color:var(--blue);padding-top:5px}
.lung-method-steps h3{font-family:var(--serif);font-weight:450;font-size:var(--head-sm);margin:0 0 12px}
.lung-method-steps p{max-width:62ch;margin:0;font-family:var(--serif);font-size:var(--body);line-height:1.5}
@media(max-width:780px){.lung-plate{max-width:480px}.lung-cohort{padding-top:48px}.lung-method-steps{grid-column:1/-1}.lung-method-steps li{grid-template-columns:28px 1fr;column-gap:16px}.lungscans .lungct-view{max-width:340px}}
.home-lead{align-items:start}
.string-plate .string-stage{touch-action:none;user-select:none}
@media(orientation:landscape) and (max-height:500px) and (pointer:coarse){.string-plate .string-stage{touch-action:pan-y}}
.string-plate .string-key:focus-visible{outline-color:#e6dccd}
.string-plate .scene-toggle,.string-plate .sound-toggle{margin-top:0;color:#e6dccd;border-color:#78624f}
.string-plate .scene-toggle:hover,.string-plate .sound-toggle:hover{border-color:#e6dccd}
.string-plate .sound-toggle{min-width:6.4em}
.string-plate .sound-toggle[aria-disabled=true]{cursor:default;opacity:.62}
.string-plate .note circle,.string-plate .note text{transition:fill .12s,stroke .12s}
.string-plate .note.is-on circle{fill:#b7ccd3;stroke:#f3f0e8;stroke-width:2}
.string-plate .note.is-on text{fill:#11120f}
.string-plate .tab .note.is-on circle{fill:color-mix(in srgb,#b7ccd3 calc(var(--phrase-opacity,1) * 100%),#f3f0e8);stroke:color-mix(in srgb,#f3f0e8 calc(var(--phrase-opacity,1) * 100%),transparent)}
.string-plate .tab .playhead{stroke:#b7ccd3;stroke-dasharray:none;opacity:0}
.string-plate.is-playing .tab .playhead{opacity:calc(var(--phrase-opacity,0) * .5)}
.string-plate .scene-foot{flex-wrap:nowrap;align-items:flex-start;gap:20px}
.string-plate .scene-foot .caption{flex:1 1 auto;min-width:0}
.string-plate .scene-foot .scene-controls{margin-left:auto;justify-content:flex-end}
@media(max-width:600px){.string-plate .scene-foot{gap:12px;padding-top:32px}.string-plate .scene-controls{flex-direction:column;align-items:flex-end}}
@media(prefers-reduced-motion:reduce){.string-plate .string-motion{visibility:hidden}.string-plate .note circle,.string-plate .note text{transition:none}}
.swarm-field .scene-art{height:420px}
.scene-art .swarm-phone{display:none}
@media(max-width:600px){
  .swarm-field .scene-art{height:380px}
  .swarm-field:not(.has-swarm) .swarm-wide{display:none}
  .swarm-field:not(.has-swarm) .swarm-phone{display:block}
}
.droplets-plate{max-width:1400px;margin:2rem auto 0;padding:0 4vw}
.droplet-stage{position:relative;width:100%;aspect-ratio:25/6;background:#f3f0e8;overflow:hidden}
.droplet-still,.droplet-still img{display:block;width:100%;height:100%}
.droplet-live{position:absolute;inset:0;display:none}
.has-droplets .droplet-live{display:block}
.has-droplets .droplet-still{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.droplet-live canvas{display:block;width:100%;height:100%}
.droplet-labels{position:absolute;inset:0;font:400 .875rem var(--sans);color:var(--blue)}
.droplet-labels span{position:absolute;top:5%;left:8%}
.droplet-labels span+span{left:54.64%;transform:translateX(-50%)}
.droplets-plate .scene-foot{padding-top:1.5rem;border-top:1px solid var(--rule);margin-top:1rem}
@media(max-width:600px){
 .droplet-stage{aspect-ratio:20/9}
 .droplet-labels span{left:6%}
 .droplet-labels span+span{left:57.93%}
 .droplets-plate{padding:0 6vw;margin-top:1.5rem}
 .droplets-plate .scene-foot{align-items:flex-start;gap:1rem}
}
.workflow-map li{color:var(--muted);border-color:var(--rule)}
.workflow-map b{color:var(--ink)}
.droplet-stage{forced-color-adjust:none}
.safey-pair{margin:0;max-width:520px}
.safey-pair-screens{display:grid;grid-template-columns:1fr 1fr;gap:clamp(14px,1.8vw,24px);align-items:start}
.safey-pair img{display:block;width:100%;height:auto;border-radius:12px;border:1px solid rgba(236,232,223,.16)}
.safey-pair-label{font:500 .8125rem/1.3 var(--sans);letter-spacing:.01em;color:#c9cfd1;margin:0 0 10px}
.safey-pair figcaption{font-family:var(--sans);font-size:.78125rem;line-height:1.5;color:var(--muted);margin-top:14px;max-width:46ch}
.safey-pair-small{max-width:440px}
.home-safey .safey-pair figcaption{color:#a3adaf}
.safey-cover .grid{align-items:center}
.jarvis-product-open{padding-bottom:var(--section);align-items:start}
.jarvis-product-copy .standfirst{margin-top:24px}
.jarvis-product-copy .marginal{margin-top:28px;max-width:38ch}
.jarvis-triptych{margin:0;padding-top:8px;min-width:0}
.jarvis-triptych ol{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;list-style:none;margin:0;padding:0}
.jarvis-triptych li,.jarvis-triptych li figure{min-width:0;margin:0}
.jarvis-triptych img{display:block;width:100%;height:auto;max-width:516px;border-radius:10px}
.jarvis-triptych figcaption{font-family:var(--sans);font-size:.8125rem;line-height:1.5;color:var(--muted);margin-top:12px;overflow-wrap:break-word}
.jarvis-triptych b{font-weight:600;font-size:1rem;color:var(--ink)}
.jarvis-triptych p{margin:6px 0 0}
.jarvis-triptych>figcaption{font-size:.78125rem;margin-top:20px}
@media(max-width:600px){.safey-inside{grid-template-columns:1fr;max-width:300px;row-gap:34px}}
@media(max-width:600px){.jarvis-triptych ol{grid-template-columns:repeat(2,minmax(0,1fr))}.jarvis-triptych li:first-child{display:none}}
.jarvis-mode-list{margin:0;padding:0;list-style:none}
.jarvis-mode-row{display:grid;grid-template-columns:2fr 4fr 5fr;gap:clamp(20px,3vw,48px);padding:28px 0;border-top:1px solid var(--rule);scroll-margin-top:calc(var(--mast,58px) + 24px)}
.jarvis-mode-row h3{font-family:var(--serif);font-weight:450;font-size:clamp(1.625rem,2.4vw,2.25rem);line-height:1.1;margin:0}
.jarvis-mode-row p{font-family:var(--serif);font-size:1.125rem;line-height:1.55;margin:0}
.jarvis-mode-row .jarvis-mode-limit{color:var(--muted)}
@media(max-width:780px){
 .jarvis-triptych{margin-top:30px}
 .jarvis-triptych ol{gap:12px}
 .jarvis-mode-row{grid-template-columns:1fr 2fr;gap:16px 24px}
 .jarvis-mode-row .jarvis-mode-limit{grid-column:2}
}
@media(max-width:430px){
 .jarvis-triptych li figcaption{font-size:.75rem}
 .jarvis-mode-row{display:block;padding:24px 0}
 .jarvis-mode-row h3{margin-bottom:14px}
 .jarvis-mode-row .jarvis-mode-limit{margin-top:16px}
}
.safey-film{display:block}
.safey-film video{display:block;width:100%;height:auto;aspect-ratio:500/1012;object-fit:cover;background:#1b2124}
.safey-pair .safey-film video{border-radius:12px;border:1px solid rgba(236,232,223,.16)}
.safey-pair .scene-foot{align-items:flex-start}
.safey-pair .scene-foot figcaption{margin-top:14px}
.safey-inside .scene-controls{grid-column:1/-1}
.home-safey .scene-toggle{color:#f2efe7;border-color:rgba(242,239,231,.35)}
.home-safey .scene-toggle:hover{border-color:#f2efe7}
