reels-master/src/content/content.css
Илья Глазунов 629bbf090f
All checks were successful
Build and Release Extension / build (push) Successful in 19s
Bump version to 1.1.0 and add seeking control functionality for overlay containers
2026-01-22 22:15:18 +03:00

284 lines
5.9 KiB
CSS

/* Reels Master - Custom Styles */
.reels-master-controls {
z-index: 9999;
display: flex;
flex-direction: column;
gap: 16px;
margin-bottom: 16px;
align-items: center;
}
/* Volume Control */
.reels-master-volume {
position: relative;
display: flex;
flex-direction: column;
align-items: center;
}
.reels-master-volume-button {
background: none;
border: none;
cursor: pointer;
padding: 8px;
color: white;
display: flex;
align-items: center;
justify-content: center;
transition: all 0.2s;
filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.3));
position: relative;
z-index: 2;
}
.reels-master-volume-button:hover {
transform: scale(1.1);
filter: drop-shadow(0 4px 8px rgba(0, 0, 0, 0.5));
}
.reels-master-volume-button:active {
transform: scale(0.95) !important;
}
/* Slider Container */
.reels-master-slider-container {
position: absolute;
bottom: calc(100% + 4px);
left: 50%;
transform: translateX(-50%) translateY(20px);
padding: 24px;
padding-bottom: 24px;
opacity: 0;
visibility: hidden;
pointer-events: none;
transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
transition-delay: 0.5s;
will-change: transform, opacity;
}
.reels-master-volume:hover .reels-master-slider-container,
.reels-master-slider-container:hover {
opacity: 1;
visibility: visible;
pointer-events: all;
transform: translateX(-50%) translateY(0);
transition-delay: 0s;
}
/* Keep slider visible when hovering over it */
.reels-master-slider-container:hover {
transition-delay: 0s;
}
@keyframes slideUp {
from {
transform: translateX(-50%) translateY(10px);
opacity: 0;
}
to {
transform: translateX(-50%) translateY(0);
opacity: 1;
}
}
/* Download Button */
.reels-master-download {
background: none;
border: none;
cursor: pointer;
padding: 8px;
color: white;
display: flex;
align-items: center;
justify-content: center;
transition: all 0.2s;
filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.3));
}
.reels-master-download:hover {
transform: scale(1.1);
filter: drop-shadow(0 4px 8px rgba(0, 0, 0, 0.5));
}
.reels-master-download:active {
transform: scale(0.95) !important;
}
/* Volume Slider Styling */
.reels-master-volume-slider {
-webkit-appearance: none;
appearance: none;
width: 4px;
height: 100px;
background: rgba(255, 255, 255, 0.3);
outline: none;
border-radius: 2px;
writing-mode: bt-lr;
-webkit-appearance: slider-vertical;
cursor: pointer;
}
/* Slider thumb for webkit browsers */
.reels-master-volume-slider::-webkit-slider-thumb {
-webkit-appearance: none;
appearance: none;
width: 12px;
height: 12px;
background: white;
cursor: pointer;
border-radius: 50%;
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.5);
transition: all 0.2s;
}
.reels-master-volume-slider::-webkit-slider-thumb:hover {
background: #f0f0f0;
transform: scale(1.2);
box-shadow: 0 3px 6px rgba(0, 0, 0, 0.6);
}
/* Slider thumb for Firefox */
.reels-master-volume-slider::-moz-range-thumb {
width: 12px;
height: 12px;
background: white;
cursor: pointer;
border-radius: 50%;
border: none;
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.5);
transition: all 0.2s;
}
.reels-master-volume-slider::-moz-range-thumb:hover {
background: #f0f0f0;
transform: scale(1.2);
box-shadow: 0 3px 6px rgba(0, 0, 0, 0.6);
}
/* Track styling for webkit */
.reels-master-volume-slider::-webkit-slider-runnable-track {
background: rgba(255, 255, 255, 0.3);
border-radius: 2px;
}
/* Track styling for Firefox */
.reels-master-volume-slider::-moz-range-track {
background: rgba(255, 255, 255, 0.3);
border-radius: 2px;
}
/* Tooltip effect on hover */
.reels-master-download {
position: relative;
}
.reels-master-download::after {
content: 'Download';
position: absolute;
left: 50%;
transform: translateX(-50%);
bottom: -30px;
background: rgba(0, 0, 0, 0.8);
color: white;
padding: 4px 8px;
border-radius: 4px;
font-size: 12px;
white-space: nowrap;
opacity: 0;
pointer-events: none;
transition: opacity 0.2s;
}
.reels-master-download:hover::after {
opacity: 1;
}
/* Spinner animation for download */
@keyframes spin {
from {
transform: rotate(0deg);
}
to {
transform: rotate(360deg);
}
}
.reels-master-spinner {
animation: spin 1s linear infinite;
}
/* Seeking Control - для overlay контейнера */
.reels-master-seeking {
width: 100%;
padding: 8px 16px 12px 16px;
background: linear-gradient(to top, rgba(0, 0, 0, 0.4), transparent);
display: flex;
flex-direction: column;
gap: 6px;
pointer-events: auto;
cursor: default;
}
.reels-master-seeking-slider {
-webkit-appearance: none;
appearance: none;
width: 100%;
height: 3px;
background: rgba(255, 255, 255, 0.3);
outline: none;
border-radius: 2px;
cursor: pointer;
position: relative;
pointer-events: auto;
touch-action: none;
}
.reels-master-seeking-slider::-webkit-slider-thumb {
-webkit-appearance: none;
appearance: none;
width: 12px;
height: 12px;
background: white;
cursor: pointer;
border-radius: 50%;
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.5);
transition: all 0.2s;
}
.reels-master-seeking-slider::-webkit-slider-thumb:hover {
background: #f0f0f0;
transform: scale(1.3);
box-shadow: 0 3px 6px rgba(0, 0, 0, 0.6);
}
.reels-master-seeking-slider::-moz-range-thumb {
width: 12px;
height: 12px;
background: white;
cursor: pointer;
border-radius: 50%;
border: none;
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.5);
transition: all 0.2s;
}
.reels-master-seeking-slider::-moz-range-thumb:hover {
background: #f0f0f0;
transform: scale(1.3);
box-shadow: 0 3px 6px rgba(0, 0, 0, 0.6);
}
.reels-master-time-display {
display: flex;
justify-content: space-between;
color: white;
font-size: 11px;
font-weight: 500;
text-shadow: 0 1px 2px rgba(0, 0, 0, 0.8);
user-select: none;
opacity: 0.9;
pointer-events: none;
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
}