| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189 | .videoPlayer {  position: relative;  width: 100%;  max-width: 800px;  margin: 0 auto;  border-radius: 8px;  overflow: hidden;}.video {  width: 100%;  display: block;}.controls {  position: absolute;  bottom: 0;  left: 0;  right: 0;  width: 100%;  height: 100%;  display: flex;  flex-direction: column;  justify-content: flex-end;  transition: opacity 0.3s ease;}.controls.hidden {  opacity: 0;}.controls.visible {  opacity: 1;}.overlay {  background: linear-gradient(to top, rgba(0, 0, 0, 0.7) 0%, transparent 100%);  padding: 20px;  display: flex;  flex-direction: column;}.progressBarContainer {  width: 100%;  margin-bottom: 10px;}.controlsContent {  display: flex;  justify-content: space-between;  align-items: center;}.leftControls, .rightControls {  display: flex;  align-items: center;}.playPauseButton, .muteButton, .fullscreenButton {  background: none;  border: none;  color: white;  cursor: pointer;  padding: 4px;  margin-right: 10px;  display: flex;  align-items: center;  justify-content: center;}.playPauseButton:hover, .muteButton:hover, .fullscreenButton:hover {  background-color: rgba(255, 255, 255, 0.1);  border-radius: 50%;}.time {  color: white;  font-size: 14px;  margin-left: 8px;}.volumeControl {  display: flex;  align-items: center;  margin-right: 16px;}.volumeSlider {  width: 60px;  height: 4px;  background: rgba(255, 255, 255, 0.3);  border-radius: 2px;  cursor: pointer;  margin-left: 12px;  position: relative;}.volumeLevel {  position: absolute;  top: 0;  left: 0;  height: 100%;  background: #ffffff;  border-radius: 2px;}.progressBar {  position: relative;  width: 100%;  height: 4px;  background: rgba(255, 255, 255, 0.3);  cursor: pointer;  border-radius: 2px;  overflow: visible;  transition: height 0.2s ease;}.progressBar:hover {  height: 6px;}.progress {  height: 100%;  background: #ffffff;  transition: width 0.1s ease-in-out;}.hoverTimeIndicator {  position: absolute;  bottom: 100%;  transform: translateX(-50%);  background-color: rgba(0, 0, 0, 0.7);  color: white;  padding: 4px 8px;  border-radius: 4px;  font-size: 12px;  pointer-events: none;  white-space: nowrap;  margin-bottom: 8px;}.hoverTimeIndicator::after {  content: '';  position: absolute;  top: 100%;  left: 50%;  margin-left: -4px;  border-width: 4px;  border-style: solid;  border-color: rgba(0, 0, 0, 0.7) transparent transparent transparent;}.controls.smallSize .controlsContent {  justify-content: space-between;}.controls.smallSize .leftControls,.controls.smallSize .rightControls {  flex: 0 0 auto;  display: flex;  align-items: center;}.controls.smallSize .rightControls {  justify-content: flex-end;}.controls.smallSize .progressBarContainer {  margin-bottom: 4px;}.controls.smallSize .playPauseButton,.controls.smallSize .muteButton,.controls.smallSize .fullscreenButton {  padding: 2px;  margin-right: 4px;}.controls.smallSize .playPauseButton svg,.controls.smallSize .muteButton svg,.controls.smallSize .fullscreenButton svg {  width: 16px;  height: 16px;}.controls.smallSize .muteButton {  order: -1;}
 |