@font-face{font-family:Archive;src:url('../assets/fonts/serif.woff2') format('woff2');font-display:swap}
:root{--bg:#111410;--surface:#1b2019;--ink:#ebefe7;--muted:#a4af9c;--line:#394333;--accent:#d9ff72;--on-accent:#182110;--subtle:#ffffff05;--radius:2px;font-family:Inter,'Helvetica Neue','PingFang TC','Noto Sans TC',sans-serif;font-synthesis:none;color:var(--ink);background:var(--bg)}
:root[data-variant=b]{--bg:#f4f5f2;--surface:#fff;--ink:#252b29;--muted:#66706b;--line:#cdd1cb;--accent:#c93e31;--on-accent:#fff;--subtle:#1d2b2104}
:root[data-variant=c]{--bg:#25151c;--surface:#32202a;--ink:#f6e7e9;--muted:#c5a7b2;--line:#61404e;--accent:#eec9ca;--on-accent:#331521;--subtle:#ffffff04}
:root[data-variant=d]{--bg:#e9edf6;--surface:#f8faff;--ink:#182952;--muted:#53658b;--line:#c0cce3;--accent:#293ec4;--on-accent:#fff;--subtle:#2035bf05;--radius:10px}
:root[data-variant=e]{--bg:#eeecfa;--surface:#fff;--ink:#24265b;--muted:#5c6086;--line:#d4d1ec;--accent:#343ed1;--on-accent:#fff;--subtle:#343ed107;--radius:22px}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink)}button,input,select{font:inherit;color:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}button{border:0;background:none}a{color:inherit;text-decoration:none}button:disabled{opacity:.45;cursor:default}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--accent);outline-offset:5px}svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.5;flex-shrink:0}img{display:block;max-width:100%}h1,h2,h3,p,figure{margin:0}button,input,select{min-height:44px}[hidden]{display:none!important}.symbols,.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.skip{position:fixed;left:20px;top:-80px;background:var(--accent);color:var(--on-accent);padding:16px;z-index:100}.skip:focus{top:12px}.eyebrow{font-size:10px;font-weight:600;letter-spacing:.15em;line-height:1.6}.topbar{height:84px;margin:0 42px;display:flex;align-items:center;gap:28px;border-bottom:1px solid var(--line)}.back-link{font-size:12px;display:flex;align-items:center;gap:10px;min-height:44px}.identity{border-left:1px solid var(--line);padding-left:26px;display:flex;flex-direction:column;gap:5px}.identity>span{font-size:17px;letter-spacing:.12em;font-weight:700}.identity small{font-size:8px;letter-spacing:.19em;color:var(--muted)}.course-label{font-size:9px;letter-spacing:.15em;margin-left:auto;color:var(--muted)}.header-tools{display:flex;gap:3px}.icon-button{display:grid;place-items:center;width:44px;min-width:44px;height:44px;border-radius:50%}.icon-button:hover{background:var(--subtle);color:var(--accent)}.layout{padding:36px 42px 120px;max-width:1760px;margin:auto;display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:24px 40px}.scene-heading{grid-column:1/-1;display:grid;grid-template-columns:1fr 360px;gap:12px 35px}.scene-heading .eyebrow{color:var(--accent);grid-column:1/-1}.scene-heading h1{font-size:clamp(30px,3.8vw,58px);font-weight:500;line-height:1.2;letter-spacing:-.06em;max-width:1000px}.scene-heading>p:last-child{font-size:13px;color:var(--muted);line-height:1.85;align-self:end}.graph-room{min-width:0;border-top:1px solid var(--line)}.graph-top{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:72px}.view-label{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.view-label>span{font:10px monospace;color:var(--accent)}.view-label strong{font-size:13px;font-weight:500}.view-label small{display:none}.scope-picker{display:flex;gap:10px;align-items:center;font-size:10px;color:var(--muted)}.scope-picker select{background:var(--bg);color:var(--ink);border:1px solid var(--line);border-radius:var(--radius);font-size:11px;padding:0 25px 0 10px;max-width:190px}.canvas-shell{position:relative;background:radial-gradient(var(--line) .55px,transparent .7px);background-size:24px 24px}.graph-stage{height:clamp(400px,51vh,640px);width:100%;overflow:auto;overscroll-behavior:contain;cursor:grab;scrollbar-width:thin;scrollbar-color:var(--line) transparent}.graph-stage.dragging{cursor:grabbing}#graph-world{position:relative;margin:auto}#graph-plane{position:relative;transform-origin:0 0}#graph-lines{position:absolute;inset:0;width:100%;height:100%;overflow:visible}#graph-lines text{stroke:none}.graph-node{position:absolute;left:0;top:0;width:116px;height:124px;padding:0;text-align:center;display:flex;align-items:center;flex-direction:column;transform:translate(-50%,-37px);z-index:2;will-change:transform}.node-face{width:74px;height:74px;padding:4px;border:1px solid var(--line);border-radius:50%;background:var(--bg);display:block;transition:border-color .2s,box-shadow .2s}.node-crop{display:grid;place-items:center;width:100%;height:100%;overflow:hidden;border-radius:50%;font:30px Georgia}.node-face img{width:100%;height:100%;object-fit:cover;filter:grayscale(1);opacity:.82}.graph-node[data-node=einstein] .node-face img,.graph-node[data-node=epr] .node-face img{transform:scale(2.3);transform-origin:60% 18%}.node-name{margin-top:8px;font-size:13px;background:var(--bg);padding:0 4px;line-height:1.5;white-space:nowrap}.node-year{font:10px/1.8 monospace;color:var(--muted);background:var(--bg);padding:0 3px;white-space:nowrap}.node-year em{font-size:9px;font-style:normal;color:var(--accent)}.graph-node[aria-pressed=true] .node-face{border-color:var(--accent);box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 12%,transparent)}.graph-node[aria-pressed=true] .node-name{color:var(--accent)}.graph-node:hover .node-face{border-color:var(--accent)}.graph-node.dim{opacity:.5}.graph-orbit,.graph-cross,.map-grid{stroke:var(--line);fill:none;stroke-width:.7}.graph-orbit.outer{stroke-dasharray:2 7}.graph-edge{fill:none;stroke:var(--line);stroke-width:1}.graph-edge.active{stroke:var(--accent);stroke-width:1.5;opacity:.75}.graph-edge.challenge{stroke-dasharray:3 5}.graph-edge.exchange{stroke-dasharray:9 5}.graph-edge.evidence{stroke-dasharray:1 3}.map-land{fill:color-mix(in srgb,var(--muted) 12%,var(--bg));stroke:var(--line);stroke-width:.6}.map-leader,.time-leader{fill:none;stroke:var(--muted);stroke-width:.75}.map-dot{fill:var(--accent);stroke:none}.map-city,.axis-label{fill:var(--muted);font:9px monospace}.axis-line,.axis-tick{stroke:var(--line);stroke-width:1}.zoom-tools{position:absolute;right:12px;bottom:12px;display:flex;align-items:center;background:var(--bg);border:1px solid var(--line);border-radius:var(--radius);z-index:3}.zoom-tools button{display:grid;place-items:center;min-width:42px;height:42px;padding:0}.zoom-tools output{font:10px monospace;width:38px;text-align:center}.zoom-tools svg{width:16px;height:16px}.graph-foot{min-height:52px;display:flex;justify-content:space-between;align-items:center;gap:24px;border-top:1px solid var(--line);font-size:10px;color:var(--muted);line-height:1.8}.graph-foot>span{white-space:nowrap;color:var(--accent)}.graph-foot p{max-width:480px;text-align:right}.map-message{position:absolute;left:12px;top:10px;background:var(--bg);padding:10px;font-size:12px;z-index:4}.map-message button{text-decoration:underline}.focus-panel{align-self:start;min-width:0}.focus-card{border-top:1px solid var(--line);padding-top:24px}.focus-meta{display:flex;justify-content:space-between;gap:10px;color:var(--muted);font:9px/1.7 monospace;letter-spacing:.04em}.focus-person{display:flex;gap:16px;align-items:center;margin:24px 0}.focus-portrait,.reader-portrait{width:74px;height:86px;overflow:hidden;flex-shrink:0;display:grid;place-items:center}.focus-portrait img,.reader-portrait img{width:100%;height:100%;object-fit:cover;filter:grayscale(1)}[data-portrait=einstein].focus-portrait img,[data-portrait=einstein].reader-portrait img{transform:scale(2.3);transform-origin:60% 18%}.focus-person .eyebrow{font-size:9px;color:var(--muted);letter-spacing:.05em}.focus-person h2{font-size:27px;font-weight:500;letter-spacing:.08em;margin:5px 0 9px}.concept-tag{font-size:11px;color:var(--accent)}.focus-question{font-size:18px;line-height:1.6;margin-bottom:12px;letter-spacing:.02em}.focus-idea{font-size:12px;line-height:1.9;color:var(--muted)}.formula-card{padding:26px 0 20px;margin-top:16px;border-top:1px solid var(--line)}.formula{font-family:Georgia,'Times New Roman',serif;font-size:36px;line-height:1.45;overflow-wrap:anywhere;letter-spacing:-.03em}.formula.long{font-size:22px}.formula-symbol{font-size:10px;line-height:1.9;color:var(--muted);margin-top:10px}.focus-actions{display:flex;gap:8px;flex-wrap:wrap}.primary,.secondary{display:inline-flex;align-items:center;justify-content:center;gap:16px;padding:0 18px;min-height:48px;font-size:12px;border-radius:var(--radius);font-weight:600}.primary{background:var(--accent);color:var(--on-accent)}.primary:hover{filter:brightness(.94)}.primary svg{width:18px}.secondary{border:1px solid var(--line)}.secondary svg{width:17px}.control-bar{position:fixed;bottom:0;left:0;right:0;min-height:80px;display:flex;align-items:center;justify-content:center;gap:18px;padding:14px 42px;background:var(--bg);border-top:1px solid var(--line);z-index:10}.control-bar>span{font:10px monospace;color:var(--muted);letter-spacing:.05em}#view-nav{display:flex;gap:6px}#view-nav button{display:flex;align-items:center;gap:10px;min-height:48px;padding:0 20px;color:var(--muted);font-size:12px;border:1px solid transparent;border-radius:var(--radius)}#view-nav button[aria-pressed=true]{border-color:var(--accent);color:var(--accent);background:var(--subtle)}#view-nav svg{width:18px;height:18px}.motion{font-size:10px;white-space:nowrap;color:var(--muted);padding:0 10px}.motion span{margin-left:6px}.home-room{min-width:0}.home-note{font-size:10px;color:var(--muted);line-height:1.9;margin-top:16px}.initial{font:48px Georgia}.source-link{display:block;font-size:13px;padding:14px 0;border-bottom:1px solid var(--line);line-height:1.8}.source-link:hover{color:var(--accent)}
/* A — An open spatial field, with a horizontal research strip. */
[data-variant=a] .layout{grid-template-columns:1fr;padding-top:34px;gap:24px}[data-variant=a] .scene-heading{grid-template-columns:1fr 330px}[data-variant=a] .scene-heading h1{font-size:clamp(36px,4.8vw,76px);max-width:840px}[data-variant=a] .graph-stage{height:clamp(370px,43vh,580px)}[data-variant=a] .focus-card{display:grid;grid-template-columns:230px 1fr 280px;gap:12px 34px;padding:22px 26px;background:var(--surface);border:1px solid var(--line)}[data-variant=a] .focus-meta{grid-column:1/-1}[data-variant=a] .focus-person{margin:0;grid-row:2/4}[data-variant=a] .focus-question{font-size:16px;margin:0}[data-variant=a] .focus-idea{grid-column:2}[data-variant=a] .formula-card{grid-column:3;grid-row:2/4;border:0;margin:0;padding:0 0 0 25px;border-left:1px solid var(--line)}[data-variant=a] .focus-actions{grid-column:2/4;justify-content:flex-end}[data-variant=a] .focus-portrait{border-radius:50%;width:56px;height:56px}[data-variant=a] .focus-person h2{font-size:24px}[data-variant=a] .formula-symbol{font-size:9px}[data-variant=a] .focus-actions .primary,[data-variant=a] .focus-actions .secondary{min-height:44px}
/* B — An editorial spread. The reading column comes before the timeline. */
[data-variant=b] .layout{grid-template-columns:330px minmax(0,1fr);gap:28px 54px}[data-variant=b] .scene-heading{padding-bottom:28px;border-bottom:3px solid var(--ink);grid-template-columns:1fr 300px}[data-variant=b] .scene-heading h1{font-size:clamp(30px,3.5vw,52px);font-weight:650;max-width:850px}[data-variant=b] .focus-panel{grid-column:1;grid-row:2}[data-variant=b] .graph-room{grid-column:2;grid-row:2}[data-variant=b] .focus-card{border-top:0;padding-top:4px}[data-variant=b] .focus-person{margin:24px 0 30px}[data-variant=b] .focus-portrait{width:88px;height:102px}[data-variant=b] .formula-card{border-top:3px solid var(--accent);margin-top:26px}[data-variant=b] .focus-question{font-size:22px}[data-variant=b] .focus-idea{font-size:13px}[data-variant=b] .graph-stage{height:480px}[data-variant=b] .canvas-shell{background-image:linear-gradient(var(--subtle) 1px,transparent 1px),linear-gradient(90deg,var(--subtle) 1px,transparent 1px);background-size:30px 30px}[data-variant=b] .control-bar{background:var(--ink);color:white;border:0}[data-variant=b] .control-bar #view-nav button[aria-pressed=true]{background:white;color:var(--ink);border-color:white}[data-variant=b] .control-bar #view-nav button,[data-variant=b] .control-bar>span,[data-variant=b] .motion{color:#c5cbc8}
/* C — A full portrait chapter and filmstrip, without a card grid. */
[data-variant=c] .layout{gap:22px 36px}[data-variant=c] body[data-screen=home] .layout{display:block;padding-top:25px}[data-variant=c] body[data-screen=home] .scene-heading{display:flex;align-items:center;justify-content:space-between;padding-bottom:24px}[data-variant=c] body[data-screen=home] .scene-heading h1{font-size:12px;letter-spacing:.08em;max-width:none;font-weight:400}[data-variant=c] body[data-screen=home] .scene-heading>p:last-child{display:none}.cinema{display:grid;grid-template-columns:1fr 50%;min-height:530px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.cinema-copy{padding:42px 10% 30px 4%;display:flex;flex-direction:column;align-items:flex-start}.cinema-copy>.eyebrow{color:var(--muted);margin-bottom:36px}.cinema-copy h2{font-family:Archive,serif;font-weight:400;font-size:clamp(38px,4.6vw,72px);line-height:1.5;letter-spacing:-.05em}.cinema-copy>p{max-width:360px;font-size:13px;color:var(--muted);line-height:1.9;margin:24px 0}.cinema-copy>.primary{background:transparent;color:var(--accent);padding:0;border-bottom:1px solid var(--accent);border-radius:0;font-weight:400}.chapter-paging{margin-top:auto;padding-top:28px;display:flex;gap:28px;align-items:center;width:100%;font-size:10px;line-height:1.7;letter-spacing:.08em}.chapter-paging button{border:1px solid var(--line);width:48px;border-radius:50%;font-size:20px}.chapter-paging span{flex:1;color:var(--muted)}.cinema-image{position:relative;overflow:hidden;min-height:530px;background:#48363d}.cinema-image>img{width:100%;height:100%;max-height:620px;object-fit:cover;object-position:center 28%;filter:grayscale(1) sepia(.2);opacity:.77}.cinema-image[data-portrait=einstein]>img{object-position:60% 10%;transform:scale(1.65);transform-origin:60% 15%}.cinema-image::after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#25151cee,transparent 50%);pointer-events:none}.cinema-year{position:absolute;top:0;right:16px;z-index:1;color:#fff8f1;font:clamp(80px,11vw,175px)/1.05 Georgia;letter-spacing:-.075em;mix-blend-mode:screen}.cinema-image figcaption{position:absolute;z-index:2;bottom:35px;left:36px;display:flex;flex-direction:column;gap:10px}.cinema-image figcaption>span{font-family:Archive,serif;font-size:28px;letter-spacing:.12em}.cinema-image figcaption>small{font-size:9px;letter-spacing:.13em;color:#e1c7d0}.chapter-rail{display:flex;overflow:auto;scrollbar-width:thin;border-bottom:1px solid var(--line)}.chapter-rail button{display:flex;gap:15px;align-items:center;min-width:180px;flex:1;padding:24px 15px;border-right:1px solid var(--line);font-size:12px;position:relative}.chapter-rail button:first-child{padding-left:0}.chapter-rail button[aria-pressed=true]::before{content:'';height:3px;background:var(--accent);position:absolute;inset:0 0 auto}.chapter-rail strong{font-weight:400;white-space:nowrap}.chapter-rail small{color:var(--muted);font:10px monospace;margin-left:auto}.chapter-rail button>span{color:var(--muted);font-size:9px}[data-variant=c] #view-nav button{border-radius:30px}[data-variant=c] #view-nav button[aria-pressed=true]{background:var(--accent);color:var(--on-accent)}
/* D — A transit diagram with readable stations and a destination ticket. */
[data-variant=d] body[data-screen=home] .layout{grid-template-columns:minmax(0,1fr) 305px;gap:26px 32px}[data-variant=d] .scene-heading h1{font-weight:650;font-size:clamp(28px,3.4vw,52px)}[data-variant=d] .focus-card{border:1px solid var(--line);padding:24px;background:var(--surface);border-radius:14px}[data-variant=d] .focus-meta{font-size:8px}[data-variant=d] .focus-person{display:block}[data-variant=d] .focus-portrait{width:64px;height:64px;border-radius:50%;margin-bottom:18px}[data-variant=d] .focus-person h2{font-weight:600}[data-variant=d] .formula-card{border-top-style:dashed}.route-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:28px;flex-wrap:wrap}.route-toolbar>p{font-size:13px;font-weight:600}.route-toolbar>div{display:flex;gap:5px}.route-toolbar button{font-size:10px;padding:0 10px;min-height:40px;border-radius:20px;border:1px solid var(--line)}.route-toolbar button[aria-pressed=true]{background:var(--ink);color:white;border-color:var(--ink)}.transit-map{border:1px solid var(--line);border-radius:16px;overflow:hidden;background:var(--surface)}.route-line{--route:#e05836;padding:22px 26px 12px;border-bottom:1px solid var(--line)}.route-line:last-child{border:0}.route-matter{--route:#16866e}.route-quantum{--route:#6656c9}.route-caption{display:flex;gap:12px;align-items:center;margin-bottom:10px}.route-number{font:14px monospace;color:white;background:var(--route);width:34px;height:34px;border-radius:50%;display:grid;place-items:center}.route-caption h2{font-size:14px;margin-bottom:4px}.route-caption p{font-size:10px;color:var(--muted)}.station-track{display:flex;overflow-x:auto;padding:2px 4px 10px;scrollbar-width:thin}.station{flex:1;min-width:80px;padding:0;display:flex;align-items:center;flex-direction:column;position:relative;gap:10px;font-size:11px}.station::before{content:'';height:4px;background:var(--route);position:absolute;left:0;right:0;top:34px}.station:first-child::before{left:50%}.station:last-child::before{right:50%}.station time{font:10px monospace;color:var(--muted);line-height:18px}.station-dot{width:18px;height:18px;border:4px solid var(--route);background:var(--surface);border-radius:50%;z-index:1}.station:has(small:first-of-type) .station-dot{box-shadow:0 0 0 2px var(--surface)}.station[aria-pressed=true] .station-dot{background:var(--ink);border-color:var(--ink);outline:3px solid var(--surface);box-shadow:0 0 0 5px var(--ink)}.station strong{white-space:nowrap;font-weight:500}.station small{font-size:8px;color:var(--muted);margin-top:-3px}.station[aria-pressed=true] strong{font-weight:800;color:var(--accent)}.route-legend{display:flex;flex-wrap:wrap;gap:12px;font-size:9px;color:var(--muted);margin-top:18px;line-height:1.8}.route-legend span{display:flex;align-items:center;gap:6px}.route-legend i{width:10px;height:10px;border:2px solid var(--muted);border-radius:50%}.route-legend i.transfer{box-shadow:0 0 0 2px var(--bg),0 0 0 3px var(--muted)}.route-legend p{margin-left:auto}[data-variant=d] .control-bar{background:var(--surface)}[data-variant=d] #view-nav button[aria-pressed=true]{background:var(--accent);color:white}
/* E — A working experiment takes the largest surface. */
[data-variant=e] .layout{grid-template-columns:280px minmax(0,1fr);gap:25px 35px}[data-variant=e] .scene-heading{grid-template-columns:1fr 400px;align-items:center}[data-variant=e] .scene-heading h1{font-size:clamp(48px,6vw,86px);font-weight:800;letter-spacing:-.065em}[data-variant=e] .focus-panel{grid-column:1;grid-row:2}[data-variant=e] .home-room,[data-variant=e] .graph-room{grid-column:2;grid-row:2}[data-variant=e] .focus-card{border:0;padding-top:17px}[data-variant=e] .focus-portrait{border-radius:50%;width:64px;height:64px}[data-variant=e] .focus-person{display:block}[data-variant=e] .focus-person>div{margin-top:20px}[data-variant=e] .focus-person h2{font-weight:700}[data-variant=e] .formula-card{border:0;background:#d9f38b;border-radius:18px;padding:20px;margin-bottom:18px;color:#24330b}[data-variant=e] .formula-symbol{color:#465b28}[data-variant=e] .focus-actions .secondary{display:none}[data-variant=e] .primary{border-radius:40px}[data-variant=e] .home-room{background:white;border-radius:26px;padding:22px 24px}[data-variant=e] .playground-header{display:flex;justify-content:space-between;gap:20px;align-items:center;padding-bottom:20px;font-size:10px;color:var(--muted)}.play-badge{color:var(--accent);font:9px monospace;letter-spacing:.12em;display:flex;align-items:center;gap:8px}.play-badge::before{content:'';width:7px;height:7px;background:#90b933;border-radius:50%}[data-variant=e] .control-bar{background:var(--accent);border:0;color:white}[data-variant=e] .control-bar>span,[data-variant=e] #view-nav button,[data-variant=e] .motion{color:#e4e5ff}[data-variant=e] #view-nav button[aria-pressed=true]{color:#24265b;background:#d9f38b;border-color:#d9f38b;border-radius:30px}[data-variant=e] .lab-panel{grid-template-columns:minmax(0,1fr) 220px;gap:22px}[data-variant=e] .lab-canvas-wrap{border-radius:15px}
/* Shared reading, search and real physics experiments. */
dialog{width:min(740px,calc(100vw - 40px));max-height:calc(100dvh - 60px);overflow:auto;background:var(--bg);color:var(--ink);border:1px solid var(--line);border-radius:max(4px,var(--radius));padding:30px;box-shadow:0 25px 90px #0005}dialog::backdrop{background:#090c16bd;backdrop-filter:blur(7px)}.dialog-head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:28px}.dialog-head h2{font-size:22px;font-weight:500}.dialog-head .eyebrow{color:var(--muted)}.prose p{font-size:14px;line-height:1.9;margin:20px 0}.reader-hero{display:flex;gap:25px;align-items:center;padding-bottom:24px;border-bottom:1px solid var(--line)}.reader-portrait{width:90px;height:106px}.reader-hero h2{font-size:34px;margin:8px 0}.reader-hero p{font-size:12px;color:var(--muted)}.reader-hero .eyebrow{font-size:10px}.reader-question{font-size:25px;font-weight:500;line-height:1.6;margin:28px 0}.reader-section{margin:28px 0}.reader-section h3{font-size:11px;letter-spacing:.12em;color:var(--accent);margin-bottom:14px}.reader-section>p{font-size:14px;line-height:1.9}.reader-formula{padding:22px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius)}.reader-formula>p:last-child{font-size:12px;line-height:1.9;margin-top:12px;color:var(--muted)}.reader-relation{display:flex;flex-direction:column;gap:8px;text-align:left;width:100%;padding:16px 0;border-bottom:1px solid var(--line);font-size:12px}.reader-relation span{font-size:11px;color:var(--muted)}.search-dialog{width:min(630px,calc(100vw - 32px))}.search-dialog input,#share-url{width:100%;padding:16px;border:1px solid var(--line);background:var(--surface);border-radius:var(--radius);font-size:15px}.search-dialog #search-count{font-size:11px;color:var(--muted);margin:20px 0 6px}.search-result{width:100%;display:flex;align-items:center;gap:18px;text-align:left;border-bottom:1px solid var(--line);padding:12px 0}.search-portrait{width:42px;height:48px;overflow:hidden;flex-shrink:0}.search-portrait img{width:100%;height:100%;object-fit:cover;filter:grayscale(1)}.search-result>span:nth-child(2){display:flex;flex-direction:column;gap:7px}.search-result strong{font-size:14px;font-weight:500}.search-result small{font-size:10px;color:var(--muted)}.search-result time{margin-left:auto;font:11px monospace;color:var(--accent)}.empty{padding:30px 0;color:var(--muted);font-size:13px}.lab-dialog{width:min(1140px,calc(100vw - 40px))}.experiment-tabs{display:flex;gap:6px;border-bottom:1px solid var(--line);margin-bottom:24px}.experiment-tabs button{font-size:12px;padding:0 20px;min-height:46px;border-radius:var(--radius) var(--radius) 0 0;white-space:nowrap}.experiment-tabs button[aria-selected=true]{background:var(--accent);color:var(--on-accent)}.lab-panel{display:grid;grid-template-columns:minmax(0,1fr) 270px;gap:30px}.lab-figure-header{display:flex;align-items:start;justify-content:space-between;gap:12px;margin-bottom:18px}.lab-figure-header h3{font-size:17px;line-height:1.6;font-weight:600}.lab-figure-header p{font-size:10px;color:var(--muted);line-height:1.8;margin-top:5px}.model-label{font-size:8px;color:var(--muted);white-space:nowrap;border:1px solid var(--line);padding:5px 8px;line-height:1.5}.lab-canvas-wrap{height:280px;background:#101c20;overflow:hidden;border:1px solid #263a3e}.lab-canvas-wrap canvas{width:100%;height:100%;display:block}.lab-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:18px 0;border-bottom:1px solid var(--line)}.lab-metric{display:flex;flex-direction:column;gap:8px;padding-left:10px;border-left:1px solid var(--line);min-width:0}.lab-metric:first-child{border:0;padding-left:0}.lab-metric>span{font-size:9px;line-height:1.6;color:var(--muted)}.lab-metric strong{font-size:22px;font-weight:500;font-variant-numeric:tabular-nums}.lab-metric small{font-size:8px;color:var(--muted);overflow-wrap:anywhere}.lab-prediction{font-size:11px;line-height:1.8;margin:18px 0 0}.lab-prediction summary{cursor:pointer;padding:8px 0;color:var(--accent)}.lab-prediction>p{margin:12px 0}.prediction-choices{display:flex;flex-wrap:wrap;gap:6px}.prediction-choices button,.lab-small-actions button{border:1px solid var(--line);border-radius:8px;padding:8px 12px;font-size:11px}.prediction-feedback{color:var(--muted)}.lab-control-title{font:8px/1.6 monospace;letter-spacing:.08em;color:var(--muted);margin-bottom:24px}.lab-control{display:block;margin-bottom:24px}.control-label{display:flex;justify-content:space-between;gap:10px;font-size:12px;font-weight:600}.control-label output{color:var(--accent);font:12px monospace}.lab-control input{display:block;width:100%;accent-color:var(--accent);margin:8px 0 0}.control-limits{display:flex;justify-content:space-between;font-size:9px;color:var(--muted)}.lab-equation{font:24px/1.5 Georgia;border-top:1px solid var(--line);padding-top:18px;margin-top:24px}.lab-equation small{display:block;font:11px/1.9 sans-serif;color:var(--muted);margin-top:10px}.lab-insight{font-size:11px;line-height:1.9;background:var(--subtle);border-left:2px solid var(--accent);padding:12px;margin-top:18px}.lab-model-note{font-size:9px;line-height:1.9;color:var(--muted);margin:16px 0}.lab-person-link{display:flex;align-items:center;justify-content:space-between;gap:10px;text-align:left;font-size:11px;width:100%;padding:10px 0;color:var(--accent);border-top:1px solid var(--line)}.lab-person-link svg{width:18px}.lab-checkbox{font-size:11px;line-height:1.7;display:flex;gap:8px;align-items:center;min-height:44px}.lab-checkbox input{width:16px;min-width:16px;min-height:16px;accent-color:var(--accent)}.lab-small-actions{display:flex;gap:10px;margin:18px 0}.toast{position:fixed;bottom:105px;left:50%;transform:translate(-50%,10px);background:var(--accent);color:var(--on-accent);padding:14px 22px;font-size:12px;border-radius:6px;max-width:90vw;opacity:0;pointer-events:none;z-index:100;transition:.2s}.toast.show{opacity:1;transform:translate(-50%,0)}
@media(min-width:1600px){.topbar,.control-bar{padding-left:max(42px,calc((100vw - 1676px)/2));padding-right:max(42px,calc((100vw - 1676px)/2))}.topbar{margin:0}}
@media(max-width:1100px){.topbar{margin:0 26px;gap:18px}.layout{padding-left:26px;padding-right:26px;column-gap:25px;grid-template-columns:minmax(0,1fr) 300px}.course-label{display:none}.header-tools{margin-left:auto}.control-bar{padding:12px 26px}.control-bar>span{display:none}#view-nav button{padding:0 16px}.scene-heading{grid-template-columns:1fr 260px}[data-variant=b] .layout{grid-template-columns:280px minmax(0,1fr);gap:26px}[data-variant=b] .graph-stage{height:510px}[data-variant=a] .focus-card{grid-template-columns:200px 1fr 230px;gap:14px 22px}[data-variant=e] .layout{grid-template-columns:235px minmax(0,1fr);gap:26px}[data-variant=e] .home-room{padding:18px}[data-variant=e] .lab-panel{grid-template-columns:1fr}.cinema-copy{padding-left:0}.station{min-width:72px}[data-variant=d] body[data-screen=home] .layout{grid-template-columns:minmax(0,1fr) 270px;gap:24px}.route-line{padding:20px 16px 12px}}
@media(max-width:800px){.topbar{height:70px;margin:0 20px;gap:15px}.back-link span{display:none}.back-link{font-size:18px}.identity{padding-left:14px}.identity>span{font-size:15px}.identity small{font-size:7px}.icon-button{width:38px;min-width:38px;height:44px}.header-tools{gap:0}.layout,[data-variant=b] .layout,[data-variant=e] .layout,[data-variant=d] body[data-screen=home] .layout{display:flex;flex-direction:column;padding:28px 20px 120px;gap:26px}.scene-heading,[data-variant=a] .scene-heading,[data-variant=b] .scene-heading,[data-variant=e] .scene-heading{display:block}.scene-heading>.eyebrow{font-size:9px;margin-bottom:12px}.scene-heading h1,[data-variant=a] .scene-heading h1,[data-variant=b] .scene-heading h1,[data-variant=d] .scene-heading h1{font-size:36px;line-height:1.4;letter-spacing:-.045em}.scene-heading>p:last-child{font-size:12px;line-height:1.85;margin-top:16px;max-width:440px}.graph-room{width:100%}.graph-top{min-height:65px;gap:12px}.view-label{gap:8px}.view-label strong{font-size:12px}.scope-picker>span{display:none}.scope-picker select{max-width:154px;font-size:10px}.graph-stage,[data-variant=a] .graph-stage,[data-variant=b] .graph-stage{height:430px}.graph-node{width:92px;height:98px;transform:translate(-50%,-29px)}.node-face{width:58px;height:58px;padding:3px}.node-name{font-size:11px;margin-top:5px}.node-year{font-size:9px}.node-year em{font-size:8px}.graph-foot{font-size:9px;gap:20px;min-height:60px}.graph-foot p{text-align:left}.zoom-tools{bottom:8px;right:8px}.focus-panel{width:100%}.focus-card{padding-top:20px}.focus-person{margin:20px 0}.focus-question{font-size:20px}.focus-idea{font-size:13px}.formula-card{padding:22px 0}.formula-symbol{font-size:11px}.focus-actions{flex-wrap:nowrap}.focus-actions .primary{flex:1}.control-bar{padding:8px 14px max(8px,env(safe-area-inset-bottom));min-height:76px;gap:4px}#view-nav{width:100%;justify-content:space-between;gap:2px}#view-nav button{flex:1;flex-direction:column;gap:6px;font-size:10px;padding:8px 6px;min-width:0;min-height:56px;white-space:nowrap}#view-nav svg{width:18px;height:18px}.motion{padding:0 6px;min-width:26px}.motion span{display:none}[data-variant=a] .focus-card{display:block;padding:22px}[data-variant=a] .focus-person{margin:20px 0}[data-variant=a] .focus-question{font-size:18px;margin-bottom:12px}[data-variant=a] .focus-idea{font-size:12px}[data-variant=a] .formula-card{border:0;padding:20px 0}[data-variant=a] .formula-symbol{font-size:10px}[data-variant=a] .focus-actions{justify-content:start}[data-variant=b] .graph-room{order:2}[data-variant=b] .focus-panel{order:3}[data-variant=b] .focus-card{display:grid;grid-template-columns:1fr 1fr;column-gap:30px}[data-variant=b] .focus-meta{grid-column:1/-1}[data-variant=b] .focus-person{grid-column:1/-1}[data-variant=b] .focus-question{grid-column:1}[data-variant=b] .focus-idea{grid-column:1}[data-variant=b] .formula-card{grid-column:2;grid-row:3/5;margin:0}[data-variant=b] .focus-actions{grid-column:1/-1;margin-top:20px}[data-variant=c] body[data-screen=home] .layout{padding-top:25px}[data-variant=c] body[data-screen=home] .scene-heading{display:block;padding-bottom:22px}[data-variant=c] body[data-screen=home] .scene-heading h1{font-size:12px}.cinema{min-height:0;grid-template-columns:1fr 46%}.cinema-copy{padding:26px 24px 25px 0}.cinema-copy>.eyebrow{font-size:8px;margin-bottom:20px}.cinema-copy h2{font-size:30px}.cinema-copy>p{font-size:11px;margin:18px 0}.cinema-image{min-height:460px}.cinema-image img{max-height:none}.cinema-year{font-size:90px;right:8px;top:8px}.cinema-image figcaption{left:18px;bottom:22px}.cinema-image figcaption>span{font-size:22px}.cinema-image figcaption>small{font-size:7px;max-width:140px;line-height:1.6}.chapter-paging{gap:12px}.chapter-paging button{width:40px;min-width:40px}.chapter-paging span{font-size:8px}.chapter-rail button{min-width:152px;padding:20px 12px}.chapter-rail button>span{display:none}[data-variant=c] #view-nav button{border-radius:10px}.route-toolbar{margin:0 0 20px;gap:12px}.route-line{padding:20px 20px 12px}.station{min-width:78px}.route-legend p{margin-left:0;flex-basis:100%}[data-variant=d] .focus-person{display:flex}[data-variant=d] .focus-portrait{margin:0}[data-variant=d] .focus-card{padding:24px}[data-variant=e] .scene-heading h1{font-size:60px}[data-variant=e] .home-room{order:2;padding:22px;width:100%}[data-variant=e] .focus-panel{order:3}[data-variant=e] .focus-card{padding:4px 2px}[data-variant=e] .focus-person{display:flex}[data-variant=e] .focus-person>div{margin:0}[data-variant=e] .lab-panel{grid-template-columns:minmax(0,1fr) 220px;gap:24px}.playground-header>span:last-child{font-size:9px}.lab-panel{grid-template-columns:1fr}.lab-canvas-wrap{height:285px}.lab-controls{border-top:1px solid var(--line);padding-top:25px}.lab-control-title{margin-bottom:20px}.lab-control{margin-bottom:18px}.lab-control input{min-height:44px}.experiment-tabs button{flex:1;padding:0 10px;font-size:11px}.model-label{font-size:8px}dialog{padding:24px;max-height:calc(100dvh - 30px)}.lab-dialog{width:calc(100vw - 24px)}.dialog-head h2{font-size:20px}.reader-hero h2{font-size:28px}.reader-question{font-size:23px}.reader-portrait{width:72px;height:90px}.toast{bottom:94px;min-width:220px;text-align:center}}
@media(max-width:560px){.topbar{margin:0 16px;gap:10px}.identity>span{font-size:14px}.layout,[data-variant=b] .layout,[data-variant=e] .layout,[data-variant=d] body[data-screen=home] .layout{padding-left:18px;padding-right:18px;gap:22px}.scene-heading h1,[data-variant=a] .scene-heading h1,[data-variant=b] .scene-heading h1,[data-variant=d] .scene-heading h1{font-size:31px}.scene-heading>p:last-child{font-size:11px}.graph-stage,[data-variant=a] .graph-stage,[data-variant=b] .graph-stage{height:400px}.graph-foot{font-size:8px;gap:16px;align-items:flex-start;padding-top:13px}.focus-actions .primary,.focus-actions .secondary{font-size:11px;padding:0 12px;gap:8px}[data-variant=b] .focus-card{display:block}[data-variant=b] .focus-person{margin:20px 0}[data-variant=b] .focus-question{font-size:21px}[data-variant=b] .formula-card{margin-top:22px}[data-variant=c] body[data-screen=home] .scene-heading h1{font-size:10px}.cinema{display:flex;flex-direction:column-reverse;position:relative}.cinema-image{height:340px;min-height:340px}.cinema-image>img{object-position:center 24%}.cinema-image[data-portrait=einstein]>img{transform:scale(1.65);transform-origin:60% 10%}.cinema-year{font-size:104px;right:12px;top:8px}.cinema-image figcaption{left:22px;bottom:22px}.cinema-image figcaption>span{font-size:24px}.cinema-image figcaption>small{max-width:none;font-size:8px}.cinema-copy{padding:26px 4px}.cinema-copy h2{font-size:35px;line-height:1.5}.cinema-copy>.eyebrow{margin-bottom:12px}.cinema-copy>p{font-size:12px;margin:16px 0;max-width:none}.chapter-paging{padding-top:22px}.chapter-paging span{font-size:9px}.chapter-rail button{min-width:135px;font-size:11px}.chapter-rail{margin-top:0}.route-toolbar>div{width:100%;gap:5px}.route-toolbar button{font-size:9px;flex:1;padding:0 6px}.route-line{padding:18px 14px 10px}.route-caption{margin-bottom:12px}.station-track{padding-bottom:10px}.station{min-width:80px}.station-track{scroll-snap-type:x proximity}.station{scroll-snap-align:center}[data-variant=d] .scene-heading h1{font-size:29px}.route-toolbar>p{font-size:12px}.route-legend p{font-size:9px}[data-variant=e] .home-room{padding:18px 15px;border-radius:20px}[data-variant=e] .scene-heading h1{font-size:58px}[data-variant=e] .lab-panel{grid-template-columns:1fr}[data-variant=e] .playground-header{padding-bottom:15px;gap:8px}[data-variant=e] .playground-header>span:last-child{font-size:8px}.play-badge{font-size:8px;letter-spacing:.05em}.lab-figure-header h3{font-size:16px}.lab-figure-header{gap:8px;flex-wrap:wrap}.lab-figure-header p{font-size:10px}.experiment-tabs{gap:3px;margin-bottom:20px}.experiment-tabs button{font-size:10px;padding:0 8px}.lab-canvas-wrap{height:265px}.lab-metric strong{font-size:22px}.lab-metric>span{font-size:9px}.lab-control-title{font-size:8px}.lab-controls{padding-top:22px}.lab-insight{font-size:12px}.lab-model-note{font-size:10px}.lab-person-link{font-size:12px}.control-bar{padding-left:8px;padding-right:8px}#view-nav button{font-size:9px;letter-spacing:-.03em;padding:8px 4px}#view-nav svg{width:16px;height:16px}.control-bar .motion{font-size:9px;padding:0 3px;min-width:21px}.reader-hero{gap:16px}.reader-hero h2{font-size:27px}.reader-hero p{font-size:10px}.reader-section>p{font-size:13px}.reader-formula{padding:18px}.reader-formula .formula{font-size:29px}.reader-formula .formula.long{font-size:20px}.dialog-head{margin-bottom:22px}dialog{padding:22px;width:calc(100vw - 24px)}.source-link{font-size:11px}.prose p{font-size:12px}.reader-question{font-size:22px}.reader-section h3{font-size:10px}.search-dialog input{font-size:13px}}
@media(max-width:440px){.graph-node{width:80px;height:91px;transform:translate(-50%,-25px)}.node-face{width:50px;height:50px}.node-name{font-size:10px}.node-year{font-size:8px}.graph-stage,[data-variant=a] .graph-stage,[data-variant=b] .graph-stage{height:380px}}
@media(max-width:350px){.topbar{gap:7px;margin:0 12px}.identity{padding-left:10px}.identity>span{font-size:12px}.identity small{font-size:6px}.icon-button{width:33px;min-width:33px}.layout,[data-variant=b] .layout,[data-variant=e] .layout,[data-variant=d] body[data-screen=home] .layout{padding-left:14px;padding-right:14px}.graph-node{width:74px;height:86px;transform:translate(-50%,-23px)}.node-face{width:46px;height:46px}.scene-heading h1,[data-variant=a] .scene-heading h1,[data-variant=b] .scene-heading h1{font-size:28px}.route-toolbar button{font-size:8px}.experiment-tabs button{font-size:9px;padding:0 5px}#view-nav button{font-size:8px}.focus-actions .secondary span{display:none}.cinema-copy h2{font-size:30px}}
.reduced *{scroll-behavior:auto!important;transition:none!important;animation:none!important}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
@media(min-width:801px){[data-variant=a] .graph-stage{height:clamp(300px,32vh,480px)}}
.mobile-focus,.route-current,.route-scroll-hint{display:none}
.station .station-dot.is-transfer{box-shadow:0 0 0 2px var(--surface),0 0 0 3px var(--route)}
.station[aria-pressed=true] .station-dot.is-transfer{box-shadow:0 0 0 2px var(--surface),0 0 0 4px var(--ink)}
@media(max-width:800px){
.mobile-focus{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:10px;line-height:1.6;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:0 2px;color:var(--muted)}.mobile-focus button{color:var(--accent);white-space:nowrap;font-size:10px;padding:0 8px}
.route-current{display:flex;align-items:center;justify-content:space-between;gap:16px;background:var(--accent);color:white;padding:12px 16px;border-radius:12px;margin-bottom:14px}.route-current>span{display:flex;flex-direction:column;gap:6px;min-width:0}.route-current small{font-size:9px;color:#d8e0ff}.route-current strong{font-size:12px;font-weight:500;line-height:1.7}.route-current button{font-size:10px;color:white;white-space:nowrap;min-width:85px}.route-scroll-hint{display:block;font-size:9px;color:var(--muted);text-align:center;margin:14px 0}
.control-bar .motion{min-width:44px;min-height:48px}#view-nav button{font-size:10px}
}
@media(max-width:560px){
[data-variant=e] .lab-panel{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px 14px}
[data-variant=e] .lab-display,[data-variant=e] .lab-controls{display:contents}
[data-variant=e] .lab-figure-header{grid-column:1/-1;order:1;margin-bottom:0}
[data-variant=e] .lab-control-title{display:none}
[data-variant=e] .lab-control{order:2;margin-bottom:0;grid-column:auto;min-width:0}
[data-variant=e] .control-label{font-size:10px;flex-wrap:wrap;gap:7px;line-height:1.5}
[data-variant=e] .control-label output{font-size:11px}
[data-variant=e] .control-limits{font-size:8px;gap:8px}
[data-variant=e] .lab-control input{margin-top:0}
[data-variant=e] .lab-checkbox,[data-variant=e] .lab-small-actions{order:3;grid-column:1/-1;margin:0}
[data-variant=e] .lab-canvas-wrap{grid-column:1/-1;order:4;height:240px}
[data-variant=e] .lab-metrics{grid-column:1/-1;order:5;padding:5px 0 18px}
[data-variant=e] .lab-prediction{grid-column:1/-1;order:6;margin:0}
[data-variant=e] .lab-equation{grid-column:1/-1;order:7;margin:0}
[data-variant=e] .lab-insight{grid-column:1/-1;order:8;margin:0}
[data-variant=e] .lab-model-note{grid-column:1/-1;order:9;margin:0}
[data-variant=e] .lab-person-link{grid-column:1/-1;order:10}
[data-variant=e] .scene-heading>p:last-child{margin-top:8px}
[data-variant=e] .playground-header{padding-bottom:12px}
[data-variant=e] .experiment-tabs{margin-bottom:17px}
}
@media(max-width:350px){#view-nav button{font-size:9px}}
/* Match the shared graph's initial mobile footprint while hidden nodes become visible. */
@media(min-width:441px) and (max-width:800px){.graph-node{width:80px}}
@keyframes chapter-arrives{from{opacity:0;transform:translateY(9px)}to{opacity:1;transform:translateY(0)}}
.cinema-copy h2,.cinema-image>img{animation:chapter-arrives .5s ease-out both}
/* Corrections after independent screenshot review. */
.back-short{display:none}.keep-word{white-space:nowrap}.cinema-copy h2{text-wrap:pretty}
.chapter-paging span{order:-1}.chapter-paging button{flex-shrink:0}
.node-name,.node-year{box-shadow:0 0 0 3px var(--bg)}
[data-variant=e] body[data-screen=home] .focus-card .formula-card{display:none}
[data-variant=e] body[data-screen=home] .focus-card .focus-actions{margin-top:25px}
.lab-control input[type=range]{appearance:none;-webkit-appearance:none;background:transparent;cursor:pointer;height:44px}
.lab-control input[type=range]::-webkit-slider-runnable-track{height:5px;border:1px solid var(--line);border-radius:3px;background:color-mix(in srgb,var(--accent) 23%,var(--surface))}
.lab-control input[type=range]::-webkit-slider-thumb{appearance:none;-webkit-appearance:none;width:26px;height:26px;border:3px solid var(--surface);border-radius:50%;background:var(--accent);box-shadow:0 0 0 1px var(--accent);margin-top:-12px}
.lab-control input[type=range]::-moz-range-track{height:5px;border:1px solid var(--line);border-radius:3px;background:color-mix(in srgb,var(--accent) 23%,var(--surface))}
.lab-control input[type=range]::-moz-range-thumb{width:22px;height:22px;border:3px solid var(--surface);border-radius:50%;background:var(--accent)}
@media(max-width:800px){.back-link{font-size:16px;gap:5px;min-width:44px}.back-link .back-short{display:inline;font-size:10px;white-space:nowrap}.back-link .back-wide{display:none}.canvas-shell{padding-bottom:55px}.zoom-tools{bottom:0;right:0}.graph-foot{margin-top:8px}}
@media(max-width:389px){[data-variant=e] .lab-control{grid-column:1/-1}}
.play-note{display:none}
[data-variant=e] body[data-screen=home] .play-note{display:block;background:#d9f38b;color:#24330b;border-radius:18px;padding:20px;margin-top:24px}
.play-note .eyebrow{font-size:8px;color:#52672e;letter-spacing:.06em}.play-note h3{font-size:22px;line-height:1.5;font-weight:600;margin:15px 0 12px}.play-note>p:not(.eyebrow){font-size:11px;line-height:1.9;color:#465b28}.play-note button{padding:0;font-size:11px;font-weight:600;text-decoration:underline;margin-top:8px}
@media(max-width:800px){.canvas-shell{display:flex;flex-direction:column;padding-bottom:0}.zoom-tools{position:static;align-self:flex-end;order:-1;margin:8px 0}.map-message{top:65px}}
[data-variant=a] .focus-card .formula-symbol{font-size:11px;color:#c6d0bd}
[data-variant=e] .lab-metrics{padding:16px 14px;background:#f2f3fb;border-bottom:0;border-radius:12px;margin-top:14px}

@media(max-width:800px){.graph-stage{overscroll-behavior-y:auto}}
