@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Instrument+Serif:ital@0;1&display=swap');
:root{--paper:#f3f2ec;--ink:#202b2d;--muted:#596564;--line:#ced2c9;--teal:#206e68;--rust:#aa492f;--night:#10252d;--serif:'Instrument Serif',Georgia,serif;--sans:'DM Sans',Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.65 var(--sans)}header,main,footer{width:min(1440px,calc(100% - 80px));margin:auto}a{color:inherit;text-underline-offset:5px}button,input,select{font:inherit;color:inherit}button,select,summary{cursor:pointer}button{border:1px solid #a5b0a6;background:transparent;padding:10px 15px;border-radius:3px;min-height:44px;font-size:13px}button:hover{background:#e2e6dc}button:disabled{opacity:.45;cursor:wait}button[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:var(--paper)}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #bd653d;outline-offset:4px}header{padding:24px 0;display:flex;align-items:center;gap:28px;border-bottom:1px solid var(--line)}.brand{text-decoration:none;display:flex;gap:12px;align-items:center;font-size:19px;font-weight:700;letter-spacing:2px;line-height:1.2}.brand svg{width:42px;fill:currentColor}.brand small{display:block;font-size:9px;letter-spacing:2px;margin-top:5px}nav{display:flex;gap:26px;margin-left:auto;font-size:13px}nav a{text-decoration:none}.edition,.eyebrow{font-size:10px;letter-spacing:1.6px;color:var(--muted);font-weight:600}.edition{margin-left:18px}.intro{display:grid;grid-template-columns:1.4fr 1fr;gap:40px;align-items:center;padding:48px 0 36px}.eyebrow{margin:0 0 16px}h1,h2,h3,p{margin-top:0}h1{font:clamp(52px,5.7vw,88px)/1.04 var(--serif);letter-spacing:-1.8px;margin-bottom:0}h1 em{font-weight:400;color:var(--rust);white-space:nowrap}.intro-copy{max-width:420px;justify-self:end}.intro-copy p:first-child{font-size:20px;line-height:1.45;color:var(--ink);margin-bottom:12px}.intro-copy p{font-size:14px;color:var(--muted);margin:0}.scope{display:flex;align-items:center;gap:20px;padding:16px 0;border-block:1px solid var(--line);font-size:12px}.scope-label{font-size:10px;letter-spacing:1px;color:var(--rust);white-space:nowrap}.scope p{margin:0;max-width:730px}.scope strong{font-weight:500}.scope a{margin-left:auto;white-space:nowrap}.section-head{display:flex;align-items:end;justify-content:space-between;gap:24px;margin:36px 0 22px}h2{font:38px/1.1 var(--serif);margin:0;letter-spacing:-.4px}h3{font:29px/1.15 var(--serif);margin:0 0 20px}.presets{display:flex;gap:8px;flex-wrap:wrap}.laboratory{display:grid;grid-template-columns:minmax(0,1fr) 310px;border:1px solid var(--line)}.stage{background:var(--night);color:#dce9e6;min-width:0;overflow:hidden}.stage-top,.stage-bottom{padding:20px 25px;display:flex;justify-content:space-between;gap:18px;font-size:10px;letter-spacing:1px}.stage-top{padding-bottom:0}.stage-top span:last-child{color:#efbc88;font-variant-numeric:tabular-nums}.stage-bottom{font-size:11px;letter-spacing:0;color:#b7cecd;padding-top:0}.stage canvas{display:block;width:100%;height:470px}.key{display:inline-block;width:5px;height:5px;border-radius:50%;background:#80bbb3;margin:0 5px 2px 10px}.key.probe{background:#efbc88;width:8px;height:8px}.view-controls{display:grid;grid-template-columns:1.5fr 1.5fr 1fr 1fr;gap:16px;padding:18px 25px;border-top:1px solid #34515a}.view-controls label{font-size:10px;color:#b7cecd}.view-controls select{width:100%;background:#17333d;color:#e0eeeb;border:1px solid #527079;font-size:11px;padding:8px;min-height:44px;margin-top:6px}.view-controls output{float:right}.view-controls input{margin-top:16px}.stage-note{font-size:11px;color:#b7cecd;line-height:1.6;padding:0 25px 20px;margin:0}.parameters{padding:25px;background:#fafaf5}.parameters .eyebrow{color:var(--rust)}label{display:block;font-size:12px;font-weight:500}label output{float:right;font-variant-numeric:tabular-nums;color:var(--teal)}.parameters>label{margin-top:20px}.parameters input[type=range]{margin-top:8px}input[type=range]{width:100%;accent-color:var(--teal);cursor:pointer;min-height:26px}.help{font-size:12px;color:var(--muted);line-height:1.6;margin:6px 0 0}.parameters .help{font-size:11px}.parameters details{font-size:12px;margin-top:20px;padding:15px 0}.parameters details label{margin-top:16px}.parameters input[type=number]{width:100%;background:transparent;border:1px solid #b7bfb6;min-height:44px;margin-top:8px;padding:8px}.plain{margin-top:15px;width:100%}.timeline{display:flex;align-items:center;gap:12px;padding:24px 0 4px}.timeline label{flex:1;margin-left:12px}.timeline .primary{background:var(--teal);color:white;border-color:var(--teal);min-width:140px}.range-ends{display:flex;justify-content:space-between;font-size:10px;color:var(--muted)}.status{font-size:12px;color:var(--muted);min-height:22px;margin:4px 0 14px}.metrics{display:grid;grid-template-columns:repeat(4,1fr);border-block:1px solid var(--line);padding:24px 0;gap:20px}.metrics>div+div{border-left:1px solid var(--line);padding-left:28px}.metrics span,.metrics small{display:block;font-size:11px;color:var(--muted)}.metrics strong{font:36px/1.5 var(--serif)}.metrics small{font-size:10px}.diagnostics .section-head{margin-top:55px}.section-head>p{max-width:330px;font-size:12px;color:var(--muted);margin:0}.diagnostic-grid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(270px,1fr);gap:40px}.profile-wrap{min-width:0}.profile-wrap canvas{width:100%;height:300px;display:block}.plot-legend{display:flex;gap:22px;font-size:12px;justify-content:center}.line{display:inline-block;width:20px;border-top:2px solid #778a87;margin-right:8px;vertical-align:middle}.line.expansion{border-top-style:dashed}.line.peculiar{border-color:#a44b2f;border-top-style:dotted}.line.total{border-color:var(--teal)}.probe-panel{padding:22px 25px;background:#e4e9df}.probe-panel>p{font-size:14px;margin:18px 0}.probe-panel .help{font-size:12px}dl{font-size:12px;margin:0}dl>div{display:flex;justify-content:space-between;gap:20px;padding:10px 0;border-top:1px solid #c4cec0}dd{font-weight:600;margin:0;white-space:nowrap}.sum{color:var(--teal)}.share{margin-top:55px;padding:36px;background:#e4e9df;display:grid;grid-template-columns:1fr 1.3fr;gap:55px}.share h2{font-size:42px;margin-bottom:18px}.share p{font-size:13px;max-width:370px;color:var(--muted)}.export-buttons{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:20px}.export-buttons button:first-child{background:var(--teal);color:white;border-color:var(--teal)}#share-url{display:block;width:100%;border:1px solid #aab8a6;background:transparent;padding:10px;font-size:12px;margin-top:7px;min-height:44px}.text-link{font-size:12px}.method-grid{display:grid;grid-template-columns:repeat(3,1fr);border-block:1px solid var(--line)}.method-grid article{padding:28px 25px 28px 0}.method-grid article+article{padding-left:25px;border-left:1px solid var(--line)}.method-grid span{font-size:10px;letter-spacing:1px;color:var(--rust)}.method-grid h3{margin:22px 0 16px}.method-grid p{font-size:13px;color:var(--muted)}.method-grid code{display:block;font-size:12px;color:var(--teal);line-height:1.9;margin-bottom:15px}.methods details{border-bottom:1px solid var(--line);padding:22px 0;font-size:14px}.details-copy{max-width:830px;padding-top:22px;font-size:14px;color:var(--muted)}.sources{display:flex;flex-wrap:wrap;gap:20px;font-size:12px;padding:24px 0;color:var(--muted)}footer{display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--line);padding:28px 0 35px;margin-top:25px;font-size:10px;color:var(--muted)}.skip{position:absolute;left:-10000px}.skip:focus{left:20px;top:10px;background:white;padding:10px;z-index:10}.noscript{padding:25px}
@media(max-width:1100px){header,main,footer{width:calc(100% - 40px)}.edition{display:none}.laboratory{grid-template-columns:minmax(0,1fr) 280px}.parameters{padding:20px}.view-controls{grid-template-columns:1fr 1fr}.intro{grid-template-columns:1.4fr 1fr}.intro h1{font-size:64px}.scope{flex-wrap:wrap}.scope a{margin-left:0}.stage canvas{height:460px}.diagnostic-grid{gap:24px}}
@media(max-width:760px){body{font-size:16px}header,main,footer{width:calc(100% - 32px)}header{flex-wrap:wrap;padding:18px 0;gap:18px}nav{gap:18px;font-size:12px}.brand{font-size:16px}.brand svg{width:33px}.brand small{font-size:8px}.intro{grid-template-columns:1fr;gap:20px;padding:32px 0 25px}.intro h1{font-size:56px}.intro-copy{justify-self:start;max-width:460px}.intro-copy p:first-child{font-size:19px}.scope{gap:10px;font-size:12px}.scope a{font-size:12px}.section-head{align-items:start;flex-direction:column;gap:18px}h2{font-size:33px}.presets{width:100%}.presets button{flex:1;font-size:12px;padding-inline:8px}.laboratory{grid-template-columns:1fr}.stage canvas{height:340px}.stage-top,.stage-bottom{padding-inline:16px;font-size:9px}.stage-bottom{flex-wrap:wrap;gap:6px}.view-controls{padding:16px;gap:14px}.view-controls select{font-size:12px}.stage-note{padding-inline:16px}.parameters{padding:25px}.parameters>label{font-size:14px}.parameters .help{font-size:12px}.timeline{flex-wrap:wrap}.timeline label{flex:1 1 100%;margin:8px 0 0;font-size:13px}.timeline button{flex:1}.metrics{grid-template-columns:1fr 1fr;gap:22px}.metrics>div+div{padding-left:0;border-left:0}.metrics>div:nth-child(even){padding-left:20px;border-left:1px solid var(--line)}.metrics strong{font-size:32px}.diagnostic-grid{grid-template-columns:1fr}.profile-wrap canvas{height:270px}.probe-panel label{font-size:13px}.share{grid-template-columns:1fr;padding:25px;gap:24px}.share h2{font-size:37px}.share p{max-width:none}.export-buttons button{font-size:12px}.method-grid{grid-template-columns:1fr}.method-grid article,.method-grid article+article{padding:24px 0;border-left:0}.method-grid article+article{border-top:1px solid var(--line)}.method-grid p{font-size:14px}footer{flex-wrap:wrap;font-size:11px}input[type=number],#share-url{font-size:16px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
@media print{header,main,footer{width:100%}.parameters,.presets,.timeline,.view-controls,.export-buttons,#share-url,.share>div:last-child{display:none}.laboratory,.share{display:block}.stage{print-color-adjust:exact}.stage canvas{height:400px}.methods{break-before:page}button{display:none}.intro{padding:20px 0}}
