:root{color-scheme:dark;--bg:#071522;--panel:#102a3d;--ink:#edf7fb;--muted:#a7becd;--line:#36566c;--cyan:#74eee2;--amber:#ffbe7a;--purple:#c1b8ff;font-family:Arial,Helvetica,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:radial-gradient(ellipse at 85% 0,#1e4967 0,transparent 45%),radial-gradient(ellipse at 0 45%,#113c4a 0,transparent 40%),var(--bg)}a{color:var(--cyan)}button,input,select{font:inherit}button,select{border:1px solid #496a7c;border-radius:7px;background:#17374b;color:var(--ink);font-size:13px;padding:9px 12px}button{cursor:pointer}button:hover{border-color:#9bd8dc;background:#244c60}button:disabled{opacity:.45;cursor:not-allowed}button[aria-pressed=true]{border-color:#74eee2;background:#205354;color:#c0fff5}input[type=range]{width:100%;accent-color:var(--cyan);height:24px;margin:7px 0;cursor:pointer}input[type=checkbox]{accent-color:var(--cyan);width:17px;height:17px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible,canvas:focus-visible{outline:2px solid var(--amber);outline-offset:4px}[hidden]{display:none!important}.skip{position:absolute;top:-70px;left:20px;z-index:100;background:#fff;color:#10283c;padding:14px}.skip:focus{top:8px}.masthead{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 32px;border-bottom:1px solid #34556b;background:#061421a8}.logos{display:flex;align-items:center;gap:20px}.logos img:first-child{width:178px;height:auto}.logos img:last-child{width:145px;height:auto}.logos>span{height:30px;border-left:1px solid #577587}.masthead nav{display:flex;gap:22px;font-size:13px}.masthead nav a{text-decoration:none;color:#d4e6ee}main{max-width:1600px;padding:0 32px;margin:auto}.breadcrumb{display:flex;gap:10px;flex-wrap:wrap;font-size:12px;line-height:1.6;margin:22px 0;color:var(--muted)}.breadcrumb a{text-decoration:none}.breadcrumb>span[aria-hidden]{opacity:.5}.intro{display:flex;justify-content:space-between;gap:30px;align-items:center;padding:20px 0 29px}.eyebrow{font-size:10px;color:var(--cyan);letter-spacing:.15em;line-height:1.5;margin:0 0 10px}h1{font-size:clamp(38px,4.7vw,68px);font-weight:500;letter-spacing:-.045em;line-height:1.03;margin:0}.intro>div>p:last-child{font-size:17px;line-height:1.6;color:var(--muted);margin:17px 0 0}.model-label{display:flex;align-items:center;gap:12px;font-size:10px;letter-spacing:.12em}.model-label small{display:block;color:var(--muted);letter-spacing:0;font-size:11px;margin-top:8px}.signal{width:7px;height:7px;background:var(--cyan);border-radius:50%;box-shadow:0 0 18px var(--cyan)}.chapters{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin:10px 0 0}.chapters button{display:flex;align-items:center;text-align:left;gap:18px;padding:19px 23px;background:linear-gradient(115deg,#153248,#10263b);border-color:#36576c;border-radius:12px;font-size:21px;font-weight:500}.chapters button>span{font-size:12px;color:var(--muted)}.chapters button small{display:block;color:var(--muted);font-size:12px;margin-top:6px;font-weight:400}.chapters button>b{margin-left:auto;color:var(--muted);font-size:22px;font-weight:400}.chapters button[aria-selected=true]{border-color:var(--cyan);background:linear-gradient(115deg,#23565e,#123749);box-shadow:inset 0 1px #aaffee22}.chapters button[aria-selected=true]>span,.chapters button[aria-selected=true]>b{color:var(--cyan)}.chapter-lead{display:flex;justify-content:space-between;gap:30px;align-items:center;padding:25px 0}.chapter-lead h2{font-size:25px;font-weight:500;letter-spacing:-.025em;margin:0 0 9px}.chapter-lead p:not(.eyebrow){max-width:750px;font-size:14px;line-height:1.7;margin:0;color:var(--muted)}.chapter-lead .eyebrow{display:block;margin-bottom:7px;font-size:9px}.invariants{display:flex;flex-direction:column;gap:7px;align-items:flex-end;flex:none}.invariants span{font-size:9px;letter-spacing:.07em;color:#b4d5dd;padding:5px 8px;border:1px solid #365767;border-radius:4px;background:#102c3d}.experiment{display:grid;grid-template-columns:270px minmax(0,1fr);border:1px solid #426176;border-radius:15px;overflow:hidden;background:#0d2132;box-shadow:0 20px 70px #020c1544}.controls{background:linear-gradient(155deg,#183b4f,#102739);padding:20px;border-right:1px solid #37586b;min-width:0}.section-title{display:flex;justify-content:space-between;align-items:center;font-size:10px;letter-spacing:.1em;color:var(--cyan);margin-bottom:15px}.text-button{border:0;background:none!important;color:var(--muted);padding:3px;font-size:12px}.controls>label{display:block;font-size:12px;color:var(--muted);margin-bottom:7px}.controls select{width:100%;font-size:13px}.control{margin-top:15px}.control label,.primary-control>label{display:flex;justify-content:space-between;gap:10px;font-size:12px;line-height:1.5;align-items:baseline}.control output{white-space:nowrap}output{font-variant-numeric:tabular-nums;color:var(--cyan)}.primary-control{margin:17px -5px 0;padding:12px 12px 5px;background:#0e2839;border:1px solid #3d6d7c;border-radius:9px}.primary-control>label:first-child{display:block}.primary-control>label>span{display:block;color:var(--muted);font-size:11px;margin-top:2px}.primary-control>label:first-child>output{display:block;font-size:33px;letter-spacing:-.03em;margin:4px 0 0}.primary-control>p{color:var(--muted);font-size:10px;line-height:1.6;margin:2px 0 12px}.primary-control>label:not(:first-child){padding-top:10px;border-top:1px solid #2e4f61}.primary-control .factor-note{font-size:10px;color:#bdd1dc}.capacity{margin-top:17px}.capacity>div:first-child{display:flex;justify-content:space-between;gap:10px;font-size:11px}.capacity-track{position:relative;height:6px;background:#314452;border-radius:5px;margin:10px 0;overflow:hidden}.capacity-track>span{display:block;height:100%;background:var(--cyan);border-radius:5px}.capacity-track i{position:absolute;left:80%;top:0;height:100%;border-left:2px solid #fff}.capacity p{font-size:10px;color:var(--muted);line-height:1.6;margin:0}.control-caption{font-size:11px;color:var(--muted);margin:19px 0 8px}.presets{display:grid;grid-template-columns:1fr 1fr;gap:6px}.presets button{font-size:11px;line-height:1.4;padding:8px 4px;min-height:34px}.inlet-tools{border-top:1px solid var(--line);padding-top:15px;margin-top:19px}.inlet-tools summary{font-size:12px;cursor:pointer}.inlet-tools p{font-size:11px;line-height:1.6;color:var(--muted)}.comparison-tools{margin-top:19px;border-top:1px solid var(--line);padding-top:16px}.comparison-tools>button{width:100%;font-size:12px;border-color:#a17d57;background:#473b31;color:#ffdab0}.comparison-tools .check{font-size:12px;display:flex;gap:8px;align-items:center;margin-top:12px;color:#f4d4ac}.comparison-tools p{font-size:10px;line-height:1.6;color:var(--muted);margin:8px 0 0}.observatory{min-width:0;display:flex;flex-direction:column}.view-bar{padding:10px 15px;display:flex;justify-content:space-between;gap:10px;align-items:center;border-bottom:1px solid var(--line);background:#112c3d}.view-bar>div{display:flex;gap:6px;flex-wrap:wrap}.view-bar button{font-size:11px;padding:7px 11px}.view-bar>button{background:transparent;white-space:nowrap}.stage{position:relative;min-height:410px;flex:1;isolation:isolate;overflow:hidden;background:radial-gradient(ellipse at 50% 40%,#16435a,#081b2a 72%)}.stage canvas{display:block;position:absolute;inset:0;width:100%;height:100%;cursor:crosshair;touch-action:pan-y}.stage-heading{position:absolute;top:17px;left:20px;right:20px;display:flex;justify-content:space-between;gap:14px;font-size:9px;letter-spacing:.09em;color:#a3c4d3;pointer-events:none}.stage-heading>span:last-child{letter-spacing:0}.colour-legend{position:absolute;bottom:16px;right:21px;background:#081d2cea;border:1px solid #34596b;border-radius:6px;padding:8px 10px;width:180px;pointer-events:none}.colour-legend>span{font-size:10px;color:#d0e1e8}.colour-legend>div{height:5px;margin:7px 0 5px;border-radius:3px;background:linear-gradient(90deg,#265b89,#52d8dd,#ffd394)}.colour-legend p{display:flex;justify-content:space-between;font-size:10px;color:var(--muted);margin:0}.state-strip{display:flex;gap:14px;align-items:center;background:#17384a;padding:14px 17px;border-top:1px solid var(--line);min-height:82px}.state-strip p{font-size:12px;line-height:1.65;color:#c9dde7;margin:0}.pill{color:#bffff3;background:#164c4e;border:1px solid #508d8e;font-size:11px;border-radius:20px;padding:7px 11px;flex:none}.state-strip.limit .pill{color:#ffe0b6;border-color:#b68a59;background:#4c3e2b}.state-strip.limit{background:#302e2a}.readouts{display:grid;grid-template-columns:repeat(4,1fr);padding:20px 17px;gap:12px;background:#102a3d;border-top:1px solid var(--line)}.readouts>div+div{border-left:1px solid var(--line);padding-left:15px}.readouts span{display:block;font-size:11px;color:var(--muted);line-height:1.5}.readouts strong{display:block;font-size:28px;line-height:1.25;font-weight:500;letter-spacing:-.025em;margin:7px 0;font-variant-numeric:tabular-nums}.readouts small{font-size:10px;color:var(--muted);display:block;line-height:1.5}.probe{padding:16px 18px;background:#0c2233;border-top:1px solid var(--line)}.probe>label{display:flex;justify-content:space-between;gap:10px;font-size:12px}.probe>div{font-size:12px;color:#c7dee7;line-height:1.9;display:flex;flex-wrap:wrap;gap:0 18px;min-height:45px}.probe b{font-weight:500;color:var(--cyan)}.animation-note{color:var(--muted);font-size:11px;line-height:1.7;margin:12px 0 23px}.warning{padding:13px 16px;border:1px solid #b08756;border-radius:8px;background:#3c3427;color:#ffe0b6;font-size:12px;line-height:1.7}.curve-heading{display:flex;justify-content:space-between;align-items:end;gap:20px;margin:30px 0 17px}.curve-heading h2{font-size:28px;font-weight:500;letter-spacing:-.025em;margin:0}.comparison-key{display:flex;gap:15px;font-size:11px;flex-wrap:wrap;color:var(--muted)}.comparison-key span.b{color:var(--cyan)}.comparison-key span.a{color:var(--amber)}.comparison-key span.b:before,.comparison-key span.a:before{content:'';display:inline-block;width:16px;height:2px;background:currentColor;vertical-align:middle;margin-right:7px}.plots{display:grid;grid-template-columns:1fr 1fr;gap:17px}.plots article{padding:22px 22px 17px;border:1px solid var(--line);border-radius:12px;min-width:0;background:linear-gradient(145deg,#16384d,#0c2334)}.plots h3{font-size:20px;letter-spacing:-.02em;margin:0;font-weight:500}.plots .eyebrow{font-size:9px;margin-bottom:7px}.plots svg{display:block;width:100%;height:auto;margin-top:15px;touch-action:pan-y;cursor:crosshair}.plots p:last-child{font-size:12px;color:var(--muted);line-height:1.7;margin:9px 0 0}.data-tools{display:flex;gap:10px 15px;flex-wrap:wrap;align-items:center;margin:17px 0 30px}.data-tools>p{flex:1;min-width:260px;color:var(--muted);font-size:11px;line-height:1.7;margin:0}.data-tools>button{font-size:12px}.data-tools>span{font-size:12px;color:var(--cyan);width:100%;text-align:right;min-height:0}.data-tools>input{width:100%;padding:10px;background:#102a3d;border:1px solid var(--line);border-radius:6px;color:var(--ink)}.learning{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;border-top:1px solid var(--line);padding:33px 0}.learning article>span{font-size:10px;letter-spacing:.13em;color:var(--cyan)}.learning h3{font-size:22px;line-height:1.3;letter-spacing:-.02em;font-weight:500;margin:16px 0 8px}.learning p{font-size:13px;line-height:1.8;color:var(--muted);margin:0}.mini-visual{padding:16px 12px 6px;background:#0b2335;border:1px solid #325367;border-radius:9px;margin-top:14px}.mini-visual svg{width:100%;height:100px;display:block}.mini-visual path{fill:none;stroke-width:2}.mini-visual .wall{stroke:#6b8b9e}.mini-visual .cyan{stroke:var(--cyan)}.mini-visual .amber{stroke:var(--amber)}.mini-visual .dash{stroke-dasharray:5 4}.mini-visual text{fill:#abc6d4;font:10px Arial,sans-serif}.model-section{border-top:1px solid var(--line);padding:32px 0}.section-head{max-width:850px}.section-head h2{font-size:29px;font-weight:500;letter-spacing:-.025em;margin:0}.section-head>p:last-child{font-size:14px;line-height:1.8;color:var(--muted)}.equation-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:25px 0}.equation-grid>article{min-width:0;background:#102d40;border:1px solid #3a5c70;border-radius:9px;padding:19px}.equation-grid h3{font-size:15px;margin:0 0 18px;line-height:1.5;font-weight:500}.equation-grid math{font-size:19px;min-height:50px;margin:12px 0;overflow-x:auto;overflow-y:hidden;max-width:100%;color:#c4fff4;padding:7px 0}.equation-grid p,.limits-grid p{font-size:12px;line-height:1.8;color:var(--muted);margin:10px 0 0}.limits-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px}.limits-grid h3{font-size:16px;font-weight:500;margin:15px 0 0}.source-details{margin-top:25px;border:1px solid var(--line);border-radius:9px;padding:17px;background:#0c2536}.source-details summary{cursor:pointer;font-size:14px}.source-details p,.source-details li{font-size:12px;line-height:1.8;color:var(--muted)}.source-details ul{padding-left:20px}.source-details li{padding-bottom:8px}.next-labs{display:grid;grid-template-columns:repeat(3,1fr);gap:17px;padding:15px 0 38px}.next-labs a{padding:17px 20px;border:1px solid #3d6273;border-radius:9px;text-decoration:none;background:#123145}.next-labs span{display:block;font-size:9px;letter-spacing:.12em;color:var(--muted);margin-bottom:9px}.next-labs b{font-size:14px;font-weight:500}footer{background:#06131f;border-top:1px solid var(--line);padding:28px 32px;display:flex;justify-content:space-between;gap:30px}footer b{font-weight:500;font-size:15px}footer p{font-size:11px;line-height:1.9;color:var(--muted)}footer>div:last-child{display:flex;flex-direction:column;align-items:flex-end;gap:13px;font-size:11px}footer small{font-size:9px;letter-spacing:.1em;color:var(--muted)}
@media(min-width:1400px){.experiment{grid-template-columns:285px minmax(0,1fr)}.controls{padding:22px}.stage{min-height:460px}}
@media(max-width:1100px){main{padding:0 21px}.masthead{padding:16px 22px}.model-label{display:none}.invariants{display:none}.experiment{grid-template-columns:240px minmax(0,1fr)}.controls{padding:17px}.readouts{grid-template-columns:1fr 1fr}.readouts>div:nth-child(3){border:0;padding-left:0}.readouts strong{font-size:25px}.stage{min-height:370px}.state-strip{align-items:flex-start;flex-direction:column;gap:8px}.curve-heading{align-items:flex-start;flex-direction:column;gap:13px}.equation-grid{grid-template-columns:1fr 1fr}.equation-grid>article:last-child{grid-column:1/-1}.learning{gap:20px}.learning h3{font-size:19px}.plots{gap:14px}.plots article{padding:18px 14px}.plots h3{font-size:18px}}
@media(max-width:760px){.masthead{padding:13px 15px}.logos{gap:11px}.logos img:first-child{width:123px}.logos img:last-child{width:100px}.logos>span{height:25px}.masthead nav{font-size:11px;gap:10px}.masthead nav a:first-child{display:none}main{padding:0 13px}.breadcrumb{font-size:11px;gap:5px 8px;margin:16px 0}.intro{padding:13px 0 20px}.intro .eyebrow{font-size:8px}h1{font-size:40px}.intro>div>p:last-child{font-size:14px;margin-top:12px}.chapters{gap:9px}.chapters button{padding:14px 11px;gap:9px;font-size:17px;line-height:1.2;border-radius:9px}.chapters button>span{font-size:10px;align-self:flex-start;padding-top:3px}.chapters button small{font-size:10px;line-height:1.5}.chapters button>b{display:none}.chapter-lead{padding:22px 0}.chapter-lead h2{font-size:23px;line-height:1.2}.chapter-lead p:not(.eyebrow){font-size:12px}.experiment{display:flex;flex-direction:column}.controls{order:1;display:grid;grid-template-columns:1fr 1fr;gap:10px 17px;border-right:0;border-top:1px solid var(--line);padding:20px 17px}.controls>.section-title,.controls>label,.controls>select,.controls>.primary-control,.controls>.capacity,.controls>.control-caption,.controls>.presets,.controls>.inlet-tools,.controls>.comparison-tools{grid-column:1/-1}.controls>.section-title{margin-bottom:2px}.controls>label{margin-bottom:0}.controls>.control{grid-column:1/-1;margin-top:7px}.primary-control{margin:3px 0 0}.capacity{margin-top:8px}.control-caption{margin:8px 0 0}.presets{grid-template-columns:repeat(3,1fr)}.presets button{font-size:11px;padding:8px 4px}.inlet-tools,.comparison-tools{margin-top:6px}.comparison-tools{display:grid;grid-template-columns:1fr 1fr;gap:8px 15px;align-items:center}.comparison-tools p{grid-column:1/-1;margin:0}.comparison-tools .check{margin:0}.comparison-tools>button{font-size:11px;padding:10px 7px}.stage{min-height:380px;height:380px;flex:none}.stage-heading{font-size:8px;left:14px;right:14px}.stage-heading>span:last-child{display:none}.view-bar{padding:9px}.view-bar button{font-size:10px;padding:7px 8px}.view-bar>div{gap:5px}.colour-legend{width:148px;right:14px;bottom:14px}.readouts{padding:16px 14px;gap:15px}.readouts span{font-size:10px}.readouts strong{font-size:24px}.state-strip{padding:13px}.state-strip p{font-size:11px}.probe{padding:14px}.probe>label{font-size:11px}.probe>div{font-size:11px;gap:0 10px}.animation-note{font-size:10px}.curve-heading h2{font-size:25px}.comparison-key{font-size:10px;gap:12px}.plots{grid-template-columns:1fr}.plots article{padding:20px 15px}.plots h3{font-size:21px}.data-tools>p{flex-basis:100%}.data-tools>button{font-size:11px;flex:1}.learning{grid-template-columns:1fr;gap:25px}.learning article{display:grid;grid-template-columns:1fr 1fr;gap:5px 14px}.learning article>span{grid-column:1/-1}.learning .mini-visual{grid-row:2/4;margin:9px 0 0;align-self:start;padding:12px 5px}.mini-visual svg{height:100px}.learning h3{font-size:19px;margin:7px 0}.learning p{font-size:12px;line-height:1.7;grid-column:2}.section-head h2{font-size:25px}.section-head>p:last-child{font-size:12px}.equation-grid,.limits-grid{grid-template-columns:1fr;gap:13px}.equation-grid>article:last-child{grid-column:auto}.equation-grid math{font-size:19px}.next-labs{grid-template-columns:1fr;gap:10px}.next-labs a{padding:15px 17px}footer{padding:26px 17px;flex-direction:column;gap:15px}footer>div:last-child{align-items:flex-start}}
@media(max-width:390px){.masthead nav{font-size:10px}.logos img:first-child{width:113px}.logos img:last-child{width:91px}.logos{gap:8px}.chapters button{font-size:15px}.learning article{display:block}.learning .mini-visual{max-width:270px;margin-top:12px}.learning p{margin-top:10px}.readouts strong{font-size:22px}.comparison-tools{display:block}.comparison-tools .check{margin:11px 0}.comparison-tools p{margin-top:8px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.plot-viewport{max-width:100%;min-width:0}.plot-viewport:focus-visible{outline:2px solid var(--amber);outline-offset:3px}.plot-scroll-hint{display:none}
@media(max-width:600px){.plot-viewport{overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;scrollbar-color:#6bb9c5 #17374b;padding-bottom:7px}.plot-viewport svg{min-width:540px;max-width:none;touch-action:auto}.plot-viewport svg text{font-size:13px}.plots .plot-scroll-hint{display:block;font-size:11px;line-height:1.6;color:#b7d6e2;margin:12px 0 0}}
