:root{color-scheme:light;
--paper:#d9e4f1;--card:#ffffff;--paper2:#e3e9f1;--ink:#14213d;--ink2:#37445a;--muted:#3f4958;--rule:#b9c7d8;
--navy:#0f1f3a;--you:#1d5aa6;--you-text:#174885;--you-t:#e1ebf8;--risk:#b03c08;--risk-text:#822c06;--orange-f:#f26a1b;
--danger:#b3261e;--hi:#f2b81f;--onnavy:#9cc4f5;--concrete:#55606f;--concrete-t:#e9edf2;
--serif:"EB Garamond",Garamond,"Iowan Old Style","Palatino Linotype",Georgia,serif;
--sans:Jost,"Segoe UI",Helvetica,Arial,sans-serif;--mono:"IBM Plex Mono",ui-monospace,Menlo,Consolas,monospace;
--cds-chart-axis:#55606f;--cds-chart-categorical-1:#1d5aa6;--cds-chart-categorical-4:#b03c08;--cds-text-primary:#14213d;--cds-text-secondary:#3f4958;
--cds-chart-grid:#b9c7d8;--cds-chart-reference-tint:#d3dfee;--cds-chart-status-warning:#b3750a;--cds-chart-muted:#7b8696;--cds-surface-primary:#fff}
*{box-sizing:border-box}
html{background:var(--paper);-webkit-text-size-adjust:100%;scroll-padding-top:16px}
body{margin:0;background-color:var(--paper);color:var(--ink);font-family:var(--serif);font-size:18px;line-height:1.5;overflow-x:hidden;
background-image:linear-gradient(rgba(29,90,166,.075) 1px,transparent 1px),linear-gradient(90deg,rgba(29,90,166,.075) 1px,transparent 1px);background-size:24px 24px}
.topbar{background:var(--navy);border-bottom:3px solid var(--orange-f);color:#fff;font:600 12px/1.2 var(--sans);letter-spacing:.14em;text-transform:uppercase;padding:12px max(16px,env(safe-area-inset-right)) 12px max(16px,env(safe-area-inset-left));display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}
.topbar a{color:#fff;text-decoration:none}.topbar a:last-child{color:var(--onnavy)}
.topbar a:hover{text-decoration:underline}
a{color:var(--you-text);text-underline-offset:3px;text-decoration-thickness:1px}
a:hover{color:var(--ink)}
a:focus-visible,summary:focus-visible,button:focus-visible{outline:3px solid var(--ink);outline-offset:2px}
.wrap{max-width:1180px;margin:0 auto;padding:0 max(16px,env(safe-area-inset-right)) 48px max(16px,env(safe-area-inset-left));display:grid;grid-template-columns:minmax(0,1fr);gap:20px}
nav.tocbox{margin-top:16px}
nav.tocbox details{background:var(--card);border:1.5px solid var(--ink);box-shadow:0 3px 0 rgba(15,31,58,.18)}
nav.tocbox summary{font:700 13px/1.3 var(--sans);letter-spacing:.16em;text-transform:uppercase;padding:12px 14px;cursor:pointer;min-height:44px}
ol.toc{list-style:none;margin:0;padding:0 14px 12px;font:500 15px/1.3 var(--sans)}
ol.toc li{margin:0}
ol.toc li.l2{margin-top:7px;font-weight:600}
ol.toc li.l3{padding-left:14px;font-weight:400;color:var(--ink2)}
ol.toc a{display:block;padding:3px 0;text-decoration:none;color:var(--ink)}
ol.toc a:hover{color:var(--you-text);text-decoration:underline}
ol.toc a.cur{color:var(--you-text);box-shadow:inset 3px 0 0 var(--orange-f);padding-left:8px;margin-left:-8px}
main{background:var(--card);border:1.5px solid var(--ink);box-shadow:0 3px 0 rgba(15,31,58,.18);padding:20px 18px 28px;margin-top:4px;min-width:0}
main>*{max-width:46em}
main>.tw,main>figure,main>pre{max-width:100%}
h1{font:600 clamp(34px,7vw,52px)/1 var(--serif);letter-spacing:-.02em;margin:0 0 6px}
h2{font:600 clamp(26px,5vw,34px)/1.08 var(--serif);margin:44px 0 8px;padding-top:14px;border-top:3px double var(--ink)}
h3{font:600 22px/1.15 var(--serif);margin:28px 0 6px;color:var(--you-text)}
p{margin:0 0 12px}
ul,ol{margin:0 0 14px;padding-left:1.4em}
li{margin:3px 0}
ul.tasks{list-style:none;padding-left:0}
li.task{display:flex;gap:10px;align-items:flex-start;cursor:pointer}
li.task .box{flex:none;width:22px;height:22px;margin-top:3px;border:2px solid var(--ink);background:#fff;display:grid;place-items:center;font:700 15px/1 var(--sans);color:var(--you-text)}
li.task.done{color:var(--ink2)}
li.task.done span:not(.box){text-decoration:line-through}
strong{font-weight:600}
code{font:400 .88em var(--mono);background:var(--concrete-t);padding:1px 4px}
pre.tex{margin:6px 0 14px;padding:12px 14px;background:var(--you-t);border-left:5px solid var(--you);overflow-x:auto;font:400 15px/1.5 var(--mono)}
pre.tex code{background:none;padding:0;font-size:inherit}
.tw{overflow-x:auto;margin:6px 0 18px;border:1px solid var(--rule)}
table{border-collapse:collapse;width:100%;font:400 15px/1.35 var(--serif);min-width:520px}
th{background:var(--navy);color:#fff;font:600 12px/1.3 var(--sans);letter-spacing:.1em;text-transform:uppercase;text-align:left;padding:8px 10px;vertical-align:bottom}
td{border-top:1px solid var(--rule);padding:7px 10px;vertical-align:top}
tbody tr:nth-child(even){background:var(--paper2)}
td:first-child{font-weight:500}
figure.dia{margin:14px 0 20px;border:1.5px solid var(--ink);background:#fff;max-width:100%}
.diawrap{overflow-x:auto;padding:6px}
.diawrap svg{display:block;width:100%;min-width:560px;height:auto;font-family:var(--sans)}
figcaption{font:600 12px/1.3 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--ink2);padding:8px 12px;border-top:1px solid var(--rule);background:var(--paper2)}
@media(min-width:1000px){
 .wrap{grid-template-columns:270px minmax(0,1fr);align-items:start}
 nav.tocbox{position:sticky;top:12px;max-height:calc(100vh - 24px);overflow:auto;margin-top:16px}
 main{padding:28px 36px 40px;margin-top:16px}
}
@media print{.topbar,nav.tocbox{display:none}body{background:#fff}main{border:0;box-shadow:none}}
