*{box-sizing:border-box}:root{color-scheme:light;--theme:#fff;--primary:#181818;--secondary:#626262;--content:#333;--border:#dedede;--code-bg:#f4f4f4}:root[data-theme=dark]{color-scheme:dark;--theme:#000;--primary:#eee;--secondary:#aaa;--content:#ddd;--border:#333;--code-bg:#141414}body{margin:0;background:var(--theme);color:var(--primary);font:17px/1.7 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}a{color:inherit;text-underline-offset:4px}button,input{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid var(--primary);outline-offset:5px}.site-header{max-width:1180px;margin:auto;padding:24px 32px;display:flex;justify-content:space-between;gap:20px;align-items:center}.site-header>div{display:flex;gap:24px;align-items:center}.wordmark{font-size:19px;font-weight:600;text-decoration:none}.portfolio-link{font-size:13px;color:var(--secondary);text-decoration:none}#theme-toggle{border:0;background:none;color:var(--secondary);font-size:13px;padding:8px}main{max-width:1100px;margin:32px auto 0;padding:0 32px 40px}h1{font-size:clamp(30px,4vw,44px);line-height:1.15;letter-spacing:-.025em;font-weight:600;margin:0 0 22px}h2{font-size:27px;line-height:1.3;font-weight:600;margin:24px 0 14px}p{margin:0 0 20px}main>p{max-width:760px;color:var(--secondary)}.meta{font-size:13px;color:var(--secondary)}details{font-size:15px;margin:24px 0}summary{cursor:pointer;font-size:15px;font-weight:500;margin-bottom:14px}details p{max-width:850px;color:var(--content)}[hidden]{display:none!important}.sources{margin-top:50px;font-size:14px;max-width:900px}.sources h2{font-size:22px}.sources h3{font-size:18px;margin:22px 0 8px}.sources li{margin:12px 0}.ex-equation{font:15px/1.6 Georgia,serif;color:var(--secondary);padding:12px 0}.ex-layout{grid-template-columns:260px minmax(0,1fr)!important;gap:40px!important}.ex-results{max-width:850px}.ex-figure{min-width:0}.ex-question{max-width:100%}.ex-lab>p:not(.ex-question):not(.ex-equation){max-width:900px}footer{font-size:12px;color:var(--secondary);margin-top:45px}.skip{position:absolute;top:-100px;left:16px;background:var(--theme);padding:8px}.skip:focus{top:8px;z-index:10}@media(max-width:700px){.site-header{padding:18px 20px;flex-wrap:wrap}.site-header>div{gap:18px}.portfolio-link{font-size:12px}main{margin-top:24px;padding:0 20px 30px}.ex-layout{grid-template-columns:1fr!important;gap:14px!important}h2{font-size:24px}}/* Methods Explorer: inherits the site's light/dark palette. */
.ex-picker{display:flex;gap:24px;flex-wrap:wrap;margin:32px 0 28px}.ex-picker button{font:inherit;font-size:16px;color:var(--secondary);padding:8px 0;background:none;cursor:pointer;border-bottom:2px solid transparent}.ex-picker button[aria-pressed=true]{color:var(--primary);border-color:var(--primary)}.ex-lab{margin-top:0}.ex-question{background:var(--code-bg);padding:16px 18px;font-size:16px}.ex-layout{display:grid;grid-template-columns:210px minmax(0,1fr);gap:24px;align-items:start;margin:26px 0}.ex-control{display:block;margin:0 0 24px;font-size:14px}.ex-control span{display:flex;justify-content:space-between;gap:12px;margin-bottom:12px}.ex-control output{font-variant-numeric:tabular-nums;font-weight:600}.ex-control input{width:100%;accent-color:var(--primary);cursor:pointer;height:24px}.ex-controls .meta{font-size:12px}.ex-figure{margin:0}.ex-figure svg{display:block;width:100%;height:auto;overflow:hidden}.ex-figure figcaption{font-size:12px;color:var(--secondary);line-height:1.6;padding:8px 0}.ex-grid{stroke:var(--border);stroke-width:1}.ex-axis,.ex-tick{fill:var(--secondary);font-family:system-ui,sans-serif;font-size:13px}.ex-axis{font-size:14px}.ex-dot{fill:var(--primary);opacity:.45}.ex-fit{stroke:var(--primary);stroke-width:2.5}.ex-truth{stroke:var(--secondary);stroke-width:2;stroke-dasharray:6 5}.ex-edge{stroke:var(--secondary);opacity:.22;stroke-width:1}.ex-bridge{stroke:var(--primary);opacity:.45;stroke-width:1.2;stroke-dasharray:3 3}.ex-node-a{fill:var(--primary);stroke:var(--theme);stroke-width:1}.ex-node-b{fill:var(--theme);stroke:var(--primary);stroke-width:2}.ex-results{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:20px 0}.ex-results strong{display:block;font-size:25px;font-variant-numeric:tabular-nums}.ex-results span{display:block;font-size:13px;color:var(--secondary)}.ex-reading{font-size:15px;margin-top:24px!important}.ex-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin:32px 0 18px}.ex-actions button{cursor:pointer;border:1px solid var(--border);border-radius:4px;background:var(--code-bg);color:var(--primary);font:14px system-ui,sans-serif;padding:10px 12px;min-height:44px}.ex-actions button:hover{border-color:var(--primary)}@media(max-width:650px){.ex-layout{grid-template-columns:1fr}.ex-controls{display:grid;grid-template-columns:1fr;gap:0}.ex-control{margin-bottom:18px}.ex-results strong{font-size:22px}.ex-picker{gap:20px}.ex-picker button{font-size:15px}.ex-results{gap:10px}}@media print{.ex-picker,.ex-actions,.ex-controls{display:none}.ex-layout{display:block}}
.ex-control output{flex-shrink:0;min-width:3.5em;white-space:nowrap;text-align:right}.ex-lab p{margin-bottom:18px}.ex-controls .meta{line-height:1.6}

