.progressive-video-thumb{position:relative;overflow:hidden;cursor:pointer;display:block;background:#000;transition:transform 0.3s ease, box-shadow 0.3s ease}.progressive-video-thumb:hover{transform:scale(1.02);box-shadow:0 8px 24px rgba(0, 0, 0, 0.15)}.progressive-video-thumb .static-thumb{position:relative;width:100%;height:100%;object-fit:cover;display:block;z-index:0;transition:opacity 0.5s ease-in-out}.progressive-video-thumb.has-preview .static-thumb{opacity:0;pointer-events:none}.progressive-video-thumb .preview-video{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;z-index:1;opacity:0;transition:opacity 0.5s ease-in-out;pointer-events:none}.progressive-video-thumb .preview-video.loaded{opacity:1}.progressive-video-thumb .play-button{position:absolute;top:50%;left:50%;transform:translate(-50%, -50%);z-index:10;width:64px;height:64px;background:rgba(255, 255, 0, 0.9);border-radius:50%;display:flex;align-items:center;justify-content:center;transition:all 0.3s ease;box-shadow:0 4px 12px rgba(0, 0, 0, 0.3);pointer-events:none}.progressive-video-thumb .play-button::after{content:'';width:0;height:0;border-left:18px solid #000;border-top:12px solid transparent;border-bottom:12px solid transparent;margin-left:4px}.progressive-video-thumb:hover .play-button{transform:translate(-50%, -50%) scale(1.1);background:rgba(255, 255, 0, 1);box-shadow:0 6px 20px rgba(255, 255, 0, 0.4)}.progressive-video-thumb .loading-indicator{position:absolute;top:50%;left:50%;transform:translate(-50%, -50%);z-index:5;width:40px;height:40px;border:4px solid rgba(255, 255, 255, 0.3);border-top-color:#FFFF00;border-radius:50%;animation:spin 1s linear infinite;opacity:0;transition:opacity 0.3s ease;pointer-events:none}.progressive-video-thumb.loading .loading-indicator{opacity:1}@keyframes spin{to{transform:translate(-50%, -50%) rotate(360deg)}}.progressive-video-thumb .hover-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:rgba(0, 0, 0, 0);z-index:9;transition:background 0.3s ease;pointer-events:none}.progressive-video-thumb:hover .hover-overlay{background:rgba(0, 0, 0, 0.1)}.progressive-video-thumb .video-info{position:absolute;bottom:12px;left:12px;right:12px;z-index:11;background:rgba(0, 0, 0, 0.7);backdrop-filter:blur(8px);padding:8px 12px;border-radius:8px;color:white;font-size:14px;font-weight:600;opacity:0;transform:translateY(10px);transition:all 0.3s ease;pointer-events:none}.progressive-video-thumb:hover .video-info{opacity:1;transform:translateY(0)}@media (max-width:768px){.progressive-video-thumb .play-button{width:48px;height:48px}.progressive-video-thumb .play-button::after{border-left:14px solid #000;border-top:9px solid transparent;border-bottom:9px solid transparent}.progressive-video-thumb .video-info{font-size:12px;padding:6px 10px}}.progressive-video-thumb:focus{outline:3px solid #FFFF00;outline-offset:2px}.progressive-video-thumb:focus:not(:focus-visible){outline:none}.progressive-video-thumb:focus-visible{outline:3px solid #FFFF00;outline-offset:2px}.progressive-video-thumb,.progressive-video-thumb .static-thumb,.progressive-video-thumb .preview-video,.progressive-video-thumb .play-button{will-change:transform, opacity}@media (prefers-reduced-motion:reduce){.progressive-video-thumb,  .progressive-video-thumb *,  .loading-indicator{animation:none !important;transition:none !important}}.progressive-video-thumb.aspect-16-9{aspect-ratio:16 / 9}.progressive-video-thumb.aspect-9-16{aspect-ratio:9 / 16}.progressive-video-thumb.aspect-1-1{aspect-ratio:1 / 1}.progressive-video-thumb.aspect-4-3{aspect-ratio:4 / 3}.progressive-video-grid{display:grid;gap:20px;grid-template-columns:repeat(auto-fill, minmax(300px, 1fr))}@media (max-width:768px){.progressive-video-grid{grid-template-columns:1fr;gap:16px}}@media (prefers-color-scheme:dark){.progressive-video-thumb .video-info{background:rgba(255, 255, 255, 0.1);color:white}}@media print{.progressive-video-thumb .play-button,  .progressive-video-thumb .loading-indicator,  .progressive-video-thumb .hover-overlay{display:none !important}.progressive-video-thumb .preview-video{display:none !important}}