.video-dialog { width: min(1200px, calc(100vw - 48px)); max-width: none; max-height: calc(100dvh - 32px); padding: 0; background: #101010; color: #fff; border: 0; overflow: auto; }
.video-dialog::backdrop { background: rgba(0,0,0,.92); }
.video-dialog-header { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 20px 24px; }
.video-dialog-title { margin: 0; font: 500 clamp(14px, 1.4vw, 18px)/1.5 Unbounded, Onest, sans-serif; letter-spacing: -.02em; overflow-wrap: anywhere; }
.video-dialog-close { flex: 0 0 auto; min-height: 44px; background: #303030; border: 0; color: #fff; padding: 10px 15px; font: 15px/1.2 Onest, sans-serif; cursor: pointer; }
.video-dialog video { display: block; width: 100%; max-height: calc(100dvh - 160px); aspect-ratio: 16 / 9; object-fit: contain; background: #000; }
.video-dialog video[hidden] { display: none; }
.video-error { font: 16px/1.5 Onest, sans-serif; margin: 0; padding: 20px 24px; }
.video-error a { color: inherit; text-underline-offset: 4px; }
.video-dialog :focus-visible { outline: 3px solid var(--signal, #f60017); outline-offset: 3px; }
body.video-is-open { overflow: hidden; }
@media (max-width: 700px) { .video-dialog { width: calc(100vw - 24px); } .video-dialog-header { padding: 16px; gap: 12px; } .video-dialog-title { font-size: 16px; } .video-dialog-close { padding: 10px; } }
