:root{--bg:#fff;--bg2:#f2f8f7;--line:#cde0dc;--ink:#0b4a45;--ink2:#4b6663;--acc:#c93c20;--grid:rgba(11,74,69,.07);--serif:Georgia,"Iowan Old Style",Palatino,serif;--sans:system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;--mono:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;box-sizing:border-box;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px);color-scheme:light}
*,*::before,*::after{box-sizing:inherit}
body{margin:0;background:var(--bg);color:var(--ink2);font:1rem/1.65 var(--sans);background-image:linear-gradient(var(--grid) 1px,transparent 1px),linear-gradient(90deg,var(--grid) 1px,transparent 1px);background-size:32px 32px}
a{color:var(--ink);text-decoration:none}a:hover{color:var(--acc)}
:focus-visible{outline:2px solid var(--acc);outline-offset:3px}
h1,h2,h3{font-family:var(--serif);color:var(--ink);font-weight:400;margin:0;letter-spacing:-.01em}
p{margin:0 0 1rem}
.shell{display:grid;grid-template-columns:minmax(0,1fr);max-width:80rem;margin:auto}
.rail{padding:1.2rem 1.3rem;border-bottom:1px solid var(--line);display:flex;flex-wrap:wrap;gap:.8rem 1.5rem;align-items:center;justify-content:space-between}
.brand{font:400 1.4rem/1 var(--serif);display:flex;gap:.6rem;align-items:center}
.brand i{width:14px;height:14px;background:var(--acc);display:block;transform:rotate(45deg)}
.rail nav{display:flex;gap:1.3rem;flex-wrap:wrap}
.rail nav a{color:var(--ink2);border-bottom:1px solid transparent}
.rail nav a:hover,.rail nav a[aria-current]{border-color:var(--acc);color:var(--ink)}
.sub{display:none}
main{min-width:0;padding:0 1.3rem}
@media(min-width:60rem){
.shell{grid-template-columns:15rem minmax(0,1fr)}
.rail{position:sticky;top:0;height:100vh;height:100dvh;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:1.6rem;border-bottom:0;border-right:1px solid var(--line);padding:2rem 1.5rem;overflow-y:auto}
.rail nav{flex-direction:column;gap:.6rem;font-size:1.05rem}
.sub{display:flex;flex-direction:column;gap:.4rem;font-size:.9rem;border-top:1px solid var(--line);padding-top:1.2rem;width:100%}
.sub a{color:var(--ink2)}.sub a[aria-current]{color:var(--acc)}
main{padding:0 3rem}}
.view{max-width:48rem;padding-bottom:2rem}
.back{display:inline-block;margin:2rem 0 1.5rem;font-size:.9rem;border-bottom:1px solid var(--acc)}
.cat{font:.82rem var(--mono);color:var(--acc);margin:0 0 .4rem}
h1{font-size:clamp(2rem,6vw,3.6rem);line-height:1.08;margin-bottom:1rem}
.lede{font-size:1.2rem;line-height:1.55;color:var(--ink)}
.status{display:inline-block;border:1px solid var(--line);padding:.1rem .7rem;font-size:.85rem;margin:0 0 1rem}
.btn{display:inline-block;padding:.6rem 1.1rem;background:var(--acc);color:#fff;font-weight:600;font-size:.95rem;margin-bottom:1rem}
.btn:hover{color:#fff;filter:brightness(1.12)}
.prose{border-top:1px solid var(--line);margin-top:1.5rem}
.prose h2{font-size:1.6rem;margin:2.5rem 0 .8rem;padding-top:.2rem;position:relative}
.prose h2::before{content:"";display:block;width:2.4rem;height:2px;background:var(--acc);margin-bottom:1rem}
.prose h3{font-size:1.15rem;margin:1.5rem 0 .4rem}
.prose ul,.prose ol{padding-left:1.3rem;margin:0 0 1rem}
.prose li{margin:.3rem 0}.prose li::marker{color:var(--acc)}
.prose p,.prose li{overflow-wrap:anywhere}
pre{overflow:auto;background:var(--bg2);border:1px solid var(--line);border-left:2px solid var(--acc);padding:.8rem 1rem;font:.85rem/1.6 var(--mono);margin:0 0 1rem}
code{font:.88em var(--mono);background:var(--bg2);padding:.1em .35em;border:1px solid var(--line)}pre code{background:none;border:0;padding:0}
figure{margin:1.8rem 0;border:1px solid var(--line);background:var(--bg2)}
.ph{aspect-ratio:16/9;display:grid;place-items:center;font:.85rem var(--mono);color:var(--acc);background-image:linear-gradient(var(--grid) 1px,transparent 1px),linear-gradient(90deg,var(--grid) 1px,transparent 1px);background-size:16px 16px}
figcaption{padding:.5rem .8rem;font-size:.88rem;color:var(--ink2);background:#fff;border-top:1px solid var(--line)}
.tw{overflow-x:auto;border:1px solid var(--line);margin:1rem 0}
table{width:100%;border-collapse:collapse;font-size:.92rem;line-height:1.45}
th,td{border:1px solid var(--line);padding:.5rem .7rem;text-align:left;vertical-align:top}
th{background:var(--bg2);color:var(--ink)}td.n{text-align:right;width:3rem}td.m{font:.85rem var(--mono);overflow-wrap:anywhere;min-width:12rem}
tbody tr:hover td{background:var(--bg2)}
.pager{display:grid;gap:1rem;border-top:1px solid var(--line);margin-top:2.5rem;padding-top:1.5rem}
.pager a{display:block;border:1px solid var(--line);padding:.8rem 1rem;font:1.05rem/1.3 var(--serif);background:#fff}
.pager a:hover{border-color:var(--acc)}.pager small{display:block;font:.8rem var(--sans);color:var(--acc);margin-bottom:.2rem}
.pager .nx{text-align:right}
@media(min-width:40rem){.pager{grid-template-columns:1fr 1fr}.pager .pv:only-child{grid-column:1}.pager .nx:only-child{grid-column:2}}
footer{padding:1rem 0 3rem;font-size:.88rem}
figure img{display:block;width:100%;height:auto;background:#fff}figure.n img{max-width:22rem;margin:0 auto}
