.scroll-top-button{position: fixed;left: 50%;bottom: 2rem;--scroll-top-offset-y: 0px;--scroll-top-hidden-distance: calc(100% + 1.5rem);display: inline-flex;align-items: center;justify-content: center;gap: 0;min-width: 3rem;height: 3rem;padding: 0;border: 1px solid color-mix(in oklab, var(--primary30) 14%, white);border-radius: 999px;background: color-mix(in oklab, var(--primary30) 92%, white);color: white;box-shadow: 0 12px 30px color-mix(in oklab, var(--primary30) 18%, transparent);opacity: 0;pointer-events: none;overflow: hidden;transform: translate3d(-50%, calc(var(--scroll-top-hidden-distance) + var(--scroll-top-offset-y)), 0) scale(0.88);transform-origin: center bottom;will-change: transform, opacity;transition: opacity 0.24s ease, transform 0.42s cubic-bezier(0.22, 1, 0.36, 1), box-shadow 0.24s ease, background-color 0.24s ease;z-index: 95;-webkit-tap-highlight-color: transparent;}.scroll-top-button.is-visible{opacity: 1;pointer-events: auto;transform: translate3d(-50%, var(--scroll-top-offset-y), 0) scale(1);transition-delay: 0.02s, 0.02s, 0s, 0s;}.scroll-top-button.is-pressed{transform: translate3d(-50%, var(--scroll-top-offset-y), 0) scale(0.95);}.scroll-top-button.is-compact{width: 3rem;min-width: 3rem;padding-inline: 0;gap: 0;}.scroll-top-button.is-compact .scroll-top-button__label{opacity: 0;width: 0;max-width: 0;margin: 0;}.scroll-top-button.is-near-footer{transition-duration: 0.18s, 0.24s, 0.24s, 0.24s;}.scroll-top-button__icon{display: inline-flex;align-items: center;justify-content: center;width: 1.25rem;height: 1.25rem;flex-shrink: 0;}.scroll-top-button__icon svg{display: block;width: 100%;height: 100%;}.scroll-top-button__label{display: none;}@media (hover: hover) and (pointer: fine){.scroll-top-button:hover{background: color-mix(in oklab, var(--primary20) 88%, white);box-shadow: 0 16px 34px color-mix(in oklab, var(--primary20) 20%, transparent);}}.scroll-top-button:focus-visible{outline: 2px solid color-mix(in oklab, var(--primary30) 75%, white);outline-offset: 3px;}@media (min-width: 783px){.scroll-top-button{gap: 0.5rem;padding-inline: 0.95rem 1.1rem;min-width: auto;}.scroll-top-button__label{display: inline-block;max-width: 6rem;overflow: hidden;font-size: 0.95rem;line-height: 1;white-space: nowrap;transition: opacity 0.18s ease, max-width 0.22s ease, margin 0.22s ease;}}@media (min-width: 1080px){.scroll-top-button{bottom: 2rem;}}@media (prefers-reduced-motion: reduce){.scroll-top-button{transition: none;}}