:root{color-scheme:dark;--bg:#071827;--panel:#103043;--line:#315468;--text:#eff9fc;--muted:#a5becd;--b:#6ce6dc;--a:#ffc48c;--pink:#eaa2d2;--blue:#82baff}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 85% 0,#164963 0,transparent 50%),var(--bg);color:var(--text);font:16px/1.65 'Segoe UI',Arial,sans-serif}a{color:var(--b)}button,input,select{font:inherit}button,select{border:1px solid #52778a;background:#153b4e;color:var(--text);border-radius:9px;padding:9px 15px;cursor:pointer}button:hover,a.card:hover{background:#1c4b60}button:disabled{opacity:.45;cursor:wait}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--a);outline-offset:4px}button[aria-pressed=true]{background:#2b5f63;border-color:var(--b)}.skip{position:absolute;top:-100px}.skip:focus{top:0;background:#132f40;z-index:20}.top{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px max(22px,4vw);border-bottom:1px solid var(--line)}.brand{display:flex;gap:18px;align-items:center}.brand img{width:180px;height:auto;max-height:42px;object-fit:contain}.brand img+img{width:170px}.top nav{display:flex;gap:20px;flex-wrap:wrap;font-size:14px}.wrap{width:min(1460px,94%);margin:auto}.crumbs{display:flex;gap:18px;flex-wrap:wrap;margin:26px 0;font-size:14px}.hero{max-width:980px;padding:12px 0 34px}.eyebrow{color:var(--b);font-size:12px;letter-spacing:.15em;text-transform:uppercase;font-weight:700}h1,h2,h3,p{margin:0 0 14px}h1{font-size:clamp(32px,4.3vw,64px);line-height:1.06;letter-spacing:-.04em;font-weight:600;max-width:1000px}h2{font-size:25px;line-height:1.25;letter-spacing:-.02em}h3{font-size:19px}.hero>p:last-child{font-size:19px;color:#c6dbe5;max-width:830px}.badges{display:flex;gap:9px;flex-wrap:wrap;margin:20px 0}.badge{font-size:12px;letter-spacing:.06em;color:#c6e8eb;border:1px solid #487382;padding:3px 10px;border-radius:30px}.lab-grid{display:grid;grid-template-columns:280px minmax(0,1fr);gap:20px;align-items:start}.card{border:1px solid var(--line);border-radius:16px;padding:24px;background:linear-gradient(130deg,#12374acc,#0c2535dd);box-shadow:0 15px 50px #020c1415;min-width:0}.control{margin-bottom:20px}.control>div{display:flex;justify-content:space-between;gap:9px}.control label{font-size:14px;color:#d7e7ef}.control output{color:var(--b);font-variant-numeric:tabular-nums;white-space:nowrap}.control input{width:100%;accent-color:var(--b);cursor:ew-resize}.help,.caption{font-size:13px;color:var(--muted);line-height:1.6}.help{margin:5px 0}.quiet{background:transparent}.control-pane h2{font-size:20px}.control-pane{position:sticky;top:15px}.stage{overflow:hidden;border:1px solid var(--line);border-radius:16px;background:radial-gradient(ellipse at 50% 30%,#163f55,#091f30 80%);position:relative;min-width:0}.stage-top{padding:15px 22px;display:flex;justify-content:space-between;align-items:center;gap:15px;border-bottom:1px solid var(--line);font-size:12px;letter-spacing:.1em;color:var(--b)}.scene{display:block;width:100%;height:auto;aspect-ratio:2;touch-action:none}.scene text{font-family:'Segoe UI',Arial,sans-serif;font-size:18px;fill:#cce3ee}.scene .big{font-size:28px;fill:#fff;font-weight:600}.scene .small{font-size:14px;fill:#9fc3d4}.scene .handle{cursor:grab;fill:var(--b);stroke:#fff;stroke-width:2}.scene .component{cursor:pointer}.scene .component:hover rect{stroke:var(--b)}#viewer{height:480px;position:relative;touch-action:none}#viewer canvas{display:block;width:100%;height:100%}.hidden,[hidden]{display:none!important}.playbar{display:flex;gap:12px;align-items:center;padding:12px 20px;border-top:1px solid var(--line);flex-wrap:wrap}.playbar input{flex:1;min-width:100px;accent-color:var(--b)}.playbar output{font-variant-numeric:tabular-nums;min-width:65px}.caption{padding:16px 20px;margin:0}.readouts{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line);border-radius:14px;overflow:hidden;margin:16px 0}.readout{padding:18px 16px;background:#0d2b3d;border-right:1px solid var(--line)}.readout:last-child{border-right:none}.readout span{display:block;font-size:12px;color:var(--muted)}.readout strong{font-size:25px;font-weight:500;font-variant-numeric:tabular-nums;line-height:1.3}.readout small{font-size:12px;color:var(--muted);margin-left:6px}.status{padding:14px 18px;border-left:3px solid var(--b);background:#123b3d80;border-radius:0 9px 9px 0;font-size:14px;margin:16px 0}.status.warn{border-color:var(--a);background:#62462440}.comparebar{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin:16px 0}.comparebar span{margin-right:auto;font-size:13px;color:var(--muted)}.concepts{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:36px 0}.concepts p{font-size:15px;color:#bdd3df;margin:0}.number{font-size:13px;color:var(--b);display:block;margin-bottom:20px}.section-head{display:flex;justify-content:space-between;align-items:end;gap:20px;margin:35px 0 20px}.section-head p{margin:0}.plots{display:grid;grid-template-columns:1fr 1fr;gap:20px}.plot h3{font-size:18px}.plot svg{width:100%;height:auto;display:block;overflow:visible}.plot text{font:14px 'Segoe UI',Arial,sans-serif;fill:#aec9d7}.plot .axis-title{font-size:13px;fill:#cee7ee}.legend{font-size:13px;color:var(--muted)}.legend b{color:var(--b)}.legend i{color:var(--a);font-style:normal}.table-scroll{overflow:auto}table{border-collapse:collapse;width:100%;font-size:14px}td,th{padding:11px 14px;text-align:left;border-bottom:1px solid var(--line);white-space:nowrap}th{color:var(--muted);font-weight:500}.details{margin:30px 0;border:1px solid var(--line);border-radius:12px;padding:20px 24px}.details summary{cursor:pointer;font-size:18px}.details[open] summary{margin-bottom:25px}.details p{max-width:1000px;color:#bfd4de}.math{font-family:Consolas,monospace;padding:15px;background:#071b2b;border-radius:8px;overflow-wrap:anywhere}.related{display:flex;gap:14px;flex-wrap:wrap;margin:24px 0 40px}.related a{border:1px solid #3a6979;border-radius:9px;padding:12px 18px;text-decoration:none}.footer{border-top:1px solid var(--line);margin-top:50px;padding:30px 4vw;display:flex;justify-content:space-between;gap:24px;color:var(--muted);font-size:13px}.footer b{color:#fff}.filters{display:flex;gap:16px;flex-wrap:wrap;margin:20px 0 28px}.filters label{font-size:13px;color:var(--muted)}.filters select{display:block;margin-top:5px;min-width:230px}.catalogue{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.catalogue a{color:inherit;text-decoration:none;display:flex;flex-direction:column;transition:transform .2s}.catalogue a:hover{transform:translateY(-3px)}.catalogue .card p{color:var(--muted);font-size:14px}.catalogue .card strong{font-size:12px;color:var(--b);margin-top:auto}.card-art{height:100px;margin:-10px -5px 20px;border-radius:8px;background:radial-gradient(ellipse at 65% 65%,#266977,transparent 70%);overflow:hidden}.card-art svg{width:100%;height:100%}.pathway{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:24px 0}.pathway a{padding:18px;text-decoration:none;border:1px solid var(--line);border-radius:12px;background:#143347}.pathway a small{display:block;color:var(--muted)}#count{color:var(--muted)}#inspect{min-height:58px;padding:12px 20px;color:#bad8e3;font-size:14px;border-top:1px solid var(--line)}.matrix{display:grid;grid-template-columns:repeat(3,1fr);font:16px Consolas,monospace;gap:6px;max-width:460px;margin:15px 0}.matrix span{padding:8px;background:#0b2638;text-align:center}.not-ready{min-height:440px;display:grid;place-items:center;color:var(--muted)}@media(max-width:1100px){.lab-grid{grid-template-columns:245px minmax(0,1fr)}.readouts{grid-template-columns:1fr 1fr}.catalogue{grid-template-columns:1fr 1fr}.readout:nth-child(2){border-right:none}.concepts{gap:12px}.card{padding:20px}}@media(max-width:800px){.lab-grid{grid-template-columns:1fr}.control-pane{position:static;display:grid;grid-template-columns:1fr 1fr;gap:14px 24px}.control-pane h2,.control-pane .pane-actions{grid-column:1/-1}.control{margin:0}.scene{min-height:250px}.concepts{grid-template-columns:1fr}.plots{grid-template-columns:1fr 1fr}.top{align-items:flex-start}.brand img{width:145px}.brand img+img{width:130px}.top nav{font-size:12px;gap:8px}.pathway{grid-template-columns:1fr 1fr}.hero{padding-bottom:20px}}@media(max-width:560px){.top{display:block;padding:14px 5%}.top nav{margin-top:15px;gap:20px}.wrap{width:92%}.brand{gap:16px}.brand img{width:155px}.brand img+img{width:140px}.hero>p:last-child{font-size:17px}.control-pane{grid-template-columns:1fr}.plots,.catalogue,.pathway{grid-template-columns:1fr}.scene{min-height:0;aspect-ratio:2}.stage-top{letter-spacing:0;font-size:11px;padding:12px}.readout strong{font-size:23px}.readout{padding:14px}.concepts{margin:24px 0}.footer{display:block}.footer>div+div{margin-top:20px}.section-head{display:block}.section-head .legend{margin-top:12px}.filters select{width:100%;min-width:0}.filters label{width:100%}#viewer{height:320px}.scene text{font-size:24px}.scene .small{font-size:20px}.scene .big{font-size:32px}.comparebar button{padding:9px 11px;font-size:13px}.playbar{padding:12px}.caption{font-size:13px}.details{padding:18px}.readout small{display:block;margin:3px 0 0}.matrix{font-size:13px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}.catalogue a{transition:none}}

.diagram-tools{display:flex;align-items:center;gap:8px;padding:10px 15px;border-bottom:1px solid var(--line);flex-wrap:wrap}.diagram-tools span{font-size:12px;color:var(--muted);margin-right:auto}.diagram-tools button{padding:4px 10px;font-size:14px}@media(max-width:560px){.diagram-tools span{flex-basis:100%}}

/* Topic explorer */
.topic-card-art{display:block;width:calc(100% + 48px);max-width:none;height:140px;object-fit:cover;margin:-24px -24px 20px;border-radius:15px 15px 0 0;opacity:.85}.topic-open{display:inline-block;margin-top:12px;font-weight:650}.construction{color:#ffcc9b}.filters input{width:100%;padding:10px;border-radius:8px;border:1px solid #52778a;background:#153b4e;color:#eff9fc;min-width:0}.filters label{min-width:0}.filters select{width:100%;max-width:100%}.pathway a small{color:#b6cbd6}@media(max-width:650px){.filters{display:grid;grid-template-columns:1fr!important}.topic-card-art{height:120px}}
