:root {
  --paper:#f6f7f9;
  --card:#fff;
  --ink:#171a24;
  --muted:#626979;
  --line:#e4e7ec;
  --nav:#fff;
  --blue:#3157d5;
  --blue2:#eef3ff;
  --green:#177c67;
  --green2:#edf8f5;
  --orange:#d65f3d;
  --orange2:#fff3ee;
  --violet:#7453bd;
  --content:1000px;
  --reading:760px;
}

html{background:var(--paper)}
body{min-width:320px;overflow-x:hidden;background:var(--paper);color:var(--ink);font-size:16px;line-height:1.78;letter-spacing:-.005em}
a{color:#2f55c7;text-underline-offset:3px}
code{padding:.12rem .35rem;border-radius:5px;background:#f0f2f5;color:#344262;font-weight:550}
.wrap{max-width:var(--content);padding:0 28px 100px}

.sitebar{position:sticky;top:0;z-index:100;color:var(--ink);background:rgba(255,255,255,.94);border-bottom:1px solid #e8eaee;box-shadow:0 1px 4px rgba(20,25,38,.025);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}
.sitebar .inner{max-width:var(--content);min-height:58px;padding:9px 28px;gap:24px}
.sitebar .brand{color:#191d29;font-size:.93rem;letter-spacing:-.02em}
.sitebar nav{gap:2px}
.sitebar nav a{padding:7px 10px;color:#697080;font-size:.78rem;font-weight:650}
.sitebar nav a:hover{color:#1e2740;background:#f3f4f6}
.sitebar nav a.current{color:#2447b1;background:#edf2ff}

.hero{max-width:900px;margin:0;padding:62px 0 42px;border-bottom:1px solid #dfe3e9;background:transparent}
.hero::after{display:none}
.hero h1{max-width:820px;margin:.6rem 0 1.15rem;color:#151925;font-size:clamp(2.05rem,3.8vw,3.25rem);font-weight:780;line-height:1.14;letter-spacing:-.05em;overflow-wrap:anywhere}
.hero .lead{max-width:760px;color:#596172;font-size:1.03rem;line-height:1.75;overflow-wrap:anywhere}
.eyebrow{color:#3c5bc5;font-size:.7rem;letter-spacing:.17em}
.chips{margin-top:22px;gap:7px}
.chip{padding:4px 9px;border-color:#dfe3e9;background:#fff;color:#606777;font-size:.72rem}

.chapter{min-width:0;margin:28px 0;padding:32px 36px;overflow:hidden;border:1px solid #e2e5ea;border-radius:14px;background:#fff;box-shadow:0 4px 16px rgba(25,31,45,.035)}
.chapter h2{margin-bottom:16px;color:#191e2b;font-size:1.55rem;line-height:1.32;letter-spacing:-.035em;overflow-wrap:anywhere}
.chapter h3{color:#242a39}
.chapter>p,.chapter>details,.chapter>ul,.chapter>ol{max-width:var(--reading)}
.answer{border-left:4px solid #3157d5;background:#fbfcff}

.flow,.metrics,.stage{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:20px 0}
.flow>div,.metric,.panel{min-width:0;padding:16px;border:1px solid #e2e6eb;border-radius:10px;background:#fafbfc}
.flow small,.metric small,.panel small{display:block;margin-bottom:6px;color:#858c9a;font-size:.65rem;font-weight:750;letter-spacing:.1em;text-transform:uppercase}
.flow b,.metric b,.panel b{display:block;color:#222838;overflow-wrap:anywhere}
.flow p,.metric p,.panel p{margin:7px 0 0;color:#737b8b;font-size:.78rem;line-height:1.5}
.metric b{font-size:clamp(1.05rem,2vw,1.45rem);letter-spacing:-.03em}

table{overflow:hidden;border:1px solid #e1e4e9;border-radius:10px;border-collapse:separate;border-spacing:0;background:#fff;font-size:.84rem}
th{background:#f5f6f8;color:#444c5c;font-size:.76rem}
th,td{padding:11px 13px;border-color:#e8eaee}

.finding{max-width:var(--reading);margin:17px 0;padding:14px 16px;border:1px solid #cde7df;border-left:4px solid var(--green);border-radius:9px;background:#f1faf7;font-size:.9rem}
.finding.orange{border-color:#f0d4ca;border-left-color:var(--orange);background:#fff6f2}
.finding.violet{border-color:#ddd3ee;border-left-color:var(--violet);background:#f8f5fc}
.formula{max-width:100%;margin:16px 0;padding:18px 20px;overflow-x:auto;border-radius:8px;background:#202632;color:#e7eaf0;font:500 .84rem/1.8 "SFMono-Regular",Menlo,Consolas,monospace;white-space:pre;-webkit-overflow-scrolling:touch}
.status-ok{color:#14745f}

.explain{margin:12px 0;border:1px solid #e0e4ea;border-radius:10px;background:#fff;box-shadow:none}
.explain summary{padding:14px 16px;color:#2d4eae;font-size:.92rem}
.explain summary::before{width:19px;height:19px;margin-right:8px;background:#e9efff;color:#3157c8;font-size:.8rem}
.explain .body{padding:2px 18px 16px;border-top-color:#e8eaf0;color:#4f5767;font-size:.92rem;line-height:1.8}

pre.code{position:relative;max-width:100%;margin:18px 0;padding:48px 0 16px!important;overflow:auto;border:1px solid #303030!important;border-radius:8px!important;background:linear-gradient(to bottom,#252526 0,#252526 38px,#1e1e1e 38px,#1e1e1e 100%)!important;color:#d4d4d4!important;box-shadow:0 8px 24px rgba(18,21,29,.16);font:500 13px/1.65 "SFMono-Regular",Menlo,Monaco,Consolas,"Liberation Mono",monospace!important;white-space:normal!important;tab-size:2}
pre.code::before{content:attr(data-file);position:absolute;top:0;left:0;height:38px;display:flex;align-items:center;padding:0 17px;border-top:2px solid #007acc;border-right:1px solid #333;background:#1e1e1e;color:#fff;font:500 12px/36px -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
pre.code code{display:block;min-width:max-content;padding:0;background:transparent;color:inherit;font:inherit}
.code-line{display:grid;grid-template-columns:52px minmax(max-content,1fr);min-height:1.65em}.code-line:hover{background:#2a2d2e}.editor-line-number{padding-right:15px;color:#858585;text-align:right;user-select:none}.editor-line-content{padding-right:24px;white-space:pre}.tok-comment{color:#6a9955}.tok-string{color:#ce9178}.tok-keyword{color:#c586c0;font-weight:650}.tok-property,.tok-variable{color:#9cdcfe}.tok-number{color:#b5cea8}

.study-term{font-weight:650;text-decoration-thickness:1px;text-decoration-color:#8993ad;text-decoration-style:dotted}
.pager{margin-top:32px}.pager a{padding:15px 17px;border:1px solid #dfe3e9;background:#fff;color:#252d3e;box-shadow:none}.pager a:hover{border-color:#bfc8dd;background:#fafbff}.pager small{color:#7b8496}

.annotation-toolbar{color:#293247!important;background:rgba(255,255,255,.96)!important;border-color:#dce0e8!important;box-shadow:0 10px 30px rgba(29,35,53,.14)!important}
.annotation-toolbar button,.annotation-toolbar label{color:#354057!important;background:#f0f2f6!important}.annotation-toolbar button:hover,.annotation-toolbar button:focus{color:#2948ab!important;background:#e8edfb!important;outline-color:#7182d7!important}.annotation-toolbar button.active{color:#fff!important;background:#3157d5!important}.annotation-toolbar button:disabled{color:#999fac!important}.annotation-size input{accent-color:#3157d5}
.annotation-toolbar.is-collapsed{left:auto!important;right:max(14px,env(safe-area-inset-right))!important;width:auto!important;max-width:calc(100vw - 28px)!important;padding:6px!important;overflow:visible!important;border-radius:10px!important}.annotation-toolbar.is-collapsed>:not(.annotation-expand){display:none!important}.annotation-expand{white-space:nowrap}
.glossary-guide-floating{border-color:#dfe3e9;background:rgba(255,255,255,.97);color:#5a6272}.glossary-guide-floating strong{color:#304eaa}
footer{padding-bottom:95px;color:#8a909d}

@media(max-width:900px){.wrap{padding-inline:20px}.sitebar .inner{padding-inline:20px}.hero{padding-top:44px}.flow,.metrics,.stage{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:600px){body{font-size:15px}.wrap{padding-inline:12px}.sitebar .inner{padding-inline:12px}.hero{width:100%;max-width:100%;padding:34px 4px 30px}.hero h1{max-width:100%;font-size:clamp(1.75rem,8vw,2.15rem);line-height:1.18;letter-spacing:-.045em;word-break:break-word}.hero .lead{font-size:.96rem}.flow,.metrics,.stage{grid-template-columns:minmax(0,1fr)!important}.chapter{width:100%;max-width:100%;padding:23px 17px;border-radius:11px}.chapter h2{font-size:1.3rem;word-break:break-word}.chapter p,.chapter li{overflow-wrap:anywhere;word-break:break-word}.flow>div,.metric,.panel{padding:14px}pre.code{margin-inline:-5px;padding:48px 0 14px!important;font-size:11px!important}.code-line{grid-template-columns:42px minmax(max-content,1fr)}.editor-line-number{padding-right:11px}.annotation-toolbar.is-collapsed{right:max(8px,env(safe-area-inset-right))!important;bottom:8px!important;max-width:calc(100vw - 16px)!important}.glossary-guide-floating{display:none!important}}
