.video-card .video-audio-controls {
    top: 6px;
    right: 6px;
    z-index: 3;
    transition: opacity 180ms ease;
}
.video-card .video-media > img,
.video-card .video-media > video {
    touch-action: manipulation;
}
.video-card .video-media > .video-thumbnail-overlay {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: contain;
    z-index: 1;
    pointer-events: none;
}
.video-card .video-play-button {
    display: none;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 48px;
    height: 48px;
    color: #fff;
    background: rgba(20, 24, 22, 0.38);
    -webkit-backdrop-filter: blur(12px);
    backdrop-filter: blur(12px);
    transition: opacity 180ms ease;
    z-index: 3;
}
.video-card .video-play-button:focus-visible {
    outline: 2px solid #00bf8f;
    outline-offset: 3px;
}
.video-card .video-play-button.autoplay-hidden {
    visibility: hidden;
    pointer-events: none;
}
.video-card .video-volume-slider {
    display: none;
    width: 88px;
    min-width: 0;
    height: 28px;
    accent-color: #00bf8f;
    cursor: pointer;
}
.video-card .video-mute-button {
    background: rgba(90, 96, 102, 0.24);
    -webkit-backdrop-filter: blur(12px) saturate(180%) brightness(1.12);
    backdrop-filter: blur(12px) saturate(180%) brightness(1.12);
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.32),
        inset 0 1px 1px rgba(255, 255, 255, 0.2), 0 2px 8px rgba(0, 0, 0, 0.16);
    text-shadow: 0 1px 3px rgba(0, 0, 0, 0.45);
}
.video-card .video-mute-button::before {
    content: '';
    position: absolute;
    inset: -4px;
    border-radius: 50%;
}
.video-card .video-audio-controls :focus-visible {
    outline: 2px solid #00bf8f;
    outline-offset: 2px;
}
@media (hover: hover) and (pointer: fine) {
    .video-card .video-audio-controls {
        opacity: 0;
        pointer-events: none;
    }
    .video-card:hover .video-audio-controls,
    .video-card:focus-within .video-audio-controls {
        opacity: 1;
        pointer-events: auto;
    }
    .video-card .video-audio-controls:hover,
    .video-card .video-audio-controls:focus-within {
        background: rgba(90, 96, 102, 0.24);
        -webkit-backdrop-filter: blur(12px) saturate(180%) brightness(1.12);
        backdrop-filter: blur(12px) saturate(180%) brightness(1.12);
        box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.32), 0 2px 8px rgba(0, 0, 0, 0.16);
    }
    .video-card .video-audio-controls:hover .video-volume-slider,
    .video-card .video-audio-controls:focus-within .video-volume-slider {
        display: block;
    }
}
.video-card .video-audio-controls.is-idle:not(:focus-within) {
    opacity: 0;
    pointer-events: none;
}
@media (hover: none), (pointer: coarse) {
    .video-card .video-media { aspect-ratio: 1; }
    .video-card .video-media > img,
    .video-card .video-media > video {
        width: 100%;
        height: 100%;
        object-fit: contain;
    }
    .video-card .video-play-button { display: grid; place-items: center; }
    .video-card .video-play-button.is-idle:not(:focus-visible) {
        opacity: 0;
        pointer-events: none;
    }
    .video-card:not(.video-active) .video-audio-controls {
        visibility: hidden;
        pointer-events: none;
    }
}
@media (prefers-reduced-motion: reduce) {
    .video-card .video-audio-controls,
    .video-card .video-play-button { transition: none; }
}
