/* Load after existing film.css. Its public controls, transcript and fullscreen rules stay intact. */
.film.film-real {
  width:1280px; height:720px; position:relative; display:grid;
  color:#191c1a; background:#f5f5ef; overflow:hidden;
  font-family:Manrope,Arial,sans-serif; transform-origin:top left;
  isolation:isolate; font-variant-numeric:tabular-nums;
}
.film-real .film-scene {
  grid-area:1/1; width:1280px; height:720px; min-width:0; min-height:0;
  overflow:hidden; opacity:0; background:#f5f5ef; pointer-events:none;
}
.film-real .film-scene:first-of-type { opacity:1; }
.film-real .scene-content {
  width:100%; height:100%; padding:14px 24px 70px; box-sizing:border-box;
  display:flex; flex-direction:column; gap:12px; min-width:0; min-height:0;
}
.film-real .scene-header {
  display:flex; align-items:center; justify-content:space-between; gap:24px;
  height:48px; min-height:48px; flex-shrink:0; border:0; padding:0;
}
.film-real .scene-kicker {
  order:2; font-size:20px; font-weight:700; line-height:1.2; text-align:right;
  letter-spacing:0; color:#304bff; max-width:265px; flex-shrink:0;
}
.film-real .scene-title {
  order:1; font-size:38px; font-weight:700; line-height:1.12; letter-spacing:-.045em;
  margin:0; color:#191c1a; max-width:925px; min-width:0; text-wrap:balance;
}
.film-real .capture-window {
  flex:1; min-height:0; min-width:0; width:100%; margin:0; position:relative;
  overflow:hidden; border:1px solid #d8dbd2; border-radius:10px;
  background:#e9ece3; box-sizing:border-box;
  box-shadow:0 3px 0 #d8dbd2;
}
.film-real .capture-camera {
  width:1920px; height:929px; position:absolute; left:0; top:0;
  transform-origin:0 0; will-change:transform; overflow:visible;
}
.film-real .capture-image {
  width:1920px; height:929px; max-width:none; display:block; border:0;
  border-radius:0; object-fit:fill; user-select:none; pointer-events:none;
}
.film-real .capture-focus {
  position:absolute; z-index:2; box-sizing:border-box;
  border:4px solid #304bff; border-radius:9px;
  box-shadow:0 0 0 2px #f5f5ef; background:transparent;
  transform-origin:center; pointer-events:none;
}
.film-real .capture-cursor {
  position:absolute; width:45px; height:60px; z-index:4;
  transform-origin:4px 4px; filter:drop-shadow(1px 2px 2px #191c1a44);
  pointer-events:none;
}
.film-real .capture-cursor svg { display:block; width:100%; height:100%; }
.film-real .capture-click {
  position:absolute; width:76px; height:76px; border:5px solid #304bff;
  box-shadow:0 0 0 3px #dcfa5f; border-radius:50%; z-index:3;
  box-sizing:border-box; background:transparent; transform-origin:center;
  pointer-events:none;
}
.film-real .scene-caption {
  margin:0; height:54px; min-height:54px; flex-shrink:0;
  display:flex; align-items:center; font-size:22px; font-weight:400;
  line-height:1.25; letter-spacing:-.015em; color:#191c1a;
  max-width:1210px; text-wrap:pretty;
}
.film-real .film-confidentiality {
  position:absolute; z-index:20; left:24px; right:24px; bottom:7px;
  height:54px; margin:0; box-sizing:border-box; padding:5px 14px;
  display:flex; align-items:center; justify-content:center;
  border-radius:7px; background:#191c1a; color:#f5f5ef;
  font-size:20px; font-weight:400; line-height:1.2; text-align:center;
  letter-spacing:0; pointer-events:none;
}
.film-real:has(.film-context) .scene-content { padding-bottom:98px; }
.film-real .film-context {
  position:absolute; z-index:20; left:24px; right:24px; bottom:65px;
  height:22px; margin:0; color:#304bff; background:#f5f5ef;
  font-size:18px; font-weight:700; line-height:22px; text-align:center;
  pointer-events:none;
}
.film-real .film-progress {
  position:absolute; z-index:22; left:0; right:0; bottom:0; height:4px;
  background:#304bff; transform-origin:left center; pointer-events:none;
}
.film-real[data-reduced-motion=true] .capture-camera { will-change:auto; }
.film-real[data-composition-id="la-room-des-agents-ia"] .film-context { font-size:20px; }
@media (prefers-reduced-motion:reduce) {
  .film-real .capture-camera { will-change:auto; }
}

/* A solid loading state prevents partial/blank screenshots from flashing before playback. */
.player[data-assets-ready=false] .film-start,.player[data-assets-ready=error] .film-start{background:#f5f5ef;color:#191c1a;text-shadow:none;opacity:1}
.player[data-assets-ready=false] .film-start small,.player[data-assets-ready=error] .film-start small{color:#191c1a}
.player[data-assets-ready=false] .player-controls,.player[data-assets-ready=error] .player-controls{opacity:.6}
