:root{--drift-spring:cubic-bezier(0.34, 1.56, 0.64, 1);--drift-stream:cubic-bezier(0.25, 1, 0.5, 1);--drift-ripple:cubic-bezier(0.0, 0.0, 0.2, 1);--drift-fade:cubic-bezier(0.16, 1, 0.3, 1)}@keyframes driftIn{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes rippleSpread{from{opacity:.35;transform:scale(0)}to{opacity:0;transform:scale(2.8)}}@keyframes copyBounce{0%{transform:scale(1)}40%{transform:scale(.88)}75%{transform:scale(1.14)}90%{transform:scale(.96)}100%{transform:scale(1)}}@keyframes floatBob{0%,100%{transform:translateY(0)}50%{transform:translateY(-3px)}}.mobile-toc-trigger{transition:transform .4s var(--drift-spring),box-shadow .4s ease,background .2s ease;animation:floatBob 4s ease-in-out infinite}.mobile-toc-trigger:hover{transform:translateY(-5px)rotate(.8deg)!important;box-shadow:0 12px 24px rgba(0,0,0,.1),0 4px 8px rgba(0,0,0,6%);animation:none}.scrollToTop{transition:transform .4s var(--drift-spring),box-shadow .4s ease,opacity .25s ease,visibility .25s ease!important}.scrollToTop:hover{transform:translateY(-5px)rotate(-.8deg)!important;box-shadow:0 12px 24px rgba(0,90,240,.18),0 4px 8px rgba(0,90,240,.1)}.drift-ripple{position:relative;overflow:hidden}.drift-ripple::after{content:'';position:absolute;inset:0;border-radius:inherit;background:radial-gradient( circle at var(--ripple-x,50%) var(--ripple-y,50%),rgba(0,90,240,.18) 0%,transparent 70% );opacity:0;pointer-events:none;transform:scale(0);transition:none}.drift-ripple.rippling::after{animation:rippleSpread .55s var(--drift-ripple)forwards}.nav-links a{position:relative;overflow:hidden}#TableOfContents a,.mobile-toc-body a{position:relative;overflow:hidden}#TableOfContents a::after,.mobile-toc-body a::after{content:'';position:absolute;inset:0;background:radial-gradient(circle at 30% 50%,rgba(0,90,240,.12) 0%,transparent 70%);opacity:0;pointer-events:none;transform:scale(0);transition:none}#TableOfContents a.rippling::after,.mobile-toc-body a.rippling::after{animation:rippleSpread .45s var(--drift-ripple)forwards}[data-drift=pending]{opacity:0;transform:translateY(14px)}[data-drift=done]{animation:driftIn .55s var(--drift-fade)both}.sidebar .toc{position:relative}.sidebar .toc::before{content:'';position:absolute;left:0;top:var(--toc-indicator-top,0px);width:3px;height:1.5em;background:var(--color-primary,#005AF0);border-radius:0 2px 2px 0;opacity:0;transition:top .35s var(--drift-stream),opacity .25s ease;pointer-events:none}.sidebar .toc.has-active::before{opacity:1}.drift-table-wrap{position:relative;overflow:hidden}.drift-table-wrap>.drift-table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:rgba(0,90,240,.2)transparent;padding-bottom:4px}.drift-table-wrap>.drift-table-scroll::-webkit-scrollbar{height:4px}.drift-table-wrap>.drift-table-scroll::-webkit-scrollbar-track{background:0 0}.drift-table-wrap>.drift-table-scroll::-webkit-scrollbar-thumb{background:rgba(0,90,240,.25);border-radius:2px}.drift-table-wrap::before,.drift-table-wrap::after{content:'';position:absolute;top:0;bottom:0;width:32px;pointer-events:none;z-index:2;transition:opacity .2s ease}.drift-table-wrap::before{left:0;background:linear-gradient(to right,rgba(255,255,255,.92),transparent);opacity:0}.drift-table-wrap::after{right:0;background:linear-gradient(to left,rgba(255,255,255,.92),transparent)}.drift-table-wrap.at-start::before{opacity:0}.drift-table-wrap.at-end::after{opacity:0}.drift-table-wrap.can-scroll::after{opacity:1}.drift-table-wrap.scrolling-mid::before{opacity:1}.copy-code-button{transition:transform .35s var(--drift-spring),opacity .2s ease,background .2s ease}.copy-code-button:hover{transform:translateY(-2px);background:rgba(40,40,40,.85)}.copy-code-button:active{transform:scale(.93);transition-duration:.1s}.copy-code-button.copy-success{animation:copyBounce .45s var(--drift-spring);background:rgba(0,170,100,.85)}.card{transition:transform .4s var(--drift-spring),box-shadow .4s ease!important}.card:hover{transform:translateY(-4px);box-shadow:0 12px 28px rgba(0,0,0,9%),0 4px 8px rgba(0,0,0,6%)!important}@media(prefers-reduced-motion:reduce){[data-drift],.mobile-toc-trigger,.scrollToTop,.copy-code-button,.card,.drift-ripple::after,#TableOfContents a::after,.sidebar .toc::before{animation:none!important;transition:opacity .15s ease!important;transform:none!important}}