.floating-action {
    position: fixed;
    bottom: 80px;
    right: max(16px, calc((100vw - 1554px) / 2 - 72px));
    z-index: 10;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 60px;
    height: 60px;
    gap: 12px;
    background: #FF4B02;
    border-radius: 9999px;
    text-decoration: none;
    cursor: pointer;
    border: none;
    padding: 0;
}

.floating-action-icon {
    width: 20px;
    height: 20px;
}

@media (max-width: 767px) {
    .floating-action {
        right: 16px;
        bottom: calc(80px + env(safe-area-inset-bottom, 0px));
        width: 48px;
        height: 48px;
    }
}

.floating-action:focus-visible,
.download-fab:focus-visible { outline: 2px solid #fff; outline-offset: 4px; }
@media (prefers-reduced-motion: reduce) {
    .floating-action { transition: none; }
}

.floating-action {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
}
.floating-action.is-visible {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
}
