.film-open{overflow:hidden}
.film-window{box-sizing:border-box;width:min(1120px,calc(100vw - 64px));max-width:none;max-height:calc(100dvh - 48px);padding:0;background:#080808;color:#fff;border:1px solid #393939;border-radius:12px;box-shadow:0 32px 120px #000;overflow:auto}
.film-window::backdrop{background:rgba(0,0,0,.88);backdrop-filter:blur(12px)}
.film-window[open]{animation:film-enter .25s ease-out}
.film-toolbar,.film-caption{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 24px}
.film-toolbar{border-bottom:1px solid #282828;font-size:12px;letter-spacing:.2em;color:#aaa}
.film-close{display:flex;align-items:center;gap:16px;border:1px solid #444;border-radius:30px;padding:8px 14px;background:transparent;color:#fff;font:inherit;font-size:14px;letter-spacing:0;cursor:pointer}
.film-close span{font-size:24px;line-height:1}.film-close:hover{background:#fff;color:#000}.film-close:focus-visible{outline:2px solid #fff;outline-offset:4px}
.film-screen{aspect-ratio:16/9;background:#000}.film-screen iframe{display:block;width:100%;height:100%;border:0}
.film-caption{border-top:1px solid #282828}.film-caption h2{margin:0;font-size:20px;font-weight:400;line-height:1.4;letter-spacing:0}.film-caption>span{flex-shrink:0;font-size:12px;letter-spacing:.16em;color:#888}
@keyframes film-enter{from{opacity:0;transform:translateY(12px) scale(.985)}to{opacity:1;transform:none}}
@media(max-width:600px){.film-window{width:calc(100vw - 24px);border-radius:8px}.film-toolbar,.film-caption{padding:14px 16px}.film-caption>span{display:none}.film-caption h2{font-size:16px}.film-toolbar{font-size:12px;letter-spacing:.1em}}
@media(prefers-reduced-motion:reduce){.film-window[open]{animation:none}}
