.roaming-diver {
    position: fixed;
    top: 0;
    left: 0;
    width: clamp(130px, 17vw, 220px);
    z-index: 11;
    pointer-events: none;
    user-select: none;
    will-change: transform;
    filter: drop-shadow(0 5px 8px rgba(3, 20, 34, 0.25));
}

.roaming-diver__direction {
    transition: transform 800ms ease-in-out;
}

.roaming-diver__swimmer {
    display: block;
    width: 100%;
    overflow: visible;
    animation: diver-float 4s ease-in-out infinite;
}

.roaming-diver__near-leg,
.roaming-diver__far-leg {
    transform-origin: 112px 86px;
    animation: diver-kick 2.4s ease-in-out infinite alternate;
}

.roaming-diver__far-leg {
    animation-delay: -2.4s;
}

.roaming-diver__bubble {
    animation: diver-bubble 3s ease-out infinite;
}

.roaming-diver__bubble:nth-child(2) {
    animation-delay: -1s;
}

.roaming-diver__bubble:nth-child(3) {
    animation-delay: -2s;
}

.roaming-diver.is-paused .roaming-diver__swimmer,
.roaming-diver.is-paused .roaming-diver__near-leg,
.roaming-diver.is-paused .roaming-diver__far-leg,
.roaming-diver.is-paused .roaming-diver__bubble {
    animation-play-state: paused;
}

.diver-motion-toggle {
    position: fixed;
    right: 16px;
    bottom: 16px;
    z-index: 12;
    border: 1px solid rgba(211, 244, 245, 0.4);
    border-radius: 20px;
    padding: 10px 16px;
    background: rgba(6, 26, 63, 0.9);
    color: #fff;
    font-size: 12px;
    cursor: pointer;
}

.diver-motion-toggle:hover {
    background: #164763;
}

.diver-motion-toggle:focus-visible {
    outline: 2px solid #a0e3e9;
    outline-offset: 4px;
}

@keyframes diver-float {
    0%, 100% { transform: translateY(-3px) rotate(-3deg); }
    50% { transform: translateY(3px) rotate(3deg); }
}

@keyframes diver-kick {
    from { transform: rotate(-9deg); }
    to { transform: rotate(9deg); }
}

@keyframes diver-bubble {
    0% { transform: translate(0, 8px) scale(0.6); opacity: 0; }
    15% { opacity: 0.7; }
    100% { transform: translate(-18px, -45px) scale(1.3); opacity: 0; }
}

@media (prefers-reduced-motion: reduce) {
    .roaming-diver,
    .diver-motion-toggle {
        display: none;
    }
}
