:root{--bg:#0b0f10;--panel:#111718;--fg:#d7dedc;--mute:#9aa5a3;--acc:#5ee0c8;--line:#2a3436;--s1:4px;--s2:8px;--s3:12px;--s4:16px;--s5:24px;--s6:40px;--s7:64px;--mono:ui-monospace,"SFMono-Regular",Menlo,Consolas,"Liberation Mono",monospace}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{font-family:var(--mono);font-size:15px;line-height:1.65;background-color:var(--bg);color:var(--fg)}
h1,h2,h3,h4,p,li,dd,dt,td,th,label,address,.nav{overflow-wrap:anywhere}
a{color:var(--acc);text-decoration:none;border-bottom:1px solid var(--line)}
a:hover{border-bottom-color:var(--acc)}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--acc);outline-offset:2px}
svg{display:block;max-width:100%}
ul,ol{list-style:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
[hidden]{display:none!important}
.wrap{max-width:1120px;margin:0 auto;padding-left:var(--s4);padding-right:var(--s4)}
.skip{position:absolute;left:var(--s4);top:-100px;background-color:var(--acc);color:var(--bg);padding:var(--s2) var(--s4);z-index:100;border:0}
.skip:focus{top:var(--s2)}
.site-header{height:50px;border-bottom:1px solid var(--line)}
.header-in{display:flex;align-items:center;justify-content:space-between;gap:var(--s4);height:100%}
.brand{display:flex;align-items:center;gap:var(--s2);color:var(--fg);border:0;font-weight:700;letter-spacing:.02em;min-width:0}
.brand svg{width:22px;height:22px;flex-shrink:0}
.nav-toggle{border:1px solid var(--line);padding:var(--s1) var(--s2);color:var(--fg);font-size:13px}
.nav{position:fixed;inset:0;background-color:var(--bg);display:none;overflow-y:auto;padding:var(--s5) var(--s4);z-index:60}
.nav.is-open{display:flex;flex-direction:column;justify-content:flex-start}
.nav-close{align-self:flex-end;border:1px solid var(--line);padding:var(--s1) var(--s2);font-size:13px;color:var(--fg)}
.nav ul{display:flex;flex-direction:column;gap:var(--s4);margin-block:auto;min-width:0}
.nav a{color:var(--fg);border:0;font-size:20px;white-space:nowrap}
.nav a::before{content:"> ";color:var(--acc)}
.nav a[aria-current]{color:var(--acc)}
.nav-cta a{color:var(--acc)}
.cta{display:none;border:1px solid var(--acc);color:var(--acc);padding:var(--s1) var(--s3);font-size:13px;white-space:nowrap;flex-shrink:0}
.hero,.page-head{padding-top:var(--s7);padding-bottom:var(--s7);border-bottom:1px solid var(--line)}
.hero-grid{display:grid;gap:var(--s6);align-items:center}
.eyebrow{color:var(--acc);font-size:13px;text-transform:uppercase;letter-spacing:.12em;margin-bottom:var(--s3)}
h1{font-size:clamp(28px,5vw,44px);line-height:1.15;font-weight:700;margin-bottom:var(--s5)}
.lede{color:var(--mute);font-size:17px;max-width:60ch}
.art{border:1px solid var(--line);aspect-ratio:4/3;background-color:var(--panel);min-width:0}
.art svg{width:100%;height:100%}
section{padding-top:var(--s7);padding-bottom:var(--s7)}
section+section{border-top:1px solid var(--line)}
h2{font-size:22px;margin-bottom:var(--s5);line-height:1.3}
h3{font-size:17px;margin-bottom:var(--s3);line-height:1.35}
h2::before,h3::before{content:"# ";color:var(--acc)}
.prose{max-width:72ch;min-width:0}
.prose h2{margin-top:var(--s6)}
.prose h2:first-child{margin-top:0}
.prose p,.prose ul,.prose ol,.prose dl,.tbl{margin-bottom:var(--s4)}
.prose ul li,.prose ol li{margin-bottom:var(--s2);padding-left:var(--s4);position:relative}
.prose ul li::before{content:"-";color:var(--acc);position:absolute;left:0}
.prose ol{counter-reset:step}
.prose ol li{counter-increment:step}
.prose ol li::before{content:counter(step);color:var(--acc);position:absolute;left:0}
.prose h3{margin-top:var(--s5)}
.split{display:grid;gap:var(--s6)}
.toc ol{counter-reset:idx;border-top:1px solid var(--line)}
.toc li{counter-increment:idx;border-bottom:1px solid var(--line)}
.toc a{display:flex;gap:var(--s3);padding-top:var(--s3);padding-bottom:var(--s3);color:var(--fg);border:0}
.toc a:hover{color:var(--acc)}
.toc a::before{content:"[" counter(idx,decimal-leading-zero) "]";color:var(--acc);flex-shrink:0}
.toc-note{color:var(--mute);font-size:13px;margin-top:var(--s4)}
.entry{padding-top:var(--s5);padding-bottom:var(--s5);border-top:1px solid var(--line)}
.entry:last-child{border-bottom:1px solid var(--line)}
.entry .idx{color:var(--acc);font-size:13px;margin-bottom:var(--s2)}
.entry h3::before{content:none}
.entry p{color:var(--mute);margin-bottom:var(--s3)}
.more::before{content:"> "}
.tbl{overflow-x:auto}
table{border-collapse:collapse;width:100%;font-size:14px}
th,td{text-align:left;padding:var(--s2) var(--s3);border-bottom:1px solid var(--line);vertical-align:top}
th{color:var(--acc);font-weight:700}
dl.kv{display:grid;grid-template-columns:auto minmax(0,1fr);gap:var(--s2) var(--s4);border-top:1px solid var(--line);padding-top:var(--s3)}
dl.kv dt{color:var(--acc)}
.gloss{display:grid;gap:var(--s5)}
.gloss div{border-top:1px solid var(--line);padding-top:var(--s3);min-width:0}
.gloss dt{color:var(--acc);margin-bottom:var(--s1)}
.gloss dd{color:var(--mute);font-size:14px}
.page{padding-top:var(--s6);padding-bottom:var(--s7);display:grid;gap:var(--s6)}
.side{border:1px solid var(--line);padding:var(--s5);font-size:13px;min-width:0}
.side h3{font-size:13px;color:var(--acc);margin-bottom:var(--s3);margin-top:0}
.side h3::before{content:"## "}
.side ul{margin-bottom:var(--s5)}
.side ul:last-child{margin-bottom:0}
.side li{margin-bottom:var(--s2)}
.side a{color:var(--fg);border:0}
.side a::before{content:"> ";color:var(--acc)}
.source{border-left:2px solid var(--acc);padding-left:var(--s4);color:var(--mute);font-size:14px}
.form{display:grid;gap:var(--s4);max-width:640px}
.field{min-width:0}
label{display:block;font-size:13px;color:var(--acc);margin-bottom:var(--s1)}
input,select,textarea{width:100%;font:inherit;padding:var(--s2) var(--s3);background-color:var(--panel);color:var(--fg);border:1px solid var(--line)}
select option{background-color:var(--panel);color:var(--fg)}
textarea{min-height:160px;resize:vertical}
.is-invalid{border:1px dashed var(--acc)}
.err,.status{font-size:13px;color:var(--fg);margin-top:var(--s1)}
.err::before,.status::before{content:"[!] ";color:var(--acc)}
.check{display:flex;gap:var(--s2);align-items:flex-start}
.check input{width:auto;margin-top:var(--s1);flex-shrink:0}
.check label{margin:0;color:var(--fg);font-size:14px}
.btn{display:inline-block;border:1px solid var(--acc);background-color:var(--acc);color:var(--bg);padding:var(--s2) var(--s4);font-weight:700;text-align:center}
.btn-ghost{background-color:transparent;color:var(--acc)}
.btn:hover{border-color:var(--fg)}
.contact-grid{display:grid;gap:var(--s6)}
.addr{border:1px solid var(--line);padding:var(--s5)}
.addr address{font-style:normal;margin-bottom:var(--s4)}
.addr p{margin-bottom:var(--s4)}
.addr p:last-child{margin-bottom:0}
.site-footer{border-top:1px solid var(--line);padding-top:var(--s6);padding-bottom:var(--s6);font-size:13px;color:var(--mute)}
.foot-grid{display:grid;gap:var(--s5)}
.foot-grid>div{min-width:0}
.site-footer h4{color:var(--fg);font-size:13px;margin-bottom:var(--s3)}
.site-footer h4::before{content:"## ";color:var(--acc)}
.site-footer p,.site-footer address{margin-bottom:var(--s3);font-style:normal}
.site-footer li{margin-bottom:var(--s1)}
.site-footer a{color:var(--fg);border:0}
.site-footer a:hover{color:var(--acc)}
.indep{margin-top:var(--s5);padding-top:var(--s4);border-top:1px solid var(--line)}
.cookie{position:fixed;left:0;right:0;bottom:0;background-color:var(--panel);border-top:1px solid var(--acc);padding:var(--s4);z-index:50;font-size:14px;color:var(--fg)}
.cookie-in{max-width:1120px;margin:0 auto;display:flex;flex-direction:column;gap:var(--s4)}
.cookie-in p{min-width:0}
.cookie-actions{display:flex;flex-direction:column;gap:var(--s2)}
.cookie-actions .btn{width:100%}
.cookie-prefs{border-top:1px solid var(--line);padding-top:var(--s3);display:grid;gap:var(--s2);justify-items:start}
@media(min-width:480px){.cookie-actions{flex-direction:row;flex-wrap:wrap}.cookie-actions .btn{flex:1 1 auto;width:auto}}
@media(min-width:768px){.hero-grid{grid-template-columns:minmax(0,3fr) minmax(0,2fr)}.split{grid-template-columns:minmax(0,1fr) minmax(0,2fr)}.toc{position:sticky;top:var(--s5);align-self:start}.gloss{grid-template-columns:repeat(2,minmax(0,1fr))}.foot-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.contact-grid{grid-template-columns:minmax(0,3fr) minmax(0,2fr)}.cookie-in{flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:space-between}.cookie-in p{flex:1 1 320px}.cookie-actions{flex-wrap:nowrap;justify-content:flex-end;flex-shrink:0}.cookie-actions .btn{flex:0 0 auto}.cookie-prefs{flex-basis:100%}}
@media(min-width:1024px){.site-header{height:60px}.brand{flex-shrink:0;white-space:nowrap}.nav-toggle,.nav-close,.nav-cta{display:none}.nav{position:static;inset:auto;display:block;padding:0;overflow:visible;background-color:transparent;flex:1 1 auto;min-width:0}.nav ul{flex-direction:row;justify-content:center;gap:var(--s4);margin-block:0}.nav a{font-size:13px}.cta{display:inline-block}.page{grid-template-columns:minmax(0,1fr) 260px}.side{position:sticky;top:var(--s5);align-self:start}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}html{scroll-behavior:auto}}