:root{--paper:#FBFAF6;--soft:#F1EFE7;--ink:#1A1814;--ink2:#36312A;--mute:#6B6258;--slate:#2C3E63;--slate-d:#1A2540;--gold:#8E6220;--rule:#D8CFB8;--gate:#B23A3A;--serif:'Newsreader',Georgia,serif;--sans:'Inter',system-ui,sans-serif;--mono:'JetBrains Mono',ui-monospace,monospace}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.65 var(--sans);-webkit-font-smoothing:antialiased}
a{color:var(--slate);text-underline-offset:3px}a:hover{color:var(--gold)}
button,select,input,textarea{font:inherit}button{cursor:pointer}
.top{position:sticky;top:0;z-index:20;background:rgba(251,250,246,.96);backdrop-filter:blur(8px);border-bottom:1px solid var(--rule)}
.top-in{max-width:1320px;margin:0 auto;padding:10px 24px;display:flex;align-items:center;gap:20px;flex-wrap:wrap}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink)}.brand strong{font:500 18px var(--serif)}.brand small{font:500 10px var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--mute)}
.gm{display:inline-grid;grid-template-columns:repeat(3,6px);gap:2px}.gm i{width:6px;height:6px;background:var(--slate)}.gm i:nth-child(5){opacity:.22}
.top nav{margin-left:auto;display:flex;gap:22px;flex-wrap:wrap;align-items:center}.top nav a{font-size:14px;text-decoration:none;color:var(--ink2);padding:4px 0;border-bottom:2px solid transparent}.top nav a.on{color:var(--slate);border-color:var(--gold)}
select{padding:7px 10px;border:1px solid var(--rule);background:#fff;border-radius:2px;color:var(--ink)}
.btn{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border:1px solid var(--slate);background:var(--slate);color:#fff;border-radius:2px;font-size:13.5px;text-decoration:none}.btn:hover{background:var(--slate-d);color:#fff}.btn.ghost{background:transparent;color:var(--slate)}.btn.ghost:hover{background:var(--soft);color:var(--slate)}.btn.sm{padding:4px 9px;font-size:12px}
.shell{max-width:1320px;margin:0 auto;padding:0 24px;display:grid;grid-template-columns:290px minmax(0,1fr);gap:56px}
.side{position:sticky;top:62px;align-self:start;max-height:calc(100vh - 74px);overflow:auto;padding:28px 0;font-size:13.5px;line-height:1.35}
.side h6{margin:18px 0 6px;font:500 10.5px var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--gold)}.side a{display:block;padding:4px 0 4px 10px;border-left:2px solid var(--rule);color:var(--ink2);text-decoration:none}.side a:hover{border-color:var(--gold);color:var(--slate)}.side a.on{border-color:var(--slate);color:var(--slate);font-weight:600}.side a.sub{padding-left:22px;font-size:12.5px;color:var(--mute)}
main{padding:48px 0 140px;min-width:0}
.eyebrow{font:500 11px var(--mono);letter-spacing:.18em;text-transform:uppercase;color:var(--gold)}
h1{font:400 clamp(34px,4.6vw,56px)/1.08 var(--serif);letter-spacing:-.02em;margin:10px 0 18px;max-width:20ch}
.meta{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));border:1px solid var(--rule);margin:28px 0;background:#fff}.meta div{padding:12px 16px;border-right:1px solid var(--rule)}.meta div:last-child{border:0}.meta dt{font:500 10px var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--mute)}.meta dd{margin:2px 0 0;font-size:14px;word-break:break-all}
.status{display:inline-block;padding:2px 8px;border:1px solid var(--rule);font:500 10.5px var(--mono);letter-spacing:.1em;text-transform:uppercase}.status.published{color:#2F7D4F;border-color:#2F7D4F}.status.superseded{color:var(--mute)}.status.draft{color:var(--gold);border-color:var(--gold)}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px;margin:24px 0}.card{display:block;padding:22px;border:1px solid var(--rule);background:#fff;text-decoration:none;color:var(--ink)}.card:hover{border-color:var(--slate)}.card h3{font:400 24px/1.2 var(--serif);margin:6px 0 8px}.card p{margin:0;font-size:14px;color:var(--ink2)}
.cl{margin:0;padding:28px 0 8px;border-top:1px solid var(--rule);display:grid;grid-template-columns:96px minmax(0,1fr);gap:0 20px}
.cl>.n{font:500 12.5px var(--mono);color:var(--gold);padding-top:8px}.cl .hd{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}
.cl h2,.cl h3,.cl h4{margin:0;font-family:var(--serif);font-weight:500;letter-spacing:-.005em}.cl h2{font-size:34px;line-height:1.15}.cl h3{font-size:26px}.cl h4{font-size:20px}
.cl .tools{margin-left:auto;display:flex;gap:6px;opacity:0;transition:.15s}.cl:hover .tools,.cl:focus-within .tools{opacity:1}
.chip{font:500 10px var(--mono);letter-spacing:.12em;text-transform:uppercase;padding:2px 7px;border:1px solid var(--rule);color:var(--mute)}.chip.inf{background:var(--soft)}
.body{grid-column:2;min-width:0;max-width:74ch}.body p,.body li{color:var(--ink2)}.body table{border-collapse:collapse;display:block;overflow:auto;font-size:14px;margin:16px 0}.body th,.body td{border:1px solid var(--rule);padding:7px 11px;text-align:left;vertical-align:top}.body th{background:var(--soft);font:500 10.5px var(--mono);letter-spacing:.08em;text-transform:uppercase}.body code{font:13px var(--mono);background:var(--soft);padding:1px 5px}.body pre{background:var(--soft);padding:14px;overflow:auto;border:1px solid var(--rule)}.body pre code{background:none;padding:0}.body blockquote{margin:14px 0;padding:2px 16px;border-left:3px solid var(--gold)}
.erratum{grid-column:2;margin:8px 0 16px;padding:10px 14px;border:1px solid var(--gate);border-left-width:4px;background:#fff;font-size:14px}.erratum b{font:500 10.5px var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--gate)}
table.grid{width:100%;border-collapse:collapse;font-size:14px;margin:18px 0}table.grid th,table.grid td{border-bottom:1px solid var(--rule);padding:9px 10px;text-align:left;vertical-align:top}table.grid th{font:500 10.5px var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--mute)}
.add{background:#E6F2EA}.rem{background:#F6E3E1;text-decoration:line-through}.dline{font:12.5px/1.5 var(--mono);white-space:pre-wrap;padding:1px 8px}
.toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:var(--ink);color:#fff;padding:10px 16px;font-size:13px;z-index:50}
.row{display:flex;gap:12px;align-items:center;flex-wrap:wrap}
@media(max-width:960px){.shell{grid-template-columns:1fr;gap:0}.side{position:static;max-height:none;border-bottom:1px solid var(--rule)}.cl{grid-template-columns:1fr}.cl>.n,.body,.erratum{grid-column:1}}
.vbanner{margin:0 0 24px;padding:12px 16px;border:1px solid var(--gold);border-left-width:4px;background:#fff;font-size:14px}
#printdoc{display:none}
.poprow{display:flex;gap:10px;flex-wrap:wrap;align-items:stretch;margin:18px 0 6px}.poprow .eyebrow{align-self:center;margin-right:4px}
.pop{display:inline-flex;flex-direction:column;align-items:flex-start;gap:1px;padding:8px 14px;border:1px solid var(--rule);background:#fff;color:var(--ink);text-align:left;border-radius:2px;transition:.15s}.pop:hover{border-color:var(--slate);background:var(--soft)}.pop b{font-weight:500;font-size:14px;color:var(--slate)}.pop small{font:11px var(--mono);color:var(--mute)}
.pop.inl{display:inline;padding:0 2px;border:0;border-bottom:1px dashed var(--gold);background:none;font:inherit;color:var(--slate);cursor:pointer}.pop.inl:hover{background:var(--soft)}
#drawer{position:fixed;top:0;right:0;bottom:0;width:min(720px,100vw);background:var(--paper);border-left:1px solid var(--rule-strong,#B8AC92);box-shadow:-24px 0 48px -24px rgba(26,24,20,.35);transform:translateX(105%);transition:transform .25s ease;z-index:40;display:flex;flex-direction:column}#drawer.open{transform:none}
#drawer .dh{display:flex;justify-content:space-between;gap:16px;padding:20px 24px;border-bottom:1px solid var(--rule)}#drawer .dh h3{font:500 24px var(--serif);margin:4px 0}#drawer .dh p{margin:0;font-size:13.5px;color:var(--ink2)}#drawer .db{flex:1;overflow:auto;padding:16px 24px}#drawer iframe{width:100%;height:calc(100vh - 150px);border:1px solid var(--rule);background:#fff}
@media print{#drawer{display:none}.poprow{display:none}}
@media print{.top,.side,.tools,.toast,#view{display:none!important}#printdoc{display:block!important;padding:0;max-width:none}body{background:#fff;font-size:11pt}.shell{display:block;padding:0}.cl{break-inside:avoid-page;grid-template-columns:70px 1fr}.cl h2{break-after:avoid}a{color:var(--ink);text-decoration:none}.pcover{break-after:page}}

:root{--r-size:16px;--r-measure:74ch;--r-body:var(--sans)}
.body,.body p,.body li{font-size:var(--r-size);font-family:var(--r-body)}.body{max-width:var(--r-measure)}
.body table,.body th,.body td{font-size:calc(var(--r-size) - 2px)}.body code,.body pre{font-size:calc(var(--r-size) - 2.5px)}
.cl h2{font-size:calc(var(--r-size)*2.1)}.cl h3{font-size:calc(var(--r-size)*1.6)}.cl h4{font-size:calc(var(--r-size)*1.25)}
.rset{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-left:8px;max-width:100%}.rset button{padding:4px 9px;border:1px solid var(--rule);background:#fff;color:var(--ink2);border-radius:2px;font:12.5px var(--sans)}.rset button:hover{border-color:var(--slate)}.rset button.on{background:var(--slate);color:#fff;border-color:var(--slate)}.rset span{font:10.5px var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--mute);margin:0 2px 0 6px}
@media print{.rset{display:none}.body,.body p,.body li{font-size:11pt}}
.fig-svg{margin:24px 0;border:1px solid var(--rule)}.fig-svg svg{display:block;width:100%;height:auto}

.top nav a{white-space:nowrap}.top nav{gap:10px 20px}.brand small{white-space:nowrap}

.katex{font-size:1.05em}.katex-display{margin:18px 0;overflow-x:auto;overflow-y:hidden;padding:4px 0}.body .katex-display>.katex{text-align:left}

#citebtn{position:fixed;z-index:60;padding:7px 12px;background:#2C3E63;color:#fff;border:0;font:500 12.5px Inter,sans-serif;cursor:pointer;box-shadow:0 6px 18px rgba(26,24,20,.3)}#citebtn:hover{background:#1A2540}
#citepop{position:fixed;z-index:70;max-height:min(80vh,620px);overflow:auto;background:#fff;border:1px solid #1A1814;box-shadow:0 18px 40px -12px rgba(26,24,20,.45);padding:14px 16px 12px;font:14px/1.45 Inter,sans-serif;color:#1A1814}
#citepop .cp-h{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:8px}#citepop .cp-k{display:block;font:500 10.5px 'JetBrains Mono',monospace;letter-spacing:.16em;text-transform:uppercase;color:#8E6220}#citepop .cp-h b{font:400 18px/1.25 Newsreader,Georgia,serif}
#citepop .cp-x,#citepop [data-n]{font:500 11px 'JetBrains Mono',monospace;letter-spacing:.08em;text-transform:uppercase;padding:4px 9px;background:#fff;border:1px solid #D8D3C4;cursor:pointer;color:#1A1814}#citepop .cp-x:hover,#citepop [data-n]:hover{border-color:#2C3E63;color:#2C3E63}
#citepop .cp-r{border-top:1px solid #D8D3C4;padding:8px 0}#citepop .cp-l{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}#citepop .cp-l span{font:500 10.5px 'JetBrains Mono',monospace;letter-spacing:.14em;text-transform:uppercase;color:#6B6258}
#citepop pre{margin:0;white-space:pre-wrap;word-break:break-word;font:400 12.5px/1.5 'JetBrains Mono',monospace;color:#36312A;background:#F6F4ED;padding:8px 10px}
#citepop .cp-old{margin:0 0 8px;padding:8px 10px;background:#F5EDDC;border-left:3px solid #B07A2B;font-size:13px}#citepop .cp-f{margin:8px 0 0;font-size:12.5px;color:#6B6258}
@media print{#citebtn,#citepop{display:none!important}}

#citepop .cp-a{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 8px}#citepop [data-act]{font:500 12px Inter,sans-serif;padding:7px 11px;background:#2C3E63;color:#fff;border:0;cursor:pointer}#citepop [data-act]:hover{background:#1A2540}

.cl>.cl{grid-column:1/-1;min-width:0}.cl>.cl:first-of-type{margin-top:8px}
.cl>.hd{grid-column:2;min-width:0}.cl>.hd h2,.cl>.hd h3,.cl>.hd h4{min-width:0;overflow-wrap:anywhere}

#citepop pre{user-select:text;-webkit-user-select:text}
