.toc{display:block;background:transparent;padding:0;margin-bottom:1.5rem}@media(min-width:1024px){.toc{position:sticky;top:var(--sidebar-top, 5rem);transition:top .3s ease}}.toc-title{font-size:.75rem;font-weight:500;text-transform:uppercase;letter-spacing:.08em;color:hsl(var(--muted-foreground));margin:0 0 .75rem;padding:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.toc-list{list-style:none;margin:0;padding:0;border-left:1px solid hsl(var(--border))}.toc-list li{margin:0}.toc-link{display:block;padding:.375rem 0 .375rem 1rem;font-size:.875rem;color:hsl(var(--muted-foreground));text-decoration:none;transition:color .15s ease,border-color .15s ease;line-height:1.5;font-weight:400;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;border-left:2px solid transparent;margin-left:-1px}.toc-link:hover{color:hsl(var(--foreground))}.toc-link:focus-visible{outline:3px solid hsl(var(--primary, 356 83% 52%));outline-offset:2px}.toc-link.active{color:hsl(var(--primary, 0 84% 60%));font-weight:500;border-left-color:hsl(var(--primary, 0 84% 60%))}.toc-fab{display:none;position:fixed;bottom:1.25rem;right:1.25rem;width:48px;height:48px;background:hsl(var(--background));color:hsl(var(--muted-foreground));border:1px solid hsl(var(--border));border-radius:50%;box-shadow:0 4px 12px #0000001a,0 1px 3px #00000014;cursor:pointer;z-index:100;transition:all .2s ease;align-items:center;justify-content:center}.toc-fab:hover{background:hsl(var(--muted))}.toc-fab:active{transform:scale(.95);box-shadow:0 2px 8px #0000001a}.toc-fab:focus-visible{outline:3px solid hsl(var(--primary, 356 83% 52%));outline-offset:2px}.toc-fab svg{width:24px;height:24px}.toc-backdrop{display:none;position:fixed;inset:0;background:#0000004d;z-index:101;opacity:0;pointer-events:none;transition:opacity .2s ease;backdrop-filter:blur(2px)}.toc-backdrop.open{opacity:1;pointer-events:auto}.toc-drawer{display:none;position:fixed;bottom:0;left:0;right:0;background:hsl(var(--background));border-radius:16px 16px 0 0;box-shadow:0 -2px 20px #00000014;z-index:102;max-height:60vh;overflow:hidden;transform:translateY(100%);transition:transform .3s cubic-bezier(.32,.72,0,1)}.toc-drawer.open{transform:translateY(0)}.toc-drawer:before{content:"";position:absolute;top:6px;left:50%;transform:translate(-50%);width:36px;height:5px;background:hsl(var(--border));border-radius:3px}.toc-drawer-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 1.25rem .75rem;position:sticky;top:0;background:hsl(var(--background));z-index:1}.toc-drawer-title{font-size:.75rem;font-weight:500;color:hsl(var(--muted-foreground));margin:0;text-transform:uppercase;letter-spacing:.08em}.toc-drawer-close{background:transparent;border:none;color:hsl(var(--muted-foreground));cursor:pointer;width:44px;height:44px;display:flex;align-items:center;justify-content:center;border-radius:6px;transition:color .15s ease,background .15s ease}.toc-drawer-close svg{width:24px;height:24px}.toc-drawer-close:hover{background:hsl(var(--muted))}.toc-drawer-close:active{color:hsl(var(--muted-foreground))}.toc-drawer-close:focus-visible{outline:3px solid hsl(var(--primary, 356 83% 52%));outline-offset:2px}.toc-drawer-nav{overflow-y:auto;max-height:calc(60vh - 50px);padding:.25rem 0 1.5rem;-webkit-overflow-scrolling:touch}.toc-drawer-list{list-style:none;margin:0 1.25rem;padding:0;border-left:1px solid hsl(var(--border))}.toc-drawer-list li{margin:0}.toc-drawer-link{display:block;padding:.5rem 0 .5rem 1rem;font-size:1rem;color:hsl(var(--muted-foreground));text-decoration:none;border-left:2px solid transparent;margin-left:-1px;transition:color .15s ease;line-height:1.4}.toc-drawer-link:active{color:hsl(var(--foreground))}.toc-drawer-link:focus-visible{outline:3px solid hsl(var(--primary, 356 83% 52%));outline-offset:2px}.toc-drawer-link.active{color:hsl(var(--primary, 0 84% 60%));font-weight:500;border-left-color:hsl(var(--primary, 0 84% 60%))}@media(min-width:1024px){.toc{display:block}.toc-fab,.toc-backdrop,.toc-drawer{display:none!important}}@media(max-width:1023px){.toc{display:none}.toc-fab{display:flex}.toc-backdrop,.toc-drawer{display:block}}@media(max-width:480px){.toc-fab{bottom:1rem;right:1rem}.toc-drawer{max-height:75vh}.toc-drawer-link{padding:.6875rem 1rem;font-size:.875rem}}
