/* ========== 音频播放器 CSS - 老机型兼容版本 ========== */
/* 兼容目标: iOS 9+, Android 4.4+ */
/* ========== Toast 提示 ========== */
.toast {
    position: fixed;
    left: 50%;
    top: 45%;
    width: 300px;
    -webkit-transform: translateX(-50%) translateY(20px);
    transform: translateX(-50%) translateY(20px);
    background: rgba(0, 0, 0, 0.75);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#BF000000, endColorstr=#BF000000);
    color: #fff;
    padding: 10px 16px;
    border-radius: 6px;
    font-size: 14px;
    opacity: 0;
    text-align: center;
    -webkit-transition: all 0.3s ease;
    transition: all 0.3s ease;
    z-index: 102400;
    pointer-events: none;
}

.toast.show {
    opacity: 1;
    -webkit-transform: translateX(-50%) translateY(0);
    transform: translateX(-50%) translateY(0);
}
/* ========== 播放器弹窗 ========== */
.player_popper {
    background-color: rgba(0, 0, 0, 0.5);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#80000000, endColorstr=#80000000);
    width: 100%;
    height: 100%;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 100000;
    touch-action: none;
    display: none;
}

.player_popper .player {
    background: url(player_bg.png) no-repeat center;
    background-size: 100% 100%;
    width: 90%;
    width: calc(100% - 4rem);
    height: 20rem;
    position: absolute;
    top: 36%;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    -webkit-border-radius: 1.2rem;
    border-radius: 1.2rem;
    padding: 0 2rem;
    overflow: hidden;
}

.player_popper .player .header {
    display: -webkit-box;
    display: -webkit-flex;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    align-items: center;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    height: 8.8rem;
}

.player_popper .player .header .title {
    font-size: 2rem;
    font-family: "Source Han Sans CN", "Microsoft YaHei", "PingFang SC", sans-serif;
    font-weight: 500;
    color: #333333;
    display: inline-block;
    -webkit-box-flex: 1;
    -webkit-flex: 1;
    flex: 1;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    margin-right: 2rem;
}

.player_popper .player .header .music_icon {
    width: 5.6rem;
    height: 5.6rem;
    display: block;
}

.player_popper .player .progress_wrapper {
    display: -webkit-box;
    display: -webkit-flex;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    align-items: center;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    padding: 1.75rem 0 2rem 0;
}

.player_popper .player .progress_wrapper .time {
    font-family: "Source Han Sans CN", "Microsoft YaHei", sans-serif;
    font-weight: 400;
    font-size: 1.5rem;
    color: #9599B2;
    width: 4.2rem;
    margin: 0 4px;
}

.player_popper .player .progress_wrapper .current_time {
    text-align: left;
    margin-left: 0;
}

.player_popper .player .progress_wrapper .total_time {
    text-align: right;
    margin-right: 0;
}

.player_popper .player .progress_wrapper .progress_bg {
    -webkit-box-flex: 1;
    -webkit-flex: 1;
    flex: 1;
    background: rgba(176, 182, 221, 0.2);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#33B0B6DD, endColorstr=#33B0B6DD);
    -webkit-border-radius: 4px;
    border-radius: 4px;
    height: 0.6rem;
    min-height: 6px;
}

.player_popper .player .progress_wrapper .progress_bg .progress {
    height: 100%;
    width: 0;
    background: rgba(160, 166, 205, 0.7);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#B3A0A6CD, endColorstr=#B3A0A6CD);
    -webkit-border-radius: 4px;
    border-radius: 4px;
}

.player_popper .player .footer {
    display: -webkit-box;
    display: -webkit-flex;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    align-items: center;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    position: relative;
    height: 4rem;
}

.player_popper .player .footer button {
    color: #999;
    border: 0;
    background: none;
    -webkit-appearance: none;
    appearance: none;
}

.player_popper .player .footer .speed_wrapper {
    display: -webkit-box;
    display: -webkit-flex;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    align-items: center;
}

.player_popper .player .footer .speed_wrapper > img {
    width: 2.35rem;
    height: 2.35rem;
    margin-right: 1rem;
}

.player_popper .player .footer .speed_wrapper .speed_number {
    font-family: Arial, "Helvetica Neue", sans-serif;
    font-weight: 400;
    font-size: 2rem;
    color: #9599B2;
}

.player_popper .player .footer .controls {
    position: absolute;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    display: -webkit-box;
    display: -webkit-flex;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    align-items: center;
}

.player_popper .player .footer .controls .toggle {
    margin-right: 2.8rem;
    display: none;
}

.player_popper .player .footer .controls .toggle > img {
    width: 2rem;
    height: 2rem;
}

