.doc-layout{max-width:1600px;min-height:100vh;margin:0 auto;display:flex}.sidebar{width:16rem;top:calc(var(--header-height,64px) + var(--subnav-height,42px));height:calc(100vh - var(--header-height,64px) - var(--subnav-height,42px));background:var(--color-bg-alt);border-right:1px solid var(--bg-card-border);scrollbar-width:thin;scrollbar-color:color-mix(in srgb, var(--accent-primary) 30%, transparent) transparent;flex-shrink:0;padding:1.5rem 0;position:sticky;overflow-y:auto}.sidebar-nav{flex-direction:column;display:flex}.sidebar-toc-label{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.1em;color:var(--text-secondary);padding:0 1.25rem 0 var(--page-padding);margin:0 0 .6rem;font-size:.65rem;font-weight:700}.sidebar-section{border-bottom:1px solid var(--bg-card-border);margin-bottom:.25rem;padding-bottom:.25rem}.sidebar-section:last-child{border-bottom:none}.sidebar-link,.sidebar-sublink{padding:.35rem 1.25rem .35rem var(--page-padding);font-family:var(--font-body);color:var(--text-secondary);border-left:3px solid #0000;font-size:.85rem;line-height:1.4;text-decoration:none;transition:all .15s;display:block}.sidebar-link{font-size:.875rem;font-weight:600}.sidebar-sublink{padding-left:calc(var(--page-padding) + .75rem);font-size:.8rem}.sidebar-link:hover,.sidebar-sublink:hover{color:var(--text-heading);background:color-mix(in srgb, var(--accent-primary) 5%, transparent);text-shadow:none;text-decoration:none}.sidebar-link.active,.sidebar-sublink.active{color:var(--accent-primary);border-left-color:var(--accent-primary);background:color-mix(in srgb, var(--accent-primary) 7%, transparent);font-weight:700}.content-area{min-width:0;padding:2rem var(--page-padding) 4rem;background:var(--bg-primary);flex:1}.content-area [id]{scroll-margin-top:calc(var(--header-height,64px) + var(--subnav-height,42px) + 1.5rem)}.spec-header{text-align:left;border-bottom:2px solid var(--bg-card-border);margin-bottom:2.5rem;padding-bottom:2.5rem}.spec-badge{font-family:var(--font-body);letter-spacing:.12em;text-transform:uppercase;border:1px solid var(--bg-card-border);color:var(--text-secondary);border-radius:9999px;margin-bottom:1rem;padding:.35em 1em;font-size:.8rem;font-weight:600;display:inline-block}.spec-title{font-family:var(--font-display);color:var(--text-heading);margin-bottom:.5rem;font-size:2.5rem;line-height:1.2}.spec-version{font-family:var(--font-mono);color:var(--text-secondary);vertical-align:middle;margin-left:.25rem;font-size:1rem;font-weight:400}.spec-subtitle{font-family:var(--font-body);color:var(--text-secondary);max-width:none;margin-bottom:1rem;font-size:1.15rem;font-style:italic}.spec-meta{font-family:var(--font-body);color:var(--text-secondary);max-width:none;margin-bottom:.25rem;font-size:.9rem}.spec-section{border-top:1px solid var(--bg-card-border);padding-top:2.5rem;padding-bottom:2.5rem}.section-heading{flex-wrap:wrap;align-items:center;gap:1rem;margin-bottom:1.5rem;display:flex}.section-heading h2{font-family:var(--font-display);color:var(--text-heading);margin:0;font-size:2rem}.badge-normative,.badge-informative{font-family:var(--font-body);letter-spacing:.08em;text-transform:uppercase;border-radius:4px;padding:.25em .75em;font-size:.7rem;font-weight:700;display:inline-block}.badge-normative{background:var(--accent-secondary);color:var(--bg-primary)}.badge-informative{background:var(--bg-card-border);color:var(--text-secondary);border:1px solid var(--bg-card-border)}.spec-subsection{margin-top:2rem;padding-top:1.5rem}.spec-subsection h3{font-family:var(--font-body);color:var(--text-heading);margin-bottom:1rem;font-size:1.35rem;font-weight:600}.content-area p{font-family:var(--font-body);color:var(--text-secondary);margin-bottom:1rem;font-size:1rem;line-height:1.75}.content-area h4{font-family:var(--font-body);color:var(--text-heading);margin-top:1.5rem;margin-bottom:.75rem;font-size:1.05rem;font-weight:600}.content-area ul,.content-area ol{font-family:var(--font-body);color:var(--text-secondary);margin-bottom:1rem;padding-left:1.5rem;font-size:1rem;line-height:1.75}.content-area li{margin-bottom:.35rem}.content-area strong{color:var(--text-primary)}.content-area code{background:var(--bg-surface);color:var(--accent-primary);border:1px solid var(--bg-card-border);border-radius:4px;padding:.15em .4em;font-size:.875em}.content-area blockquote{border-left:4px solid var(--accent-primary);background:var(--bg-surface);color:var(--text-primary);border-radius:0 8px 8px 0;margin:1.5rem 0;padding:1rem 1.5rem;font-size:1.05rem;font-style:italic;font-weight:500}.rfc{color:var(--accent-secondary);font-weight:700}.term-list{margin:1rem 0 1.5rem}.term-list dt{font-family:var(--font-body);color:var(--text-heading);margin-top:1rem;font-size:.95rem;font-weight:600}.term-list dd{font-family:var(--font-body);color:var(--text-secondary);border-left:2px solid var(--bg-card-border);margin-top:.25rem;margin-bottom:.5rem;margin-left:0;padding-left:1rem;font-size:.9rem;line-height:1.65}.field-type{color:var(--text-secondary);font-family:monospace;font-size:.8em;font-weight:400}.spec-preamble{border-bottom:1px solid var(--bg-card-border);margin-bottom:2rem;padding:0 1.25rem 2rem}.rubric-note{background:var(--bg-surface);border-left:3px solid var(--accent-primary);color:var(--text-primary);border-radius:6px;margin-top:1rem;padding:.75rem 1rem;font-size:.9rem!important}.mobile-toc{top:calc(var(--header-height,64px) + var(--subnav-height,42px));z-index:40;background:var(--color-bg-alt);border-bottom:1px solid var(--bg-card-border);display:none;position:sticky}.mobile-toc-toggle{width:100%;color:var(--accent-primary);font-family:var(--font-body);cursor:pointer;background:0 0;border:none;justify-content:space-between;align-items:center;padding:1rem 1.5rem;font-size:.95rem;font-weight:600;display:flex}.mobile-toc-toggle .chevron{transition:transform .2s}.mobile-toc-toggle[aria-expanded=true] .chevron{transform:rotate(180deg)}.mobile-toc-list{max-height:60vh;padding:0 1rem 1rem;display:none;overflow-y:auto}.mobile-toc-list[aria-hidden=false]{display:block}.toc-link{font-family:var(--font-body);color:var(--text-secondary);border-radius:4px;padding:.4rem .75rem;font-size:.85rem;text-decoration:none;display:block}.toc-link:hover{color:var(--text-heading);background:color-mix(in srgb, var(--accent-primary) 7%, transparent);text-shadow:none}.toc-h2{padding-left:1.5rem;font-size:.8rem}.content-area p,.content-area li,.content-area dd,.content-area blockquote{max-width:80ch}.content-area .formula-box,.content-area .rating-bar,.content-area .rating-bands,.content-area .detection-flow,.content-area .procedure-grid,.content-area .profile-grid,.content-area .technique-grid,.content-area .conformance-grid,.content-area .maturity-grid,.content-area .results-table-wrap,.content-area .example-scenario,.content-area details{max-width:none}details.framework-section>summary{background:var(--bg-surface);border-bottom:1px solid var(--bg-card-border);color:var(--text-primary);cursor:pointer;border-radius:0;margin-bottom:2px;padding:.85rem 1.25rem;transition:background .2s}details.framework-section>summary:hover{background:var(--bg-card-border)}details.framework-section[open]>summary{background:var(--bg-card-border);border-bottom:none;border-radius:0;margin-bottom:0}details.framework-subsection>summary{background:var(--bg-surface);color:var(--text-primary);cursor:pointer;border-radius:6px;margin-bottom:.15rem;padding:.75rem 1rem;transition:background .2s}details.framework-subsection>summary:hover{background:var(--bg-card-border)}@media (width<=1024px){.sidebar{display:none}.mobile-toc{display:block}.content-area{padding:1.5rem var(--page-padding) 3rem}.spec-title{font-size:1.75rem}.section-heading h2{font-size:1.5rem}}
