.spec-layout{display:flex;align-items:start}@media(max-width:860px){.spec-layout{flex-direction:column}.spec-toc{width:100%!important;position:static!important;border-right:none!important;border-bottom:1px solid var(--border-dim);padding:1.5rem clamp(1.5rem,5vw,3rem)!important}}.spec-toc{flex-shrink:0;width:220px;position:sticky;top:2rem;max-height:calc(100vh - 4rem);overflow-y:auto;padding:2.5rem 1.5rem 2.5rem clamp(1.5rem,5vw,3rem);border-right:1px solid var(--border-dim)}.spec-toc__label{font-family:var(--font-mono);font-size:.62rem;text-transform:uppercase;letter-spacing:.12em;color:var(--ink-4);margin-bottom:.75rem;padding-bottom:.5rem;border-bottom:1px solid var(--border-dim)}.spec-toc__list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:0}.spec-toc__item a{display:block;font-size:.78rem;font-weight:400;color:var(--ink-4);text-decoration:none;line-height:1.4;padding:.3rem .6rem;border-left:2px solid transparent;transition:color .15s,border-color .15s}.spec-toc__item a:hover{color:var(--amber);border-left-color:var(--amber-border)}.spec-toc__item--depth-2 a{padding-left:1.4rem;font-size:.73rem;opacity:.75}.spec-toc__item--depth-2 a:hover{opacity:1}.spec-doc-meta{display:flex;align-items:center;gap:.5rem;margin-top:1.25rem;font-family:var(--font-mono);font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-4)}.spec-doc-meta__sep{color:var(--border)}.spec-prose{max-width:100%}.spec-prose h1,.spec-prose h2,.spec-prose h3,.spec-prose h4{font-family:var(--font-display);font-weight:700;color:var(--ink);line-height:1.2}.spec-prose h2{font-size:1.25rem;margin:3.5rem 0 1rem;padding-bottom:.5rem;border-bottom:2px solid var(--border-dim);color:var(--ink)}.spec-prose h3{font-size:1rem;font-weight:700;margin:2.25rem 0 .6rem;color:var(--ink);font-family:var(--font-display)}.spec-prose h3:before{content:"§";color:var(--amber);margin-right:.45em;font-weight:400;font-size:.9em;opacity:.7}.spec-prose h4{font-size:.9rem;font-weight:700;color:var(--ink-2);margin:1.75rem 0 .5rem;font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.06em}.spec-prose p{color:var(--ink-3);line-height:1.85;font-weight:300;font-size:.975rem;margin-bottom:1.1rem}.spec-prose em{color:var(--ink);font-style:italic}.spec-prose strong{color:var(--ink);font-weight:600}.spec-prose code{font-family:var(--font-mono);font-size:.8em;color:var(--amber-dim);background:var(--amber-trace);padding:.12em .4em;border-radius:3px;white-space:nowrap}.spec-prose pre{border-left:3px solid var(--amber-border);border-radius:0 6px 6px 0;padding:1.25rem 1.5rem;overflow-x:auto;margin:1.5rem 0 1.75rem;font-size:.82rem}.spec-prose pre code{background:transparent!important;color:inherit!important;padding:0!important;font-size:inherit!important;white-space:pre;border-radius:0}.spec-prose ul,.spec-prose ol{padding-left:1.5rem;margin-bottom:1.25rem;color:var(--ink-3);font-weight:300;font-size:.975rem}.spec-prose li{margin-bottom:.45rem;line-height:1.75}.spec-prose li strong{color:var(--ink);font-weight:600}.spec-prose blockquote{border-left:3px solid var(--amber-border);padding:.75rem 1.25rem;margin:1.5rem 0;background:var(--amber-trace);border-radius:0 4px 4px 0}.spec-prose blockquote p{margin:0;color:var(--ink-2)}.spec-prose a{color:var(--amber);text-decoration:underline;text-decoration-color:var(--amber-border)}.spec-prose a:hover{color:var(--amber-bright)}.spec-prose hr{border:none;border-top:1px solid var(--border-dim);margin:3.5rem 0 0}.spec-prose hr+h2{margin-top:2rem}.spec-prose table{width:100%;border-collapse:collapse;font-size:.875rem;margin:1.75rem 0;border:1px solid var(--border);border-radius:6px;overflow:hidden}.spec-prose thead{background:var(--bg-2)}.spec-prose th{font-family:var(--font-mono);font-size:.68rem;text-transform:uppercase;letter-spacing:.07em;color:var(--ink-4);border-bottom:1px solid var(--border);padding:.6rem 1rem;text-align:left}.spec-prose td{padding:.65rem 1rem;border-bottom:1px solid var(--border-dim);color:var(--ink-3);font-weight:300;font-family:var(--font-mono);font-size:.82rem}.spec-prose td:first-child{color:var(--amber-dim)}.spec-prose tr:last-child td{border-bottom:none}.spec-prose tbody tr:nth-child(2n){background:var(--bg)}
