:root{--vdclip-primary: #ff6b00;--vdclip-primary-hover: #e55f00;--vdclip-bg: #000;--vdclip-bg-overlay: rgba(0, 0, 0, .6);--vdclip-text: #fff;--vdclip-text-secondary: rgba(255, 255, 255, .7);--vdclip-border: rgba(255, 255, 255, .2);--vdclip-error: #ef4444;--vdclip-success: #22c55e;--vdclip-radius: 8px;--vdclip-transition: .2s ease}.vdclip-player{position:relative;width:100%;height:100%;max-width:100%;max-height:100%;background-color:var(--vdclip-bg);border-radius:var(--vdclip-radius);overflow:hidden;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;font-size:14px;line-height:1.4;color:var(--vdclip-text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.vdclip-player *{box-sizing:border-box}.vdclip-canvas{position:relative;width:100%;height:0;padding-bottom:56.25%;overflow:hidden}.vdclip-canvas.aspect-1-1{padding-bottom:100%}.vdclip-canvas.aspect-4-5{padding-bottom:125%}.vdclip-canvas.aspect-9-16{padding-bottom:177.78%}.vdclip-canvas-inner{position:absolute;top:0;left:0;width:100%;height:100%}.vdclip-layer{position:absolute;overflow:hidden}.vdclip-layer video{display:block}.vdclip-text{word-break:break-word;white-space:pre-wrap}.vdclip-caption{word-break:break-word}.vdclip-word{display:inline;transition:all .1s ease}.vdclip-word.highlighted{display:inline-block}.vdclip-sticker{display:flex;align-items:center;justify-content:center}.vdclip-sticker svg{max-width:100%;max-height:100%}.vdclip-watermark{position:absolute;z-index:9999;cursor:pointer;transition:left .3s ease,top .3s ease,opacity .2s ease}.vdclip-watermark:hover{opacity:1!important}.vdclip-watermark img{display:block;pointer-events:none}.vdclip-big-play-btn{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:80px;height:80px;border:none;border-radius:50%;background-color:#000000bf;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s cubic-bezier(.4,0,.2,1);z-index:10;box-shadow:0 8px 32px #0006}.vdclip-big-play-btn:hover{background-color:#000000d9;transform:translate(-50%,-50%) scale(1.08);box-shadow:0 12px 40px #00000080}.vdclip-big-play-btn:active{transform:translate(-50%,-50%) scale(.95)}.vdclip-big-play-btn svg{margin-left:4px;filter:drop-shadow(0 2px 4px rgba(0,0,0,.3))}.vdclip-loading{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;align-items:center;justify-content:center;background-color:var(--vdclip-bg-overlay);z-index:20}.vdclip-loading-content{display:flex;flex-direction:column;align-items:center;gap:12px}.vdclip-loading-message{color:var(--vdclip-text-secondary);font-size:14px}.vdclip-loading-progress{color:var(--vdclip-text);font-size:16px;font-weight:600}.vdclip-spinner{animation:vdclip-rotate 1s linear infinite}.vdclip-spinner-track{stroke:#fff3}.vdclip-spinner-progress{stroke:var(--vdclip-primary);stroke-dasharray:31.5 126;transform-origin:center;animation:vdclip-dash 1.5s ease-in-out infinite}@keyframes vdclip-rotate{to{transform:rotate(360deg)}}@keyframes vdclip-dash{0%{stroke-dasharray:1 126;stroke-dashoffset:0}50%{stroke-dasharray:63 126;stroke-dashoffset:-25}to{stroke-dasharray:63 126;stroke-dashoffset:-126}}.vdclip-skeleton{position:relative;background-color:#ffffff1a;overflow:hidden}.vdclip-skeleton-shimmer{position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.1) 50%,transparent 100%);animation:vdclip-shimmer 1.5s infinite}@keyframes vdclip-shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.vdclip-buffering{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:15}.vdclip-buffering-dots{display:flex;gap:6px}.vdclip-buffering-dots span{width:10px;height:10px;background-color:var(--vdclip-text);border-radius:50%;animation:vdclip-bounce 1.4s infinite ease-in-out both}.vdclip-buffering-dots span:nth-child(1){animation-delay:-.32s}.vdclip-buffering-dots span:nth-child(2){animation-delay:-.16s}@keyframes vdclip-bounce{0%,80%,to{transform:scale(0)}40%{transform:scale(1)}}.vdclip-error{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;align-items:center;justify-content:center;background-color:var(--vdclip-bg-overlay);z-index:25}.vdclip-error-content{display:flex;flex-direction:column;align-items:center;gap:16px;padding:24px;max-width:300px;text-align:center}.vdclip-error-icon{color:var(--vdclip-error)}.vdclip-error-message{color:var(--vdclip-text);font-size:14px;margin:0}.vdclip-error-code{color:var(--vdclip-text-secondary);font-size:12px}.vdclip-error-actions{display:flex;gap:8px}.vdclip-inline-error{display:flex;align-items:center;gap:8px;padding:8px 12px;background-color:#ef44441a;border:1px solid var(--vdclip-error);border-radius:var(--vdclip-radius);color:var(--vdclip-error);font-size:12px}.vdclip-inline-error button{background:none;border:none;color:inherit;text-decoration:underline;cursor:pointer}@media (max-width: 480px){.vdclip-big-play-btn{width:64px;height:64px}.vdclip-big-play-btn svg{width:36px;height:36px}.vdclip-error-content{padding:16px}}.vdclip-controls-container{position:absolute;top:0;left:0;right:0;bottom:0;z-index:30}.vdclip-center-play-btn{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:72px;height:72px;border:none;border-radius:50%;background-color:#000000bf;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .25s cubic-bezier(.4,0,.2,1);z-index:35;box-shadow:0 4px 24px #0006}.vdclip-center-play-btn.visible{opacity:1;pointer-events:auto}.vdclip-center-play-btn.hidden{opacity:0;pointer-events:none}.vdclip-center-play-btn:hover{background-color:#000000d9;transform:translate(-50%,-50%) scale(1.08);box-shadow:0 6px 32px #00000080}.vdclip-center-play-btn:active{transform:translate(-50%,-50%) scale(.95)}.vdclip-center-play-btn svg{margin-left:4px;filter:drop-shadow(0 2px 4px rgba(0,0,0,.3))}.vdclip-bottom-controls{position:absolute;bottom:0;left:0;right:0;transition:opacity .2s ease}.vdclip-bottom-controls.visible{opacity:1;pointer-events:auto}.vdclip-bottom-controls.hidden{opacity:0;pointer-events:none}.vdclip-time-display{position:absolute;bottom:14px;right:12px;padding:4px 10px;background-color:#0009;border-radius:4px;font-size:12px;font-weight:500;color:var(--vdclip-text);font-variant-numeric:tabular-nums;white-space:nowrap;z-index:40}.vdclip-progress{position:relative;width:100%;height:6px;cursor:pointer;background-color:#ffffff4d}.vdclip-progress:hover{height:8px}.vdclip-progress:focus{outline:none}.vdclip-progress-bg{display:none}.vdclip-progress-buffer{position:absolute;left:0;top:0;height:100%;background-color:#fff6;transition:width .1s ease}.vdclip-progress-fill{position:absolute;left:0;top:0;height:100%;background-color:var(--vdclip-primary);transition:width .05s linear}.vdclip-progress.dragging .vdclip-progress-fill{transition:none}.vdclip-progress-handle{position:absolute;top:50%;width:12px;height:12px;background-color:var(--vdclip-primary);border-radius:50%;transform:translate(-50%,-50%);opacity:0;transition:opacity .2s ease,transform .2s ease;box-shadow:0 2px 4px #0000004d}.vdclip-progress:hover .vdclip-progress-handle,.vdclip-progress.dragging .vdclip-progress-handle{opacity:1}.vdclip-progress:hover .vdclip-progress-handle:hover,.vdclip-progress.dragging .vdclip-progress-handle{transform:translate(-50%,-50%) scale(1.2)}.vdclip-progress-tooltip{position:absolute;bottom:100%;transform:translate(-50%);padding:4px 8px;background-color:#000c;color:var(--vdclip-text);font-size:11px;font-weight:500;border-radius:4px;white-space:nowrap;pointer-events:none;margin-bottom:8px}.vdclip-progress-tooltip:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border:4px solid transparent;border-top-color:#000c}.vdclip-retry-btn{display:flex;align-items:center;gap:6px;padding:10px 16px;background-color:var(--vdclip-primary);color:#fff;font-weight:500;border:none;border-radius:var(--vdclip-radius);cursor:pointer;transition:background-color .2s ease}.vdclip-retry-btn:hover{background-color:var(--vdclip-primary-hover)}.vdclip-dismiss-btn{padding:10px 16px;background-color:transparent;border:1px solid var(--vdclip-border);color:var(--vdclip-text-secondary);font-weight:500;border-radius:var(--vdclip-radius);cursor:pointer;transition:background-color .2s ease,color .2s ease}.vdclip-dismiss-btn:hover{background-color:#ffffff1a;color:var(--vdclip-text)}.vdclip-mini-progress{width:100%;height:3px;background-color:#ffffff4d;border-radius:1.5px;overflow:hidden}.vdclip-mini-progress-fill{height:100%;background-color:var(--vdclip-primary);transition:width .1s linear}@media (max-width: 480px){.vdclip-center-play-btn{width:60px;height:60px}.vdclip-center-play-btn svg{width:28px;height:28px}.vdclip-time-display{font-size:11px;padding:3px 8px}}@media (hover: none){.vdclip-progress{height:8px}.vdclip-progress-handle{opacity:1;width:16px;height:16px}}@keyframes vdclip-fade-in{0%{opacity:0}to{opacity:1}}@keyframes vdclip-fade-out{0%{opacity:1}to{opacity:0}}@keyframes vdclip-slide-in-right{0%{transform:translate(-100%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes vdclip-slide-out-right{0%{transform:translate(0);opacity:1}to{transform:translate(100%);opacity:0}}@keyframes vdclip-slide-in-left{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes vdclip-slide-out-left{0%{transform:translate(0);opacity:1}to{transform:translate(-100%);opacity:0}}@keyframes vdclip-slide-in-up{0%{transform:translateY(30px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes vdclip-slide-out-up{0%{transform:translateY(0);opacity:1}to{transform:translateY(-30px);opacity:0}}@keyframes vdclip-slide-in-down{0%{transform:translateY(-100%);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes vdclip-slide-out-down{0%{transform:translateY(0);opacity:1}to{transform:translateY(100%);opacity:0}}@keyframes vdclip-scale-in{0%{transform:scale(0);opacity:0}to{transform:scale(1);opacity:1}}@keyframes vdclip-scale-out{0%{transform:scale(1);opacity:1}to{transform:scale(0);opacity:0}}@keyframes vdclip-bounce-in{0%{transform:translateY(100px);opacity:0}60%{transform:translateY(-10px);opacity:1}80%{transform:translateY(5px)}to{transform:translateY(0)}}@keyframes vdclip-bounce-out{0%{transform:translateY(0);opacity:1}20%{transform:translateY(5px)}40%{transform:translateY(-10px);opacity:1}to{transform:translateY(100px);opacity:0}}@keyframes vdclip-pulse-in{0%{transform:scale(0);opacity:0}30%{transform:scale(1.2);opacity:1}60%{transform:scale(.9)}to{transform:scale(1)}}@keyframes vdclip-pulse-out{0%{transform:scale(1);opacity:1}40%{transform:scale(.9)}70%{transform:scale(1.2);opacity:1}to{transform:scale(0);opacity:0}}@keyframes vdclip-shake-in{0%{transform:translate(0);opacity:0}15%{transform:translate(-10px);opacity:1}30%{transform:translate(10px)}45%{transform:translate(-8px)}60%{transform:translate(8px)}75%{transform:translate(-5px)}90%{transform:translate(5px)}to{transform:translate(0)}}@keyframes vdclip-spin-in{0%{transform:rotate(360deg) scale(0);opacity:0}to{transform:rotate(0) scale(1);opacity:1}}@keyframes vdclip-spin-out{0%{transform:rotate(0) scale(1);opacity:1}to{transform:rotate(-360deg) scale(0);opacity:0}}@keyframes vdclip-blur-in{0%{filter:blur(20px);opacity:0}to{filter:blur(0);opacity:1}}@keyframes vdclip-blur-out{0%{filter:blur(0);opacity:1}to{filter:blur(20px);opacity:0}}@keyframes vdclip-float-in{0%{transform:translate(10px,-20px);opacity:0}to{transform:translate(0);opacity:1}}@keyframes vdclip-float-out{0%{transform:translate(0);opacity:1}to{transform:translate(-10px,-20px);opacity:0}}@keyframes vdclip-typing-cursor{0%,to{border-right-color:transparent}50%{border-right-color:currentColor}}@keyframes vdclip-word-highlight{0%{transform:scale(1)}50%{transform:scale(1.1)}to{transform:scale(1)}}@keyframes vdclip-spinner-rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes vdclip-watermark-position{0%,to{opacity:.85}50%{opacity:.9}}.vdclip-animate-fade-in{animation:vdclip-fade-in .3s ease forwards}.vdclip-animate-fade-out{animation:vdclip-fade-out .3s ease forwards}.vdclip-animate-scale-in{animation:vdclip-scale-in .3s ease forwards}.vdclip-animate-scale-out{animation:vdclip-scale-out .3s ease forwards}.vdclip-animate-slide-up{animation:vdclip-slide-in-up .3s ease forwards}.vdclip-animate-bounce{animation:vdclip-bounce-in .5s ease forwards}
