.toc-container:not(.mobile-toc){position:fixed;top:6rem;right:2rem;width:300px;max-height:calc(100vh - 8rem);overflow-y:auto;border-left:2px solid #e5e7eb;padding:1.5rem;border-radius:.75rem;transition:all .3s ease;z-index:40;backdrop-filter:blur(16px);box-shadow:0 10px 25px -5px #0000001a,0 4px 6px -2px #0000000d;border:1px solid rgba(229,231,235,.9)}.toc-container.mobile-toc{position:static;max-height:none;overflow-y:visible;border-left:2px solid #e5e7eb;padding:1.5rem;border-radius:.75rem;margin-bottom:2rem;background:#fffffff2;backdrop-filter:blur(12px);box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;border:1px solid rgba(229,231,235,.8)}:global(.dark) .toc-container:not(.mobile-toc){background:#111827fa;backdrop-filter:blur(16px);border-left-color:#4b5563;border-color:#4b5563e6;box-shadow:0 10px 25px -5px #0006,0 4px 6px -2px #00000040,0 0 0 1px #4b55634d}:global(.dark) .toc-container.mobile-toc{background:#111827f2;backdrop-filter:blur(12px);border-left-color:#374151;border-color:#4b5563cc;box-shadow:0 4px 6px -1px #0000004d,0 2px 4px -1px #0003,0 0 0 1px #4b556333}.toc-container.is-sticky{backdrop-filter:blur(16px);box-shadow:0 8px 25px -5px #0000001a,0 4px 6px -2px #0000000d,0 0 0 1px #e5e7eb80}:global(.dark) .toc-container.is-sticky{box-shadow:0 8px 25px -5px #0006,0 4px 6px -2px #00000040,0 0 0 1px #4b556366}.toc-nav{font-size:.875rem;line-height:1.25rem}.toc-container::-webkit-scrollbar{width:6px}.toc-container::-webkit-scrollbar-track{background:#f3f4f680;border-radius:3px}.toc-container::-webkit-scrollbar-thumb{background:#9ca3afcc;border-radius:3px;transition:background .2s ease}.toc-container::-webkit-scrollbar-thumb:hover{background:#6b7280e6}:global(.dark) .toc-container::-webkit-scrollbar-track{background:#1f293780}:global(.dark) .toc-container::-webkit-scrollbar-thumb{background:#4b5563cc}:global(.dark) .toc-container::-webkit-scrollbar-thumb:hover{background:#6b7280e6}.toc-nav a.active{color:#2563eb;font-weight:600;background:#2563eb14;border-radius:.375rem;border-left:3px solid #2563eb;padding-left:.75rem;margin-left:-.75rem;padding-right:.5rem;position:relative}.toc-nav a.active:before{content:"";position:absolute;left:-2px;top:50%;transform:translateY(-50%);width:6px;height:6px;background:#2563eb;border-radius:50%;box-shadow:0 0 0 2px #2563eb33}:global(.dark) .toc-nav a.active{color:#60a5fa;background:#60a5fa26;border-left-color:#60a5fa}:global(.dark) .toc-nav a.active:before{background:#60a5fa;box-shadow:0 0 0 2px #60a5fa4d}.toc-nav a{border-radius:.375rem;padding-left:.5rem;padding-right:.5rem;margin-left:-.5rem;margin-right:-.5rem;transition:all .2s ease}.toc-nav a:hover:not(.active){background:#3b82f60d;transform:translate(2px)}:global(.dark) .toc-nav a:hover:not(.active){background:#60a5fa1a}.toc-nav ul ul a{position:relative}.toc-nav ul ul a:before{content:"";position:absolute;left:-1rem;top:50%;transform:translateY(-50%);width:2px;height:2px;background:#9ca3af;border-radius:50%}:global(.dark) .toc-nav ul ul a:before{background:#6b7280}@media (max-width: 1024px){.toc-container.mobile-toc{position:static;top:auto;max-height:none;margin-bottom:2rem;border-left:none;border-top:2px solid #e5e7eb;padding-top:1.5rem;border-radius:.75rem;z-index:auto}:global(.dark) .toc-container.mobile-toc{border-top-color:#374151}}.toc-container *{transition:color .2s ease,background-color .2s ease,border-color .2s ease}.toc-nav a:focus{outline:2px solid #2563eb;outline-offset:2px;border-radius:.375rem}:global(.dark) .toc-nav a:focus{outline-color:#60a5fa}.toc-container:hover{box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d}:global(.dark) .toc-container:hover{box-shadow:0 10px 15px -3px #0006,0 4px 6px -2px #00000040,0 0 0 1px #4b55634d}.toc-container:after{content:"";position:absolute;top:-2px;left:0;right:0;height:2px;background:linear-gradient(90deg,#3b82f6,#8b5cf6,#3b82f6);background-size:200% 100%;border-radius:1px;opacity:0;animation:gradientShift 3s ease-in-out infinite;transition:opacity .3s ease}.toc-container.is-sticky:after{opacity:.6}:global(.dark) .toc-container.is-sticky:after{opacity:.8}@keyframes gradientShift{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}
