:root{--sidebar-width: 250px;--sidebar-top-offset: var(--space-8);--sidebar-bg: var(--color-bg);--sidebar-border: var(--color-border);--sidebar-accent: var(--color-text);--text-hover: var(--color-text);--link-color: var(--color-text);--link-hover-color: var(--color-text);--link-hover-bg: var(--color-hover);--link-active-bg: var(--color-text);--link-active-color: var(--color-bg-alt);--border-radius: var(--radius-md);--border-width-thin: 1px;--border-width-accent: 3px;--sidebar-padding: var(--space-4);--link-padding: var(--space-2) var(--space-3);--item-margin: var(--space-2) 0;--transition-speed: var(--transition-duration-base)}.sidebar-base{position:sticky;top:calc(var(--nav-height) + var(--sidebar-top-offset));height:fit-content;max-height:calc(100vh - var(--nav-height) - (var(--sidebar-top-offset) * 2));overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--sidebar-border) transparent}.sidebar-base::-webkit-scrollbar{width:6px}.sidebar-base::-webkit-scrollbar-track{background:transparent}.sidebar-base::-webkit-scrollbar-thumb{background-color:var(--sidebar-border);border-radius:var(--radius-sm)}.sidebar-base::-webkit-scrollbar-thumb:hover{background-color:var(--color-text-secondary)}.sidebar-nav{padding:var(--sidebar-padding);background-color:var(--sidebar-bg);border-radius:var(--border-radius);border:var(--border-width-thin) solid var(--sidebar-border)}.sidebar-nav-with-accent{border:none;border-inline-start:var(--border-width-accent) solid var(--sidebar-accent)}.sidebar-title{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);text-transform:uppercase;color:var(--color-text-secondary);margin:0 0 var(--space-4) 0;letter-spacing:var(--tracking-wide)}.sidebar-list{list-style:none;padding:0;margin:0}.sidebar-item{margin:var(--item-margin)}.sidebar-link{display:flex;align-items:center;padding:var(--link-padding);min-height:var(--touch-target-min);color:var(--link-color);text-decoration:none;border-radius:var(--radius-sm);font-size:var(--font-size-sm);transition:background-color var(--transition-speed),color var(--transition-speed)}.sidebar-link:hover{color:var(--link-hover-color);background-color:var(--link-hover-bg);text-decoration:underline}.sidebar-link.active{background-color:var(--link-active-bg);color:var(--link-active-color);font-weight:var(--font-weight-medium);text-decoration:none}.sidebar-link.active:hover{background-color:var(--color-text);text-decoration:none}.sidebar-link:focus-visible{outline:2px solid var(--sidebar-accent);outline-offset:2px}.category-header{display:flex;justify-content:space-between;align-items:center;width:100%;padding:var(--space-2) 0;font-weight:var(--font-weight-semibold);color:var(--color-text);font-size:var(--font-size-sm);text-transform:uppercase;letter-spacing:var(--tracking-wide);background:none;border:none;cursor:pointer;margin-bottom:var(--space-2);transition:color var(--transition-speed)}.category-header:hover{color:var(--text-hover)}.category-header:focus-visible{outline:2px solid var(--sidebar-accent);outline-offset:2px;border-radius:var(--radius-sm)}.category-chevron{display:inline-flex;align-items:center;font-size:var(--font-size-xs);margin-inline-start:var(--space-2);flex-shrink:0;transition:transform var(--transition-speed)}.category-header[aria-expanded=false] .category-chevron{transform:rotate(-90deg)}.collapsible-list{list-style:none;padding:0;margin:0;max-height:9999px;transition:max-height var(--transition-speed)}.category-item[aria-expanded=false] .collapsible-list{max-height:0;overflow:hidden}.toc-item{margin:var(--item-margin)}.toc-level-2{margin-inline-start:0}.toc-level-3{margin-inline-start:var(--space-4);font-size:var(--font-size-sm)}.toc-level-4{margin-inline-start:var(--space-6);font-size:var(--font-size-xs)}.toc-level-5,.toc-level-6{margin-inline-start:var(--space-8);font-size:var(--font-size-xs)}@media(prefers-reduced-motion:reduce){.sidebar-link,.category-header,.collapsible-list{transition:none}}@media(max-width:48rem){.sidebar-base{position:static;max-height:none;overflow-y:visible}}@media(max-width:75rem){.sidebar-toc{display:none}}
