:root{color-scheme:light;--brand:#195b7b;--ink:#183647;--muted:#526c7b;--line:#d6e3e9;--paper:#fff;--wash:#f3f7f9;font-family:system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--ink);background:var(--paper)}
*{box-sizing:border-box}body{margin:0;font-size:16px;line-height:1.75}a{color:var(--brand);text-underline-offset:3px}a:hover{text-decoration-thickness:2px}button,a,summary{-webkit-tap-highlight-color:transparent}:focus-visible{outline:3px solid #d99132;outline-offset:4px;border-radius:3px}
.skip-link{position:absolute;left:16px;top:-60px;padding:8px 12px;background:#fff;z-index:10}.skip-link:focus{top:8px}.site-header{max-width:1100px;margin:auto;padding:19px 24px;display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid var(--line)}.brand{font-size:16px;font-weight:750;text-decoration:none}.brand span{color:var(--muted);font-size:13px;font-weight:400;margin-left:8px}.site-header nav{display:flex;gap:24px;font-size:14px}.site-header nav a{text-decoration:none}.site-header nav a[aria-current]{font-weight:750;border-bottom:2px solid var(--brand)}
main{max-width:1030px;padding:36px 24px 20px;margin:auto}main.home,main.index,main.path,main.reference{max-width:830px}h1{font-size:clamp(28px,3vw,36px);line-height:1.2;letter-spacing:-.035em;margin:0 0 20px}h2{font-size:21px;line-height:1.4;letter-spacing:-.02em;margin:30px 0 10px}p{margin:0 0 16px}ul,ol{padding-left:24px;margin:12px 0 20px}li+li{margin-top:6px}.lead{font-size:18px;line-height:1.7;max-width:790px}.eyebrow{font-size:13px;color:var(--muted);margin:0 0 10px}.opening{font-size:19px;color:var(--brand);margin:0 0 12px}.author-text{max-width:665px}.signature{font-weight:650;margin-top:22px}.primary-link{display:inline-block;font-weight:650;margin-top:4px}.home-next{margin-top:34px;border-top:1px solid var(--line);padding-top:4px}.small-note,.small-link{font-size:13px;color:var(--muted);line-height:1.6}.small-link{color:var(--brand)}code{font-family:Consolas,"Courier New",monospace;font-size:.9em;background:#eef4f7;padding:1px 4px;border-radius:3px}
.first-experiment{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,.95fr);gap:32px;align-items:start;margin:24px 0 34px}.first-experiment h2{margin-top:0}.model-figure{margin:0;min-width:0}.model-frame.mesh-surface{height:310px;margin:0;border-radius:8px}.model-figure figcaption{font-size:13px;line-height:1.6;color:var(--muted);margin-top:10px}.model-figure .small-note{margin:8px 0}.model-status{font-size:12px;color:var(--muted);line-height:1.5;margin:4px 0}.model-frame:focus-within{outline:3px solid #d99132;outline-offset:3px}
pre{position:relative;background:#182631;color:#e5edf6;border-radius:7px;margin:14px 0 0;padding:18px;overflow:auto;font:14px/1.7 Consolas,"Courier New",monospace;tab-size:4}pre code{font:inherit;background:none;padding:0;white-space:pre}.code-tools{display:flex;align-items:center;gap:15px;margin:8px 0 6px;font-size:13px;flex-wrap:wrap}.code-tools button{border:1px solid #b8cdd8;border-radius:4px;background:#fff;padding:4px 10px;color:var(--brand);font:600 13px system-ui;cursor:pointer}.copy-status{font-size:12px;color:var(--muted);min-height:18px;margin-bottom:8px}.py-keyword{color:#dba0ff}.py-number{color:#f3ac82}.py-comment{color:#84c58b}.py-string{color:#f5bb8a}.py-name{color:#7cd5ff}
.discoveries{border-top:1px solid var(--line)}.discoveries>details{border-bottom:1px solid var(--line)}.discoveries>details>summary{cursor:pointer;font-weight:650;padding:16px 0;list-style:none;display:flex;align-items:center;gap:12px}.discoveries>details>summary:after{content:'+';font-size:20px;font-weight:400;margin-left:auto;color:var(--brand)}.discoveries>details[open]>summary:after{content:'−'}.discoveries>details>summary::-webkit-details-marker{display:none}.discoveries>details>summary>span{font-size:12px;border:1px solid var(--line);color:var(--muted);border-radius:4px;width:25px;text-align:center;flex-shrink:0}.discovery-content{padding:0 0 20px 37px;max-width:820px}math[display="block"]{font-size:1.18em;margin:20px 0;overflow-x:auto;overflow-y:hidden;padding:5px 0}math:not([display="block"]){font-size:1em}.related{margin:32px 0}.related h2{font-size:18px}
.path-navigation{border-top:1px solid var(--line);padding-top:20px;margin-top:36px}.path-intro{display:flex;align-items:start;gap:12px}.path-badge{display:inline-grid;place-items:center;flex:0 0 27px;width:27px;height:27px;line-height:1;background:var(--path-color,var(--brand));color:white;font-weight:700;font-size:13px;border-radius:4px}.path-intro p{font-size:13px;color:var(--muted);margin:3px 0 12px}.path-intro>small{white-space:nowrap;margin-left:auto;color:var(--muted);font-size:12px}.path-steps{display:flex;gap:20px;justify-content:space-between;margin:6px 0 0 39px;font-size:14px}.path-steps a{max-width:48%}.path-steps small{display:block;color:var(--muted);font-size:11px}.path-steps>a:last-child{text-align:right}.path-steps>span{color:var(--muted);font-size:12px}.path-list{list-style:none;padding:0;margin:22px 0}.path-list li{display:flex;gap:12px;align-items:start}.path-list a{font-weight:650}.path-list p{font-size:14px;color:var(--muted);margin-top:4px}.track-overview li{padding:7px 0}.knowledge-list{list-style:none;padding:0;margin:26px 0}.knowledge-list li{border-block:1px solid var(--line);padding:20px 0}.knowledge-list h2{margin:2px 0 7px}.knowledge-list p{margin-bottom:6px}.knowledge-list small,.topics{font-size:12px;color:var(--muted)}.site-footer{max-width:1030px;margin:30px auto 0;padding:20px 24px;border-top:1px solid var(--line);color:var(--muted);font-size:12px;display:flex;gap:20px;justify-content:space-between}noscript{display:block;padding:14px 24px;font-size:13px}
@media(max-width:760px){.site-header{padding:14px 18px;flex-wrap:wrap;gap:10px}.site-header nav{gap:20px}.brand span{margin-left:5px}main{padding:28px 18px 12px}.first-experiment{grid-template-columns:minmax(0,1fr);gap:20px}.model-frame.mesh-surface{height:285px}.model-figure{max-width:480px;width:100%;margin:auto}.discovery-content{padding-left:0}.path-intro{flex-wrap:wrap}.path-intro>div{flex:1;min-width:200px}.path-intro>small{margin-left:39px}.path-steps{margin-left:0}.site-footer{padding:18px;flex-direction:column;gap:8px}h1{font-size:30px}pre{padding:14px;font-size:13px}.opening{font-size:17px}math[display="block"]{font-size:1.08em}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto}}

/* Compact API index; reuses existing typography and brand colors. */
.function-list{list-style:none;padding:0;margin:12px 0 24px}.function-list li{padding:16px 0;border-bottom:1px solid var(--line);overflow-wrap:anywhere}.function-list code{white-space:normal}.function-list .function-name{font-size:17px;line-height:1.4;margin:0 0 6px}.function-description{font-size:14px;line-height:1.65;margin:8px 0 4px;max-width:75ch}.function-status{font-size:13px;color:var(--muted);margin:4px 0 0}.function-catalog h3{font-size:17px;margin:22px 0 8px}

.article-status{font-size:13px;margin:4px 0 0}
.function-list [data-function]{padding:12px 0}.function-list [data-function] .function-description{margin:4px 0 6px}
.function-math{margin:4px 0 0;font-size:13px;line-height:1.55}.function-math>summary{cursor:pointer;color:var(--brand);min-height:28px;padding:3px 0;box-sizing:border-box}.function-math>p{margin:4px 0 8px;padding-left:10px;border-left:2px solid var(--line);max-width:75ch}
.function-math math[display="block"]{font-size:15px;max-width:100%;box-sizing:border-box;margin:8px 0;padding:4px 0;overflow-x:auto;overflow-y:hidden}
.function-tag{display:inline-block;vertical-align:middle;font-size:11px;font-weight:600;line-height:1.5;padding:1px 6px;border-radius:3px;margin-left:4px;white-space:nowrap}.function-tag-calculation{background:#195B7B;color:#FFFFFF}.function-tag-visualization{background:#0DBBE7;color:#04212F}
.catalog-toc{border-block:1px solid var(--line);padding:12px 0;margin:20px 0 24px}.catalog-toc h2{font-size:18px;margin:0 0 10px}.catalog-toc-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 20px}.catalog-toc h3{font-size:13px;line-height:1.4;margin:0 0 5px}.catalog-toc ul{display:flex;flex-wrap:wrap;gap:6px;list-style:none;margin:0;padding:0}.catalog-toc li,.catalog-toc li+li{margin:0}.catalog-toc a{display:block;border:1px solid var(--line);border-radius:4px;padding:4px 8px;font-size:13px;line-height:1.5;text-decoration:none}.catalog-toc a:hover{text-decoration:underline}.function-catalog [id^="catalog-"]{scroll-margin-top:96px}
@media(max-width:600px){.catalog-toc-groups{grid-template-columns:minmax(0,1fr);gap:10px}}
.catalog-search{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 20px}.catalog-search[hidden]{display:none}.search-label{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.catalog-search input{min-width:0;flex:1 1 210px;max-width:340px;font:inherit;font-size:14px;color:var(--ink);background:var(--paper);border:1px solid var(--line);border-radius:4px;padding:6px 9px}.catalog-search button{font:inherit;font-size:12px;color:var(--brand);background:var(--paper);border:1px solid var(--line);border-radius:4px;padding:5px 8px;cursor:pointer}.catalog-search button:disabled{opacity:.55;cursor:default}.search-count{font-size:12px;color:var(--muted)}.catalog-chapter{margin:24px 0}.catalog-chapter>summary{cursor:pointer;color:var(--brand)}.catalog-chapter>summary h2{display:inline;margin:0;color:var(--ink)}.catalog-chapter-content>h3:first-child{margin-top:14px}.catalog-chapter[hidden],[data-function][hidden]{display:none}
.visualization-note{font-size:13px;line-height:1.6;color:var(--muted);margin:8px 0 16px;max-width:75ch}.visualization-note p{margin:0 0 3px}.visualization-note strong{font-weight:650;color:var(--ink)}
.lesson-parameters{margin:10px 0}.lesson-parameters dt{margin-top:8px;font-weight:600}.lesson-parameters dd{margin:2px 0 8px 16px}.lesson-result{margin:6px 0 18px;font-size:13px}
/* Home and one screenshot-based guide, using the existing brand palette. */
main.home{max-width:1100px}.welcome-layout{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:0 32px;max-width:none}.author-intro{grid-column:1;grid-row:1}.author-rest{grid-column:1;grid-row:2}.welcome-layout>.primary-link{grid-column:1;grid-row:3}.home-ide{grid-column:2;grid-row:1/span 3;align-self:start;min-width:0;margin:0}.ide-shot{display:block;border:1px solid var(--brand);border-radius:6px;overflow:hidden;line-height:0}.ide-shot img{display:block;width:100%;height:auto}.image-credit{display:flex;justify-content:space-between;align-items:baseline;gap:12px;font-size:12px;line-height:1.5;margin-top:6px;color:var(--muted)}.image-signature{font-weight:750;letter-spacing:.04em;color:var(--brand);flex-shrink:0}.home-help-links{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:16px}.guide-link{font-weight:650}.ide-unavailable,.code-tools button.ide-unavailable{font:500 12px system-ui,sans-serif;border:1px solid var(--line);border-radius:4px;padding:6px 9px;color:var(--muted);background:var(--paper);cursor:default;opacity:.8}
main.guide{max-width:1800px;padding-top:20px}.guide>.eyebrow{margin-bottom:6px}.guide>h1{font-size:32px;margin-bottom:12px}.guide-intro{font-size:14px;line-height:1.5;margin-bottom:14px}.guide-workspace{display:grid;grid-template-columns:minmax(0,3fr) minmax(260px,1fr);gap:24px;align-items:start}.guide-controls{display:none;font-size:13px;margin-top:14px}.guide-controls button{font:inherit;padding:5px 8px;background:var(--paper);color:var(--brand);border:1px solid var(--line);border-radius:4px;cursor:pointer}.ide-guide-figure{margin:0;min-width:0}.guide-scroller{overflow:auto;border:1px solid var(--brand);border-radius:6px;overscroll-behavior:contain}.guide-stage{position:relative;width:100%;line-height:0}.guide-stage img{display:block;width:100%;height:auto}.guide-stage.is-overview{min-width:0}.guide-hotspot{position:absolute;z-index:2;border:1px solid transparent;border-radius:3px;background:transparent;padding:0;cursor:help}.guide-hotspot[hidden]{display:none}.guide-hotspot span{position:absolute;top:0;left:0;display:grid;place-items:center;min-width:18px;height:18px;padding:0 3px;border-radius:3px;font:600 10px/1 system-ui,sans-serif;background:#195B7B;color:#FFFFFF;border:1px solid #FFFFFF;pointer-events:none}.guide-hotspot[data-topic="panels"]{z-index:3}.guide-hotspot.is-active,.guide-hotspot.is-preview{border-color:#0DBBE7;background:rgb(13 187 231 / .08);box-shadow:inset 0 0 0 1px #FFFFFF}.guide-hotspot:focus-visible{outline:3px solid #0DBBE7;outline-offset:2px;box-shadow:inset 0 0 0 2px #FFFFFF}.guide-hotspot.is-active span{background:#04212F}.guide-explanation{position:sticky;top:20px;border-left:3px solid var(--brand);padding-left:18px;margin:0;min-width:0}.guide-explanation h2{font-size:20px;line-height:1.4;margin:0 0 12px}.guide-explanation p{font-size:16px;margin:0 0 12px;line-height:1.65}.guide-explanation .guide-tip{font-size:14px;color:var(--muted)}.guide-text{font-size:14px;margin:18px 0}.guide-text>summary{cursor:pointer;color:var(--brand)}.guide-text dt{font-weight:650;margin-top:14px}.guide-text dd{margin:4px 0 12px}.guide-text p{margin:0 0 5px}.guide-text .guide-advice{color:var(--muted);font-size:13px}
@media(max-width:1000px){.guide-workspace{grid-template-columns:minmax(0,1fr);gap:14px}.guide-stage{min-width:1100px}.guide-scroller{max-height:clamp(200px,32svh,320px);min-height:200px}.guide-explanation{position:static;min-height:240px;padding-left:14px}.guide-controls{display:flex}.guide-stage.is-overview{min-width:0}}
.documentation-footer{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:12px 24px;line-height:1.65}.documentation-footer p{margin:0 0 4px}.documentation-footer .review-note{grid-column:1/-1;margin:0}.documentation-footer a{overflow-wrap:anywhere}
@media(max-width:760px){.welcome-layout{grid-template-columns:minmax(0,1fr)}.author-intro,.author-rest,.home-ide,.welcome-layout>.primary-link{grid-column:auto;grid-row:auto}.home-ide{margin:4px 0 20px}.home-help-links{margin-top:10px}.guide-stage{min-width:1920px}.guide-stage.is-overview{min-width:0}.documentation-footer{grid-template-columns:minmax(0,1fr);gap:10px}.documentation-footer .review-note{grid-column:auto}}
