:root{--transition-fast:100ms;--transition-normal:200ms;--transition-slow:300ms;--animation-fast:150ms;--animation-normal:300ms;--animation-slow:600ms;--ease-in:cubic-bezier(0.4,0,1,1);--ease-out:cubic-bezier(0,0,0.2,1);--ease-in-out:cubic-bezier(0.4,0,0.2,1);--ease-bounce:cubic-bezier(0.68,-0.55,0.265,1.55)}@keyframes ripple-animation{0%{transform:scale(0);opacity:1}to{transform:scale(4);opacity:0}}.ripple{position:absolute;border-radius:50%;background-color:var(--ripple-color,hsl(var(--background)/.5));pointer-events:none;animation:ripple-animation var(--ripple-duration,.6s) ease-out}@keyframes bounce{0%,to{transform:scale(1)}50%{transform:scale(1.2)}}.bouncing{animation:bounce var(--animation-normal) var(--ease-bounce)}.pin-button.bouncing{animation:bounce .3s cubic-bezier(.68,-.55,.265,1.55)}@keyframes shimmer{0%{transform:translateX(-100%)}to{transform:translateX(200%)}}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.skeleton{background:linear-gradient(90deg,hsl(var(--muted)) 0,hsl(var(--muted-foreground)/.1) 50%,hsl(var(--muted)) 100%);background-size:200% 100%;animation:skeleton-shimmer 1.5s ease-in-out infinite;border-radius:var(--radius,.5rem)}.skeleton-circle{border-radius:50%}.skeleton-text{height:1em;border-radius:4px}.skeleton-rectangle{border-radius:var(--radius,.5rem)}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes fade-out{0%{opacity:1}to{opacity:0}}.fade-in{animation:fade-in var(--transition-normal) var(--ease-out)}.fade-out{animation:fade-out var(--transition-normal) var(--ease-out)}@keyframes sidebar-panel-enter{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.sidebar-panel-active{animation:sidebar-panel-enter .5s cubic-bezier(0,0,.2,1) both}@media (prefers-reduced-motion:reduce){.sidebar-panel-active{animation:none}}@keyframes title-roll-in{0%{opacity:0;transform:translateY(100%)}40%{opacity:.5}to{opacity:1;transform:translateY(0)}}.animate-title-roll-in{animation:title-roll-in .6s cubic-bezier(.22,1,.36,1) both}@media (prefers-reduced-motion:reduce){.animate-title-roll-in{animation:none}}@keyframes page-enter{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.animate-page-enter{animation:page-enter .5s cubic-bezier(0,0,.2,1) both}@media (prefers-reduced-motion:reduce){.animate-page-enter{animation:none}}.nav-item,.pin-button,[role=button],[role=link],a,button{transition:all var(--transition-normal) var(--ease-in-out)}.transition-colors{transition:color var(--transition-normal) var(--ease-in-out),background-color var(--transition-normal) var(--ease-in-out),border-color var(--transition-normal) var(--ease-in-out)}.transition-transform{transition:transform var(--transition-normal) var(--ease-in-out)}.transition-shadow{transition:box-shadow var(--transition-normal) var(--ease-in-out)}@keyframes flyout-shadow-appear{0%{box-shadow:0 0 0 hsl(var(--shadow-color)/0)}to{box-shadow:0 20px 40px hsl(var(--shadow-color)/.08),0 8px 16px hsl(var(--shadow-color)/.06),0 0 0 1px hsl(var(--shadow-color)/.04)}}@keyframes flyout-shadow-appear-dark{0%{box-shadow:0 0 0 hsl(var(--shadow-color)/0)}to{box-shadow:0 20px 40px hsl(var(--shadow-color)/.25),0 8px 16px hsl(var(--shadow-color)/.2),0 0 0 1px hsl(var(--border)/.15)}}.flyout-shadow{animation:flyout-shadow-appear .2s var(--ease-out) forwards}.dark .flyout-shadow{animation:flyout-shadow-appear-dark .2s var(--ease-out) forwards}@keyframes bpa-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.5)}}@media (prefers-reduced-motion:reduce){.bpa-pulse-dot{animation:none!important}*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.bouncing,.flyout-shadow,.ripple,.skeleton{animation:none!important}.accordion-content,.nav-item,.pin-button,a,button{transition:none!important}}.accordion-content{display:grid;grid-template-rows:0fr;transition:grid-template-rows .25s var(--ease-in-out),opacity .25s var(--ease-in-out);opacity:0}.accordion-content>*{overflow:hidden}.accordion-content.accordion-open{grid-template-rows:1fr;opacity:1}.gpu-accelerated,.ripple,.skeleton{transform:translateZ(0);will-change:transform,opacity}.focus-ring{outline:2px solid transparent;outline-offset:2px;transition:outline-color var(--transition-fast) var(--ease-out),outline-offset var(--transition-fast) var(--ease-out)}.focus-ring:focus-visible{outline-color:hsl(var(--ring));outline-offset:4px}.no-animation,.no-animation *{animation:none!important;transition:none!important}.animation-paused{animation-play-state:paused!important}.animation-delay-100{animation-delay:.1s}.animation-delay-200{animation-delay:.2s}.animation-delay-300{animation-delay:.3s}.scroll-fade-container{position:relative;isolation:isolate}.scroll-fade-container:before{content:"";position:absolute;top:0;inset-inline-start:0;inset-inline-end:0;height:40px;background:linear-gradient(to bottom,hsl(var(--muted)/.5) 0,hsl(var(--muted)/.2) 50%,transparent 100%);opacity:0;transition:opacity .2s ease-out;pointer-events:none;z-index:25}.dark .scroll-fade-container:before{background:linear-gradient(to bottom,hsl(var(--background)/.6) 0,hsl(var(--background)/.3) 50%,transparent 100%)}.scroll-fade-container:after{content:"";position:absolute;bottom:0;inset-inline-start:0;inset-inline-end:0;height:40px;background:linear-gradient(to top,hsl(var(--muted)/.5) 0,hsl(var(--muted)/.2) 50%,transparent 100%);opacity:0;transition:opacity .2s ease-out;pointer-events:none;z-index:25}.dark .scroll-fade-container:after{background:linear-gradient(to top,hsl(var(--background)/.6) 0,hsl(var(--background)/.3) 50%,transparent 100%)}.scroll-fade-container.show-bottom-fade:after,.scroll-fade-container.show-top-fade:before{opacity:1}