/* RiseOrDie Playlist — Public Player */

.rod-player {
    font-family: 'Georgia', serif;
    border-radius: 12px;
    overflow: hidden;
    max-width: 520px;
    margin: 1.5rem auto;
    box-shadow: 0 8px 32px rgba(0,0,0,0.28);
}

/* ── Dark theme (default) ── */
.rod-player--dark {
    background: #111;
    color: #e8e8e8;
    border: 1px solid #2a2a2a;
}
.rod-player--dark .rod-player__header  { border-bottom: 1px solid #222; }
.rod-player--dark .rod-progress-track  { background: #2a2a2a; }
.rod-player--dark .rod-progress-played { background: #c8a96e; }
.rod-player--dark .rod-btn             { color: #e8e8e8; }
.rod-player--dark .rod-btn--big        { background: #c8a96e; color: #111; }
.rod-player--dark .rod-btn--big:hover  { background: #d4b87c; }
.rod-player--dark .rod-tracklist       { border-top: 1px solid #222; }
.rod-player--dark .rod-track           { border-bottom: 1px solid #1a1a1a; }
.rod-player--dark .rod-track:hover     { background: #1a1a1a; }
.rod-player--dark .rod-track--active   { background: #1c1a14; }
.rod-player--dark .rod-track__artist   { color: #888; }
.rod-player--dark .rod-track__num,
.rod-player--dark .rod-track__dur      { color: #555; }
.rod-player--dark .rod-track--active .rod-track__num { color: #c8a96e; }
.rod-player--dark .rod-scrubber-input::-webkit-slider-thumb { background: #c8a96e; }
.rod-player--dark .rod-scrubber-input::-moz-range-thumb     { background: #c8a96e; }
.rod-player--dark .rod-player__count  { color: #555; }
.rod-player--dark .rod-player__desc   { color: #666; }
.rod-player--dark .rod-volume-input::-webkit-slider-thumb { background: #555; }

/* ── Light theme ── */
.rod-player--light {
    background: #fafaf8;
    color: #1a1a1a;
    border: 1px solid #e0e0d8;
}
.rod-player--light .rod-player__header  { border-bottom: 1px solid #e8e8e0; }
.rod-player--light .rod-progress-track  { background: #e0e0d8; }
.rod-player--light .rod-progress-played { background: #7a5c2e; }
.rod-player--light .rod-btn             { color: #1a1a1a; }
.rod-player--light .rod-btn--big        { background: #7a5c2e; color: #fff; }
.rod-player--light .rod-btn--big:hover  { background: #8c6a38; }
.rod-player--light .rod-tracklist       { border-top: 1px solid #e8e8e0; }
.rod-player--light .rod-track           { border-bottom: 1px solid #f0f0e8; }
.rod-player--light .rod-track:hover     { background: #f5f5f0; }
.rod-player--light .rod-track--active   { background: #f5efe4; }
.rod-player--light .rod-track__artist   { color: #888; }
.rod-player--light .rod-track__num,
.rod-player--light .rod-track__dur      { color: #bbb; }
.rod-player--light .rod-track--active .rod-track__num { color: #7a5c2e; }
.rod-player--light .rod-scrubber-input::-webkit-slider-thumb { background: #7a5c2e; }
.rod-player--light .rod-scrubber-input::-moz-range-thumb     { background: #7a5c2e; }
.rod-player--light .rod-player__count  { color: #bbb; }
.rod-player--light .rod-player__desc   { color: #999; }

/* ── Shared layout ── */
.rod-player__header {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 16px 18px;
}
.rod-player__icon {
    font-size: 24px;
    line-height: 1;
    flex-shrink: 0;
}
.rod-player__title {
    font-size: 15px;
    font-weight: bold;
    letter-spacing: 0.02em;
}
.rod-player__desc {
    font-size: 12px;
    margin-top: 2px;
}
.rod-player__count {
    margin-left: auto;
    font-size: 12px;
    flex-shrink: 0;
}

.rod-player__scrubber {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 12px 18px 4px;
}
.rod-time { font-size: 11px; opacity: 0.6; white-space: nowrap; font-family: monospace; }
.rod-progress-wrap { flex: 1; position: relative; }
.rod-progress-track {
    height: 3px;
    border-radius: 3px;
    overflow: hidden;
    position: relative;
}
.rod-progress-played {
    height: 100%;
    width: 0%;
    border-radius: 3px;
    transition: width 0.1s linear;
}
.rod-scrubber-input {
    position: absolute;
    top: -7px; left: 0; right: 0;
    width: 100%;
    margin: 0;
    opacity: 0;
    cursor: pointer;
    height: 18px;
}
.rod-scrubber-input::-webkit-slider-thumb { width: 14px; height: 14px; border-radius: 50%; -webkit-appearance: none; cursor: pointer; }
.rod-scrubber-input::-moz-range-thumb     { width: 14px; height: 14px; border-radius: 50%; border: none; cursor: pointer; }
.rod-progress-wrap:hover .rod-scrubber-input { opacity: 1; }
.rod-progress-wrap:hover .rod-scrubber-input::-webkit-slider-thumb { opacity: 1; }

.rod-player__controls {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 18px 14px;
}
.rod-btn {
    background: transparent;
    border: none;
    cursor: pointer;
    font-size: 14px;
    padding: 0 4px;
    opacity: 0.75;
    line-height: 1;
    transition: opacity 0.15s;
}
.rod-btn:hover { opacity: 1; }
.rod-btn--big {
    width: 38px; height: 38px;
    border-radius: 50%;
    font-size: 15px;
    display: flex; align-items: center; justify-content: center;
    opacity: 1;
    box-shadow: 0 2px 8px rgba(0,0,0,0.25);
    padding: 0;
}
.rod-volume {
    margin-left: auto;
    display: flex;
    align-items: center;
    gap: 6px;
}
.rod-vol-icon { font-size: 14px; opacity: 0.5; }
.rod-volume-input {
    width: 70px;
    height: 3px;
    -webkit-appearance: none;
    appearance: none;
    background: rgba(128,128,128,0.3);
    border-radius: 3px;
    cursor: pointer;
}
.rod-volume-input::-webkit-slider-thumb {
    -webkit-appearance: none;
    width: 12px; height: 12px;
    border-radius: 50%;
    background: #888;
    cursor: pointer;
}

.rod-tracklist {
    list-style: none;
    margin: 0;
    padding: 0;
    max-height: 260px;
    overflow-y: auto;
}
.rod-track {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 9px 18px;
    cursor: pointer;
    transition: background 0.1s;
}
.rod-track__num {
    font-size: 11px;
    width: 18px;
    text-align: right;
    flex-shrink: 0;
    font-family: monospace;
    transition: color 0.15s;
}
.rod-track__indicator {
    width: 6px; height: 6px;
    border-radius: 50%;
    flex-shrink: 0;
}
.rod-track--active .rod-track__indicator {
    background: currentColor;
    animation: rod-pulse 1s infinite;
}
@keyframes rod-pulse {
    0%, 100% { opacity: 1; transform: scale(1); }
    50%       { opacity: 0.4; transform: scale(0.7); }
}
.rod-track__info {
    flex: 1;
    min-width: 0;
}
.rod-track__name {
    display: block;
    font-size: 13px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.rod-track__artist {
    display: block;
    font-size: 11px;
    margin-top: 1px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.rod-track__dur {
    font-size: 11px;
    flex-shrink: 0;
    font-family: monospace;
}

.rod-player__empty {
    padding: 1.5rem;
    text-align: center;
    opacity: 0.5;
    font-size: 13px;
}
.rod-error { color: #d63638; font-size: 13px; }

/* SVG icon fixes */
.rod2-btn svg { display: block; }
.rod2-vol { display: flex; align-items: center; gap: 5px; margin-left: auto; }
.rod2-vol-icon { opacity: 0.5; flex-shrink: 0; }
