.back-to-top { position: fixed; z-index: 34; inset-inline-start: 1.25rem; bottom: calc(1.25rem + env(safe-area-inset-bottom, 0px)); display: grid; place-items: center; width: 48px; height: 48px; padding: 0; border: 1px solid #168fb745; border-radius: 50%; background: #e7f7fb; color: #168fb7; cursor: pointer; box-shadow: 0 4px 16px #071c2415; opacity: 0; visibility: hidden; pointer-events: none; transform: translateY(10px) scale(.94); transition: opacity .24s ease, transform .28s cubic-bezier(.22,1,.36,1), visibility 0s .28s; }
.back-to-top .icon { width: 23px; height: 23px; stroke-width: 2; pointer-events: none; }
.back-to-top.is-visible { opacity: 1; visibility: visible; pointer-events: auto; transform: translateY(0) scale(1); transition-delay: 0s; }
.back-to-top:hover { background: #d7f0f8; }
.back-to-top:focus-visible { outline: 3px solid #43c4e9; outline-offset: 4px; }
html[data-theme=dark] .back-to-top { color: #43c4e9; background: #15313b; border-color: #43c4e950; }
html[data-theme=dark] .back-to-top:hover { background: #1c414e; }
@media(max-width:820px) { .back-to-top { inset-inline-start: 1rem; bottom: calc(5.35rem + env(safe-area-inset-bottom, 0px)); } }
@media(prefers-reduced-motion:reduce) { .back-to-top { transition: none; transform: none; } }
@media(forced-colors:active) { .back-to-top { color: ButtonText; background: ButtonFace; border: 1px solid ButtonText; } }
