/* The seasonal venue uses the existing game shell, controls and type system. */
body[data-mode=cinema]{--rail-space:0px}
body[data-mode=cinema] #viewport{inset:68px 0 210px;height:auto}
body[data-mode=cinema] .city-heading,body[data-mode=cinema] .job-detail,body[data-mode=cinema] .roster,body[data-mode=cinema] .city-status,body[data-mode=cinema] .camera-dock,body[data-mode=cinema] .movement-help,body[data-mode=cinema] #overview,body[data-mode=cinema] #nearby-work,body[data-mode=cinema] #business-bar{display:none}
#cinema-ui{position:absolute;inset:0;z-index:8;pointer-events:none;color:var(--ink)}
.cinema-header{height:68px;padding:10px 22px;display:flex;gap:24px;align-items:center;background:var(--panel-deep);border-bottom:1px solid var(--line);pointer-events:auto}
.cinema-header>.small-button{min-height:40px;font-size:.8125rem}
.cinema-title{display:flex;align-items:center;gap:12px;margin-right:auto}
.cinema-roundel{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:#d91432;color:white;font:bold 20px Arial,sans-serif;letter-spacing:-2px;padding-right:2px}
.cinema-title .eyebrow{font:600 .625rem/1.4 var(--body);color:#dfb8bf;letter-spacing:.08em}
.cinema-title h1{margin:2px 0 0;font:600 1rem/1.3 var(--menu-title);letter-spacing:-.025em}
.cinema-score,.cinema-timer{display:grid;gap:3px;min-width:70px}.cinema-score small,.cinema-timer small{font:.6875rem var(--body);color:var(--muted)}.cinema-score strong,.cinema-timer strong{font:600 1.0625rem var(--menu-title);font-variant-numeric:tabular-nums}
.cinema-cast{position:absolute;top:86px;left:50%;transform:translateX(-50%);width:min(550px,65%);display:flex;justify-content:space-between;color:#f2e5d5;font:600 .6875rem var(--body);letter-spacing:.08em;text-shadow:0 2px 5px #000}
.cinema-cast span:last-child{text-align:right}.cinema-cast small{display:block;font:400 .6875rem var(--body);color:#d4c8c3;margin-top:3px;letter-spacing:0}
.premiere-console{position:absolute;bottom:0;left:0;right:0;padding:12px max(24px,calc((100% - 660px)/2));height:210px;box-sizing:border-box;background:var(--panel-deep);border-top:1px solid #59404c;pointer-events:auto}
.cinema-hype{display:flex;align-items:center;gap:12px;font:.6875rem var(--body);color:var(--muted)}.cinema-hype meter{flex:1;height:6px;accent-color:var(--green)}.cinema-hype b{color:var(--green);font-size:.75rem;min-width:78px;text-align:right}
.cinema-play{position:relative;margin-top:8px}.cue-lanes{height:114px;display:grid;grid-template-columns:repeat(3,1fr);gap:8px;overflow:hidden}.cue-lane{position:relative;background:#222222;border-inline:1px solid #363636;border-radius:5px}.cue-target{position:absolute;top:92px;left:9px;right:9px;height:2px;background:var(--cue-color);box-shadow:0 0 8px color-mix(in srgb,var(--cue-color) 35%,transparent)}.cue-note{position:absolute;top:-10px;left:calc(50% - 25px);width:50px;height:20px;border-radius:4px;border:1px solid var(--cue-color);background:var(--cue-color);color:#222222;font:700 .75rem/20px var(--body);text-align:center;will-change:transform}
.cue-buttons{position:absolute;bottom:-18px;left:0;right:0;display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.cue-buttons button{display:flex;gap:9px;align-items:center;justify-content:center;min-height:38px;border:1px solid #5d5d5d;border-bottom:2px solid var(--cue-color);background:#2a2a2a;color:var(--ink);border-radius:6px;font:600 .75rem var(--body);cursor:pointer}.cue-buttons button:hover{background:#3b3b3b}.cue-buttons button:active,.cue-buttons button[data-hit=yes]{background:var(--cue-color);color:#1e1e1e}.cue-buttons button[data-hit=no]{background:#6a3441}.cue-buttons button:disabled{opacity:.55;cursor:default}.cue-buttons kbd{font:650 .875rem var(--menu-title)}
.cinema-feedback{position:absolute;left:24px;bottom:80px;width:calc((100% - 730px)/2);display:grid;gap:5px}.cinema-feedback strong{font:600 1rem var(--menu-title);color:#f5d8a4}.cinema-feedback span{font:.75rem/1.5 var(--body);color:var(--muted)}
.cinema-instructions{display:flex;justify-content:space-between;gap:16px;margin-top:27px;color:var(--muted);font:.625rem/1.4 var(--body)}
.cinema-overlay{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:min(400px,calc(100% - 32px));max-height:calc(100% - 100px);overflow:auto;pointer-events:auto;box-sizing:border-box;padding:28px;background:#1c1c1cf7;border:1px solid #86644f;border-radius:14px;box-shadow:0 24px 70px #0008}
.cinema-overlay .eyebrow{color:#f0c18f;font-size:.6875rem}.cinema-overlay h2{font:600 1.75rem/1.18 var(--menu-title);letter-spacing:-.045em;margin:14px 0}.cinema-overlay p,.cinema-overlay li{font:.8125rem/1.7 var(--body);color:var(--muted)}.cinema-overlay ol{padding-left:19px;margin:18px 0 22px}.cinema-overlay .button{width:100%;font-size:.875rem;min-height:46px;justify-content:center}.cinema-overlay .text-button{display:block;margin:12px auto;font:.8125rem var(--body);min-height:36px}.cinema-overlay>small{display:block;color:var(--muted);font:.6875rem/1.6 var(--body);margin-top:14px;text-align:center}.cinema-result-score{font:600 2.25rem var(--menu-title);color:#f5d5a0}.cinema-result-score small{font:.8125rem var(--body);color:var(--muted)}.cinema-result-stats{display:flex;gap:24px;margin-top:12px;font:.75rem var(--body);color:var(--muted)}.cinema-result-stats b{color:var(--ink)}
@media(max-width:1150px){.cinema-feedback{position:static;width:auto;display:flex;justify-content:space-between;margin-top:25px;gap:12px}.cinema-feedback strong{font-size:.75rem}.cinema-feedback span{font-size:.6875rem}.cinema-instructions{margin-top:5px}.premiere-console{height:232px}body[data-mode=cinema] #viewport{bottom:232px}}
@media(max-width:650px){.cinema-header{padding:8px 10px;gap:10px}.cinema-title{gap:7px}.cinema-title .eyebrow{font-size:.5625rem;max-width:118px}.cinema-title h1{font-size:.8125rem}.cinema-roundel{display:none}.cinema-header>.small-button{font-size:.6875rem;padding:8px}.cinema-score,.cinema-timer{min-width:42px}.cinema-score strong,.cinema-timer strong{font-size:.875rem}.cinema-timer small{font-size:.625rem}.cinema-score small{font-size:.625rem}.cinema-cast{width:80%;top:80px;font-size:.5625rem}.cinema-cast small{font-size:.625rem}.premiere-console{padding-inline:14px}.cue-buttons button{font-size:.6875rem;gap:6px;min-height:42px}.cinema-overlay{padding:22px}.cinema-instructions{font-size:.5625rem;gap:8px}.cinema-feedback span{font-size:.625rem}.cinema-feedback strong{font-size:.6875rem}}
@media(prefers-reduced-motion:reduce){.cue-note{will-change:auto}.cue-target{box-shadow:none}}

@media(max-height:650px){body[data-mode=cinema]{overflow-y:auto}body[data-mode=cinema] #game-shell{min-height:560px}.cinema-overlay{max-height:calc(100% - 88px)}}

#business-bar .city-services{position:static;display:block;order:3}
#business-bar .city-services [data-ops=cinema]{border-color:#956b73;color:#f3d1d8;background:#33232d}
#business-bar .city-services [data-ops=cinema]>span:last-child{display:grid;gap:3px}
#business-bar .city-services small{font:.6875rem/1.4 var(--body);color:#dcb7c1}
.cinema-nav-logo{display:grid;place-items:center;flex:none;width:28px;height:28px;background:#d91432;border-radius:50%;color:#fff;font:bold 12px Arial,sans-serif;letter-spacing:-1px}
#business-bar #aftermarket-button{order:4}#business-bar #portfolio-button{order:5}#business-bar #season-button{order:6}#business-bar #demo-lab-button{order:7}

/* Camera exploration shares the scene and preserves a paused premiere. */
.cinema-camera-controls{position:absolute;left:18px;top:82px;display:flex;flex-wrap:wrap;gap:5px;max-width:340px;pointer-events:auto;padding:5px;border-radius:8px;background:#151515e8;border:1px solid var(--line)}
.cinema-camera-controls button{min-height:36px;padding:7px 10px;border:0;border-radius:5px;background:transparent;color:var(--ink);font:600 .75rem var(--body);cursor:pointer}
.cinema-camera-controls button:hover{background:var(--panel);color:var(--green)}
.cinema-roam-help{position:absolute;left:20px;bottom:246px;font:.6875rem/1.7 var(--body);color:var(--muted);background:#151515d9;padding:7px 10px;border-radius:6px;pointer-events:none}
.cinema-roam-help b{color:var(--ink)}
.cinema-cast{display:none}
body.cinema-explore[data-mode=cinema] #viewport{bottom:0}
body.cinema-explore .premiere-console{display:none}
body.cinema-explore .cinema-roam-help{bottom:18px}
body.cinema-explore .cinema-score,body.cinema-explore .cinema-timer,body.cinema-explore [data-cinema=pause],body.cinema-explore [data-cinema=explore]{display:none}
@media(max-width:650px){.cinema-camera-controls{left:10px;top:76px;gap:2px;max-width:calc(100% - 20px)}.cinema-camera-controls button{padding:6px 9px}.cinema-roam-help{left:10px;font-size:.625rem;max-width:calc(100% - 20px)}.cinema-header{gap:6px}.cinema-header [data-cinema=explore]{font-size:.625rem;padding:7px}.cinema-title .eyebrow{display:none}.cinema-score{display:none}}
