:root{--ink:#173442;--muted:#536972;--accent:#166d78;--paper:#fff;--line:#d6e3e7;--wash:#f0f5f7;--focus:#ac4d05;--orange:#b55000;color-scheme:light}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:5rem}body{margin:0;background:var(--wash);color:var(--ink);font:16px/1.75 "Segoe UI",system-ui,sans-serif}a{color:var(--accent);text-underline-offset:.2em}a:hover{color:#094753}a:focus-visible,button:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid var(--focus);outline-offset:4px}button,input{font:inherit}button{background:white;color:var(--ink);border:1px solid #91aeb9;border-radius:7px;padding:.35rem .8rem;cursor:pointer}.skip{position:absolute;left:1rem;top:-6rem;z-index:30;background:white;padding:1rem}.skip:focus{top:1rem}
.topbar{position:sticky;top:0;z-index:20;background:#12323f;color:white;display:flex;align-items:center;gap:1rem;padding:.55rem clamp(1rem,3vw,3rem);min-height:3.5rem;box-shadow:0 2px 10px #12323f20}.topbar a{color:white}.brand{font-weight:750;text-decoration:none;letter-spacing:.1em}.topbar .manual-link{margin-left:auto;font-size:.86rem}.topbar button{background:#214b5c;color:white;border-color:#6f939f}.layout{display:grid;grid-template-columns:290px minmax(0,1100px);gap:2rem;max-width:1480px;margin:auto;padding:1.7rem 2rem 4rem}.sidebar{position:sticky;top:5rem;align-self:start;max-height:calc(100vh - 6rem);overflow:auto;padding:.2rem .7rem 1rem .1rem;scrollbar-width:thin}.sidebar h2{font-size:1rem;margin:.2rem 0}.search-label{display:block;font-size:.85rem;font-weight:650}.search{width:100%;padding:.65rem .7rem;border:1px solid #98b3bd;border-radius:8px;background:white;color:var(--ink)}.search-status{font-size:.78rem;color:var(--muted);min-height:1.4rem;margin:.2rem 0}.toc{padding-left:1.6rem;font-size:.85rem;line-height:1.5}.toc li{padding:.25rem 0 .3rem .15rem}.toc a{text-decoration:none;color:var(--ink)}.toc a:hover{color:var(--accent);text-decoration:underline}.toc .group-start{margin-top:1rem;border-top:1px solid var(--line);padding-top:.65rem}.sidebar-footer{font-size:.78rem;color:var(--muted)}
main{min-width:0}.cover{background:#123a48;color:white;border-radius:16px;padding:clamp(1.5rem,4vw,3.5rem);margin-bottom:1.7rem;position:relative;overflow:hidden}.eyebrow{font-size:.76rem;letter-spacing:.16em;text-transform:uppercase;color:#bbdee4;font-weight:700}.cover h1{font-size:clamp(2rem,4vw,3.7rem);line-height:1.12;letter-spacing:-.035em;margin:.7rem 0}.cover .subtitle{font-size:1.14rem;max-width:48rem;color:#e7f3f5}.cover .meta{font-size:.8rem;color:#c8e1e5}.cover a{color:#fff}.quicklinks{display:flex;flex-wrap:wrap;gap:.55rem;margin-top:1.4rem}.quicklinks a{border:1px solid #6c99a7;border-radius:7px;padding:.4rem .75rem;text-decoration:none;font-size:.9rem}.quicklinks a:hover{background:#285664}.scope-note{background:#e4f1ef;border-left:4px solid var(--accent);padding:1rem 1.3rem;border-radius:8px;margin-bottom:1.7rem}.chapter{background:var(--paper);padding:clamp(1.2rem,3vw,2.7rem);border:1px solid var(--line);border-radius:12px;margin-bottom:1.5rem;box-shadow:0 5px 20px #123a4805}.chapter>h2{font-size:clamp(1.5rem,2.2vw,2rem);line-height:1.25;margin:0 0 1.5rem;letter-spacing:-.02em}.chapter-number{display:block;color:var(--accent);font-size:.72rem;letter-spacing:.13em;text-transform:uppercase;margin-bottom:.6rem}.chapter h3{font-size:1.15rem;line-height:1.4;margin:1.9rem 0 .6rem}.chapter p{margin:.8rem 0 1.05rem}.chapter ul,.chapter ol{padding-left:1.45rem}.chapter li{margin:.45rem 0}.chapter dt{font-weight:700;margin-top:1rem}.chapter dd{margin:.2rem 0 1rem 1.1rem}.chapter aside{padding:1rem 1.3rem;border-left:4px solid var(--accent);border-radius:5px;margin:1.3rem 0;background:#edf6f5}.chapter .warning{border-color:#bb6a0c;background:#fff5e5}.chapter .check{border-color:#477b41;background:#f0f7ed}.equation{font:1.04rem/1.8 "Cambria Math",Cambria,serif;background:#f1f6f8;padding:1rem 1.4rem;border-radius:7px;overflow:auto}code{font-size:.87em;overflow-wrap:anywhere;background:#eef3f5;padding:.1em .3em;border-radius:3px}pre{white-space:pre-wrap}table{border-collapse:collapse;width:100%;font-size:.87rem;line-height:1.55;margin:1.3rem 0;overflow-wrap:anywhere}th,td{padding:.65rem .7rem;border-bottom:1px solid var(--line);vertical-align:top;text-align:left}thead th{background:#eaf2f4;font-weight:700}tbody tr:nth-child(even){background:#f7fafb}.field-table th{white-space:nowrap}.field-table td:last-child{white-space:nowrap}tr:target{outline:3px solid var(--focus);background:#fff1d6}.chapter details{border:1px solid var(--line);padding:.7rem 1rem;border-radius:7px;margin:.8rem 0}.chapter summary{cursor:pointer;font-weight:650}.chapter details[open]{background:#f7fbfc}.back-top{display:block;text-align:right;font-size:.8rem;margin-top:1.5rem}.page-footer{font-size:.8rem;color:var(--muted);padding:1rem}
figure{margin:2rem 0;border:1px solid #bed1d8;border-radius:10px;overflow:hidden;background:#f6fafb}.figure-heading{font-weight:700;font-size:1rem;padding:.7rem 1rem;background:#e9f1f4}.annotated-image{position:relative;line-height:0;background:#fff}.annotated-image img{width:100%;height:auto;display:block}.callout{position:absolute;border:3px solid #d46100;border-radius:4px;box-shadow:0 0 0 1px white,inset 0 0 0 1px white;pointer-events:none}.callout b{position:absolute;left:-.45rem;top:-.5rem;background:#a74400;border:2px solid white;border-radius:50%;color:#fff;width:1.6rem;height:1.6rem;display:flex;align-items:center;justify-content:center;font:bold .85rem/1 system-ui;box-shadow:0 1px 3px #0005}figcaption{padding:.7rem 1.2rem;font-size:.86rem}figcaption ol{margin:.1rem 0;list-style:none;counter-reset:mark;padding:0!important}figcaption ol li{counter-increment:mark;position:relative;padding-left:2rem}figcaption ol li:before{content:counter(mark);position:absolute;left:0;background:#a74400;color:white;width:1.35rem;height:1.35rem;border-radius:50%;font-size:.8rem;line-height:1.35rem;text-align:center}.figure-source{font-size:.74rem;color:var(--muted)}.concept svg{width:100%;height:auto;display:block;background:#fff}.dependency-diagram{padding:1.5rem;border-radius:10px;background:#edf4f6;margin:1.8rem 0}.parent-node{max-width:23rem;margin:0 auto 1.4rem;text-align:center;background:#174a59;color:white;font-weight:750;border-radius:8px;padding:.75rem;border-bottom:5px solid #db9c41}.dependency-diagram small{display:block;font-weight:400;font-size:.8rem}.child-nodes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.7rem}.child-nodes>div{background:#fff;border:1px solid #94b4bf;border-top:4px solid #1e7180;border-radius:6px;text-align:center;padding:.6rem;font-size:.88rem;font-weight:650}.dependency-diagram p{font-size:.85rem;margin-bottom:0}.no-results{padding:2rem;background:white;border-radius:12px}video{max-width:100%}[hidden]{display:none!important}
@media(max-width:1000px){.layout{grid-template-columns:230px minmax(0,1fr);gap:1rem;padding:1rem}.chapter{padding:1.4rem}.callout{border-width:2px}.callout b{width:1.2rem;height:1.2rem;font-size:.7rem}}
@media(max-width:760px){html{scroll-padding-top:4.5rem}.layout{display:block;padding:.75rem}.sidebar{position:static;max-height:none;padding:.35rem;margin-bottom:1rem}.sidebar .toc{max-height:16rem;overflow:auto}.sidebar-footer{display:none}.cover{padding:1.5rem}.topbar{gap:.6rem;padding:.6rem .75rem}.topbar .manual-link{font-size:.75rem}.topbar button{font-size:.8rem}.brand{font-size:.85rem}.chapter{padding:1rem}.child-nodes{grid-template-columns:repeat(2,minmax(0,1fr))}.field-table{font-size:.76rem}th,td{padding:.4rem .3rem}.callout b{width:1rem;height:1rem;font-size:.65rem;left:-.25rem;top:-.3rem}.callout{border-width:2px}.figure-source{overflow-wrap:anywhere}.equation{font-size:.9rem}.chapter dd{margin-left:.5rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
@media print{@page{size:A4;margin:17mm}html{scroll-behavior:auto}body{background:#fff;font-size:10pt;line-height:1.5;-webkit-print-color-adjust:exact;print-color-adjust:exact}.topbar,.sidebar,.skip,.back-top,.quicklinks,.no-results{display:none!important}.layout{display:block;padding:0;max-width:none}.cover{color:#173442;background:white;padding:1cm 0;border-bottom:3px solid var(--accent);border-radius:0}.cover .eyebrow,.cover .meta,.cover .subtitle{color:#405d65}.cover a{color:inherit}.chapter{display:block!important;border:0;padding:0;margin:1cm 0;box-shadow:none;break-before:page}.chapter>h2{font-size:19pt}.chapter h3{break-after:avoid}.chapter p,.chapter li{orphans:3;widows:3}.chapter details{break-inside:avoid}.chapter details>*{display:block!important}tr{display:table-row!important}figure,.dependency-diagram{break-inside:avoid}thead{display:table-header-group}tr{break-inside:avoid}.scope-note{padding:.6cm}a{color:inherit;text-decoration:none}.page-footer{font-size:8pt}}

.table-wrap{max-width:100%;overflow:auto}.diagram-flow{display:flex;flex-wrap:wrap;gap:.7rem;align-items:stretch}.diagram-flow>div{flex:1 1 150px;background:#edf6f5;border:1px solid #b7d5d7;border-radius:8px;padding:1rem}.diagram-flow strong{display:block}.package-map td:first-child{font-weight:700}.original-image{width:100%;height:auto}.callout-list{list-style:none;padding:0!important}.callout-list b{color:#a64b00}@media print{.table-wrap{overflow:visible}.diagram-flow{break-inside:avoid}}
