/* 四角功能按钮：初次展示后收起，移入所在区域时再显示。 */
.lottery-floating-autohide {
    isolation: isolate;
}

.lottery-floating-autohide::before {
    content: "";
    position: absolute;
    inset: -24px;
    z-index: 0;
}

.lottery-floating-autohide > * {
    position: relative;
    z-index: 1;
}

.lottery-floating-autohide .music-box,
.lottery-floating-autohide .floating-btn {
    transition: opacity .22s ease, transform .22s ease, box-shadow .22s ease;
}

.lottery-floating-autohide.lottery-floating-hidden .music-box,
.lottery-floating-autohide.lottery-floating-hidden .floating-btn {
    opacity: 0;
    pointer-events: none;
    transform: scale(.86);
}

.lottery-floating-autohide.lottery-floating-hidden:hover .music-box,
.lottery-floating-autohide.lottery-floating-hidden:hover .floating-btn,
.lottery-floating-autohide.lottery-floating-visible .music-box,
.lottery-floating-autohide.lottery-floating-visible .floating-btn {
    opacity: 1;
    pointer-events: auto;
    transform: scale(1);
}

.lottery-floating-autohide .music-box:hover,
.lottery-floating-autohide .floating-btn:hover {
    transform: scale(1.05);
}

/* 触摸设备无悬停状态，始终保留按钮，避免无法再次唤出。 */
@media (hover: none), (pointer: coarse) {
    .lottery-floating-autohide .music-box,
    .lottery-floating-autohide .floating-btn {
        opacity: 1 !important;
        pointer-events: auto !important;
        transform: none !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    .lottery-floating-autohide .music-box,
    .lottery-floating-autohide .floating-btn {
        transition: none;
    }
}