.player_popper .player .footer .controls .play {
/*    margin-right: 2.8rem;*/
}

.player_popper .player .footer .controls .play .play_icon {
    display: block;
}

.player_popper .player .footer .controls .play .pause_icon {
    display: none;
}

.player_popper .player .footer .controls .play.on .play_icon {
    display: none;
}

.player_popper .player .footer .controls .play.on .pause_icon {
    display: block;
}

.player_popper .player .footer .controls .play > img {
    width: 4.2rem;
    height: 4.2rem;
}

.player_popper .player .footer .right_operations {
    display: -webkit-box;
    display: -webkit-flex;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    align-items: center;
}

.player_popper .player .footer .right_operations > div {
    margin-left: 2rem;
}

.player_popper .player .footer .voice_picker > img {
    width: 2.15rem;
    height: 2.15rem;
    margin-right: 1rem;
}

.player_popper .player .footer .close > img {
    width: 1.6rem;
    height: 1.6rem;
}

/* ========== 悬浮音乐按钮 ========== */
#music_hover {
    display: none;
    position: fixed;
    left: 0.72rem;
    top: 32%;
    width: 5.6rem;
    height: 5.6rem;
    z-index: 99999;
}

#music_hover > img {
    height: 100%;
    width: 100%;
    -webkit-user-drag: none;
    user-drag: none;
}

/* ========== 音轨选择弹窗 ========== */
.player_voice_popper {
    background-color: rgba(0, 0, 0, 0.2);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#33000000, endColorstr=#33000000);
    width: 100%;
    height: 100%;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 100000;
    display: none;
}

.player_voice_popper .player_voice_bg {
    background: #ffffff;
    position: absolute;
    bottom: 0;
    height: 19.375rem;
    width: 100%;
    -webkit-border-radius: 2.5rem 2.5rem 0 0;
    border-radius: 2.5rem 2.5rem 0 0;
    padding: 2.3125rem 1.2rem 2.6875rem 1.2rem;
    text-align: center;
    -webkit-transform: translateY(100%);
    transform: translateY(100%);
    -webkit-transition: -webkit-transform 0.2s ease;
    transition: transform 0.2s ease;
    z-index: 100001;
}

.player_voice_popper.show .player_voice_bg {
    -webkit-transform: translateY(0);
    transform: translateY(0);
}

.player_voice_popper .voice_item {
    font-family: "Source Han Sans CN", "Microsoft YaHei", sans-serif;
    font-weight: 500;
    font-size: 1.875rem;
    padding: 1.4rem 0;
    cursor: pointer;
    -webkit-tap-highlight-color: rgba(0,0,0,0.1);
}

.player_voice_popper .voice_item:first-of-type {
    padding-top: 0;
}

.player_voice_popper .voice_item.actived {
    color: #1B86FF;
}

.player_voice_popper .line {
    width: 100%;
    height: 1px;
    background: rgba(235, 236, 243, 0.5);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#80EBECF3, endColorstr=#80EBECF3);
    -webkit-transform: scaleY(0.5);
    transform: scaleY(0.5);
    -webkit-transform-origin: 0 0;
    transform-origin: 0 0;
}

/* ========== 老机型专用 Hack ========== */
@media screen and (-webkit-min-device-pixel-ratio: 0) and (min-resolution: 0.001dpcm) {
    .player_popper .player .header .title {
        max-width: 60%;
    }
}

@supports not (display: flex) {
    .player_popper .player .header,
    .player_popper .player .progress_wrapper,
    .player_popper .player .footer,
    .player_popper .player .footer .speed_wrapper,
    .player_popper .player .footer .controls,
    .player_popper .player .footer .right_operations {
        display: block;
    }
    
    .player_popper .player .header .title,
    .player_popper .player .progress_wrapper .progress_bg {
        display: inline-block;
        width: 60%;
    }
    
    .player_popper .player .footer .controls {
        position: relative;
        left: auto;
        text-align: center;
        margin: 0 auto;
    }
}

@media screen and (max-width: 320px) {
    .player_popper .player {
        width: 94%;
        padding: 0 1rem;
    }
    
    .player_popper .player .header .title {
        font-size: 1.6rem;
    }
}

@media (-webkit-min-device-pixel-ratio: 2) {
    .player_voice_popper .line {
        -webkit-transform: scaleY(0.5);
        transform: scaleY(0.5);
    }
}

@media (-webkit-min-device-pixel-ratio: 3) {
    .player_voice_popper .line {
        -webkit-transform: scaleY(0.33);
        transform: scaleY(0.33);
    }
}