:root{--paper:#FBFCFB;--ink:#06120B;--ink2:#33443A;--ink3:#6C7C72;--rule:#DFE6E1;--rule2:#EDF1EE;--green:#009A3D;--deep:#04241A;--tint:#F2F7F3;--r:14px}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:96px}
body{margin:0;background:var(--paper);color:var(--ink);font:400 16.5px/1.68 "Space Grotesk",system-ui,sans-serif;-webkit-font-smoothing:antialiased;text-wrap:pretty}
a{color:var(--green);text-decoration:none;border-bottom:1px solid rgba(0,154,61,.35)}
a:hover{color:var(--deep);border-bottom-color:var(--deep)}
.mono{font-family:"Space Mono",ui-monospace,monospace}

/* top bar */
.top{position:sticky;top:0;z-index:40;background:rgba(251,252,251,.92);backdrop-filter:blur(12px);border-bottom:1px solid var(--rule)}
.top .in{max-width:1180px;margin:0 auto;padding:16px 32px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.lg{display:block;border:0;line-height:0}
.lg img{height:26px;width:auto;display:block}
.lg--w img{height:30px}
.wm{display:inline-flex;align-items:baseline;gap:1px;font-weight:600;font-size:19px;letter-spacing:-.02em;color:var(--ink);border:0}
.wm .two{color:var(--green)}
.wm small{display:block;font-size:9.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink3);font-weight:400;margin-top:3px}
.top nav{display:flex;gap:22px;font-size:13.5px;color:var(--ink2)}
.top nav a{color:var(--ink2);border:0}
.top nav a:hover{color:var(--green)}

/* masthead */
.mast{max-width:1180px;margin:0 auto;padding:76px 32px 52px}
.eyebrow{display:flex;align-items:center;gap:14px;font:400 10.5px/1 "Space Mono",monospace;letter-spacing:.22em;text-transform:uppercase;color:var(--green)}
.eyebrow::before{content:'';width:26px;height:1px;background:var(--green)}
h1{margin:22px 0 0;font-size:clamp(38px,5vw,64px);line-height:1.02;letter-spacing:-.035em;font-weight:500}
h1 em{font-style:normal;color:var(--green)}
.meta{margin-top:28px;display:flex;flex-wrap:wrap;gap:8px 26px;font:400 12px/1.5 "Space Mono",monospace;color:var(--ink3);letter-spacing:.04em}
.meta b{color:var(--ink);font-weight:400}
.lede{margin:30px 0 0;max-width:64ch;font-size:18px;color:var(--ink2)}

/* callout */
.callout{margin:34px 0 0;max-width:78ch;border:1px solid var(--rule);border-left:2px solid var(--green);border-radius:0 var(--r) var(--r) 0;background:var(--tint);padding:20px 24px}
.callout .tag{font:400 10px/1 "Space Mono",monospace;letter-spacing:.2em;text-transform:uppercase;color:var(--green);display:block;margin-bottom:10px}
.callout p{margin:0;font-size:15px;color:var(--ink2)}

/* layout */
.shell{max-width:1180px;margin:0 auto;padding:0 32px 120px;display:grid;grid-template-columns:250px minmax(0,1fr);gap:64px;align-items:start}
aside{position:sticky;top:96px;max-height:calc(100vh - 130px);overflow:auto;padding-right:8px;font-size:13px}
aside::-webkit-scrollbar{width:4px}aside::-webkit-scrollbar-thumb{background:var(--rule);border-radius:9px}
aside .h{font:400 10px/1 "Space Mono",monospace;letter-spacing:.2em;text-transform:uppercase;color:var(--ink3);padding:0 0 12px;border-bottom:1px solid var(--rule);margin-bottom:12px}
aside .h+.h{margin-top:26px}
aside ol{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:1px}
aside a{display:block;color:var(--ink2);border:0;padding:5px 10px;border-radius:7px;line-height:1.4}
aside a:hover{background:var(--tint);color:var(--ink)}
aside a.on{background:var(--tint);color:var(--green)}

/* body copy */
main{max-width:72ch;padding-top:8px}
.part{margin:0 0 8px;padding-top:12px}
.part .k{font:400 10.5px/1 "Space Mono",monospace;letter-spacing:.24em;text-transform:uppercase;color:var(--green)}
h2.part-t{margin:12px 0 0;font-size:34px;line-height:1.1;letter-spacing:-.028em;font-weight:500;padding-bottom:22px;border-bottom:1px solid var(--ink)}
h3{margin:56px 0 18px;font-size:21px;line-height:1.25;letter-spacing:-.02em;font-weight:500;scroll-margin-top:96px}
h3 .n{color:var(--green);font-family:"Space Mono",monospace;font-size:14px;margin-right:12px;letter-spacing:0}
h4{margin:32px 0 10px;font-size:15.5px;font-weight:600;letter-spacing:-.005em}
p{margin:0 0 16px}
main p{color:var(--ink2)}
main p b,main li b{color:var(--ink);font-weight:600}
.c{display:grid;grid-template-columns:44px minmax(0,1fr);gap:0 12px;margin:0 0 16px}
.c>.num{font:400 12.5px/1.9 "Space Mono",monospace;color:var(--green)}
.c>div:last-child{color:var(--ink2)}
ul.defs,ul.bul{margin:0 0 18px;padding:0;list-style:none;display:flex;flex-direction:column;gap:12px}
ul.defs li,ul.bul li{position:relative;padding-left:22px;color:var(--ink2)}
ul.defs li::before,ul.bul li::before{content:'';position:absolute;left:2px;top:11px;width:7px;height:1px;background:var(--green)}
.note{border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);padding:18px 0;margin:26px 0;display:grid;gap:8px}
.note .tag{font:400 10px/1 "Space Mono",monospace;letter-spacing:.2em;text-transform:uppercase;color:var(--green)}
.note p{margin:0;font-size:15px}

