.progress-bar { position: relative; width: 100%; height: 24px; display: flex; align-items: center; cursor: pointer; } .progress-track { position: relative; width: 100%; height: 3px; background-color: var(--player-progress-bg); border-radius: var(--player-radius-full); overflow: visible; transition: height var(--player-transition-fast) ease; } .progress-bar:hover .progress-track, .progress-bar.seeking .progress-track { height: 6px; } .progress-buffered { position: absolute; inset: 0; width: 0; background-color: var(--player-progress-buffered); border-radius: var(--player-radius-full); transition: width 0.12s ease; } .progress-played { position: absolute; inset: 0; width: 0; background-color: var(--player-primary); border-radius: var(--player-radius-full); display: flex; align-items: center; justify-content: flex-end; transition: width 0.12s ease; } .progress-handle { width: 12px; height: 12px; border-radius: 50%; background-color: var(--player-primary); box-shadow: 0 0 0 0 rgba(239, 68, 68, 0.4); transform: scale(1); transition: transform var(--player-transition-fast) ease, box-shadow var(--player-transition-fast) ease; margin-right: -6px; } .progress-bar:hover .progress-handle, .progress-bar.seeking .progress-handle { transform: scale(1.15); box-shadow: 0 0 0 4px rgba(239, 68, 68, 0.2); } .progress-tooltip { position: absolute; bottom: calc(100% + 8px); left: 0; transform: translateX(-50%); padding: 4px 10px; background: var(--player-surface); border: 1px solid rgba(255, 255, 255, 0.1); border-radius: 8px; color: var(--player-text); font-size: 12px; font-weight: 500; white-space: nowrap; pointer-events: none; z-index: 10; } .progress-tooltip::after { content: ''; position: absolute; top: 100%; left: 50%; transform: translateX(-50%); border-width: 5px; border-style: solid; border-color: var(--player-surface) transparent transparent transparent; } @media (max-width: 640px) { .progress-bar { height: 22px; } .progress-track { height: 3px; } .progress-bar:hover .progress-track, .progress-bar.seeking .progress-track { height: 5px; } .progress-handle { width: 10px; height: 10px; margin-right: -5px; transform: scale(1); } }