@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/font-0.ttf) format("truetype")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:normal;font-display:swap;src:url(/fonts/font-1.ttf) format("truetype")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:normal;font-display:swap;src:url(/fonts/font-2.ttf) format("truetype")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:normal;font-display:swap;src:url(/fonts/font-3.ttf) format("truetype")}@font-face{font-family:STIX Two Text;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/font-4.ttf) format("truetype")}@font-face{font-family:STIX Two Text;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/font-5.ttf) format("truetype")}:root{--bg:#152E40;--panel:#1C384B;--text:#E6EDF0;--line:#77919E;--accent:#C98A69;color-scheme:dark;font-family:IBM Plex Sans,sans-serif;color:var(--text);background:var(--bg)}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,a,input,select,summary{outline-offset:5px}button{cursor:pointer;background:none;color:var(--text);border:1px solid var(--line);padding:11px 17px;border-radius:2px}button:hover{background:var(--panel)}a{color:inherit;text-underline-offset:5px}button.primary{background:var(--accent);color:var(--bg);border-color:var(--accent);font-weight:600}.primary:hover{background:var(--text);border-color:var(--text)}.mono,output,.eyebrow,.plot-foot,.readouts strong{font-family:IBM Plex Mono,monospace}h1,h2,h3,.brand{font-family:STIX Two Text,Georgia,serif;font-weight:400}h1{font-size:clamp(38px,4.2vw,60px);line-height:1.04;margin:18px 0}h1 em{font-style:normal;color:var(--accent)}h2{font-size:30px;line-height:1.2}h3{font-size:25px;margin:0}.eyebrow{font-size:11px;letter-spacing:.08em}.small,small{font-size:13px;line-height:1.5}p{line-height:1.6}main{max-width:1600px;margin:auto;padding:0 4vw}header{height:90px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{font-size:30px;display:flex;align-items:center;gap:12px;text-decoration:none}.header-note{font-size:11px;letter-spacing:.09em}.heading{display:grid;grid-template-columns:1.4fr 1fr;align-items:center;padding:36px 0 40px;gap:10vw}.intro-note{border-left:1px solid var(--line);padding-left:30px;max-width:400px}.intro-note p:first-child{font-size:20px;font-family:STIX Two Text,serif}.section-bar{display:flex;align-items:center;justify-content:space-between;gap:18px;border-top:1px solid var(--line);padding:17px 0}.section-bar h2{font-family:IBM Plex Sans,sans-serif;font-size:14px;margin:0;font-weight:500}.legend{display:flex;gap:20px;font-size:12px;align-items:center}.filtered-key{color:var(--accent)}input[type=checkbox]{accent-color:var(--accent)}.plots{display:grid;grid-template-columns:1.4fr 1fr;background:var(--panel);border:1px solid var(--line)}figure{min-width:0;margin:0;padding:23px 24px 15px}figure+figure{border-left:1px solid var(--line)}figcaption{display:flex;align-items:center;justify-content:space-between;gap:10px}figcaption .mono{font-size:9px}figure svg{display:block;width:100%;height:auto;overflow:visible;margin:16px 0 0}.plot-foot{font-size:10px;display:flex;justify-content:space-between;padding-left:36px}.readouts{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line);border-top:0}.readouts>div{padding:20px 23px;display:grid;gap:7px}.readouts>div+div{border-left:1px solid var(--line)}.readouts span{font-size:12px}.readouts strong{font-size:26px;font-weight:400}.readouts small{font-size:10px}#parameters{margin-top:25px}.controls{display:grid;grid-template-columns:repeat(6,1fr);gap:24px;padding:14px 0}.controls label{display:flex;flex-direction:column;gap:14px;position:relative;font-size:13px;min-width:0}output{font-size:11px;margin-top:0}input:not([type=range]):not([type=checkbox]),select{border:1px solid var(--line);background:var(--panel);color:var(--text);padding:11px 12px;width:100%;border-radius:2px}input[type=range]{width:100%;accent-color:var(--accent);margin:0;height:22px}.ends{display:flex;justify-content:space-between;font-size:10px}.run-row{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:8px;border-bottom:1px solid var(--line);padding:12px 0 24px}.run-row p{font-size:12px;max-width:75ch}.warning{border-left:3px solid var(--accent);padding:10px 15px;background:var(--panel);font-size:13px}.notebook{margin-top:40px}.notebook-input{display:flex;align-items:end;gap:12px}.notebook-input label{flex:1;font-size:12px}.notebook-input input{display:block;margin-top:10px}.notebook-input button{white-space:nowrap}#status{font-size:12px;min-height:20px}#saved-list{border-top:1px solid var(--line)}.saved-row{display:grid;grid-template-columns:1.6fr 1.5fr auto;align-items:center;gap:20px;border-bottom:1px solid var(--line);padding:18px 0}.saved-row p{margin:0;overflow-wrap:anywhere}.saved-row small{font-family:IBM Plex Mono,monospace;font-size:10px}.empty{font-size:13px;padding:12px 0}.method{display:grid;grid-template-columns:1.4fr 1fr;gap:10vw;margin:70px 0}.method p{font-size:14px;max-width:65ch}.method h2{font-size:36px;margin:20px 0}.credits{border-left:1px solid var(--line);padding-left:30px}.credits h2{font-size:29px}summary{cursor:pointer;padding:15px 0;border-bottom:1px solid var(--line);font-size:13px}footer{border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:20px;padding:30px 0 35px;font-size:12px}footer .brand{font-size:24px}dialog{background:var(--panel);color:var(--text);border:1px solid var(--line);max-width:min(480px,90vw);padding:30px}dialog::backdrop{background:#152e40cc}dialog h2{font-size:48px;margin:18px 0}.intro{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10;background:var(--bg);display:flex;flex-direction:column;padding:30px 5vw;overflow:hidden}.intro-top,.intro-bottom{display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:12px}.intro-top .mono{font-size:12px}.intro-stage{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center}.intro-stage svg{width:min(800px,90vw);height:40vh;max-height:330px}.intro-stage p{font-size:14px;margin:10px 0}.intro-stage h1{margin:0;font-size:64px;opacity:0}.intro-tagline{opacity:0}.axis{stroke:var(--line);stroke-width:1;opacity:.4}.raw-line{stroke:var(--text);stroke-width:1.4;fill:none}.filtered-line{stroke:var(--accent);stroke-width:2.5;fill:none}.intro-bottom{border-top:1px solid var(--line);padding-top:20px}.no-js{padding:8vw}.intro[hidden],[hidden]{display:none!important}@media(max-width:1000px){.controls{grid-template-columns:repeat(3,1fr)}.heading{gap:5vw}.header-note{display:none}.notebook-input{flex-wrap:wrap}.notebook-input label{flex-basis:100%}.method{gap:5vw}figcaption{align-items:start;flex-direction:column}.readouts strong{font-size:22px}}@media(max-width:650px){main{padding:0 20px}header{height:76px}.brand{font-size:25px;gap:6px}header button{font-size:11px;padding:9px}.heading{display:block;padding:26px 0}.heading h1{font-size:43px}.intro-note{border-left:0;padding-left:0}.intro-note p:first-child{display:none}.intro-note p{font-size:14px}.plots{display:block}figure{padding:18px 15px 12px}figure+figure{border-left:0;border-top:1px solid var(--line)}figcaption{flex-direction:row;align-items:center}figcaption h3{font-size:23px}.readouts{grid-template-columns:1fr 1fr}.readouts>div{padding:15px}.readouts>div:nth-child(3){border-left:0;border-top:1px solid var(--line)}.readouts>div:nth-child(4){border-top:1px solid var(--line)}.controls{grid-template-columns:1fr 1fr;gap:24px 20px}.legend{gap:9px;font-size:10px}.section-bar{gap:10px;flex-wrap:wrap}.run-row{align-items:start;flex-direction:column}.notebook{margin-top:25px}.notebook-input button{font-size:12px;flex:1}.notebook-input #save{flex-basis:100%}.method{display:block;margin:45px 0}.method h2{font-size:31px}.credits{border-left:0;border-top:1px solid var(--line);padding:25px 0 0;margin-top:35px}.saved-row{grid-template-columns:1fr auto;gap:10px}.saved-row small{grid-column:1}.saved-row button{grid-column:2;grid-row:1/3}footer{flex-wrap:wrap}footer span{order:3;flex-basis:100%}.intro{padding:20px}.intro-stage h1{font-size:49px}.intro-bottom{font-size:10px}.intro-stage svg{height:30vh}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
