|
|
|
.waveplayer { |
|
position: relative; |
|
width: 100%; |
|
background-color: var(--light-gray, #f5f5f5); |
|
border-radius: 8px; |
|
padding: 16px; |
|
margin-bottom: 16px; |
|
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05); |
|
overflow: hidden; |
|
} |
|
|
|
|
|
.waveplayer audio { |
|
display: none !important; |
|
} |
|
|
|
.waveplayer-controls { |
|
display: flex; |
|
align-items: center; |
|
margin-bottom: 12px; |
|
gap: 12px; |
|
} |
|
|
|
.waveplayer-play-btn { |
|
width: 40px; |
|
height: 40px; |
|
border-radius: 50%; |
|
background-color: var(--primary-color, #5046e5); |
|
color: white; |
|
border: none; |
|
display: flex; |
|
align-items: center; |
|
justify-content: center; |
|
cursor: pointer; |
|
transition: background-color 0.2s, transform 0.1s; |
|
flex-shrink: 0; |
|
} |
|
|
|
.waveplayer-play-btn:hover { |
|
background-color: var(--primary-hover, #4038c7); |
|
} |
|
|
|
.waveplayer-play-btn:active { |
|
transform: scale(0.95); |
|
} |
|
|
|
.waveplayer-play-btn svg { |
|
width: 20px; |
|
height: 20px; |
|
} |
|
|
|
.waveplayer-time { |
|
font-size: 14px; |
|
color: var(--text-color, #333); |
|
font-weight: 500; |
|
flex-shrink: 0; |
|
} |
|
|
|
.waveplayer-waveform { |
|
position: relative; |
|
width: 100%; |
|
height: 80px; |
|
cursor: pointer; |
|
} |
|
|
|
.waveplayer-loading { |
|
position: absolute; |
|
top: 0; |
|
left: 0; |
|
width: 100%; |
|
height: 100%; |
|
background-color: rgba(255, 255, 255, 0.7); |
|
display: flex; |
|
flex-direction: column; |
|
align-items: center; |
|
justify-content: center; |
|
-webkit-backdrop-filter: blur(2px); |
|
backdrop-filter: blur(2px); |
|
z-index: 10; |
|
} |
|
|
|
.waveplayer-spinner { |
|
width: 24px; |
|
height: 24px; |
|
border: 3px solid rgba(80, 70, 229, 0.3); |
|
border-radius: 50%; |
|
border-top-color: var(--primary-color, #5046e5); |
|
animation: spin 1s linear infinite; |
|
margin-bottom: 8px; |
|
} |
|
|
|
@keyframes spin { |
|
to { |
|
transform: rotate(360deg); |
|
} |
|
} |
|
|
|
|
|
@media (prefers-color-scheme: dark) { |
|
.waveplayer { |
|
background-color: var(--light-gray, #1e1e24); |
|
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2); |
|
} |
|
|
|
.waveplayer-time { |
|
color: var(--text-color, #e0e0e0); |
|
} |
|
|
|
.waveplayer-loading { |
|
background-color: rgba(30, 30, 36, 0.7); |
|
} |
|
} |
|
|
|
|
|
@media (max-width: 768px) { |
|
.waveplayer { |
|
padding: 12px; |
|
} |
|
|
|
.waveplayer-play-btn { |
|
width: 44px; |
|
height: 44px; |
|
} |
|
|
|
.waveplayer-waveform { |
|
height: 70px; |
|
touch-action: none; |
|
} |
|
|
|
.waveplayer-time { |
|
font-size: 12px; |
|
} |
|
} |