.video-container{position:relative;width:100%;aspect-ratio:16/9;margin:0;background:var(--background-tertiary,#f0f0f0);border-radius:var(--radius-md,8px);overflow:hidden}.video-container.video-vertical{max-height:600px;margin-inline:auto;width:auto;max-width:100%}.video-container.video-vertical[style*="--crop-scale"]{max-height:400px}.video-container.video-vertical[style*="--crop-scale"] .or-video-player{inset:auto;left:0;top:50%;transform:translateY(-50%);width:100%;height:calc(100% * var(--crop-scale))}.video-container.video-vertical[style*="--crop-scale"] .video-placeholder-thumb{inset:auto;left:0;top:50%;transform:translateY(-50%);width:100%;height:calc(100% * var(--crop-scale))}.video-container.video-square{max-height:560px;margin-inline:auto;width:auto;max-width:100%}.video-container.video-unavailable{display:flex;align-items:center;justify-content:center;aspect-ratio:unset;min-height:200px;color:var(--text-secondary,#666)}.video-container.video-unavailable p{margin:0}.or-video-player{position:absolute;inset:0;width:100%;height:100%;border:none;border-radius:var(--radius-md,8px)}.video-placeholder-thumb{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:var(--radius-md,8px)}.or-video-caption{margin-top:.5rem;font-size:.875rem;color:var(--text-secondary,#666);text-align:center}.video-thumbnail-container{position:relative;width:100%;border-radius:var(--radius-md,8px);overflow:hidden;background:var(--background-tertiary,#f0f0f0)}.video-thumbnail{width:100%;height:auto;display:block;object-fit:cover;aspect-ratio:16/9}.video-play-button{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:64px;height:64px;background:rgba(0,0,0,.7);border:none;padding:0;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .2s ease,transform .2s ease}.video-container:hover .video-play-button,.video-thumbnail-container:hover .video-play-button{background:rgba(0,0,0,.85);transform:translate(-50%,-50%) scale(1.1)}button.video-play-button:hover{transform:translate(-50%,-50%)}.video-duration-badge{position:absolute;bottom:8px;right:8px;background:rgba(0,0,0,.8);color:#fff;padding:2px 6px;border-radius:4px;font-size:.75rem;font-weight:500;font-variant-numeric:tabular-nums}.video-mute-button{position:absolute;bottom:8px;left:8px;width:32px;height:32px;border-radius:50%;background:rgba(0,0,0,.6);border:none;padding:0;z-index:2;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s ease}.video-mute-button:hover{background:rgba(0,0,0,.85);transform:none}.video-expand-button{position:absolute;top:8px;right:8px;width:32px;height:32px;border-radius:50%;background:rgba(0,0,0,.6);border:none;padding:0;z-index:2;cursor:pointer;display:none;align-items:center;justify-content:center;transition:background .2s ease}.video-container[data-video-active] .video-expand-button{display:flex}.video-expand-button:hover{background:rgba(0,0,0,.85);transform:none}.video-modal{position:fixed;inset:0;z-index:10001;background:rgba(0,0,0,.92);display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .2s ease,visibility .2s ease}.video-modal.active{opacity:1;visibility:visible;pointer-events:auto}.video-modal-close{position:absolute;top:16px;right:16px;width:40px;height:40px;border-radius:50%;background:rgba(255,255,255,.15);border:none;padding:0;z-index:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s ease}.video-modal-close:hover{background:rgba(255,255,255,.3)}.video-modal-player{max-width:90vw;max-height:85vh;width:100%;position:relative;border-radius:var(--radius-md,8px);overflow:hidden;background:#000}.video-modal-player iframe{position:absolute;inset:0;width:100%;height:100%;border:none}.video-modal-mute{position:absolute;bottom:12px;left:12px;width:36px;height:36px;border-radius:50%;background:rgba(0,0,0,.6);border:none;padding:0;z-index:2;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s ease}.video-modal-mute:hover{background:rgba(0,0,0,.85)}.embed-container.redgifs{position:relative;width:100%;height:auto;padding-bottom:0;aspect-ratio:9/16;max-height:450px;overflow:hidden;margin:0 auto;border-radius:var(--radius-md,8px)}.embed-container.redgifs iframe{position:absolute;top:0;left:0;width:100%;height:100%;border:none;border-radius:var(--radius-md,8px)}@media (max-width:640px){.embed-container.redgifs{max-width:100%}}.embed-container[data-autoplay-deferred]{background:#1a1a1a}.embed-container[data-autoplay-deferred] .embed-source-label{position:absolute;bottom:16px;left:50%;transform:translateX(-50%);font-size:.8125rem;color:rgba(255,255,255,.5);letter-spacing:.02em;pointer-events:none}.embed-container[data-autoplay-deferred] .video-play-button{background:rgba(255,255,255,.15);backdrop-filter:blur(4px)}.embed-container[data-autoplay-deferred]:hover .video-play-button{background:rgba(255,255,255,.25)}.video-tool{margin:1rem 0}.video-upload-dropzone{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:200px;padding:2rem;border:2px dashed var(--border-color,#ddd);border-radius:var(--radius-md,8px);background:var(--background-secondary,#fafafa);cursor:pointer;transition:border-color .2s ease,background-color .2s ease}.video-upload-dropzone:hover{border-color:var(--color-primary,#2563eb);background:var(--background-hover,#f5f5f5)}.video-upload-dropzone.dragover{border-color:var(--color-primary,#2563eb);background:var(--color-primary-light,#eff6ff)}.video-upload-icon{color:var(--text-tertiary,#999);margin-bottom:1rem}.video-upload-text{margin:0 0 .5rem 0;font-size:1rem;font-weight:500;color:var(--text-primary,#333)}.video-upload-hint{margin:0;font-size:.875rem;color:var(--text-secondary,#666)}.video-file-input{position:absolute;top:0;left:0;width:100%;height:100%;opacity:0;cursor:pointer}.video-state-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:200px;padding:2rem;border:2px solid var(--border-color,#ddd);border-radius:var(--radius-md,8px);background:var(--background-secondary,#fafafa)}.video-state-container.video-error{border-color:var(--color-error,#dc2626);background:var(--color-error-light,#fef2f2)}.video-state-text{margin:.5rem 0 0 0;font-size:.9375rem;color:var(--text-primary,#333)}.video-state-hint{margin:.25rem 0 0 0;font-size:.8125rem;color:var(--text-secondary,#666)}.video-error-icon{color:var(--color-error,#dc2626)}.video-retry-btn{margin-top:1rem}.video-processing-placeholder{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--background-tertiary,#f0f0f0);border-radius:var(--radius-md,8px);text-align:center;padding:1.5rem;z-index:1}.video-processing-spinner{width:36px;height:36px;border:3px solid var(--border-color,#ddd);border-top-color:var(--color-primary,#2563eb);border-radius:50%;animation:video-spin .8s linear infinite}.video-processing-text{margin:.75rem 0 0 0;font-size:.9375rem;font-weight:500;color:var(--text-primary,#333)}.video-processing-hint{margin:.25rem 0 0 0;font-size:.8125rem;color:var(--text-secondary,#666);max-width:320px}.video-processing-banner{display:flex;gap:.75rem;align-items:flex-start;padding:.875rem 1rem;margin-bottom:1rem;background:var(--color-warning-light,#fffbeb);border:1px solid var(--color-warning-border,#fcd34d);border-radius:var(--radius-md,8px);color:var(--text-primary,#333);font-size:.875rem;line-height:1.4}.video-processing-banner svg{flex-shrink:0;margin-top:1px;color:var(--color-warning,#d97706)}.video-processing-banner strong{display:block;margin-bottom:.125rem}.video-processing-banner p{margin:0;color:var(--text-secondary,#666)}[data-theme=dark] .video-processing-banner{background:rgba(217,119,6,.1);border-color:rgba(217,119,6,.3);color:var(--primary-text-color)}[data-theme=dark] .video-processing-banner p{color:var(--secondary-text-color)}[data-theme=dark] .video-processing-placeholder{background:var(--background-tertiary)}.video-spinner{width:40px;height:40px;border:3px solid var(--border-color,#ddd);border-top-color:var(--color-primary,#2563eb);border-radius:50%;animation:video-spin .8s linear infinite}@keyframes video-spin{to{transform:rotate(360deg)}}.video-progress-container{width:100%;max-width:300px;height:8px;background:var(--background-tertiary,#e5e5e5);border-radius:4px;overflow:hidden}.video-progress-bar{height:100%;background:var(--color-primary,#2563eb);border-radius:4px;transition:width .3s ease}.video-player-container{position:relative;width:100%;padding-bottom:56.25%;background:var(--background-tertiary,#000);border-radius:var(--radius-md,8px);overflow:hidden}.video-player-iframe{position:absolute;top:0;left:0;width:100%;height:100%;border:none}.video-controls{position:absolute;top:8px;right:8px;display:flex;gap:8px;opacity:0;transition:opacity .2s ease}.video-player-container:hover .video-controls{opacity:1}.video-delete-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;background:rgba(0,0,0,.7);border:none;border-radius:6px;color:#fff;cursor:pointer;transition:background .2s ease}.video-delete-btn:hover{background:rgba(220,38,38,.9)}.video-caption-container{margin-top:.5rem}.video-caption-input{width:100%;padding:.5rem;border:1px solid var(--border-color,#ddd);border-radius:var(--radius-sm,4px);background:var(--background-primary,#fff);font-size:.875rem;color:var(--text-primary,#333)}.video-caption-input:focus{outline:0;border-color:var(--color-primary,#2563eb)}.video-caption-input::placeholder{color:var(--text-tertiary,#999)}.video-caption{margin:.5rem 0 0 0;font-size:.875rem;color:var(--text-secondary,#666);text-align:center}[data-theme=dark] .video-upload-dropzone{background:var(--background-secondary);border-color:var(--border-color)}[data-theme=dark] .video-upload-dropzone:hover{background:var(--background-tertiary)}[data-theme=dark] .video-state-container{background:var(--background-secondary);border-color:var(--border-color)}[data-theme=dark] .video-container{background:var(--background-tertiary)}[data-theme=dark] .video-thumbnail-container{background:var(--background-tertiary)}[data-theme=dark] .video-caption-input{background:var(--background-secondary);border-color:var(--border-color);color:var(--text-primary)}@media (max-width:640px){.video-upload-dropzone{min-height:160px;padding:1.5rem}.video-upload-icon svg{width:36px;height:36px}.video-upload-text{font-size:.9375rem}.video-play-button{width:48px;height:48px}.video-play-button svg{width:20px;height:20px}}