:root{--ink:#172a25;--muted:#52665f;--paper:#fbfcf9;--surface:#fff;--line:#d7e1db;--green:#087b63;--soft:#eaf3ee;--warm:#faf0de;--nav:260px;color-scheme:light}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:32px}body{margin:0;background:var(--paper);color:var(--ink);font:17px/1.72 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}a{color:var(--green);text-underline-offset:3px}a:hover{text-decoration-thickness:2px}button,input{font:inherit}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid #cc6c23;outline-offset:4px}button{color:inherit}img,svg{max-width:100%;height:auto}table{width:100%;border-collapse:collapse;font-size:15px;margin:24px 0}th,td{padding:13px 15px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top;overflow-wrap:anywhere}th{background:var(--soft);font-weight:650}code,kbd{font:0.88em ui-monospace,SFMono-Regular,Consolas,monospace;background:#edf1ec;padding:2px 5px;border-radius:3px;overflow-wrap:anywhere}kbd{border:1px solid var(--line);box-shadow:0 1px 0 #b8c5bd}p,ul,ol{margin:14px 0 22px}li{margin:8px 0}li::marker{color:var(--green);font-weight:700}h1,h2,h3,h4{line-height:1.2;letter-spacing:-.025em;color:#102d24;text-wrap:balance}h1{font:500 clamp(44px,5vw,78px)/1.02 Georgia,"Times New Roman",serif;letter-spacing:-.045em;margin:18px 0 24px}h2{font-size:34px;margin:0 0 24px}h3{font-size:23px;margin:38px 0 15px}h4{font-size:19px;margin:28px 0 12px}.skip{position:fixed;z-index:50;left:12px;top:-100px;background:white;padding:12px}.skip:focus{top:12px}.rail{position:fixed;inset:0 auto 0 0;width:var(--nav);padding:30px 22px 18px;border-right:1px solid var(--line);background:var(--surface);display:flex;flex-direction:column;z-index:20}.brand img{width:152px;display:block;margin:0 0 8px}.edition{font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin:5px 0 24px}.rail nav{overflow:auto;flex:1;padding:12px 0}.rail nav a{display:block;padding:7px 10px;margin:2px 0;color:var(--muted);text-decoration:none;font-size:13px;border-left:2px solid transparent}.rail nav a.active{color:var(--green);border-color:var(--green);background:var(--soft);font-weight:700}.rail nav small{display:block;font-size:10px;letter-spacing:.12em;color:var(--muted);text-transform:uppercase;padding:18px 10px 6px}.rail-footer{font-size:12px;line-height:1.7;padding-top:16px;border-top:1px solid var(--line)}.rail-footer button{background:none;border:0;color:var(--green);padding:4px 0;font-size:12px;text-decoration:underline}.search-label{font-size:12px;font-weight:650;display:block;margin-bottom:5px}.search-input{width:100%;padding:10px;border:1px solid var(--line);background:var(--paper);font-size:13px;border-radius:3px}.search-results{max-height:280px;overflow:auto;padding:0;list-style:none;font-size:13px;margin:8px 0}.search-results a{display:block;padding:7px;border-bottom:1px solid var(--line)}.search-status{font-size:11px;margin:3px 0;color:var(--muted)}.mobile-head{display:none}.page{margin-left:var(--nav);padding:0 64px 90px;max-width:1560px}.hero{padding:60px 0 48px;max-width:1080px}.eyebrow,.chapter-label{color:var(--green);font-size:11px;letter-spacing:.15em;font-weight:750;text-transform:uppercase}.hero-lead{font-size:21px;color:var(--muted);max-width:620px;line-height:1.6}.hero-meta{display:flex;flex-wrap:wrap;gap:10px 22px;font-size:12px;color:var(--muted);margin:25px 0}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin:30px 0 36px}.button-link{display:inline-block;background:var(--green);border:1px solid var(--green);padding:11px 19px;color:white;font-size:14px;font-weight:650;text-decoration:none;border-radius:3px}.button-link.secondary{color:var(--green);background:transparent}.hero-figure{padding:16px;background:var(--soft);border:1px solid var(--line);margin:30px 0 0}.hero-figure img{display:block;width:100%;border:1px solid var(--line)}.hero-figure figcaption{padding:14px 3px 0;font-size:13px;color:var(--muted)}.chapter{max-width:950px;padding:54px 0 30px;border-top:1px solid var(--line);scroll-margin-top:25px}.chapter>p,.chapter>ol,.chapter>ul,.chapter>h3,.chapter>h4{max-width:76ch}.chapter-label{display:block;margin-bottom:13px}.chapter figure{margin:30px 0 34px;border:1px solid var(--line);padding:10px;background:var(--surface);border-radius:5px}.chapter figure img{display:block;margin:auto;max-height:620px;object-fit:contain;width:auto;background:#f0f2f0}.chapter figcaption{font-size:13px;color:var(--muted);padding:13px 12px 5px;line-height:1.6}.figure-button{display:block;padding:0;border:0;background:none;width:100%;cursor:zoom-in}.zoom-hint{float:right;color:var(--green);font-size:11px;padding-left:12px}.callout,.warning{padding:19px 23px;margin:24px 0;border-left:3px solid var(--green);background:var(--soft);font-size:16px}.warning{background:var(--warm);border-color:#bc6d24}.callout p:first-child,.warning p:first-child{margin-top:0}.callout p:last-child,.warning p:last-child{margin-bottom:0}.path{color:var(--green);font-size:13px;font-weight:700;letter-spacing:.015em}.route-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:28px 0}.route-card{display:block;padding:22px;background:white;border:1px solid var(--line);border-radius:3px;text-decoration:none}.route-card small{display:block;text-transform:uppercase;font-size:10px;letter-spacing:.1em;margin-bottom:12px}.route-card strong{display:block;color:var(--ink);font-size:18px;line-height:1.3}.route-card span{display:block;font-size:13px;line-height:1.5;color:var(--muted);margin-top:9px}.diagram{width:100%;background:white;border:1px solid var(--line);padding:20px;margin:25px 0}.layer-demo{border:1px solid var(--line);background:var(--surface);padding:26px;margin:24px 0}.layer-demo .controls{display:flex;gap:8px;flex-wrap:wrap}.layer-demo button{border:1px solid var(--green);padding:7px 14px;background:white;border-radius:3px;font-size:13px}.layer-demo button[aria-pressed=true]{background:var(--green);color:white}.demo-keys{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:25px 0 15px}.demo-key{background:var(--soft);border:1px solid var(--line);padding:22px 12px;text-align:center;font-size:26px;font-weight:700}.demo-key small{display:block;font-size:11px;font-weight:400;margin-top:8px;color:var(--muted)}.demo-status{font-size:14px;color:var(--muted);min-height:3.4em}.review-note{font-size:13px;color:var(--muted);border-top:1px solid var(--line);padding-top:22px;margin-top:34px}.manual-footer{font-size:13px;border-top:1px solid var(--line);padding:28px 0;color:var(--muted)}dialog{max-width:95vw;max-height:94vh;width:1400px;border:1px solid var(--line);padding:16px;background:var(--surface);color:var(--ink);border-radius:5px}dialog::backdrop{background:rgba(12,28,22,.82)}dialog .lightbox-top{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:10px}dialog button{padding:7px 14px;background:var(--soft);border:1px solid var(--line)}dialog img{display:block;margin:auto;max-height:78vh;width:auto;max-width:100%;object-fit:contain}details{border:1px solid var(--line);padding:15px 19px;margin:12px 0;background:white}summary{cursor:pointer;font-weight:650}.table-wrap{overflow-x:auto;max-width:100%}.table-wrap table{min-width:530px}.manual-source{font-size:12px;color:var(--muted)}
@media(min-width:1600px){.page{padding-left:90px;padding-right:90px}}
@media(max-width:1100px){:root{--nav:226px}.page{padding:0 34px 65px}.rail{padding:25px 16px}.route-cards{grid-template-columns:1fr}.route-card{padding:16px}h2{font-size:29px}}
@media(max-width:760px){.mobile-head{display:flex;position:sticky;top:0;z-index:25;align-items:center;justify-content:space-between;padding:12px 18px;background:var(--surface);border-bottom:1px solid var(--line)}.mobile-head img{width:104px}.mobile-head button{border:1px solid var(--line);background:var(--soft);padding:5px 12px;font-size:13px}.rail{display:none;top:55px;width:100%;bottom:0;padding:20px 25px}.rail.open{display:flex}.rail .brand,.rail .edition{display:none}.rail nav a{font-size:15px;padding:9px}.page{margin-left:0;padding:0 21px 50px}.hero{padding:35px 0}.hero-lead{font-size:18px}h1{font-size:51px}body{font-size:16px}.chapter{padding-top:38px}.chapter figure{padding:5px}.chapter figcaption{padding:10px 7px}.hero-figure{padding:6px}.hero-figure figcaption{font-size:12px}.callout,.warning{padding:15px 17px}.demo-keys{gap:5px}.demo-key{font-size:21px;padding:18px 4px}.zoom-hint{float:none;display:block;padding:0}.table-wrap table{min-width:480px}html{scroll-padding-top:80px}dialog{padding:10px}.chapter-label{font-size:10px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
@media print{body{background:white;font:10pt/1.55 sans-serif;color:black}.rail,.mobile-head,.skip,.hero-actions,.route-cards,.zoom-hint,.layer-demo .controls,dialog{display:none!important}.page{margin:0;padding:0;max-width:none}.hero{padding:0 0 20px}h1{font-size:40pt}h2{font-size:23pt;break-after:avoid}h3{font-size:15pt;break-after:avoid}.chapter{padding:25px 0;max-width:none}.chapter figure{break-inside:avoid;max-width:100%}.chapter figure img{max-height:170mm}.hero-figure img{max-height:105mm;object-fit:contain}.callout,.warning,table,details,.diagram,.layer-demo{break-inside:avoid}a{color:inherit}.table-wrap{overflow:visible}.table-wrap table{min-width:0;font-size:9pt}th,td{padding:6px}.manual-footer{font-size:9pt}@page{size:A4;margin:16mm}}

.lightbox-top a{font-size:13px;white-space:nowrap}.lightbox-top p{flex:1;font-size:13px;margin:0}.state-model{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:25px 0}.state-model article{padding:20px;background:white;border:1px solid var(--line);border-top:3px solid var(--green)}.state-model strong{display:block;font-size:18px}.state-model p{font-size:14px;margin:10px 0 0}.state-model small{display:block;color:var(--green);font-size:11px;text-transform:uppercase;letter-spacing:.08em;margin-bottom:9px}.overlay-illustration{background:#e8eee9!important;padding:30px 20px!important}.overlay-illustration .desk-copy{font:28px/1.3 Georgia,serif;color:#556a61;margin:0 0 25px;max-width:450px}.overlay-illustration figcaption{background:#fff}.overlay-illustration img{background:transparent!important}@media(max-width:760px){.state-model{grid-template-columns:1fr}.lightbox-top{flex-wrap:wrap}.lightbox-top p{flex-basis:100%}.overlay-illustration{padding:15px!important}}

.fallthrough-examples{display:grid;grid-template-columns:1fr 1fr;gap:20px}.fallthrough-examples article{background:white;border:1px solid var(--line);padding:20px}.fallthrough-examples h4{font-size:19px;margin:0}.layer-stack>div{display:flex;flex-direction:column;padding:14px;border:1px solid var(--line);gap:6px}.layer-stack>div:first-child{background:var(--soft);border:2px solid var(--green)}.layer-stack small{font-size:12px}.layer-stack strong{font-size:23px}.layer-stack span{font-size:13px}.blocked-base{opacity:.5}.typed-result{font-size:17px}@media(max-width:760px){.fallthrough-examples{grid-template-columns:1fr}}