.ex-picker button{border:0;border-bottom:2px solid transparent;min-height:44px}.ex-picker button[aria-pressed=true]{border-bottom-color:var(--primary)}

/* Four-track hub and the shared lab template. */
.site-header{display:grid;grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"brand nav toggle";align-items:center;column-gap:28px;row-gap:4px}
.wordmark{grid-area:brand}
.site-nav{grid-area:nav;display:flex;flex-wrap:wrap;gap:2px 18px;align-items:center;min-width:0}
#theme-toggle{grid-area:toggle;justify-self:end}
.site-nav a{color:var(--secondary);font-size:14px;text-decoration:none;padding:8px 0}
.site-nav a:hover,.site-nav a[aria-current=page]{color:var(--primary)}
.site-nav a[aria-current=page]{text-decoration:underline;text-underline-offset:5px}
.crumbs{font-size:13px;color:var(--secondary);margin:0 0 16px}
.crumbs a{color:inherit}
.card-grid{list-style:none;padding:0;margin:28px 0 36px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.card-grid>li{min-width:0;display:flex}
.track-card,.path-card,.lab-card{display:flex;flex-direction:column;gap:6px;flex:1;padding:20px 22px;border:1px solid var(--border);border-radius:6px;text-decoration:none;color:var(--primary)}
.track-card:hover,.path-card:hover,.lab-card:hover,.track-card:focus-visible,.path-card:focus-visible,.lab-card:focus-visible{border-color:var(--primary)}
.track-card.is-stub{border-style:dashed}
.kicker{font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--secondary)}
.track-card strong,.path-card strong,.lab-card strong{font-size:22px;line-height:1.25;font-weight:600;letter-spacing:-.02em}
.card-meta{font-size:14px;line-height:1.5;color:var(--secondary)}
.lab-list{grid-template-columns:minmax(0,640px)}
.empty-state{margin:0 0 28px;padding:20px 22px;border:1px dashed var(--border);border-radius:6px;background:var(--code-bg);max-width:640px;color:var(--content)}
.lab-read{border-top:1px solid var(--border);margin-top:12px;padding-top:18px}
.lab-read h2{font-size:18px;line-height:1.3;margin:0 0 8px}
.lab-read .ex-reading{margin-top:0!important}
.lab-details{border-top:1px solid var(--border);padding-top:16px}
.lab-next{border-top:1px solid var(--border);margin-top:8px;padding-top:20px}
.next-card{max-width:640px}
.preset-note{margin-top:14px!important}
.ex-lab>.kicker{margin:0 0 8px}
.path-steps{list-style:none;padding:0;margin:8px 0 28px}
.path-steps>li{border-top:1px solid var(--border);padding:22px 0}
.path-steps h2{font-size:22px;margin:0 0 8px}
.path-steps p{max-width:68ch}
@media(max-width:860px){
  .site-header{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"brand toggle" "nav nav"}
  .site-nav{gap:0 14px}
}
.concept-card{flex:1;display:flex;flex-direction:column;gap:8px;padding:20px 22px;border:1px solid var(--border);border-radius:6px}
.concept-card p{margin:0;color:var(--content);font-size:15px;line-height:1.6}
.bow-docs{display:grid;gap:8px;margin:0 0 12px}
.bow-docs p{margin:0;font-size:15px}
.ex-bar-a{fill:var(--primary)}
.ex-bar-b{fill:var(--primary);opacity:.35}
.sources h3{font-size:18px;line-height:1.3;margin:22px 0 8px}
:root{--accent:#1a1a1a}
html[data-theme=dark]{--accent:#eee}
html[data-track=causal]{--accent:#0b5c58}
html[data-track=networks]{--accent:#8a4b12}
html[data-track=learning]{--accent:#43348a}
html[data-track=text]{--accent:#7a3140}
html[data-track=inference]{--accent:#1a4f8b}
html[data-theme=dark][data-track=causal]{--accent:#8ee0d6}
html[data-theme=dark][data-track=networks]{--accent:#f0b27a}
html[data-theme=dark][data-track=learning]{--accent:#c4b6f5}
html[data-theme=dark][data-track=text]{--accent:#f0a8b4}
html[data-theme=dark][data-track=inference]{--accent:#9dc4ef}
.track-causal{--accent:#0b5c58}
.track-networks{--accent:#8a4b12}
.track-learning{--accent:#43348a}
.track-text{--accent:#7a3140}
.track-inference{--accent:#1a4f8b}
html[data-theme=dark] .track-causal{--accent:#8ee0d6}
html[data-theme=dark] .track-networks{--accent:#f0b27a}
html[data-theme=dark] .track-learning{--accent:#c4b6f5}
html[data-theme=dark] .track-text{--accent:#f0a8b4}
html[data-theme=dark] .track-inference{--accent:#9dc4ef}
.ex-g0{fill:#0b5c58}.ex-g1{fill:#8a4b12}.ex-g2{fill:#43348a}.ex-g3{fill:#7a3140}
.ex-gl0{stroke:#0b5c58}.ex-gl1{stroke:#8a4b12}.ex-gl2{stroke:#43348a}.ex-gl3{stroke:#7a3140}
.ex-gl0,.ex-gl1,.ex-gl2,.ex-gl3{fill:none;stroke-width:1.6;opacity:.9}
html[data-theme=dark] .ex-g0{fill:#8ee0d6}html[data-theme=dark] .ex-g1{fill:#f0b27a}html[data-theme=dark] .ex-g2{fill:#c4b6f5}html[data-theme=dark] .ex-g3{fill:#f0a8b4}
html[data-theme=dark] .ex-gl0{stroke:#8ee0d6}html[data-theme=dark] .ex-gl1{stroke:#f0b27a}html[data-theme=dark] .ex-gl2{stroke:#c4b6f5}html[data-theme=dark] .ex-gl3{stroke:#f0a8b4}
.ex-data{stroke:var(--secondary);stroke-width:1.5;stroke-dasharray:2 3}
.kicker{color:var(--accent)}
.track-card,.lab-card,.path-card,.concept-card{border-top:3px solid var(--accent, var(--border));transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}
.track-card:hover,.lab-card:hover,.path-card:hover{transform:translateY(-2px);box-shadow:0 10px 24px color-mix(in srgb, var(--primary) 8%, transparent)}
.ex-question{border-left:4px solid var(--accent);border-radius:8px}
.ex-question strong{display:inline-block;margin:0 8px 0 0;padding:2px 8px;border-radius:999px;background:var(--accent);color:var(--theme);font-size:12px;letter-spacing:.04em;text-transform:uppercase;line-height:1.4}
.ex-pair{stroke:var(--accent);stroke-width:1.1;opacity:.55}
.ex-faint{opacity:.28}
.ex-spread{stroke:var(--accent);stroke-width:1.8;opacity:.9}
.ex-node-hot{fill:var(--accent);stroke:var(--theme);stroke-width:1}
.ex-index{stroke:var(--primary);stroke-width:2.5}
html[data-lang=zh] .en{display:none!important}
html:not([data-lang=zh]) .zh{display:none!important}
html[data-lang=zh] body{font-family:"Noto Sans CJK SC","Noto Sans SC","Source Han Sans SC","PingFang SC","Microsoft YaHei","WenQuanYi Micro Hei","Droid Sans Fallback",sans-serif}
.header-tools{grid-area:toggle;display:flex;align-items:center;gap:8px;justify-self:end}
.lang-switch{display:flex;align-items:center;gap:2px}
.lang-switch button{border:0;background:none;color:var(--secondary);font-size:13px;padding:8px 4px;min-height:44px}
.lang-switch button[aria-pressed=true]{color:var(--primary);font-weight:650;text-decoration:underline;text-underline-offset:4px}
@media(prefers-reduced-motion:reduce){
  .track-card,.lab-card,.path-card,.concept-card{transition:none}
  .track-card:hover,.lab-card:hover,.path-card:hover{transform:none}
}
.lab-layers{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:4px 0 8px}
.lab-note{padding:14px 16px;border:1px solid var(--border);border-radius:8px;border-top:3px solid var(--accent);background:var(--code-bg);min-width:0}
.lab-note h2{font-size:15px;line-height:1.35;margin:0 0 8px}
.lab-note p{margin:0;font-size:14.5px;line-height:1.55;color:var(--content)}
.lab-note p+p{margin-top:8px}
a.term-link{color:inherit}
.term-jump{display:flex;flex-wrap:wrap;gap:6px 14px;margin:0 0 8px;max-width:760px;font-size:14px}
.term-jump .jump-label{flex-basis:100%;margin-top:10px;font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--secondary)}
.term-jump a{color:var(--secondary)}
.glossary-track{font-size:13px;letter-spacing:.06em;text-transform:uppercase;margin:28px 0 10px}
.term-list{list-style:none;padding:0;margin:0 0 8px;display:grid;gap:12px;max-width:760px}
.term-card{border:1px solid var(--border);border-top:3px solid var(--accent, var(--border));border-radius:8px;padding:16px 18px}
.term-card h3{font-size:20px;line-height:1.3;margin:0 0 8px;font-weight:600}
.term-card p{margin:0 0 8px;font-size:15px;line-height:1.6;color:var(--content)}
.term-card .term-meta{margin:0;font-size:13px;color:var(--secondary)}
.term-card:target{border-color:var(--primary)}
@media(max-width:700px){
  .card-grid,.lab-list,.lab-layers{grid-template-columns:1fr}
  .track-card strong,.path-card strong,.lab-card strong{font-size:20px}
}
