/* theme tokens: light keeps the original palette; dark sits on the site's paper and ink */
html.ig-document:root{
--k-paper:light-dark(#fafbfc,#12100e);--k-ink:light-dark(#172632,#ece7df);--k-panel:light-dark(#fff,#191714);
--muted:light-dark(#59656e,#b1a89b);--line:light-dark(#d8dfe3,#3c352e);--accent:light-dark(#224956,#9cc3d4);
--k-sub:light-dark(#697f8c,#8e9aa2);--k-hover:light-dark(#dde5e9,#2b2724);--k-focus:light-dark(#a2491f,#dda477);
--k-on:light-dark(#203c4a,#3b6476);--k-on-hover:light-dark(#315565,#4b7789);--k-range:light-dark(#315565,#8fb8cc);
--k-stage:light-dark(#e9edef,#1a1816);--k-st1:light-dark(#fbfbfa,#2b2825);--k-st2:light-dark(#eef0f1,#1d1b19);--k-st3:light-dark(#dfe4e7,#121110);
--k-sp1:light-dark(#f6f7f8,#26231f);--k-sp2:light-dark(#e7ebee,#1a1816);--k-sp3:light-dark(#d8dee2,#100f0d);
--k-glass:light-dark(#ffffffb8,#1f1c19c4);--k-glass2:light-dark(#f9fafbdc,#1f1c19dc);
--k-meta:light-dark(#52636c,#b1a89b);--k-meta-bg:light-dark(#eef1f3e6,#191714e0);--k-meta-bg2:light-dark(#eef1f3cc,#191714b8);
--k-label-ink:light-dark(#233b4a,#e6e1d8);--k-chip:light-dark(#ffffffe8,#1f1c19eb);--k-chip-line:light-dark(#c9d3d9,#4a433b);
--k-shadow:light-dark(#1726321a,#00000066);--k-leader:light-dark(#2b3d49,#d9d3c9);--k-dot:light-dark(#203c4a,#e2dcd2);--k-dot-ring:light-dark(#fff,#12100e);
--k-legend:light-dark(#3d4c56,#cfc8bd);--k-legend-soft:light-dark(#5c6a73,#a49c91);
--k-plate-a:light-dark(#f4f6f8,#e4dfd6);--k-plate:light-dark(#fff,#e4dfd6)}
:root{font-family:Arial,Helvetica,sans-serif;color:var(--k-ink);background:var(--k-paper);font-synthesis:none}*{box-sizing:border-box}body{margin:0}a{color:inherit;text-underline-offset:4px}button,input{font:inherit}button{cursor:pointer;min-height:44px;border:1px solid var(--line);background:transparent;color:inherit;border-radius:3px;padding:10px 14px;font-size:14px}button:hover{background:var(--k-hover)}button[aria-pressed=true]{background:var(--k-on);color:#fff;border-color:var(--k-on)}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid var(--k-focus);outline-offset:4px}header{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);min-height:78px;margin:0 4vw;gap:24px;font-size:14px}header a{text-decoration:none}.brand{letter-spacing:.1em;font-weight:700}.brand span{font-weight:400;color:var(--muted);font-size:12px;margin-left:15px}main{max-width:1600px;margin:auto;padding:0 4vw}.intro{display:flex;align-items:end;justify-content:space-between;gap:35px;padding:47px 0 32px}.eyebrow{font-size:12px;letter-spacing:.15em;font-weight:700;margin:0 0 20px;color:var(--muted)}h1{font-size:clamp(40px,4.6vw,72px);letter-spacing:-.055em;line-height:1.03;margin:0;font-weight:500}h1 span{display:block;color:var(--k-sub)}.intro-copy{font-size:18px;line-height:1.55;color:var(--muted);margin:0 0 4px}.explorer{display:grid;grid-template-columns:minmax(0,1.85fr) minmax(310px,1fr);border:1px solid var(--line);min-height:620px}.viewport{position:relative;background:var(--k-stage);min-height:620px;overflow:hidden}.modes{position:absolute;top:22px;left:24px;right:24px;display:flex;gap:7px;z-index:2}.modes button{font-size:12px;display:flex;gap:10px;align-items:center;backdrop-filter:blur(8px);background:var(--k-glass)}.modes button span{font-size:14px}.modes button[aria-pressed=true]{background:var(--k-on)}.cameras{position:absolute;bottom:22px;left:24px;right:24px;display:flex;gap:8px;flex-wrap:wrap;z-index:2}.cameras button{background:var(--k-glass2)}.cameras button[aria-pressed=true]{background:var(--k-on)}.cameras #reset{margin-left:auto}.scene-meta{position:absolute;bottom:81px;left:26px;right:26px;display:flex;justify-content:space-between;gap:10px;color:var(--k-meta);font-size:12px;pointer-events:none}#scene{position:absolute;inset:0;touch-action:pan-y}#scene canvas{display:block;width:100%;height:100%;outline:none}#load{position:absolute;left:10%;right:10%;top:45%;text-align:center;color:var(--muted);line-height:1.5}aside{padding:32px 30px 25px;background:var(--k-panel);display:flex;flex-direction:column}.panel-kicker{display:flex;gap:20px;align-items:center;font-size:12px;letter-spacing:.12em;color:var(--muted);margin-bottom:30px}.line{height:1px;background:var(--line);flex:1}h2{font-weight:500;font-size:clamp(28px,2.4vw,38px);line-height:1.13;letter-spacing:-.04em;margin:0 0 18px}p{font-size:16px;line-height:1.6}#panel-copy{color:var(--muted);margin:0 0 20px}.specs{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:0 0 22px}.specs div{border-top:1px solid var(--line);padding-top:15px}.specs div:last-child{grid-column:1/-1}dt{font-size:14px;color:var(--muted);margin-bottom:8px}dd{font-size:32px;margin:0;letter-spacing:-.04em}small{font-size:14px;letter-spacing:0;color:var(--muted)}dd.dimensions{font-size:24px}.note{font-size:14px;color:var(--muted);line-height:1.6}.fine{font-size:12px;color:var(--muted);line-height:1.55}.primary{width:100%;background:var(--k-on);color:#fff;border:0;display:flex;justify-content:space-between;padding:15px 18px;margin-top:22px}.primary:hover{background:var(--k-on-hover)}.source-link{font-size:12px;margin-top:auto;padding-top:26px;color:var(--muted)}.component-buttons{display:flex;flex-wrap:wrap;gap:7px;margin:0 0 24px}.range-label{display:flex;justify-content:space-between;gap:15px;font-size:14px;margin:22px 0 12px}.range-label output{font-variant-numeric:tabular-nums;font-weight:700}input[type=range]{width:100%;accent-color:var(--k-range);cursor:pointer;min-height:26px;margin:0}.readouts{display:grid;grid-template-columns:1fr 1fr;gap:20px;border-top:1px solid var(--line);padding-top:15px;margin-top:22px}.readouts span{font-size:12px;color:var(--muted);display:block}.readouts strong{font-size:26px;font-weight:500;display:block;margin-top:9px}.essay,.family,.sources{padding:64px 0;border-bottom:1px solid var(--line)}.essay-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px}.essay-grid p:first-child{margin-top:0}.essay-grid a{display:inline-block;font-size:14px;margin-top:12px}.section-top{display:flex;justify-content:space-between;gap:30px;align-items:start}.section-top a{font-size:14px}.comparison{display:grid;grid-template-columns:repeat(3,1fr);margin:14px 0 18px}.comparison article{padding:28px;border:1px solid var(--line);margin-right:-1px;display:flex;flex-direction:column}.comparison .current{background:var(--k-on);color:#fff;border-color:var(--k-on)}.index{font-size:12px;letter-spacing:.12em;opacity:.7}h3{font-size:30px;font-weight:500;letter-spacing:-.04em;margin:28px 0 10px}.concept{font-weight:700;font-size:14px;margin:0}.comparison p:not(.concept){opacity:.8;font-size:16px}.comparison a{font-size:14px;margin-top:auto;padding-top:16px}.sources{display:grid;grid-template-columns:1.2fr 1fr;gap:70px}.sources p{font-size:14px;color:var(--muted)}.sources li{padding:14px 0;font-size:14px;line-height:1.5;border-bottom:1px solid var(--line)}.sources ol{padding-left:25px;margin:0}footer{margin:0 4vw;padding:25px 0;display:flex;justify-content:space-between;gap:20px;color:var(--muted);font-size:12px;line-height:1.6}.skip{position:absolute;top:-100px;left:20px;z-index:10;padding:15px;background:var(--k-panel)}.skip:focus{top:15px}[hidden]{display:none!important}@media(max-width:1000px){.explorer{grid-template-columns:minmax(0,1.3fr) minmax(300px,1fr)}.modes{left:12px;right:12px;gap:4px}.modes button{padding:9px;gap:6px}.modes button span{font-size:12px}.scene-meta span:last-child{display:none}.cameras{left:12px;right:12px}.cameras #reset{margin-left:0}.cameras button{padding:8px;font-size:12px}aside{padding:25px 23px}.intro-copy{font-size:16px}.brand span{display:none}}@media(max-width:750px){header{min-height:65px;font-size:12px}.intro{display:block;padding:32px 0 25px}.intro-copy{margin-top:20px}h1{font-size:48px}.explorer{grid-template-columns:1fr}.viewport{min-height:510px}.modes{top:14px}.modes button{flex:1;justify-content:center}.cameras{bottom:18px}.scene-meta{bottom:77px;left:16px}.essay-grid,.sources{grid-template-columns:1fr;gap:20px}.essay,.family,.sources{padding:40px 0}.comparison{grid-template-columns:1fr}.comparison article{margin:0 0 -1px}.section-top{display:block}.section-top a{display:block;margin-bottom:20px}footer{flex-wrap:wrap}.sources ol{margin-top:10px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}

#scene{top:70px;bottom:105px}.zoom{position:absolute;right:18px;bottom:125px;display:grid;gap:5px;z-index:2}.zoom button{background:var(--k-glass2);width:44px;padding:8px;font-size:20px}.scene-meta{background:var(--k-meta-bg);padding:5px 0}.viewport{isolation:isolate}@media(max-width:750px){#scene{top:74px;bottom:108px}.zoom{right:10px;bottom:130px}}
/* 2026-09: lab-kit canvas, labels and the response map */
#stage{display:block;width:100%;height:100%;outline:none}#scene-labels{position:absolute;inset:0;pointer-events:none;overflow:hidden}
.scene-label{position:absolute;transform:translate(-50%,-50%);padding:4px 8px;color:var(--k-label-ink);background:var(--k-chip);border:1px solid var(--k-chip-line);font-size:12px;line-height:1.3;border-radius:3px;white-space:nowrap}
.readouts.three{grid-template-columns:1fr 1fr 1fr;gap:12px}.readouts.three strong{font-size:22px}
.analysis{display:block;width:100%;height:220px;margin-top:18px;border:1px solid var(--line);background:var(--k-plate-a)}
/* 2026-10: studio stage, callouts, legends */
.viewport{background:radial-gradient(120% 90% at 50% 38%,var(--k-st1) 0%,var(--k-st2) 46%,var(--k-st3) 100%)}
.viewport[data-mode=paths]{background:radial-gradient(120% 90% at 55% 45%,var(--k-sp1) 0%,var(--k-sp2) 60%,var(--k-sp3) 100%)}
.scene-meta{background:linear-gradient(90deg,var(--k-meta-bg),var(--k-meta-bg2))}
.callouts{position:absolute;inset:0;pointer-events:none;overflow:hidden;z-index:1}
.callout-lines{position:absolute;inset:0;overflow:visible}
.callout-lines polyline{fill:none;stroke:var(--k-leader);stroke-opacity:.62;stroke-width:1}
.callout-lines circle{fill:var(--k-dot);stroke:var(--k-dot-ring);stroke-width:1.5}
.callout{position:absolute;left:0;top:0;padding:4px 9px;font:500 12px/1.25 Arial,Helvetica,sans-serif;color:var(--k-ink);background:var(--k-chip);border:1px solid var(--k-chip-line);border-radius:999px;white-space:nowrap;box-shadow:0 1px 3px var(--k-shadow);transition:opacity .2s}
.field-legend{position:absolute;top:12px;right:16px;z-index:2;display:grid;grid-template-columns:auto 96px auto;gap:2px 7px;align-items:center;padding:7px 10px;font:11px/1.2 Arial,sans-serif;color:var(--k-legend);background:var(--k-chip);border:1px solid var(--k-chip-line);border-radius:6px}
.field-legend b{grid-column:1/-1;font-weight:600;color:var(--k-ink)}
.field-legend i,.map-legend i{display:block;height:9px;border-radius:2px}
.field-legend small{grid-column:1/-1;color:var(--k-legend-soft);font-size:10px}
.map-legend{display:grid;grid-template-columns:auto 1fr auto;gap:3px 8px;align-items:center;margin:8px 0 0;font:11px/1.2 Arial,sans-serif;color:var(--muted)}
.map-legend small{grid-column:1/-1;font-size:11px}
.analysis{height:240px;background:var(--k-plate)}
.section-key{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;font-size:13px;color:var(--muted);margin:-6px 0 4px}
.section-key span{font-weight:700;color:var(--k-ink);margin-right:4px}
.section-key .k{display:inline-block;width:12px;height:12px;border-radius:2px;vertical-align:-1px}
.section-key .mid{background:#8aa0b2}.section-key .tw{background:#e0a466}.section-key .dm{background:#a4b897}
@media(max-width:750px){.callout{font-size:11px;padding:3px 7px}.field-legend{top:80px;right:10px;grid-template-columns:auto 64px auto;padding:5px 8px}}
