/* ===== 晟哲文化 · 有声版播放器 (sz-player) ===== */
.sz-player-wrap {
    max-width: 760px;
    margin: 0 auto;
    padding: 0 6%;
}

.sz-player {
    background: linear-gradient(135deg, #fffdfa 0%, #fbf8f4 100%);
    border: 1px solid rgba(139, 58, 58, 0.16);
    border-radius: 14px;
    padding: 16px 18px;
    margin: 0 0 8px;
    box-shadow: 0 4px 18px rgba(139, 58, 58, 0.07);
    font-family: -apple-system, BlinkMacSystemFont, "PingFang SC", "Microsoft YaHei", sans-serif;
    position: relative;
}

.sz-row {
    display: flex;
    align-items: center;
    gap: 14px;
}

/* 播放按钮 */
.sz-play {
    flex: 0 0 auto;
    width: 46px;
    height: 46px;
    border-radius: 50%;
    border: none;
    cursor: pointer;
    background: linear-gradient(135deg, #8b3a3a, #6d2e2e);
    color: #fff;
    font-size: 17px;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 3px 10px rgba(139, 58, 58, 0.28);
    transition: transform 0.18s ease, box-shadow 0.18s ease;
    padding-left: 3px;
}
.sz-play:hover { transform: scale(1.05); box-shadow: 0 5px 16px rgba(139, 58, 58, 0.36); }
.sz-play:active { transform: scale(0.97); }

/* 主区 */
.sz-main { flex: 1 1 auto; min-width: 0; }
.sz-topline {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
    margin-bottom: 3px;
}
.sz-tag {
    font-size: 11px;
    color: #8b3a3a;
    background: rgba(139, 58, 58, 0.08);
    padding: 2px 8px;
    border-radius: 10px;
    letter-spacing: 0.5px;
}
.sz-idx { font-size: 11px; color: #a99c8e; }
.sz-cur-title {
    font-size: 14px;
    color: #333;
    font-weight: 600;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    margin-bottom: 6px;
}

/* 进度条 */
.sz-bar {
    position: relative;
    height: 20px;
    display: flex;
    align-items: center;
    cursor: pointer;
}
.sz-track {
    position: relative;
    width: 100%;
    height: 5px;
    background: rgba(139, 58, 58, 0.13);
    border-radius: 4px;
    overflow: visible;
}
.sz-fill {
    position: absolute;
    left: 0; top: 0; bottom: 0;
    width: 0%;
    background: linear-gradient(90deg, #b5a285, #8b3a3a);
    border-radius: 4px;
}
.sz-knob {
    position: absolute;
    top: 50%;
    left: 0%;
    width: 12px; height: 12px;
    margin-left: -6px;
    margin-top: -6px;
    border-radius: 50%;
    background: #fff;
    border: 2px solid #8b3a3a;
    box-shadow: 0 1px 4px rgba(0,0,0,0.18);
    transition: transform 0.15s ease;
}
.sz-bar:hover .sz-knob { transform: scale(1.18); }
.sz-times {
    display: flex;
    justify-content: space-between;
    font-size: 11px;
    color: #a99c8e;
    font-variant-numeric: tabular-nums;
    margin-top: 1px;
}

/* 工具按钮 */
.sz-tools {
    flex: 0 0 auto;
    display: flex;
    flex-direction: column;
    gap: 6px;
    align-items: flex-end;
}
.sz-btn {
    font-size: 11px;
    color: #6d6d6d;
    background: #fff;
    border: 1px solid rgba(139, 58, 58, 0.18);
    border-radius: 14px;
    padding: 4px 10px;
    cursor: pointer;
    white-space: nowrap;
    transition: all 0.18s ease;
    font-family: inherit;
}
.sz-btn:hover { border-color: #8b3a3a; color: #8b3a3a; }
.sz-btn.on {
    background: #8b3a3a;
    color: #fff;
    border-color: #8b3a3a;
}
.sz-btn.sz-timer.active { background: rgba(139, 58, 58, 0.1); color: #8b3a3a; border-color: rgba(139, 58, 58, 0.45); }

/* 浮动面板 */
.sz-panel {
    display: none;
    margin-top: 12px;
    border-top: 1px dashed rgba(139, 58, 58, 0.15);
    padding-top: 12px;
}
.sz-panel.show { display: block; }
.sz-panel-label {
    font-size: 11px;
    color: #a99c8e;
    margin-bottom: 8px;
    letter-spacing: 0.5px;
}

/* 定时面板 */
.sz-timer-opts { display: flex; gap: 8px; flex-wrap: wrap; }
.sz-timer-opts .sz-btn { padding: 6px 14px; font-size: 12px; }
.sz-timer-status {
    margin-top: 10px;
    font-size: 12px;
    color: #8b3a3a;
    display: none;
}
.sz-timer-status.show { display: block; }

/* 播放列表面板 */
.sz-list { max-height: 260px; overflow-y: auto; margin: 0 -6px; }
.sz-list-item {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 8px 10px;
    border-radius: 8px;
    cursor: pointer;
    font-size: 13px;
    color: #4a4a4a;
    line-height: 1.5;
}
.sz-list-item:hover { background: rgba(139, 58, 58, 0.05); }
.sz-list-item.cur { background: rgba(139, 58, 58, 0.08); color: #8b3a3a; font-weight: 600; }
.sz-list-num {
    flex: 0 0 26px;
    font-size: 11px;
    color: #b5a285;
    font-variant-numeric: tabular-nums;
}
.sz-list-item.cur .sz-list-num { color: #8b3a3a; }
.sz-list-title { flex: 1 1 auto; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.sz-list-item .sz-playing {
    flex: 0 0 auto;
    font-size: 10px;
    color: #8b3a3a;
}

/* 继续听提示 */
.sz-resume {
    display: none;
    align-items: center;
    gap: 6px;
    font-size: 11px;
    color: #8b3a3a;
    background: rgba(139, 58, 58, 0.06);
    border-radius: 12px;
    padding: 4px 10px;
    margin-top: 10px;
    cursor: pointer;
    width: fit-content;
}
.sz-resume.show { display: inline-flex; }

/* 定时到点提示 */
.sz-toast {
    position: absolute;
    left: 50%;
    bottom: 10px;
    transform: translateX(-50%) translateY(8px);
    background: rgba(44, 36, 32, 0.92);
    color: #fff;
    font-size: 12px;
    padding: 7px 16px;
    border-radius: 18px;
    opacity: 0;
    pointer-events: none;
    transition: all 0.3s ease;
    white-space: nowrap;
    z-index: 5;
}
.sz-toast.show { opacity: 1; transform: translateX(-50%) translateY(0); }

/* 顶部小声波装饰 */
.sz-wave { display: inline-flex; align-items: flex-end; gap: 2px; height: 11px; }
.sz-wave i {
    display: block; width: 2px; background: #8b3a3a; opacity: 0.55; border-radius: 1px;
    height: 5px;
}
.sz-player.playing .sz-wave i { animation: szWave 0.9s ease-in-out infinite; }
.sz-player.playing .sz-wave i:nth-child(2) { animation-delay: 0.15s; }
.sz-player.playing .sz-wave i:nth-child(3) { animation-delay: 0.3s; }
.sz-player.playing .sz-wave i:nth-child(4) { animation-delay: 0.45s; }
@keyframes szWave {
    0%, 100% { height: 4px; }
    50% { height: 11px; }
}

@media (max-width: 640px) {
    .sz-player { padding: 14px; }
    .sz-play { width: 40px; height: 40px; font-size: 15px; }
    .sz-tools { flex-direction: row; align-items: center; gap: 5px; flex-wrap: wrap; justify-content: flex-end; }
    .sz-row { flex-wrap: wrap; }
    .sz-main { flex: 1 1 calc(100% - 60px); }
    .sz-tools { flex: 1 1 100%; justify-content: flex-start; margin-top: 10px; }
    .sz-btn { font-size: 10px; padding: 4px 8px; }
    .sz-cur-title { font-size: 13px; }
}

/* ===== 分类页（多篇合集）「听这一篇」按钮 ===== */
.sz-listen-row {
    margin: 10px 0 18px;
}

.sz-listen-btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 8px 18px;
    border-radius: 999px;
    border: 1px solid rgba(139, 58, 58, 0.28);
    background: rgba(139, 58, 58, 0.05);
    color: #8b3a3a;
    font-size: 14px;
    font-family: -apple-system, BlinkMacSystemFont, "PingFang SC", "Microsoft YaHei", sans-serif;
    cursor: pointer;
    transition: all 0.2s ease;
}

.sz-listen-btn:hover {
    background: linear-gradient(135deg, #8b3a3a, #6d2e2e);
    color: #fff;
    border-color: transparent;
    box-shadow: 0 4px 14px rgba(139, 58, 58, 0.25);
}

.sz-listen-btn:active {
    transform: translateY(1px);
}
