.wol-back-to-top {
    position: fixed;
    left: calc(1rem + env(safe-area-inset-left, 0px));
    bottom: calc(1rem + env(safe-area-inset-bottom, 0px));
    z-index: 1000;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 2.75rem;
    height: 2.75rem;
    padding: 0;
    border: 1px solid #cbd5e1;
    border-radius: 50%;
    background: #fff;
    color: #334155;
    box-shadow: 0 2px 8px rgba(0, 0, 0, .18);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateY(.5rem);
    transition: opacity .18s ease, transform .18s ease, visibility .18s;
    cursor: pointer;
}
.wol-back-to-top.is-visible {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateY(0);
}
.wol-back-to-top:hover { background: #f1f5f9; color: #0f172a; }
.wol-back-to-top:focus-visible { outline: 3px solid #337ab7; outline-offset: 3px; }
.wol-back-to-top svg { width: 1.5rem; height: 1.5rem; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
@media (prefers-reduced-motion: reduce) {
    .wol-back-to-top { transition: none; transform: none; }
}
@media print {
    .wol-back-to-top { display: none !important; }
}
