.rpgmusic {
    --rpgmusic-icon: 1rem;
    --rpgmusic-color: var(--text);
    --rpgmusic-color-hover: var(--accent);

    position: relative;
    display: inline-block;
    line-height: 1;
}

.lam-prf__hero .rpgmusic {
    position: absolute;
    top: var(--space-lg);
    left: var(--space-lg);
    z-index: 2;
}

.rpgmusic__frame {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    opacity: 0;
    pointer-events: none;
}

.rpgmusic__btn {
    display: block;
    padding: 0;
    margin: 0;
    background: none;
    border: 0;
    color: var(--rpgmusic-color);
    line-height: 1;
    cursor: pointer;
    transition: color 0.2s var(--ease);
}

.rpgmusic__btn:hover {
    color: var(--rpgmusic-color-hover);
}

.rpgmusic__btn:focus-visible {
    outline: 2px solid var(--accent);
    outline-offset: 3px;
}

.rpgmusic--playing .rpgmusic__btn {
    color: var(--accent);
}

.rpgmusic--playing .rpgmusic__icon {
    animation: rpgmusic-pulse 2s ease-in-out infinite;
}

@keyframes rpgmusic-pulse {
    0%, 100% { opacity: 1; }
    50%      { opacity: 0.45; }
}

@media (prefers-reduced-motion: reduce) {
    .rpgmusic--playing .rpgmusic__icon {
        animation: none;
    }
}

.rpgmusic__icon {
    display: none !important;
    font-size: var(--rpgmusic-icon);
}

.rpgmusic__icon--play  { display: inline-block !important; }

.rpgmusic--playing .rpgmusic__icon--play  { display: none !important; }
.rpgmusic--playing .rpgmusic__icon--pause { display: inline-block !important; }

@media (max-width: 720px) {
    .lam-prf__hero .rpgmusic {
        top: var(--space-md);
        left: var(--space-md);
    }
}
