.doc-hero{padding-top:calc(var(--header-h) + clamp(2.25rem,4vw,3.75rem));padding-bottom:clamp(1.5rem,3vw,2.5rem);position:relative;overflow:clip}.doc-hero .hero-grid-bg{position:absolute;inset:0;background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:72px 72px;mask-image:radial-gradient(65% 60% at 25% 20%,black 30%,transparent 100%);-webkit-mask-image:radial-gradient(65% 60% at 25% 20%,black 30%,transparent 100%);pointer-events:none}.doc-hero .container{position:relative}.doc-hero h1{font-size:var(--step-4);margin-top:1.1rem;max-width:18ch}.doc-lede{color:var(--ink-soft);font-size:var(--step-1);max-width:46rem;margin-top:1.2rem;line-height:1.55}.doc-meta{list-style:none;padding:1.4rem 0 0;margin:2.2rem 0 0;border-top:1px solid var(--line);display:flex;flex-wrap:wrap;gap:.6rem 2.4rem;font-family:var(--font-mono);font-size:.76rem;letter-spacing:.06em;color:var(--ink-faint)}.doc-meta li{display:inline-flex;align-items:center;gap:.55rem}.doc-meta li:before{content:"";width:5px;height:5px;background:var(--accent);flex:none}.doc-meta b{color:var(--ink);font-weight:500}.doc-body{width:min(58rem,100% - 2.5rem);margin-inline:auto;padding-bottom:clamp(3.5rem,6vw,6rem)}.toc{border:1px solid var(--line);background:var(--bg-raised);border-radius:var(--radius);padding:1.5rem 1.6rem;margin-bottom:clamp(2.5rem,5vw,4rem);--tick-color: var(--line-strong)}.toc h2{font-family:var(--font-mono);font-weight:500;font-size:.72rem;text-transform:uppercase;letter-spacing:.22em;color:var(--ink-faint);margin-bottom:1.1rem}.toc ol{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.1rem 1.6rem;counter-reset:toc}.toc li{counter-increment:toc}.toc a{display:flex;align-items:baseline;gap:.75rem;padding:.42rem .5rem;margin-inline:-.5rem;border-radius:2px;text-decoration:none;color:var(--ink-soft);font-size:.93rem;transition:color .18s ease,background .18s ease}.toc a:before{content:counter(toc,decimal-leading-zero);font-family:var(--font-mono);font-size:.7rem;letter-spacing:.08em;color:var(--accent);flex:none}.toc a:hover{color:var(--ink);background:var(--bg-panel)}.doc-section{scroll-margin-top:calc(var(--header-h) + 1.5rem);padding-top:clamp(2.2rem,4vw,3.2rem)}.doc-section+.doc-section{border-top:1px solid var(--line)}.doc-section>h2{display:flex;align-items:baseline;gap:.9rem;font-size:var(--step-2);margin-bottom:1.4rem}.doc-section>h2 .n{font-family:var(--font-mono);font-weight:500;font-size:.78rem;letter-spacing:.14em;color:var(--accent);flex:none;position:relative;top:-.15em}.doc-section>h2 a.anchor{text-decoration:none;color:var(--ink-faint);opacity:0;font-family:var(--font-mono);font-size:.8rem;transition:opacity .18s ease,color .18s ease}.doc-section>h2:hover a.anchor,.doc-section>h2 a.anchor:focus-visible{opacity:1}.doc-section>h2 a.anchor:hover{color:var(--accent)}.prose{color:var(--ink-soft);font-size:1rem;line-height:1.72}.prose>*+*{margin-top:1rem}.prose h3{font-family:var(--font-body);font-weight:600;font-size:1.02rem;line-height:1.4;letter-spacing:0;color:var(--ink);margin-top:2rem}.prose h3+*{margin-top:.5rem}.prose strong{color:var(--ink);font-weight:600}.prose a{color:var(--ink);text-decoration:underline;text-decoration-color:var(--line-strong);text-underline-offset:3px;transition:color .18s ease,text-decoration-color .18s ease}.prose a:hover{color:var(--accent);text-decoration-color:var(--accent)}.prose ul,.prose ol{padding-left:0;list-style:none;display:grid;gap:.6rem}.prose ul>li{position:relative;padding-left:1.4rem}.prose ul>li:before{content:"";position:absolute;left:.15rem;top:.72em;width:6px;height:1px;background:var(--accent)}.prose ol{counter-reset:prose-ol}.prose ol>li{position:relative;padding-left:2rem;counter-increment:prose-ol}.prose ol>li:before{content:counter(prose-ol,decimal-leading-zero);position:absolute;left:0;top:.1em;font-family:var(--font-mono);font-size:.72rem;color:var(--accent)}.prose li>ul{margin-top:.6rem}.callout{border:1px solid var(--line-strong);border-left:2px solid var(--accent);background:var(--bg-raised);border-radius:var(--radius);padding:1.15rem 1.3rem;margin-top:1.4rem}.callout p{color:var(--ink-soft);font-size:.95rem}.callout>*+*{margin-top:.6rem}.callout .callout-label{display:block;font-family:var(--font-mono);font-size:.68rem;text-transform:uppercase;letter-spacing:.2em;color:var(--accent);margin-bottom:.55rem}.callout.warn{border-left-color:var(--accent2)}.callout.warn .callout-label{color:var(--accent2)}.contact-card{border:1px solid var(--line-strong);border-radius:var(--radius);background:radial-gradient(70% 120% at 0% 0%,var(--accent-soft),transparent 65%),var(--bg-raised);padding:1.5rem 1.6rem;margin-top:1.4rem;--tick-color: var(--accent)}.contact-card dl{display:grid;grid-template-columns:auto 1fr;gap:.5rem 1.6rem;margin:0;font-size:.95rem}.contact-card dt{font-family:var(--font-mono);font-size:.7rem;text-transform:uppercase;letter-spacing:.14em;color:var(--ink-faint);padding-top:.28em}.contact-card dd{margin:0;color:var(--ink)}.contact-card a{color:var(--accent);text-decoration:none}.contact-card a:hover{text-decoration:underline;text-underline-offset:3px}.doc-foot{margin-top:clamp(2.5rem,5vw,4rem);padding-top:1.5rem;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;font-family:var(--font-mono);font-size:.75rem;letter-spacing:.1em;color:var(--ink-faint)}.doc-foot a{color:var(--ink-soft);text-decoration:none}.doc-foot a:hover{color:var(--accent)}.doc-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.9rem;margin-top:2.4rem}.doc-links a{border:1px solid var(--line);border-radius:var(--radius);background:var(--bg-raised);padding:1.1rem 1.2rem;text-decoration:none;display:block;transition:border-color .2s ease,background .2s ease}.doc-links a:hover{border-color:var(--accent);background:var(--bg-panel)}.doc-links b{display:block;font-family:var(--font-display);font-weight:600;font-size:1.05rem;color:var(--ink)}.doc-links span{display:block;margin-top:.3rem;color:var(--ink-faint);font-size:.85rem}.doc-links [aria-current=page]{border-color:var(--line-strong);opacity:.55;pointer-events:none}@media(max-width:720px){.toc ol,.doc-links{grid-template-columns:1fr}.contact-card dl{grid-template-columns:1fr;gap:.15rem}.contact-card dt{padding-top:.7rem}.doc-section>h2{display:block}.doc-section>h2 .n{display:block;top:0;margin-bottom:.5rem}}
