/* Gemini loops: give the active film more space and preserve its light. */
.villain-reel.is-preview{flex:3.8 1 0}
.reel-image{filter:saturate(.9) brightness(.9)}
.is-preview .reel-image{filter:none}
.reel-video.has-media{opacity:1;filter:saturate(.88) brightness(.88);transform:scale(1);transition:filter .55s,transform .8s}
.is-preview .reel-video.has-media{filter:none;transform:none;object-fit:cover;object-position:center center;background:transparent}
.reel-scrim{background:linear-gradient(180deg,#08091445 0%,transparent 20%,transparent 53%,#08091435 74%,#080914bd 100%)}
.reel-copy{bottom:65px;left:clamp(20px,2.5vw,45px);right:clamp(20px,2.5vw,45px)}
.is-preview .reel-description{max-width:440px;font-size:.88rem;line-height:1.55;margin:10px 0}
.is-preview .reel-copy h2{font-size:clamp(1.8rem,3vw,3.1rem)}
.reel-number{margin-bottom:8px}.reel-tagline{font-size:.85rem}
.reel-actions{margin:10px 0}.media-placeholder{margin-top:6px}
@media(min-width:701px){.cinema-reels:has(.is-preview) .villain-reel:not(.is-preview) .reel-copy h2{font-size:clamp(1.25rem,1.85vw,2rem)}.cinema-reels:has(.is-preview) .villain-reel:not(.is-preview) .reel-copy{left:18px;right:15px}.cinema-reels:has(.is-preview) .villain-reel:not(.is-preview) .reel-number{font-size:.55rem}.cinema-reels:has(.is-preview) .villain-reel:not(.is-preview) .reel-tagline{font-size:.74rem}}
@media(max-width:700px){.villain-reel.is-preview{flex:4.2 1 0;min-height:430px}.is-preview .reel-video.has-media{object-position:center center}.reel-copy{bottom:18px;left:20px;right:20px}.is-preview .reel-copy h2{font-size:1.7rem}.is-preview .reel-description{font-size:.82rem;max-width:430px}.reel-scrim{background:linear-gradient(180deg,#08091425,transparent 20%,transparent 38%,#08091445 68%,#080914c9 100%)}.villain-reel:last-child .reel-copy{bottom:44px}}
.reel-info-box{background:rgba(10,17,29,.84);border:1px solid #ffffff52;border-radius:12px;padding:14px 17px;max-width:515px;box-shadow:0 6px 24px #0003;backdrop-filter:none;pointer-events:none}
.reel-info-box .reel-tagline,.reel-info-box .reel-description{color:#fff;text-shadow:none}
.reel-info-box .reel-tagline{font-weight:600;line-height:1.6}
.reel-info-box .reel-description{font-size:.9rem;line-height:1.65}
.reel-info-box .reel-actions{pointer-events:auto}
.reel-info-box .media-placeholder{color:#d7dee9}
.scene-backdrop{background:linear-gradient(140deg,var(--bg),#f9fafc 55%,var(--bg2))}
.scene-backdrop:after{background-image:none;mask-image:none;opacity:.45;background:radial-gradient(ellipse at 15% 95%,var(--halo),transparent 60%);animation:none}
.scene-backdrop:before{opacity:.35}
.setup-map-desktop{margin:18px 0 8px;max-width:580px}
.setup-map-preview{display:block;width:100%;padding:0;border:1px solid var(--line);border-radius:10px;overflow:hidden;background:#fff;line-height:0}
.setup-map-preview img{width:100%;height:auto;display:block}
.setup-map-desktop figcaption{font-size:.79rem;line-height:1.6;color:var(--muted);margin-top:8px}
.setup-map-mobile{display:none}
@media(max-width:700px){.reel-info-box{padding:11px 13px;border-radius:9px}.reel-info-box .reel-description{font-size:.81rem}.reel-info-box .reel-tagline{font-size:.78rem}}
@media(max-width:680px){.setup-map-desktop{display:none}.setup-map-mobile{display:block;margin:14px 0;text-align:left;line-height:1.5;min-height:48px}}
.language-switch{display:inline-flex;align-items:center;gap:3px;border:1px solid #b5c0d0;border-radius:9px;padding:3px;background:#fff;pointer-events:auto;flex-shrink:0}
.language-switch button{min-width:38px;min-height:35px;padding:5px 8px;border:0;background:transparent;color:#344357;box-shadow:none;font-size:.75rem;font-weight:750;border-radius:6px}
.language-switch button[aria-pressed=true]{background:#263c65;color:#fff}
.topbar-actions{display:flex;gap:10px;align-items:center}
.cinema-header .language-switch{border-color:#ffffff60;background:#101827d9}
.cinema-header .language-switch button{color:#fff}
.cinema-header .language-switch button[aria-pressed=true]{background:#f0dfb8;color:#182335}
.cinema-header p{margin-left:auto}
.scene-backdrop:before{content:'';position:absolute;inset:-30px;width:auto;height:auto;min-width:0;min-height:0;background-image:var(--scene);background-position:center;background-size:cover;filter:blur(8px);transform:scale(1.04);opacity:.65;animation:none}
.scene-backdrop:after{background:linear-gradient(120deg,#f4f6f9d9,#fafbfbe8 55%,#f4f6f9c9);opacity:1;inset:0}
.locked-pick{background:#ffffffed}
.bot-guide h2{margin-top:12px;font-size:1.7rem}
.guide-lead{font-size:1.05rem;font-weight:650;color:var(--accent)}
.bot-guide ol{line-height:1.75;padding-left:23px}
.bot-guide li{margin:12px 0;padding-left:4px}
.guide-callout{background:var(--accent-soft);border:1px solid #bac7d9;border-left:4px solid var(--accent);padding:16px 18px;border-radius:9px;line-height:1.75;margin:18px 0}
.guide-table{width:100%;border-collapse:collapse;font-size:.9rem;margin:18px 0}
.guide-table th,.guide-table td{border-bottom:1px solid #ccd4df;padding:12px 10px;line-height:1.6;text-align:left;vertical-align:top}
.guide-table th{color:var(--accent);background:var(--accent-soft)}
.hide-shriek-track{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin:20px 0}
.track-slot{position:relative;text-align:center;background:#fff;border:1px solid #c5ceda;border-top:5px solid var(--c);border-radius:8px;padding:13px 5px;min-width:0}
.track-slot strong,.track-slot small{display:block;margin-top:8px;font-size:.8rem}
.track-slot small{color:var(--muted);font-size:.72rem}
.track-slot.has-guest{box-shadow:0 0 0 2px var(--accent);background:var(--accent-soft)}
.track-guest{display:block;font-size:1.6rem;color:var(--c);text-shadow:0 1px 2px #0009}
@media(max-width:680px){.topbar-actions{gap:5px}.topbar-actions .badge{display:none}.cinema-header .brand{max-width:42%;font-size:.7rem}.cinema-header p{display:none}.cinema-header{align-items:center}.language-switch button{min-height:35px;min-width:35px}.bot-guide h2{font-size:1.4rem}.bot-guide ol{font-size:.9rem;line-height:1.7}.guide-lead{font-size:.95rem}.guide-callout{font-size:.86rem;padding:13px}.guide-table{font-size:.78rem}.guide-table th,.guide-table td{padding:10px 6px}.hide-shriek-track{gap:4px}.track-slot{padding:10px 3px}.track-slot strong{font-size:.68rem}.track-slot small{font-size:.62rem}}
.door-calculation,.door-result{padding:15px 17px;background:var(--accent-soft);border:1px solid #bac8d9;border-radius:9px;margin:16px 0;line-height:1.7}
.door-calculation strong,.door-calculation span{display:block}.door-calculation span{font-size:.85rem;margin-top:5px;color:#48586c}
.door-count-question{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:15px 0;font-weight:650;line-height:1.6}
.door-count-question select{max-width:270px;font-size:.85rem;min-height:46px}
.door-example{margin:12px 0}.door-sequence{display:grid;grid-template-columns:1fr auto 1fr auto 1fr auto 1fr;align-items:center;gap:5px;margin:16px 0}
.door-sequence>span{display:block;text-align:center;padding:12px 5px;border:1px solid #bfcbd8;background:#fff;border-radius:8px;font-size:.85rem;font-weight:650;line-height:1.6}
.door-sequence small{font-size:.7rem;font-weight:400}.door-sequence .chosen{background:var(--accent-soft);border:2px solid var(--accent)}
.laughter-help{padding:17px;background:#fff5db;border:1px solid #d4b05b;border-radius:10px;margin-top:18px}
.laughter-help summary{color:#674c0c}.laughter-help button{color:#614709;background:#fff7e8;border-color:#c6a253;white-space:normal;line-height:1.5}
@media(max-width:680px){.door-count-question{align-items:flex-start;flex-direction:column;gap:9px}.door-count-question select{width:100%;max-width:none}.door-sequence>span{padding:10px 3px;font-size:.73rem}.door-sequence small{font-size:.62rem}.door-sequence{gap:3px}.laughter-help{padding:13px}.laughter-help button{width:100%;font-size:.8rem}}

/* De-emphasise only the two idle films; keep their labels readable. */
.cinema-reels:has(.is-preview) .villain-reel:not(.is-preview) .reel-image,
.cinema-reels:has(.is-preview) .villain-reel:not(.is-preview) .reel-video.has-media{filter:grayscale(.85) brightness(.72)}
.villain-reel{transition:flex .45s cubic-bezier(.22,.7,.22,1)}
.reel-video.has-media{transition:filter .3s ease,transform .5s ease}
@media(prefers-reduced-motion:reduce){.villain-reel,.reel-video.has-media{transition:none}}
