:root{--bg:#f6f7fb;--bg-2:#fff;--surface:#fff;--surface-2:#eef1f7;--line:#dde2ec;--text:#121826;--text-2:#4a5468;--text-3:#7a8499;--shadow:0 1px 2px #1018280f, 0 8px 24px #1018280f;--c-classical:#c98a12;--c-relativity:#7c5cf0;--c-quantum:#0f9fb8;--c-string:#d9468f;--ok:#1f9d5b;--stage:#070a12;--radius:14px;--font:"Inter", system-ui, -apple-system, "Segoe UI", sans-serif;--display:"Space Grotesk", "Inter", system-ui, sans-serif;--mono:"JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#0a0d16;--bg-2:#0e1320;--surface:#121827;--surface-2:#182033;--line:#243049;--text:#e8edf7;--text-2:#a8b3c9;--text-3:#75819a;--shadow:0 1px 2px #0000004d, 0 12px 32px #00000059;--c-classical:#f5b642;--c-relativity:#a78bfa;--c-quantum:#4fd1e8;--c-string:#f472b6;--ok:#5ee39a;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=dark]{--bg:#0a0d16;--bg-2:#0e1320;--surface:#121827;--surface-2:#182033;--line:#243049;--text:#e8edf7;--text-2:#a8b3c9;--text-3:#75819a;--shadow:0 1px 2px #0000004d, 0 12px 32px #00000059;--c-classical:#f5b642;--c-relativity:#a78bfa;--c-quantum:#4fd1e8;--c-string:#f472b6;--ok:#5ee39a;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body{margin:0}body{background:var(--bg);color:var(--text);font:16px/1.6 var(--font);-webkit-font-smoothing:antialiased;overflow-x:hidden}a{color:inherit}h1,h2,h3{font-family:var(--display);letter-spacing:-.01em;line-height:1.2}button{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--accent,var(--c-quantum));outline-offset:2px}.site-bar{z-index:20;background:color-mix(in srgb, var(--bg) 85%, transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:12px clamp(16px,4vw,40px);display:flex;position:sticky;top:0}.brand{font:700 18px var(--display);align-items:center;gap:10px;text-decoration:none;display:flex}.brand-mark{background:conic-gradient(var(--c-classical), var(--c-relativity), var(--c-quantum), var(--c-string), var(--c-classical));width:22px;height:22px;box-shadow:inset 0 0 0 5px var(--bg);border-radius:50%}.site-nav{gap:20px;font-size:14px;display:flex}.site-nav a{color:var(--text-2);text-decoration:none}.site-nav a:hover{color:var(--text)}main{max-width:1440px;margin:0 auto;padding:0 clamp(16px,4vw,40px)}.site-foot{text-align:center;color:var(--text-3);padding:40px 16px;font-size:13px}.hero{max-width:900px;padding:clamp(40px,8vw,88px) 0 32px}.hero h1{text-wrap:balance}.eyebrow{text-transform:uppercase;letter-spacing:.14em;color:var(--accent,var(--text-3));margin:0 0 8px;font-size:12px;font-weight:600}.hero h1{margin:0 0 18px;font-size:clamp(32px,5.5vw,58px)}.lede{color:var(--text-2);max-width:680px;margin:0;font-size:clamp(16px,2vw,19px)}.hero-stats{color:var(--text-3);flex-wrap:wrap;gap:10px 28px;margin-top:24px;font-size:14px;display:flex}.hero-stats b{color:var(--text);font-family:var(--mono);font-size:16px}.table{gap:18px;padding:16px 0 40px;display:grid}.domain-row{border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(90deg, color-mix(in srgb, var(--accent) 9%, var(--surface)) 0%, var(--surface) 40%);grid-template-columns:220px 1fr;align-items:start;gap:20px;padding:18px;display:grid}.domain-head h2{color:var(--accent);margin:4px 0 6px;font-size:20px}.domain-head p{color:var(--text-2);margin:0;font-size:14px}.tiles{grid-template-columns:repeat(auto-fill,minmax(128px,1fr));gap:10px;display:grid}.tile{aspect-ratio:1/1.02;border:1px solid var(--line);background:var(--bg-2);border-radius:12px;flex-direction:column;justify-content:flex-end;padding:10px;text-decoration:none;transition:transform .18s,border-color .18s,box-shadow .18s;display:flex;position:relative;overflow:hidden}.tile.live{border-color:color-mix(in srgb, var(--accent) 55%, var(--line));box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--accent) 18%, transparent)}.tile.live:hover,.tile.live:focus-visible{box-shadow:var(--shadow), 0 0 0 2px var(--accent);transform:translateY(-3px)}.tile.soon{opacity:.55}.tile-num{font:600 12px var(--mono);color:var(--text-3);position:absolute;top:8px;left:10px}.dots{gap:3px;display:flex;position:absolute;top:11px;right:10px}.dots i{background:var(--line);border-radius:50%;width:5px;height:5px}.dots i.on{background:var(--accent)}.tile-sym{font:700 clamp(28px, 3vw, 36px) var(--display);color:var(--accent);margin-top:18px;margin-bottom:auto}.tile.soon .tile-sym{color:var(--text-3)}.tile-name{font-size:12.5px;font-weight:600;line-height:1.3}.tile-flag{text-transform:uppercase;letter-spacing:.08em;color:var(--text-3);font-size:10px;position:absolute;top:26px;right:10px}.tile-flag.done{color:var(--ok)}.tile-tip{background:color-mix(in srgb, var(--surface) 96%, var(--accent));color:var(--text-2);opacity:0;align-items:center;padding:12px;font-size:12.5px;line-height:1.4;transition:opacity .18s;display:flex;position:absolute;inset:0}.tile:hover .tile-tip,.tile:focus-visible .tile-tip{opacity:1}.how{padding:16px 0 24px}.how h2{font-size:22px}.how-grid{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px;display:grid}.how-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);padding:18px}.how-card h3{margin:8px 0 4px;font-size:17px}.how-card p{color:var(--text-2);margin:0;font-size:14px}.how-n{font:600 13px var(--mono);color:var(--c-quantum)}.loading,.missing{text-align:center;color:var(--text-2);padding:80px 0}.topic-head{padding:22px 0 16px}.crumb{color:var(--text-2);font-size:14px;text-decoration:none}.crumb:hover{color:var(--text)}.topic-title{align-items:center;gap:18px;margin-top:12px;display:flex}.topic-title h1{margin:0;font-size:clamp(26px,4vw,40px)}.tagline{color:var(--text-2);margin:6px 0 0}.mini-tile{border:1px solid var(--accent);background:color-mix(in srgb, var(--accent) 12%, var(--surface));border-radius:12px;flex:none;place-items:center;width:72px;height:72px;display:grid;position:relative}.mini-tile span{font:600 11px var(--mono);color:var(--text-3);position:absolute;top:5px;left:8px}.mini-tile b{font:700 28px var(--display);color:var(--accent)}.topic-grid{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);align-items:start;gap:22px;display:grid}.stage-col{gap:12px;display:grid;position:sticky;top:66px}.viewport{border-radius:var(--radius);background:var(--stage);border:1px solid var(--line);touch-action:none;height:min(62vh,620px);min-height:340px;position:relative;overflow:hidden}.stage-canvas{display:block;width:100%!important;height:100%!important}.stage-labels{pointer-events:none;position:absolute;inset:0}.stage-label{font:600 12px var(--mono);color:#dfe6f3;white-space:nowrap;background:#070a12a8;border-radius:6px;padding:2px 6px}.stage-label.muted{color:#9aa6bd;background:0 0}.stage-label.big{font-size:14px}.orbit-hint{z-index:2;color:#8391ab;pointer-events:none;font-size:12px;transition:opacity .6s;position:absolute;bottom:10px;left:12px}.viewport:hover .orbit-hint{opacity:0}.gl-error{color:#dfe6f3;text-align:center;place-items:center;height:100%;padding:20px;display:grid}.panel-host{border-radius:var(--radius);min-height:180px;max-height:calc(100vh - 100px - min(62vh,620px));overflow:auto}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:6px 14px 12px;display:grid}.panel-section{border-bottom:1px dashed var(--line);grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:4px 18px;padding:8px 0;display:grid}.panel-section:last-child{border-bottom:0}.panel-title{text-transform:uppercase;letter-spacing:.12em;color:var(--text-3);grid-column:1/-1;padding-top:4px;font-size:11px;font-weight:600}.ctl{border-radius:10px;margin:0 -8px;padding:6px 8px;transition:background .2s,box-shadow .2s}.ctl.linked,.readout.linked{background:color-mix(in srgb, var(--accent) 16%, transparent);box-shadow:0 0 0 1px var(--accent)}.ctl.flash{animation:1.2s flash}@keyframes flash{0%,to{box-shadow:0 0 #0000}30%{box-shadow:0 0 0 3px var(--accent)}}.ctl-top{color:var(--text-2);justify-content:space-between;gap:8px;font-size:13.5px;display:flex}.ctl-top label{font-weight:500}.ctl-val{font:600 12.5px var(--mono);color:var(--text);white-space:nowrap}input[type=range]{appearance:none;cursor:pointer;background:0 0;width:100%;height:22px;margin:2px 0 0}input[type=range]::-webkit-slider-runnable-track{background:linear-gradient(90deg, var(--accent) var(--pct,50%), var(--line) var(--pct,50%));border-radius:4px;height:4px}input[type=range]::-moz-range-track{background:var(--line);border-radius:4px;height:4px}input[type=range]::-moz-range-progress{background:var(--accent);border-radius:4px;height:4px}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;background:var(--surface);border:2px solid var(--accent);border-radius:50%;width:16px;height:16px;margin-top:-6px;box-shadow:0 1px 3px #0000004d}input[type=range]::-moz-range-thumb{background:var(--surface);border:2px solid var(--accent);border-radius:50%;width:14px;height:14px}.ctl-toggle label{color:var(--text-2);cursor:pointer;align-items:center;gap:10px;font-size:13.5px;display:flex}.ctl-toggle input{opacity:0;width:1px;height:1px;position:absolute}.switch{background:var(--line);border-radius:20px;flex:none;width:34px;height:20px;transition:background .2s;position:relative}.switch:after{content:"";background:var(--surface);border-radius:50%;width:14px;height:14px;transition:transform .2s;position:absolute;top:3px;left:3px;box-shadow:0 1px 2px #0000004d}.ctl-toggle input:checked+.switch{background:var(--accent)}.ctl-toggle input:checked+.switch:after{transform:translate(14px)}.ctl-toggle input:focus-visible+.switch{outline:2px solid var(--accent);outline-offset:2px}.segmented{background:var(--surface-2);border-radius:10px;flex-wrap:wrap;gap:4px;margin-top:4px;padding:3px;display:flex}.segmented button{cursor:pointer;color:var(--text-2);background:0 0;border:0;border-radius:7px;flex:auto;padding:5px 8px;font-size:12.5px}.segmented button[aria-checked=true]{background:var(--surface);color:var(--text);box-shadow:0 1px 3px #0000001f, inset 0 0 0 1px var(--accent)}.ctl-buttons{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.btn{border:1px solid var(--line);background:var(--surface-2);cursor:pointer;border-radius:9px;padding:7px 14px;font-size:13.5px;font-weight:500;text-decoration:none;display:inline-block}.btn:hover{border-color:var(--accent)}.btn.primary{background:var(--accent);border-color:var(--accent);color:#0a0d16}.readouts{grid-column:1/-1;grid-template-columns:repeat(auto-fill,minmax(118px,1fr));gap:8px;margin:4px 0;display:grid}.readout{background:var(--surface-2);border-radius:10px;padding:7px 10px;transition:background .2s,box-shadow .2s}.readout-label{color:var(--text-3);text-transform:uppercase;letter-spacing:.06em;font-size:11px}.readout-val{font:600 15px var(--mono);color:var(--text);font-variant-numeric:tabular-nums}.panel-note{color:var(--text-2);grid-column:1/-1;padding:4px 0;font-size:13px}.legend{color:var(--text-2);flex-wrap:wrap;grid-column:1/-1;gap:6px 14px;font-size:12.5px;display:flex}.legend i{vertical-align:-1px;border-radius:3px;width:10px;height:10px;margin-right:6px;display:inline-block}.layers-col{min-width:0}.tabs{z-index:5;background:var(--surface-2);border:1px solid var(--line);border-radius:12px;grid-template-columns:repeat(4,1fr);gap:4px;margin-bottom:16px;padding:4px;display:grid;position:sticky;top:58px}.tabs button{cursor:pointer;color:var(--text-2);background:0 0;border:0;border-radius:9px;justify-content:center;align-items:center;gap:6px;padding:9px 6px;font-size:14px;font-weight:500;display:flex}.tabs button[aria-selected=true]{background:var(--surface);color:var(--text);box-shadow:var(--shadow)}.tab-n{font:600 11px var(--mono);background:var(--line);border-radius:50%;place-items:center;width:18px;height:18px;display:grid}.tabs button[aria-selected=true] .tab-n{background:var(--accent);color:#0a0d16}.pane{animation:.25s fade}@keyframes fade{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}.prose{color:var(--text);font-size:16px}.prose p{margin:0 0 14px}.prose h3{margin:22px 0 8px;font-size:18px}.prose ul,.prose ol{margin:0 0 14px;padding-left:22px}.prose li{margin:4px 0}.prose strong{color:var(--text)}.prose .lead{color:var(--text);font-size:18px}.prose blockquote{border-left:3px solid var(--accent);background:var(--surface);color:var(--text-2);border-radius:0 10px 10px 0;margin:16px 0;padding:12px 16px}.math-block{padding:4px 0;overflow:auto hidden}.try-first{border-radius:var(--radius);background:color-mix(in srgb, var(--accent) 9%, var(--surface));border:1px solid color-mix(in srgb, var(--accent) 35%, var(--line));margin-top:22px;padding:16px 18px}.try-first h3{margin:0 0 8px}.try-first ol{margin:0}.equation{border-radius:var(--radius);background:var(--surface);border:1px solid var(--line);text-align:center;padding:22px 12px;font-size:1.2em;overflow-x:auto}.eq-caption{color:var(--text-2);text-align:center;font-size:15px;margin:10px 0 18px!important}.hint-line{color:var(--text-3);font-size:13px;margin-bottom:8px!important}.terms{gap:8px;margin-bottom:22px;display:grid}.term{text-align:left;border:1px solid var(--line);background:var(--surface);cursor:pointer;border-radius:12px;grid-template-columns:96px 1fr;align-items:center;gap:12px;padding:10px 14px;transition:border-color .15s,background .15s;display:grid}.term:hover,.term:focus-visible{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 7%, var(--surface))}.term:not([data-param]){cursor:default}.term-tex{text-align:center;font-size:1.1em;overflow-x:auto}.term-body{color:var(--text-2);gap:2px;font-size:14px;display:grid}.term-body b{color:var(--text);font-size:14.5px}.deep{border:1px solid var(--line);background:var(--surface);border-radius:12px;margin-bottom:10px}.deep summary{cursor:pointer;font:600 16px var(--display);justify-content:space-between;padding:14px 16px;list-style:none;display:flex}.deep summary:after{content:"+";color:var(--text-3)}.deep[open] summary:after{content:"−"}.deep summary::-webkit-details-marker{display:none}.deep-body{padding:0 16px 6px}.caveat{border:1px dashed var(--line);color:var(--text-2);border-radius:12px;margin-top:18px;padding:14px 18px}.caveat h3{margin-top:0}.further ul{padding-left:20px}.try-head{color:var(--text-2);justify-content:space-between;align-items:baseline;gap:12px;font-size:14.5px;display:flex}.try-head p{margin:0 0 12px}.linkish{color:var(--text-3);cursor:pointer;white-space:nowrap;background:0 0;border:0;font-size:13px;text-decoration:underline}.challenges{gap:10px;display:grid}.challenge{border:1px solid var(--line);background:var(--surface);border-radius:12px;grid-template-columns:34px 1fr;gap:12px;padding:14px 16px;transition:border-color .3s,background .3s;display:grid}.ch-status{width:30px;height:30px;font:600 13px var(--mono);background:var(--surface-2);color:var(--text-2);border-radius:50%;place-items:center;display:grid}.challenge.solved{border-color:var(--ok);background:color-mix(in srgb, var(--ok) 8%, var(--surface))}.challenge.solved .ch-status{background:var(--ok);color:#0a0d16}.ch-body h3{margin:3px 0 4px;font-size:16px}.ch-body p{color:var(--text-2);margin:0 0 6px;font-size:14.5px}.ch-body details summary{cursor:pointer;color:var(--text-3);font-size:13px}.topic-foot{grid-template-columns:1fr 1fr;gap:12px;margin:36px 0 10px;display:grid}.topic-foot a{border:1px solid var(--line);background:var(--surface);border-radius:12px;padding:14px 16px;text-decoration:none;display:grid}.topic-foot a:hover{border-color:var(--accent)}.topic-foot span{color:var(--text-3);font-size:12.5px}.topic-foot .next{text-align:right}.toast{opacity:0;pointer-events:none;background:var(--ok);color:#0a0d16;box-shadow:var(--shadow);z-index:50;border-radius:999px;padding:10px 18px;font-size:14px;font-weight:600;transition:opacity .25s,transform .25s;position:fixed;bottom:24px;left:50%;transform:translate(-50%,20px)}.toast.show{opacity:1;transform:translate(-50%)}@media (max-width:980px){.topic-grid{grid-template-columns:1fr}.stage-col{position:static}.viewport{height:56vh}.panel-host{max-height:none}.tabs{top:54px}.domain-row{grid-template-columns:1fr}}@media (max-width:560px){.tabs button{padding:8px 2px;font-size:12.5px}.tab-n{display:none}.term{grid-template-columns:1fr}.tiles{grid-template-columns:repeat(auto-fill,minmax(100px,1fr))}.topic-title{align-items:flex-start}.mini-tile{width:56px;height:56px}.mini-tile b{font-size:22px}.stage-overlay{display:none}.viewport>canvas:not(.stage-canvas){width:150px!important;height:auto!important}}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
