
:root{--ink:#172231;--muted:#5e6b7a;--navy:#173f70;--navy2:#0e2d51;--blue:#2b669c;--line:#d7e0e9;--paper:#fff;--wash:#f4f7fa;--note:#edf5fb;--warn:#fff7e9;--ok:#edf7f1;--max:1180px}
*{box-sizing:border-box} html{scroll-behavior:smooth} body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.65 "Segoe UI",system-ui,-apple-system,BlinkMacSystemFont,Arial,sans-serif}
a{color:#195b96;text-decoration-thickness:1px;text-underline-offset:3px} a:hover{color:#0c3962}
.site-header{background:var(--navy2);color:#fff;border-bottom:4px solid #4b83b5}.header-inner{max-width:var(--max);margin:auto;padding:28px 28px 25px}.eyebrow{font-size:.74rem;letter-spacing:.17em;text-transform:uppercase;color:#b8d2e9;font-weight:700}.brand-row{display:flex;align-items:flex-end;justify-content:space-between;gap:24px}.brand{font-size:2rem;font-weight:680;letter-spacing:-.025em;margin:.12rem 0 0}.tagline{margin:.25rem 0 0;color:#d9e8f4;max-width:760px}.rev{font:12px/1.4 ui-monospace,SFMono-Regular,Consolas,monospace;color:#c7d9e8;text-align:right;white-space:nowrap}
.topnav{background:#eef3f7;border-bottom:1px solid #cbd6e1;position:sticky;top:0;z-index:10}.nav-inner{max-width:var(--max);margin:auto;padding:0 28px;display:flex;overflow-x:auto}.topnav a{display:block;padding:13px 16px;color:#29465f;text-decoration:none;font-size:.89rem;font-weight:650;border-bottom:3px solid transparent;white-space:nowrap}.topnav a:first-child{padding-left:0;margin-right:10px}.topnav a.active,.topnav a:hover{color:#123c63;border-bottom-color:#2b669c}
.layout{max-width:var(--max);margin:auto;padding:42px 28px 70px;display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:62px}.content{min-width:0}.sidebar{font-size:.88rem}.sidebox{border-top:4px solid var(--navy);background:var(--wash);padding:18px 19px;margin-bottom:24px}.sidebox h3{font-size:.8rem;text-transform:uppercase;letter-spacing:.09em;margin:0 0 10px;color:var(--navy)}.sidebox ul{padding-left:1.1rem;margin:.4rem 0}.sidebox li{margin:.4rem 0}.toc a{text-decoration:none;color:#43596d}.toc a:hover{color:#123c63}.checklist{list-style:none!important;padding-left:0!important}.checklist li:before{content:"✓";color:#24744b;font-weight:800;margin-right:.55em}.delta:before{content:"△"!important;color:#9a6100!important}
.hero{border-bottom:1px solid var(--line);padding-bottom:35px;margin-bottom:35px}.kicker{font-size:.8rem;text-transform:uppercase;letter-spacing:.12em;color:var(--blue);font-weight:750}.hero h1{font-size:2.72rem;line-height:1.12;letter-spacing:-.035em;color:var(--navy2);margin:.3rem 0 .9rem}.lead{font-size:1.22rem;line-height:1.62;color:#34495d;max-width:850px}.thesis{font:600 1.18rem/1.45 Georgia,serif;color:#173f70;border-left:5px solid #4b83b5;padding:14px 20px;background:var(--note);margin:28px 0}
h2{font-size:1.73rem;line-height:1.25;color:var(--navy2);margin:2.8rem 0 1rem;padding-top:.25rem}h3{font-size:1.18rem;color:var(--navy);margin:2rem 0 .6rem}h4{font-size:1rem;color:#2d4f6d;margin:1.45rem 0 .45rem}p{margin:.8rem 0 1rem}.section-number{color:#6f8191;font-weight:500;margin-right:.35rem}.small{font-size:.9rem;color:var(--muted)}
.grid2,.grid3,.grid4{display:grid;gap:18px;margin:24px 0}.grid2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid4{grid-template-columns:repeat(4,minmax(0,1fr))}.card{border:1px solid var(--line);border-top:4px solid #5282ad;padding:20px;background:#fff}.card h3{margin:.1rem 0 .45rem;font-size:1.05rem}.card p{font-size:.93rem;margin:.45rem 0;color:#435363}.card .num{font:700 .78rem ui-monospace,monospace;color:#5b7893}
.callout{padding:19px 22px;margin:24px 0;border-left:5px solid #4b83b5;background:var(--note)}.callout.warning{border-color:#b77616;background:var(--warn)}.callout.ok{border-color:#3b835a;background:var(--ok)}.callout h3{margin:0 0 .35rem}.prefix-box{border:2px solid #2c638f;background:#f4f9fd;padding:25px 27px;margin:26px 0}.prefix-box .label{font-size:.76rem;letter-spacing:.13em;text-transform:uppercase;font-weight:750;color:#4d6e88}.prefix{font:700 clamp(1.35rem,3vw,2.15rem)/1.25 ui-monospace,SFMono-Regular,Consolas,monospace;color:#0e365b;margin:.4rem 0 .7rem;word-break:break-all}
.figure{border:1px solid var(--line);background:#fbfcfd;padding:20px;margin:25px 0}.figure svg{width:100%;height:auto;display:block}.caption{font-size:.83rem;color:#5d6975;border-top:1px solid var(--line);padding-top:12px;margin-top:14px}.caption strong{color:#33495c}
table{width:100%;border-collapse:collapse;margin:22px 0;font-size:.92rem}th{background:#eaf0f5;color:#203f5b;text-align:left;font-weight:700}th,td{border:1px solid #cdd7e0;padding:11px 12px;vertical-align:top}tbody tr:nth-child(even){background:#fafbfd}.yes{color:#216b45;font-weight:700}.caution{color:#915c06;font-weight:700}.no{color:#9a3434;font-weight:700}
code,kbd,pre{font-family:ui-monospace,SFMono-Regular,Consolas,"Liberation Mono",monospace}code{background:#eef2f5;border:1px solid #dde4e9;padding:.08em .28em;border-radius:2px;font-size:.92em}pre{background:#152536;color:#e7eff6;padding:18px 20px;overflow:auto;border-left:5px solid #4d82b1;font-size:.87rem;line-height:1.55}.faq details{border-top:1px solid var(--line);padding:14px 0}.faq details:last-child{border-bottom:1px solid var(--line)}.faq summary{cursor:pointer;color:#1d4f7a;font-weight:700}.faq details p{padding-left:1rem}.refs li{margin:.75rem 0}.legal{font-size:.86rem;color:#4e5c68;background:#f6f7f8;border:1px solid #d8dee3;padding:20px}
footer{background:#edf2f6;border-top:1px solid #cbd6df;color:#536373}.footer-inner{max-width:var(--max);margin:auto;padding:25px 28px;display:flex;justify-content:space-between;gap:24px;font-size:.82rem}.footer-inner p{margin:0}.print-only{display:none}
@media(max-width:900px){.layout{grid-template-columns:1fr;gap:20px}.sidebar{order:-1}.sidebox.toc{display:none}.grid4{grid-template-columns:repeat(2,1fr)}.brand-row{align-items:flex-start;flex-direction:column}.rev{text-align:left}.hero h1{font-size:2.2rem}}
@media(max-width:620px){.grid2,.grid3,.grid4{grid-template-columns:1fr}.header-inner,.nav-inner,.layout,.footer-inner{padding-left:18px;padding-right:18px}.hero h1{font-size:1.88rem}.footer-inner{flex-direction:column}.topnav a{padding-left:10px;padding-right:10px}}
@media print{.site-header,.topnav,.sidebar,footer{display:none}.layout{display:block;padding:0;max-width:none}.content{max-width:none}.print-only{display:block}.figure,.card,.callout,.prefix-box{break-inside:avoid}a{color:inherit;text-decoration:none}}
