@font-face{font-family:STIX;src:url('/fonts/STIX.ttf')}@font-face{font-family:Plex;src:url('/fonts/PlexSans.ttf')}@font-face{font-family:Mono;src:url('/fonts/PlexMono.ttf')}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:#EDF2F5;color:#263C49;font:15px/1.5 Plex,Arial,sans-serif}button,input,select{font:inherit;color:inherit}button,a,input,select,summary{touch-action:manipulation}button,a{ -webkit-tap-highlight-color:transparent}button{cursor:pointer;background:transparent;border:1px solid #AABCC6;border-radius:2px;padding:10px 16px}button:hover{background:#dce6ec}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid #263C49;outline-offset:4px}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:STIX,Georgia,serif;font-weight:400;line-height:1.08}h2{font-size:32px}h3{font-size:29px}header{margin:0 4.5%;height:92px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #AABCC6}.brand{display:flex;align-items:center;gap:11px;font-size:21px;letter-spacing:.025em}.brand span{font:10px Mono,monospace;border-left:1px solid #AABCC6;padding-left:12px;margin-left:5px}nav{display:flex;gap:32px;font-size:13px}.header-link{font-size:13px}main{margin:0 4.5%}.heading{padding:46px 0 42px}.eyebrow,.mono{font:10px/1.7 Mono,monospace;letter-spacing:.065em}.eyebrow{display:block}.square{display:inline-block;width:6px;height:6px;background:#577C91;margin-right:10px}.hero-line{display:flex;justify-content:space-between;align-items:end;margin-top:24px}h1{font-size:clamp(54px,5.8vw,88px);letter-spacing:-.035em}h1 em{color:#577C91;font-weight:400}.hero-note{padding:0 4% 7px 20px}.hero-note p{font:21px/1.45 STIX,Georgia,serif;margin-bottom:26px}.section-top{display:flex;align-items:end;justify-content:space-between;padding:22px 0;gap:24px;border-top:1px solid #AABCC6}.section-top h2{font-size:25px}.workspace{display:grid;grid-template-columns:minmax(0,1fr) 300px;border:1px solid #AABCC6}.drawing{position:relative;min-width:0;background:#F9FBFC;display:flex;flex-direction:column;justify-content:space-between}.drawing-top,.drawing-bottom{display:flex;align-items:center;justify-content:space-between;padding:18px 24px;gap:12px;font:10px Mono,monospace;letter-spacing:.04em}.drawing-top button{font:11px Plex,Arial,sans-serif}.text-button{padding:0;border:0;border-radius:0;background:transparent;font-size:12px;text-decoration:underline;text-underline-offset:4px}.text-button:hover{background:none;color:#344f60}#plot{display:block;width:100%;max-height:570px;flex:1;min-height:300px}.drawing-bottom{border-top:1px solid #d1dce3;font-size:10px}.controls{border-left:1px solid #AABCC6;padding:24px;background:#EDF2F5}.control-heading h3{margin:14px 0 23px}label{font-size:12px;display:block}select,input[type=text],#seed{background:#F9FBFC;border:1px solid #78909e;border-radius:0;width:100%;padding:11px;font-size:12px}select{margin:8px 0 22px}.range-label{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}output{font:11px Mono,monospace}input[type=range]{width:100%;accent-color:#577C91;margin:0 0 20px;height:14px}.control-divider{border-top:1px solid #AABCC6;margin:0 0 20px}.seed-row{display:flex;margin:8px 0}.seed-row input{min-width:0}.seed-row button{background:#263C49;color:#F9FBFC;border-color:#263C49;padding:5px 13px}.hint{font-size:11px;line-height:1.6}.export-buttons{display:flex;gap:8px;margin:22px 0 15px}.export-buttons button{font-size:12px;flex:1;padding:12px 8px}.primary{background:#263C49;color:#F9FBFC;border-color:#263C49}.primary:hover{background:#3b5260}.sub-actions{display:flex;justify-content:space-between;gap:12px}.status{font:10px/1.5 Mono,monospace;min-height:30px;margin-top:15px}.lab-footer{display:flex;align-items:center;justify-content:space-between;font-size:11px;padding:17px 0}.lab-footer b{font:italic 17px STIX}.data-section{display:grid;grid-template-columns:1fr 1fr;gap:10%;padding:66px 0 70px;border-top:1px solid #AABCC6;margin-top:26px}.data-section h2{margin:15px 0 16px}.data-section p{max-width:410px}.data-actions{align-self:center}.upload{position:relative;border:1px dashed #78909e;padding:22px;cursor:pointer;font-size:18px;font-family:STIX;background:#F9FBFC}.upload span{display:block;font:11px Mono;margin:6px 0 14px}.upload input{max-width:100%;font:11px Plex}.data-actions .sub-actions{margin:16px 0 12px}.section-top p{font-size:12px;line-height:1.6}.section-top .eyebrow{margin-bottom:13px}.editions{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin:10px 0 75px}.edition{padding:0;text-align:left;border:0;border-top:1px solid #AABCC6}.edition:hover{background:transparent}.edition svg{display:block;width:100%;height:auto;background:#F9FBFC}.edition-info{display:flex;justify-content:space-between;gap:10px;padding:16px 0;font:11px Mono}.edition-info strong{font:19px STIX}.principles{display:grid;grid-template-columns:1fr 1fr;gap:10%;padding:55px 0 65px;border-top:1px solid #AABCC6}.principles h2{font-size:44px;margin-top:22px}.principles p{margin-bottom:18px;max-width:550px}.principles .large-copy{font:28px/1.3 STIX}details{border-top:1px solid #AABCC6;padding-top:15px;font-size:12px}summary{cursor:pointer}details p{margin-top:16px}.film{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:10%;border-top:1px solid #AABCC6;padding:40px 0}.film h2{margin:15px 0}.film video{width:100%;background:#F9FBFC}footer{border-top:1px solid #AABCC6;display:flex;justify-content:space-between;align-items:center;gap:24px;padding:30px 0;font-size:11px}dialog{background:#F9FBFC;border:1px solid #577C91;padding:38px;max-width:460px;width:calc(100% - 32px);color:#263C49}dialog::backdrop{background:#263C4980}dialog h2{font-size:52px;margin:15px 0}dialog p{margin-bottom:20px}dialog button{width:100%}#intro{position:fixed;inset:0;z-index:20;background:#EDF2F5;display:flex;flex-direction:column;justify-content:space-between;padding:30px 4.5%;animation:intro-failsafe 0s 12s forwards}#intro[hidden]{display:none}.intro-top,.intro-foot{display:flex;justify-content:space-between;align-items:center;font:11px Mono}.intro-top button{font:12px Plex}.intro-scene{position:relative;flex:1;display:grid;place-items:center;min-height:0}.intro-scene svg{height:100%;max-height:65vh;width:100%}.intro-brand{position:absolute;text-align:center;font:46px STIX;opacity:0;animation:brand 10s forwards}.intro-brand span{display:block;font:17px STIX;margin-top:10px}#intro-grid{animation:grid 10s forwards}#intro-curve{stroke-dasharray:10000;stroke-dashoffset:10000;animation:trace 10s forwards;transform-origin:center}.origin{animation:point 10s forwards}@keyframes trace{0%,15%{stroke-dashoffset:10000;opacity:0}25%{opacity:1}65%{stroke-dashoffset:0;transform:scale(1)}78%{stroke-dashoffset:0;transform:scale(1.15)}87%,100%{stroke-dashoffset:0;opacity:.12;transform:scale(1.4)}}@keyframes grid{0%,12%{opacity:0;transform:scale(.2);transform-origin:center}35%,68%{opacity:1;transform:scale(1);transform-origin:center}85%,100%{opacity:0}}@keyframes brand{0%,79%{opacity:0;transform:translateY(12px)}88%,100%{opacity:1;transform:translateY(0)}}@keyframes point{0%,15%{opacity:1}30%,100%{opacity:0}}@keyframes intro-failsafe{to{visibility:hidden;pointer-events:none}}@media(max-width:900px){.workspace{grid-template-columns:minmax(0,1fr) 265px}.controls{padding:20px}.hero-note{padding-right:0}.drawing-bottom{flex-direction:column;align-items:start}nav{gap:18px}.brand span{display:none}}@media(max-width:650px){header{height:76px}.brand{font-size:17px;gap:5px}nav{gap:16px}nav a{font-size:11px}nav a:last-child,.header-link{display:none}.heading{padding:30px 0}.eyebrow{font-size:9px}.hero-line{display:block}h1{font-size:58px}.hero-note{padding:20px 0 0;display:flex;align-items:end;justify-content:space-between;gap:15px}.hero-note p{font-size:17px;margin:0}.hero-note .mono{max-width:130px;font-size:8px}.section-top{align-items:start;flex-direction:column;gap:10px}.section-top h2{font-size:26px}.workspace{grid-template-columns:1fr}.controls{border-left:0;border-top:1px solid #AABCC6;padding:25px}.control-heading h3{font-size:30px}#plot{min-height:290px;max-height:420px}.drawing-top{padding:16px}.drawing-bottom{padding:16px}.lab-footer{flex-wrap:wrap;gap:12px}.lab-footer p{display:none}.data-section,.principles,.film{grid-template-columns:1fr;gap:30px;padding:40px 0}.data-section h2{font-size:32px}.editions{gap:16px;grid-template-columns:1fr;margin-bottom:35px}.edition{display:grid;grid-template-columns:46% 1fr;border-top:1px solid #AABCC6}.edition-info{flex-direction:column;justify-content:center;padding-left:20px}.principles h2{font-size:38px}footer{flex-wrap:wrap;gap:20px}footer .brand{width:45%}.intro-top{font-size:8px}.intro-top button{font-size:11px}.intro-brand{font-size:38px}.intro-foot{font-size:9px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}#intro{display:none}*{animation:none!important;transition:none!important}}.noscript{padding:20px}
.intro-twin{opacity:0;transform-origin:300px 220px;animation:twin-left 10s forwards}.intro-twin.right{animation-name:twin-right}@keyframes twin-left{0%,62%{opacity:0;transform:translateX(0) scale(.55)}72%,80%{opacity:.6;transform:translateX(-195px) scale(.48)}89%,100%{opacity:0;transform:translateX(-195px) scale(.48)}}@keyframes twin-right{0%,62%{opacity:0;transform:translateX(0) scale(.55)}72%,80%{opacity:.6;transform:translateX(195px) scale(.48)}89%,100%{opacity:0;transform:translateX(195px) scale(.48)}}
