.slider{-webkit-appearance:none;appearance:none;background:transparent;cursor:pointer}.slider::-webkit-slider-track{background:rgba(255,255,255,.3);height:4px;border-radius:2px}.slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;background:#ffffff;height:12px;width:12px;border-radius:50%;cursor:pointer;box-shadow:0 2px 4px rgba(0,0,0,.3)}.slider::-moz-range-track{background:rgba(255,255,255,.3);height:4px;border-radius:2px;border:none}.slider::-moz-range-thumb{background:#ffffff;height:12px;width:12px;border-radius:50%;cursor:pointer;border:none;box-shadow:0 2px 4px rgba(0,0,0,.3)}@keyframes video-pulse{0%,to{opacity:.8}50%{opacity:1}}.video-loading{animation:video-pulse 1.5s ease-in-out infinite}video:fullscreen{width:100vw;height:100vh;object-fit:contain}video:-webkit-full-screen{width:100vw;height:100vh;object-fit:contain}video:-moz-full-screen{width:100vw;height:100vh;object-fit:contain}.video-progress{position:relative;height:4px;background:rgba(255,255,255,.3);border-radius:2px;overflow:hidden}.video-progress-bar{height:100%;background:linear-gradient(90deg,#3b82f6,#8b5cf6);border-radius:2px;transition:width .1s ease}.video-overlay-enter{opacity:0;transform:translateY(10px)}.video-overlay-enter-active{transition:opacity .3s ease,transform .3s ease}.video-overlay-enter-active,.video-overlay-exit{opacity:1;transform:translateY(0)}.video-overlay-exit-active{opacity:0;transform:translateY(10px);transition:opacity .3s ease,transform .3s ease}.video-quality{position:absolute;top:16px;left:16px;background:rgba(0,0,0,.7);color:white;padding:4px 8px;border-radius:4px;font-size:12px;font-weight:500}.video-error{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;background:rgba(0,0,0,.8);color:white;text-align:center}.video-error-icon{width:48px;height:48px;margin-bottom:16px;opacity:.7}@media (max-width:768px){.video-controls,.video-controls button{padding:8px}.slider{width:60px}}.video-thumbnail{position:relative;overflow:hidden;border-radius:8px;transition:transform .3s ease}.video-thumbnail:hover{transform:scale(1.05)}.video-thumbnail:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:24px;height:24px;background:rgba(255,255,255,.9);border-radius:50%;opacity:0;transition:opacity .3s ease}.video-thumbnail:hover:after{opacity:1}.video-skeleton{background:linear-gradient(90deg,rgba(255,255,255,.1) 25%,rgba(255,255,255,.2) 50%,rgba(255,255,255,.1) 75%);background-size:200% 100%;animation:shimmer 2s infinite}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}