.back-to-top{position:fixed;right:max(24px,env(safe-area-inset-right));bottom:calc(24px + env(safe-area-inset-bottom));z-index:38;width:54px;height:54px;min-height:54px;padding:3px;border:1px solid #c6d3e7;border-radius:50%;background:#fbfcfef5;color:#2859bd;box-shadow:0 6px 24px #1f3c6b18;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);opacity:0;transform:translateY(12px) scale(.9);pointer-events:none;visibility:hidden;transition:opacity .3s,transform .35s cubic-bezier(.2,.8,.2,1),background .2s,visibility .3s}
.back-to-top[data-visible=true]{opacity:1;transform:translateY(0) scale(1);pointer-events:auto;visibility:visible}
.back-to-top svg{display:block;width:100%;height:100%;fill:none}.top-ring-track{stroke:#dae3f2;stroke-width:1.3}.top-ring-progress{stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-dasharray:125.664;stroke-dashoffset:calc(125.664 * (1 - var(--top-progress,0)));transform:rotate(-90deg);transform-origin:24px 24px}.top-arrow{stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;transition:transform .25s}
.back-to-top:focus-visible{outline:3px solid #2859bd;outline-offset:4px}.back-to-top:active{scale:.94}
@media(hover:hover) and (pointer:fine){.back-to-top:hover{background:#2859bd;color:#fbfcfe;transform:translateY(-3px)}.back-to-top:hover .top-arrow{transform:translateY(-2px)}}
@media(max-width:760px){.back-to-top{right:max(16px,env(safe-area-inset-right));bottom:calc(18px + env(safe-area-inset-bottom));width:48px;height:48px;min-height:48px}}
:root[data-motion-mode=reduce] .back-to-top,:root[data-motion-mode=reduce] .top-arrow{transition:none}
@media(prefers-reduced-motion:reduce){:root:not([data-motion-mode=on]) .back-to-top,:root:not([data-motion-mode=on]) .top-arrow{transition:none}}
