.work-stage .film-poster,.work-art .film-poster { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.work-tile.has-video .work-stage { background:#111; color:#fff; }
.work-tile.has-video .work-stage::before { display:block; inset:0; width:100%; height:100%; border:0; border-radius:0; background:rgba(0,0,0,.4); z-index:1; }
.work-tile.has-video .work-stage::after { display:none; }
.work-tile.has-video .work-caption,.work-tile.has-video .work-pending { z-index:2; position:relative; color:#fff; }
.work-tile.has-video .work-pending { position:absolute; }
.work-tile.has-video .work-caption { text-shadow:0 1px 12px rgba(0,0,0,.5); }
.film-entry.work-card { position:relative; }
.work-art.has-video { background:#111; }
.work-art.has-video .film-poster { object-fit:cover; }
.work-art.has-video::before,.work-art.has-video::after { display:none; }
.film-open { position:absolute; inset:0; z-index:2; }
.film-player-dialog { width:min(1120px,calc(100% - 40px)); max-width:1120px; padding:24px; background:var(--bg); color:var(--ink); overflow:auto; max-height:90svh; }
.film-player-dialog::backdrop { background:rgba(0,0,0,.78); }
.film-player-head { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-bottom:18px; }
.film-player-head h2 { margin:0; font-size:clamp(18px,2vw,28px); line-height:1.4; word-spacing:.2em; }
.film-player-head .icon-button { flex:none; width:44px; height:44px; display:grid; place-items:center; padding:10px; background:transparent; color:inherit; }
.film-player-head svg { width:24px; height:24px; }
.film-player-screen { position:relative; display:grid; place-items:center; width:min(100%,calc(65svh * var(--film-aspect,1.7777778))); margin-inline:auto; aspect-ratio:16/9; max-height:65svh; overflow:hidden; background:#000; color:#fff; }
.film-player-screen video,.film-switch-frame { position:absolute; inset:0; display:block; width:100%; height:100%; object-fit:contain; }
.film-switch-frame { pointer-events:none; background:#000; }
/* A one-pixel bleed hides portrait video edge seams from raster/compositor rounding. */
.film-player-screen.is-portrait video,.film-player-screen.is-portrait .film-switch-frame { inset:-1px; width:calc(100% + 2px); height:calc(100% + 2px); max-width:none; object-fit:cover; }
.film-player-screen.is-switching video { visibility:hidden; }
.film-player-screen video[hidden],.film-player-dialog [hidden] { display:none; }
.film-unavailable { font-size:14px; padding:24px; text-align:center; }
.film-versions { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:16px; }
.film-versions button { border:1px solid var(--frame); background:transparent; color:var(--ink); padding:9px 13px; font-size:12px; line-height:1.5; }
.film-versions button[aria-pressed=true] { background:var(--brand-apricot); color:var(--brand-green); }
.film-player-meta { display:flex; align-items:baseline; justify-content:space-between; gap:16px; margin-top:16px; font-size:12px; line-height:1.7; color:var(--muted); }
.film-player-meta p { margin:0; }
.film-player-status { color:var(--ink); font-size:13px; margin:14px 0 0; }
.film-player-open { overflow:hidden; }
.film-version-separator { align-self:center; padding:0 4px; color:var(--muted); font-size:18px; line-height:1; }
.film-player-dialog.is-breakdown { --ba-stage-height:max(180px,calc(90svh - 270px)); width:min(1120px,calc(100% - 40px),calc(var(--ba-stage-height) * 1.7778 + 48px)); }
.film-ba-stage { position:relative; aspect-ratio:16/9; overflow:hidden; background:var(--brand-green); touch-action:pan-y; cursor:ew-resize; }
.film-ba-stage:focus-visible { outline:2px solid var(--frame); outline-offset:3px; }
.film-ba-stage canvas,.film-ba-poster { display:block; width:100%; height:100%; object-fit:cover; }
.film-ba-poster { position:absolute; inset:0; }
.film-ba-label { position:absolute; top:12px; padding:6px 9px; background:var(--brand-green); color:var(--brand-cream); font:11px/1.3 var(--mono,monospace); pointer-events:none; }
.film-ba-before { left:12px; }
.film-ba-after { right:12px; }
.film-ba-divider { position:absolute; top:0; bottom:0; left:50%; width:2px; background:var(--brand-apricot); pointer-events:none; }
.film-ba-divider::after { content:'↔'; position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); display:grid; place-items:center; width:36px; height:36px; border:1px solid var(--brand-apricot); border-radius:50%; background:var(--brand-green); color:var(--brand-cream); font-size:21px; }
.film-ba-controls { display:flex; align-items:center; flex-wrap:wrap; gap:18px; margin-top:14px; }
.film-ba-play { flex:none; min-width:82px; min-height:44px; padding:9px 13px; border:1px solid var(--frame); background:transparent; color:var(--ink); font:12px/1.5 var(--mono,monospace); }
.film-ba-play:disabled { opacity:.5; cursor:wait; }
.film-ba-status { margin:10px 0 0; color:var(--muted); font:11px/1.5 var(--mono,monospace); }
@media(max-width:600px) {
  .film-player-dialog .film-versions { flex-wrap:nowrap; overflow-x:auto; overscroll-behavior-x:contain; scrollbar-width:thin; padding-bottom:5px; }
  .film-player-dialog .film-versions>*,.film-player-dialog .film-versions button { flex:none; white-space:nowrap; }
  .film-player-dialog { width:calc(100% - 20px); padding:16px; }
  .film-player-dialog.is-breakdown { width:calc(100% - 20px); }
  .film-player-head { gap:12px; margin-bottom:12px; }
  .film-player-meta { align-items:flex-start; flex-direction:column; gap:8px; }
}
@media(max-width:400px) {
  .film-episode-versions { gap:5px; }
  .film-episode-versions button { padding:8px 6px; font-size:10px; }
  .film-version-separator { padding:0 1px; font-size:15px; }
}
@media print { .film-open,.film-player-dialog { display:none!important; } }
