@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@500;600;700;800;900&family=IBM+Plex+Mono:wght@400;500;600&family=Inter:wght@400;500;600;700&display=swap');
:root{--blue:#244cff;--yellow:#dfff00;--red:#ff3b36;--black:#090b10;--muted:#a3abba;--line:#343944}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding:30px}body{margin:0;background:var(--black);color:#f3f5f7;font:14px Inter,Arial,sans-serif}button,a,input,select{touch-action:manipulation}button,a{color:inherit}button{font:600 12px 'IBM Plex Mono',monospace;cursor:pointer;border:1px solid var(--line);background:transparent;padding:13px 17px}button:hover{border-color:var(--yellow);color:var(--yellow)}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid var(--yellow);outline-offset:4px}a{text-decoration:none}header{display:flex;align-items:center;justify-content:space-between;padding:22px 3.4%;border-bottom:1px solid var(--line);gap:20px}.wordmark{font:800 28px 'Barlow Condensed',Arial,sans-serif;letter-spacing:-.4px}header>div{display:flex;gap:28px;align-items:center;font:11px 'IBM Plex Mono',monospace}header b{color:var(--yellow)}.header-label,.micro,.eyebrow,.lab-nav,.live-tag,label,.range-ends,.legend,.plot-axis,.readouts small{font:500 10px 'IBM Plex Mono',monospace;letter-spacing:1px}.header-label{color:var(--muted)}.text-button{padding:0;border:0;font-size:10px}main{max-width:1760px;margin:auto}.headline{padding:46px 3.4% 35px;display:grid;grid-template-columns:1fr 310px;gap:50px;align-items:center}.eyebrow{display:flex;align-items:center;gap:9px;color:var(--yellow);margin:0 0 18px}.eyebrow i{width:6px;height:6px;background:var(--yellow);border-radius:50%}.eyebrow span{margin-left:12px;color:var(--muted);font-size:9px}h1,h2,p{margin-top:0}h1{font:800 clamp(46px,5.5vw,87px)/.96 'Barlow Condensed','Arial Narrow',Arial,sans-serif;letter-spacing:-1px;margin-bottom:17px}h1 em{font-style:normal;color:var(--yellow)}.lede{color:#b9c0ca;max-width:620px;line-height:1.65;font-size:14px;margin:0}.token{background:var(--blue);padding:22px;transform:rotate(0deg);border-top:5px solid var(--yellow)}.token .micro{font-size:9px}.token strong{display:flex;justify-content:space-between;align-items:center;font:800 56px 'Barlow Condensed',sans-serif;margin:7px 0}.token strong span{color:var(--yellow);font-size:50px}.token p{font-size:12px;line-height:1.6;margin-bottom:19px}.lab-nav{background:var(--blue);padding:16px 3.4%;display:flex;justify-content:space-between;align-items:center;font-size:11px}.lab-nav b{background:var(--yellow);color:var(--black);padding:4px 7px;margin-right:12px}.lab-nav a{font-size:10px}.workspace{display:grid;grid-template-columns:265px 1fr;border-bottom:1px solid var(--line)}.controls{padding:28px 25px 24px 18%;border-right:1px solid var(--line)}.controls .micro{color:var(--muted)}.bands{display:grid;gap:8px;margin:17px 0 26px}.bands button{display:flex;justify-content:space-between;align-items:center;font-size:15px;padding:12px}.bands small{font-size:9px;font-weight:400;color:var(--muted)}.bands button.selected{background:var(--yellow);color:var(--black);border-color:var(--yellow)}.bands button.selected small{color:#252d00}label{display:block;font-size:9px;margin:15px 0 13px;color:#c9ced7}output{float:right;color:var(--yellow)}input[type=range]{width:100%;accent-color:var(--yellow);cursor:pointer;height:5px;margin:8px 0}.range-ends{display:flex;justify-content:space-between;font-size:8px;color:var(--muted);margin-top:8px}select{border:1px solid var(--line);background:#151921;color:#fff;padding:12px 8px;width:100%;font:11px 'IBM Plex Mono',monospace}.check{display:flex;align-items:center;gap:5px;letter-spacing:0;font:11px Inter,sans-serif;margin:18px 0 22px}.check input{accent-color:var(--yellow)}.primary{background:var(--yellow);border-color:var(--yellow);color:var(--black);width:100%;padding:16px 10px}.primary:hover{background:#eeff7c;color:#000}.control-note{font-size:10px;color:var(--muted);line-height:1.6;margin:16px 0 0}.signal-area{padding:25px 4% 15px;min-width:0;background:radial-gradient(ellipse at 80% 35%,#15225a44,transparent 65%)}.signal-heading{display:flex;justify-content:space-between;align-items:center}.signal-heading>.micro{color:var(--muted);font-size:9px}.live-tag{color:var(--black);background:var(--yellow);padding:5px 8px;font-size:8px}.readouts{display:flex;gap:10%;margin:22px 0 7px}.readouts small{font-size:8px;color:var(--muted)}.readouts strong{font:700 40px 'Barlow Condensed',sans-serif;display:block;line-height:1.3}.readouts strong>span:not(#similarity){font-size:18px;color:var(--muted)}.readouts strong em{font-size:18px;font-style:normal;color:var(--yellow);margin-left:2px}.plot{height:207px;position:relative}canvas{display:block;width:100%;height:183px}.plot-axis{display:flex;justify-content:space-between;color:#768193;font-size:8px}.legend{display:flex;gap:25px;align-items:center;font-size:8px;margin:5px 0 19px;color:var(--muted)}.legend i{display:inline-block;width:16px;height:3px;margin-right:5px;vertical-align:middle}.yellow{background:var(--yellow)}.red{background:var(--red)}.legend b{font-weight:400;color:#eee;margin-left:5px}.annotation{border-top:1px solid var(--line);padding-top:2px}.note-row{display:flex;gap:8px;margin-top:15px}.note-row input{background:#121621;border:1px solid var(--line);color:white;font:12px Inter,sans-serif;padding:12px;width:100%;min-width:0}.note-row button{white-space:nowrap;font-size:10px;border-color:var(--red);color:var(--red)}#feedback{font:10px 'IBM Plex Mono',monospace;color:var(--yellow);margin-top:13px;min-height:15px}.choice{display:grid;grid-template-columns:1fr 1fr;gap:12%;padding:42px 4%;background:var(--blue);border-bottom:8px solid var(--red)}.choice .micro{color:#d5dcff}h2{font:700 40px/1.04 'Barlow Condensed',sans-serif;margin-bottom:17px}.choice p:not(.micro){font-size:12px;line-height:1.7;max-width:460px;margin-bottom:0}.choice-options{display:flex;gap:10px}.choice-options button{border-color:#aebdff;flex:1;text-align:left;display:flex;justify-content:space-between;align-items:center;font-size:11px}.choice-options button[aria-pressed=true]{background:var(--yellow);color:#000;border-color:var(--yellow)}.choice-options span{font-size:22px}.cohort{display:flex;margin:18px 0 10px;font:700 12px 'IBM Plex Mono',monospace;color:var(--black)}.cohort div{padding:14px 12px;background:var(--yellow)}.cohort div+div{background:var(--red)}.choice .micro{font-size:8px}#your-choice{font:10px 'IBM Plex Mono',monospace;margin-bottom:18px}.choice .primary{margin-top:18px}.logbook{padding:40px 4%;border-bottom:1px solid var(--line)}.section-title{display:flex;align-items:center;justify-content:space-between;gap:20px}.section-title .micro{color:var(--yellow)}.section-title h2{font-size:36px}.empty{border:1px dashed #48505e;padding:25px;color:var(--muted);font-size:12px}.log-row{border-top:1px solid var(--line);padding:18px 0;display:grid;grid-template-columns:100px 1fr auto;gap:20px;align-items:center}.log-row strong{font:600 20px 'Barlow Condensed',sans-serif}.log-row p{color:var(--muted);font-size:11px;line-height:1.5;margin:4px 0;overflow-wrap:anywhere}.log-row button{font-size:9px;padding:9px 12px}.log-actions{display:flex;gap:8px}.method{padding:44px 4%;display:grid;grid-template-columns:1fr 1.4fr;gap:10%;background:#121620}.method .micro{color:var(--red)}.method p:not(.micro){color:#adb6c4;font-size:12px;line-height:1.8}.method details{font-size:11px;border-top:1px solid var(--line);padding:15px 0}.method summary{cursor:pointer;color:var(--yellow);margin-bottom:14px}.method code{font:10px/1.8 'IBM Plex Mono',monospace}footer{padding:25px 4%;display:flex;align-items:center;justify-content:space-between;gap:20px}footer>span:not(.wordmark),footer a{font:9px 'IBM Plex Mono',monospace;color:var(--muted)}footer a{color:var(--yellow)}dialog{background:var(--blue);color:#fff;border:1px solid var(--yellow);padding:35px;max-width:530px;width:90%}dialog::backdrop{background:#000c}dialog p{font-size:13px;line-height:1.7}dialog .micro{color:var(--yellow)}.noscript{position:fixed;top:0;background:var(--red);padding:20px;z-index:1000;color:black}.intro{position:fixed;inset:0;z-index:100;background:#050914;overflow:hidden;display:flex;align-items:center;justify-content:center}.intro.hidden{display:none}.intro-grid{position:absolute;inset:-50%;background-image:linear-gradient(#244cff33 1px,transparent 1px),linear-gradient(90deg,#244cff33 1px,transparent 1px);background-size:60px 60px;transform:rotate(-18deg);animation:gridmove 10.5s both}.orbit{position:absolute;border:2px solid var(--blue);border-radius:50%;width:80vw;height:80vw;transform:rotateX(60deg) rotate(-35deg);box-shadow:0 0 30px #244cff55;animation:orbit 10.5s both}.o2{width:58vw;height:58vw;border-color:var(--red);animation-delay:.25s}.spectrum{position:absolute;width:90%;height:130px;background:repeating-linear-gradient(90deg,var(--yellow) 0 2px,transparent 2px 7px,var(--red) 7px 9px,transparent 9px 17px,var(--blue) 17px 20px,transparent 20px 28px);transform:rotate(-15deg);filter:drop-shadow(0 0 12px var(--blue));animation:band 10.5s both}.occult{width:50vw;height:50vw;border-radius:50%;background:#050914;box-shadow:-10px 0 0 var(--yellow),-25px 0 80px #244cff77;position:absolute;animation:occult 10.5s both}.intro-caption{position:relative;text-align:center;width:95%;z-index:2}.intro-caption>span{font:11px 'IBM Plex Mono',monospace;color:var(--yellow);display:block;animation:caption 10.5s both}.intro-caption strong{font:800 clamp(48px,12vw,170px) 'Barlow Condensed',sans-serif;display:block;animation:reveal 10.5s both;letter-spacing:-2px}.intro-caption strong span{font:10px 'IBM Plex Mono',monospace;display:block;letter-spacing:2px;color:var(--yellow)}#skip{position:absolute;right:30px;top:25px;z-index:3;background:#050914cc;border-color:#6878a4}.intro.reduced .orbit,.intro.reduced .spectrum,.intro.reduced .occult,.intro.reduced .intro-grid{animation:none;opacity:.25}.intro.reduced .intro-caption strong,.intro.reduced .intro-caption>span{animation:none}.intro.reduced .occult{display:none}@keyframes gridmove{to{transform:rotate(0deg) scale(1.3)}}@keyframes orbit{0%{opacity:0;transform:rotateX(60deg) rotate(-60deg) scale(1.4)}25%{opacity:1}70%{transform:rotateX(65deg) rotate(50deg) scale(.8);opacity:1}85%,100%{transform:rotateX(0deg) rotate(90deg) scale(.25);opacity:0}}@keyframes band{0%,18%{opacity:0;clip-path:inset(0 100% 0 0)}38%,60%{opacity:1;clip-path:inset(0)}80%,100%{opacity:0;transform:rotate(0deg) scaleX(.1)}}@keyframes occult{0%{transform:translateX(-100vw)}20%{transform:translateX(-30vw)}48%{transform:translateX(20vw)}75%,100%{transform:translateX(100vw)}}@keyframes reveal{0%,63%{opacity:0;transform:scale(.8);filter:blur(14px)}80%,100%{opacity:1;transform:scale(1);filter:blur(0)}}@keyframes caption{0%,15%{opacity:0}25%,100%{opacity:1}}
@media(min-width:1500px){.controls{padding-left:30px}.workspace{grid-template-columns:300px 1fr}.plot{height:250px}canvas{height:226px}}
@media(max-width:800px){header{padding:18px 5%}.header-label{display:none}.wordmark{font-size:25px}header>div{gap:16px}.headline{padding:30px 5%;grid-template-columns:1fr;gap:24px}h1{font-size:62px}.eyebrow{font-size:9px}.eyebrow span{font-size:7px;margin-left:0}.token{padding:15px 18px;display:grid;grid-template-columns:125px 1fr;column-gap:15px}.token strong{grid-row:2/4;font-size:43px;margin:0}.token>p{grid-column:2;grid-row:1/3;margin:0;font-size:11px}.token>.micro:first-child{font-size:7px}.token>.micro:last-child{grid-column:2;font-size:7px;margin-top:8px}.lab-nav{padding:15px 5%;font-size:9px}.lab-nav a{font-size:8px}.workspace{grid-template-columns:1fr}.controls{padding:20px 5%;border-right:0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;gap:5px 22px}.controls>.micro,.bands,.controls>.primary,.control-note{grid-column:1/-1}.bands{display:flex;gap:8px;margin:4px 0 10px}.bands button{flex:1;display:block;text-align:left;font-size:14px}.bands small{display:block;font-size:8px;margin-top:4px}.controls label[for=time]{grid-column:1;grid-row:3}.controls #time{grid-row:4;grid-column:1}.range-ends{grid-row:5;grid-column:1}.controls label[for=compare-time]{grid-column:2;grid-row:3}.controls #compare-time{grid-row:4/6;grid-column:2}.controls .check{grid-column:1/-1;margin:12px 0}.controls label{margin:10px 0 5px}.control-note{margin:6px 0}.signal-area{padding:21px 5%}.readouts{gap:0;justify-content:space-between}.readouts strong{font-size:34px}.readouts small{font-size:7px}.signal-heading>.micro{font-size:7px;letter-spacing:.5px}.legend{font-size:7px;gap:14px;letter-spacing:0}.note-row{flex-direction:column}.note-row button{align-self:flex-start}.choice{padding:30px 5%;grid-template-columns:1fr;gap:25px}.choice h2{font-size:40px}.logbook{padding:30px 5%}.section-title h2{font-size:30px}.section-title button{font-size:9px;padding:10px}.log-row{grid-template-columns:65px 1fr;gap:12px}.log-actions{grid-column:1/-1}.method{padding:30px 5%;grid-template-columns:1fr;gap:10px}footer{padding:25px 5%;flex-wrap:wrap}footer>span:not(.wordmark){display:none}.intro-caption strong{font-size:18vw}.intro-caption strong span{font-size:8px;letter-spacing:1px}.orbit{width:150vw;height:150vw}.o2{width:110vw;height:110vw}.occult{width:100vw;height:100vw}#skip{right:20px;top:20px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.001ms!important;transition:none!important}}

.intro:before{content:"";position:absolute;inset:0;background:url(assets/spectrum.png) center/cover;opacity:.55}.intro-grid{opacity:.5}

h1:focus{outline:none}.hero-cta{background:var(--red);color:#080a0d;border-color:var(--red);margin-top:18px;padding:13px 19px}.hero-cta:hover{background:#ff716e;color:#000}
@media(max-width:800px){.headline{padding-top:23px;gap:18px}h1{font-size:54px}.lede{font-size:12px}.hero-cta{margin-top:12px;padding:11px 16px}.token{padding:12px 15px}}

#export-preview{width:100%;height:240px;background:#080c1a;color:#dfff00;border:1px solid #8496ff;font:11px/1.7 monospace;padding:15px;resize:vertical}.export-actions{display:flex;align-items:center;gap:10px;margin-top:16px}.export-actions .primary{font:10px "IBM Plex Mono",monospace;text-align:center;padding:15px 10px;width:auto}.export-actions button{border-color:#b6c2ff;font-size:10px}#export-feedback{font-size:11px;margin-top:15px}