/* tables */
.tbl{margin:24px 0 28px;border:1px solid var(--rule);border-radius:var(--r);overflow:hidden}
table{width:100%;border-collapse:collapse;font-size:14px}
th{text-align:left;font:400 10px/1.3 "Space Mono",monospace;letter-spacing:.14em;text-transform:uppercase;color:var(--ink3);background:var(--tint);padding:12px 16px;border-bottom:1px solid var(--rule);vertical-align:bottom}
td{padding:13px 16px;border-bottom:1px solid var(--rule2);color:var(--ink2);vertical-align:top}
tr:last-child td{border-bottom:0}
td.n{font-family:"Space Mono",monospace;white-space:nowrap;color:var(--ink)}
td.k{color:var(--ink);font-weight:500}
tr.tot td{background:var(--tint);color:var(--ink);font-weight:500}
.cap{font-size:12.5px;color:var(--ink3);margin:-14px 0 26px}

/* footer */
footer{background:var(--deep);color:#EAF2EC;padding:56px 0}
footer .in{max-width:1180px;margin:0 auto;padding:0 32px;display:flex;flex-wrap:wrap;gap:28px;justify-content:space-between;align-items:flex-end}
footer .wm{color:#EAF2EC}
footer .wm small{color:rgba(234,242,236,.5)}
footer p{margin:0;font-size:13px;color:rgba(234,242,236,.6);max-width:44ch}
footer a{color:#00FC1B;border-bottom-color:rgba(0,252,27,.3)}
footer a:hover{color:#fff;border-bottom-color:#fff}
.ack{max-width:1180px;margin:0 auto;padding:0 32px 64px}
.ack div{max-width:72ch;margin-left:314px;border-top:1px solid var(--ink);padding-top:20px;font-size:15px;color:var(--ink)}

@media(max-width:1000px){
.shell{grid-template-columns:1fr;gap:0}
aside{position:static;max-height:none;margin-bottom:44px;border:1px solid var(--rule);border-radius:var(--r);padding:20px}
.ack div{margin-left:0}
.mast{padding-top:48px}
}
@media print{
.top,aside{display:none}
body{font-size:10.5pt;background:#fff}
.shell{display:block;padding:0 0 24pt;max-width:none}
main{max-width:none}
h3,h2.part-t{break-after:avoid}
.tbl,.callout,.note{break-inside:avoid}
footer{background:#fff;color:var(--ink);border-top:1px solid var(--rule)}
footer p,footer .wm small{color:var(--ink3)}
footer a{color:var(--green)}
.ack div{margin-left:0}
}
