/* 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; }