:root{--ivory:#f4f1ea;--ivory-bright:#faf8f3;--ivory-deep:#ece7dc;--navy:#0b1220;--ink:#1c2438;--ink-mid:#4a515c;--ink-soft:#6e7682;--amber:#d4a017;--amber-soft:#f3e3b8;--blue:#3d5b8d;--teal:#2fa39a;--red:#b5443a;--border:#0b122024;--hairline:#0b122014;--sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--serif:"Charter", "Iowan Old Style", Georgia, "Times New Roman", serif;--mono:ui-monospace, "SF Mono", Menlo, Consolas, monospace;--sidebar-w:290px}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--ivory);color:var(--ink);font-family:var(--sans);margin:0;font-size:16px;line-height:1.55}a{color:var(--blue);text-decoration:none}a:hover{text-decoration:underline}button{font:inherit;cursor:pointer}.topbar{z-index:30;background:var(--navy);height:52px;color:var(--ivory);align-items:center;gap:14px;padding:0 18px;display:flex;position:sticky;top:0}.topbar a{color:var(--ivory)}.topbar .position{white-space:nowrap;color:#f4f1eab3}.topbar .brand{letter-spacing:.06em;white-space:nowrap;font-weight:700}.topbar .brand .accent{color:var(--amber)}.topbar .spacer{flex:1}.topbar .navlink{opacity:.85;white-space:nowrap;font-size:14px}.topbar .navlink:hover{opacity:1}.topbar .user{opacity:.7;white-space:nowrap;font-size:13px}.topbar .signout{color:var(--ivory);background:0 0;border:1px solid #f4f1ea4d;border-radius:4px;padding:3px 8px;font-size:12px}.toc-toggle{color:var(--ivory);background:0 0;border:1px solid #f4f1ea4d;border-radius:4px;padding:4px 10px;font-size:13px;display:none}.progressbar{background:var(--ivory-deep);z-index:29;height:3px;position:sticky;top:52px}.progressbar>div{background:var(--amber);height:100%}.shell{min-height:calc(100vh - 55px);display:flex}.sidebar{width:var(--sidebar-w);border-right:1px solid var(--border);background:var(--ivory-bright);flex-shrink:0;height:calc(100vh - 55px);padding:18px 0 40px;font-size:14px;position:sticky;top:55px;overflow-y:auto}.sidebar .group{margin-bottom:4px}.sidebar .part-label{text-transform:uppercase;letter-spacing:.1em;color:var(--ink-soft);padding:10px 18px 2px;font-size:11px;font-weight:700}.sidebar .part-title{text-transform:none;letter-spacing:0;font-weight:400;display:block}.sidebar a.unit{color:var(--ink);border-left:3px solid #0000;align-items:baseline;gap:8px;padding:5px 18px;display:flex}.sidebar a.unit:hover{background:var(--ivory-deep);text-decoration:none}.sidebar a.unit.active{border-left-color:var(--amber);background:var(--ivory-deep);font-weight:600}.sidebar .read-mark{color:var(--teal);flex-shrink:0;width:13px;font-size:12px}.sidebar .unit-num{color:var(--ink-soft);flex-shrink:0;width:22px;font-size:12px}.sidebar-backdrop{display:none}.main{flex:1;min-width:0}.page{max-width:760px;margin:0 auto;padding:30px 28px 80px}.crumb{color:var(--ink-soft);margin-bottom:6px;font-size:13px}.position{color:var(--ink-soft);font-size:13px}.part-divider{background:var(--navy);color:var(--ivory);border-radius:6px;margin:0 0 26px;padding:18px 20px}.part-divider .pd-label{letter-spacing:.12em;text-transform:uppercase;color:var(--amber);font-size:12px}.part-divider .pd-title{margin-top:2px;font-size:21px;font-weight:700}h1.unit-title{color:var(--navy);margin:4px 0 10px;font-size:30px;line-height:1.25}.unit-meta{color:var(--ink-soft);border-bottom:1px solid var(--border);margin-bottom:22px;padding-bottom:14px;font-size:13px}.onpage{background:var(--ivory-bright);border:1px solid var(--hairline);border-radius:6px;margin-bottom:22px;padding:10px 16px;font-size:13.5px}.onpage b{text-transform:uppercase;letter-spacing:.08em;color:var(--ink-soft);font-size:12px}.onpage ul{margin:6px 0 2px;padding-left:18px}.onpage li{margin:2px 0}.prose{font-family:var(--serif);color:var(--ink);font-size:17.5px;line-height:1.72}.prose h2,.prose h3,.prose h4{font-family:var(--sans);color:var(--navy);margin:1.8em 0 .5em;scroll-margin-top:70px;line-height:1.3}.prose h2{font-size:23px}.prose h3{font-size:19px}.prose h4{font-size:16.5px}.prose p{margin:.85em 0}.prose ul,.prose ol{margin:.85em 0;padding-left:26px}.prose li{margin:.35em 0}.prose blockquote{border-left:3px solid var(--amber);background:var(--ivory-bright);color:var(--ink-mid);margin:1.2em 0;padding:2px 18px}.prose code{font-family:var(--mono);background:var(--ivory-deep);color:var(--navy);border-radius:3px;padding:1px 5px;font-size:.78em}.prose pre{background:var(--navy);color:var(--ivory);border-radius:6px;padding:14px 16px;font-size:13px;line-height:1.5;overflow-x:auto}.prose pre code{color:inherit;font-size:inherit;background:0 0;padding:0}.prose table{border-collapse:collapse;font-family:var(--sans);max-width:100%;margin:1.2em 0;font-size:14px;line-height:1.45;display:block;overflow-x:auto}.prose th,.prose td{border:1px solid var(--border);text-align:left;vertical-align:top;padding:7px 10px}.prose th{background:var(--ivory-deep);font-size:13px}.prose hr{border:none;border-top:1px solid var(--border);margin:2.2em 0}.prose strong{color:var(--navy)}.pager{gap:14px;margin-top:44px;display:flex}.pager a{border:1px solid var(--border);background:var(--ivory-bright);color:var(--ink);border-radius:6px;flex:1;padding:12px 16px}.pager a:hover{border-color:var(--navy);text-decoration:none}.pager .dir{text-transform:uppercase;letter-spacing:.08em;color:var(--ink-soft);font-size:12px}.pager .dest{color:var(--navy);margin-top:2px;font-size:15px;font-weight:600}.pager .next{text-align:right}.review-block{border-top:2px solid var(--navy);margin-top:48px;padding-top:18px}.review-block h2{color:var(--navy);margin:0 0 4px;font-size:18px}.review-note{color:var(--ink-soft);margin:0 0 16px;font-size:13px}.approval-bar{background:var(--ivory-bright);border:1px solid var(--border);border-radius:6px;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:20px;padding:10px 14px;font-size:14px;display:flex}.approval-bar .who{color:var(--ink-mid)}.btn{border:1px solid var(--navy);background:var(--navy);color:var(--ivory);border-radius:5px;padding:6px 14px;font-size:14px}.btn:disabled{opacity:.55;cursor:default}.btn.secondary{color:var(--navy);background:0 0}.btn.small{padding:3px 10px;font-size:12.5px}.btn.approve{border-color:var(--teal);background:var(--teal)}.comment{border:1px solid var(--border);background:var(--ivory-bright);border-radius:6px;margin-bottom:12px;padding:12px 14px}.comment.resolved{opacity:.72;background:var(--ivory)}.comment .head{flex-wrap:wrap;align-items:baseline;gap:8px;margin-bottom:6px;font-size:13px;display:flex}.comment .author{color:var(--navy);font-size:14px;font-weight:700}.comment .when{color:var(--ink-soft)}.comment .anchor-ref{color:var(--blue);font-size:12.5px}.comment .body{white-space:pre-wrap;font-size:15px}.comment .actions{gap:8px;margin-top:8px;display:flex}.comment .reply{border-left:2px solid var(--ivory-deep);margin:10px 0 0 22px;padding-left:12px}.chip{letter-spacing:.04em;border-radius:10px;padding:1px 9px;font-size:11px;font-weight:700}.chip.open{background:var(--amber-soft);color:#7a5a0a}.chip.resolved{color:#14635c;background:#d9efed}.comment-form textarea{width:100%;min-height:86px;font:15px var(--sans);border:1px solid var(--border);background:var(--ivory-bright);color:var(--ink);resize:vertical;border-radius:6px;padding:10px 12px;line-height:1.5}.comment-form textarea:focus{outline:2px solid var(--amber);border-color:#0000}.comment-form .row{flex-wrap:wrap;align-items:center;gap:10px;margin-top:8px;display:flex}.comment-form select{font:13px var(--sans);border:1px solid var(--border);background:var(--ivory-bright);color:var(--ink);border-radius:5px;max-width:100%;padding:5px 8px}.form-error{color:var(--red);margin-top:8px;font-size:13.5px}.hero{margin:8px 0 30px}.hero h1{color:var(--navy);margin:0 0 8px;font-size:32px;line-height:1.2}.hero .sub{color:var(--ink-mid);max-width:60ch;font-size:16px}.meta-strip{color:var(--ink-soft);flex-wrap:wrap;gap:18px;margin-top:14px;font-size:13px;display:flex}.meta-strip b{color:var(--navy)}.cardgrid{grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:14px;margin:22px 0;display:grid}.card{border:1px solid var(--border);background:var(--ivory-bright);color:var(--ink);border-radius:6px;padding:16px 18px;display:block}.card:hover{border-color:var(--navy);text-decoration:none}.card .card-title{color:var(--navy);margin-bottom:4px;font-weight:700}.card .card-sub{color:var(--ink-mid);font-size:13.5px}.card .eyebrow{text-transform:uppercase;letter-spacing:.1em;color:var(--amber);margin-bottom:6px;font-size:11px;font-weight:700}h2.section-head{color:var(--navy);margin:34px 0 12px;font-size:20px}table.plain{border-collapse:collapse;width:100%;font-size:14px}table.plain th,table.plain td{border:1px solid var(--border);text-align:left;padding:7px 10px}table.plain th{background:var(--ivory-deep);font-size:12.5px}.filter-row{flex-wrap:wrap;gap:8px;margin:14px 0 18px;font-size:14px;display:flex}.filter-row a{border:1px solid var(--border);color:var(--ink);background:var(--ivory-bright);border-radius:14px;padding:3px 12px}.filter-row a.on{background:var(--navy);color:var(--ivory);border-color:var(--navy)}.filter-row a:hover{border-color:var(--navy);text-decoration:none}.matrix-wrap{overflow-x:auto}.matrix td.yes{color:#14635c;text-align:center;background:#d9efed;font-weight:700}.matrix td.no{text-align:center;color:var(--ink-soft)}.empty{color:var(--ink-soft);padding:14px 0;font-size:14.5px}.search-wrap{position:relative}.search-input{font:14px var(--sans);width:200px;color:var(--ivory);background:#f4f1ea1a;border:1px solid #f4f1ea4d;border-radius:5px;padding:5px 10px}.search-input::placeholder{color:#f4f1ea8c}.search-results{background:var(--ivory-bright);width:min(440px,92vw);max-height:60vh;color:var(--ink);border:1px solid var(--border);border-radius:6px;position:absolute;top:38px;right:0;overflow-y:auto;box-shadow:0 6px 24px #0b12202e}.search-results a{border-bottom:1px solid var(--hairline);color:var(--ink);padding:10px 14px;display:block}.search-results a:hover{background:var(--ivory-deep);text-decoration:none}.search-results .r-title{color:var(--navy);font-size:14px;font-weight:600}.search-results .r-snippet{color:var(--ink-mid);margin-top:2px;font-size:12.5px}.search-results mark{background:var(--amber-soft);padding:0 1px}.signin-wrap{background:var(--navy);justify-content:center;align-items:center;min-height:100vh;padding:20px;display:flex}.signin-card{background:var(--ivory-bright);border-radius:8px;width:100%;max-width:420px;padding:40px 36px}.signin-card .eyebrow{letter-spacing:.14em;text-transform:uppercase;color:var(--amber);font-size:11px;font-weight:700}.signin-card h1{color:var(--navy);margin:8px 0 10px;font-size:24px}.signin-card p{color:var(--ink-mid);font-size:14.5px}.ms-btn{background:var(--navy);width:100%;color:var(--ivory);border:none;border-radius:6px;justify-content:center;align-items:center;gap:10px;margin-top:18px;padding:11px;font-size:15px;display:flex}.ms-mark{grid-template-columns:8px 8px;gap:2px;display:grid}.ms-mark span{width:8px;height:8px}.ms-mark span:first-child{background:#f25022}.ms-mark span:nth-child(2){background:#7fba00}.ms-mark span:nth-child(3){background:#00a4ef}.ms-mark span:nth-child(4){background:#ffb900}.signin-note{color:var(--ink-soft);margin-top:16px;font-size:12.5px}@media (max-width:900px){.toc-toggle{display:block}.topbar .user,.topbar .navlink.home-link{display:none}.search-input{width:120px}.sidebar{z-index:40;height:auto;box-shadow:none;position:fixed;top:52px;bottom:0;left:0;transform:translate(-100%)}.shell.toc-open .sidebar{transform:none;box-shadow:0 0 0 100vmax #0b122059}.page{padding:22px 18px 70px}.prose{font-size:16.5px}.pager{flex-direction:column}}
