#cinema-root{position:absolute;inset:0;z-index:1;pointer-events:none}
.masthead,.top-controls{z-index:4}
.scene-footer{z-index:5}
body:not(.cinema-view) .intro{z-index:2}
body:not(.cinema-view) #object-controls{z-index:4}
body:not(.cinema-view) #object-hint{z-index:5}

.cinema-surface{position:absolute;left:0;top:0;width:1280px;height:720px;overflow:hidden;background:#111;box-shadow:inset 0 0 60px #0007;backface-visibility:hidden;transform-style:preserve-3d;will-change:transform}
.cinema-surface::after{content:'';position:absolute;inset:0;z-index:20;pointer-events:none;background:radial-gradient(ellipse at center,transparent 58%,#0002 84%,#0005 100%);mix-blend-mode:multiply}
.cinema-surface[hidden]{display:none!important}
.cinema-occlusion-canvas{position:absolute;inset:0;z-index:5;pointer-events:none;background:transparent}
.cinema-occlusion-canvas[hidden]{display:none!important}
.cinema-screen-layer{position:absolute;inset:0;display:flex;flex-direction:column;color:#f4efe3;background:linear-gradient(135deg,#1c211f,#2b2926 58%,#171917)}
.cinema-screen-layer[hidden]{display:none!important}
.cinema-library-header{display:flex;align-items:flex-end;justify-content:space-between;padding:48px 58px 20px}
.cinema-library-kicker{font-size:13px;letter-spacing:.24em;color:#b9c1ab}
.cinema-library-title{margin:6px 0 0;font-family:'Songti SC','STSong','SimSun',serif;font-size:54px;font-weight:500;letter-spacing:.06em}
.cinema-library-count{font-size:13px;color:#a8ad9d;letter-spacing:.12em}
.cinema-case-row{display:flex;align-items:center;justify-content:center;gap:22px;padding:12px 48px 56px;overflow:hidden;flex:1}
.cinema-case{position:relative;flex:0 0 176px;height:276px;padding:0;border:0;border-radius:6px;background:#2a302c;color:#f3eedf;overflow:visible;box-shadow:0 18px 42px #0008;transform:perspective(900px) rotateY(-3deg) scale(.95);transition:transform .22s ease,filter .22s ease,opacity .22s ease,box-shadow .22s ease}
.cinema-case::before{content:'';position:absolute;inset:0 auto 0:-8px;width:10px;border-radius:5px 0 0 5px;background:#ddd9ce;box-shadow:inset -2px 0 4px #0003}
.cinema-case:nth-child(2n){background:#30333b}.cinema-case:nth-child(3n){background:#493a34}.cinema-case:nth-child(4n){background:#303a37}.cinema-case:nth-child(5n){background:#2d3340}
.cinema-case.is-focused{transform:perspective(900px) translateY(-13px) rotateY(0) scale(1.09);filter:brightness(1.1);z-index:3;box-shadow:0 24px 56px #000a,0 0 0 2px #e8dfc75c}
.cinema-case:focus-visible{outline:3px solid #e9dfc4;outline-offset:6px}
.cinema-case.is-unavailable{opacity:.7}
.cinema-case-placeholder{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:space-between;padding:20px 17px 78px;background:
  linear-gradient(145deg,#ffffff10,transparent 30%),
  repeating-linear-gradient(135deg,#ffffff08 0 1px,transparent 1px 9px)}
.cinema-case-index{font:11px Georgia,serif;letter-spacing:.18em;color:#c9c6b8}
.cinema-case-placeholder-title{font-family:'Songti SC','STSong','SimSun',serif;font-size:30px;line-height:1.28;letter-spacing:.05em;color:#f4eee0;writing-mode:vertical-rl;align-self:flex-end;max-height:150px}
.cinema-case-inner{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:flex-end;padding:18px 16px;text-align:left;background:linear-gradient(180deg,#ffffff08 0,#0000 35%,#000a 100%)}
.cinema-case-cover{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:5px}
.cinema-case-cover+.cinema-case-inner{background:linear-gradient(180deg,#0000 44%,#000c 100%)}
.cinema-case-year{font-size:11px;letter-spacing:.18em;color:#c0c5b9;margin-bottom:6px}
.cinema-case-name{font-family:'Songti SC','STSong','SimSun',serif;font-size:22px;line-height:1.25;letter-spacing:.04em}
.cinema-case-status{margin-top:8px;font-size:9px;letter-spacing:.08em;color:#b5baa9}
.cinema-detail{display:grid;grid-template-columns:300px minmax(0,1fr);gap:54px;padding:54px 72px;height:100%;align-items:center}
.cinema-detail-cover{width:280px;height:420px;border-radius:7px;background:linear-gradient(155deg,#26312d,#443a36);box-shadow:0 20px 55px #0009;object-fit:cover}
.cinema-detail-placeholder{display:flex;flex-direction:column;justify-content:space-between;padding:28px 24px;background:
  linear-gradient(145deg,#ffffff10,transparent 30%),
  repeating-linear-gradient(135deg,#ffffff08 0 1px,transparent 1px 11px),
  linear-gradient(155deg,#26312d,#443a36)}
.cinema-detail-placeholder-year{font:14px Georgia,serif;letter-spacing:.2em;color:#c4c7ba}
.cinema-detail-placeholder-title{font-family:'Songti SC','STSong','SimSun',serif;font-size:44px;line-height:1.25;letter-spacing:.06em;color:#f5efe1}
.cinema-detail-copy{align-self:center}
.cinema-detail-eyebrow{font-size:12px;letter-spacing:.18em;color:#b1b8a6}
.cinema-detail h2{font-family:'Songti SC','STSong','SimSun',serif;font-size:62px;line-height:1.12;font-weight:500;margin:10px 0 6px;letter-spacing:.05em}
.cinema-detail-original{font-size:14px;color:#aeb4a7;letter-spacing:.08em;margin:0 0 22px}
.cinema-detail-lead{max-width:650px;font-family:'Songti SC','STSong','SimSun',serif;font-size:23px;line-height:1.65;color:#f0ecdf;margin:0 0 16px}
.cinema-detail-description{max-width:650px;font-size:14px;line-height:1.8;color:#c8cabe;margin:0;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
.cinema-detail-tags{display:flex;gap:9px;flex-wrap:wrap;margin:20px 0 0}
.cinema-detail-tags span{font-size:10px;padding:6px 9px;border:1px solid #d7d5c22e;border-radius:20px;color:#bec4b3}
.cinema-source-current{margin:18px 0 0;color:#9fa89a;font-size:10px;letter-spacing:.08em}
.cinema-source-strip{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin:18px 0 0}
.cinema-source-choice{padding:7px 11px;border-radius:16px;border:1px solid #ffffff20;background:#ffffff08;color:#bfc6b8;font-size:10px;letter-spacing:.04em}
.cinema-source-choice[aria-pressed=true]{background:#eae4d2;color:#29322c;border-color:#eae4d2}
.cinema-source-choice:hover:not([aria-pressed=true]){background:#ffffff12;color:#ebe6da}
.cinema-detail-actions{display:flex;gap:12px;margin-top:26px}
.cinema-detail-actions button{padding:12px 21px;border-radius:24px;background:#f1eddb;color:#263028;font-size:13px;letter-spacing:.06em}
.cinema-detail-actions button.secondary{background:#ffffff12;color:#e6e3d7;border:1px solid #ffffff24}
.cinema-detail-actions button:disabled{opacity:.45}
.cinema-player-layer{position:absolute;inset:0;background:#000}
.cinema-player-layer iframe,.cinema-player-layer video{display:block;width:100%;height:100%;border:0;background:#000}
.cinema-platform-curtain{position:absolute;inset:0;z-index:12;pointer-events:none;background:radial-gradient(ellipse at center,#050605 0,#070807 64%,#000 100%);opacity:1;transition:opacity .9s ease}
.cinema-platform-curtain.is-clear{opacity:0}

.cinema-player-layer iframe{filter:brightness(.95) contrast(.97) saturate(.9)}
.cinema-player-fallback{position:absolute;inset:0;display:grid;place-content:center;text-align:center;padding:80px;background:#151915;color:#e8e4d6}
.cinema-player-fallback a{color:#dfe8c6}
.cinema-hud{position:absolute;inset:0;z-index:7;pointer-events:none}
.cinema-exit{pointer-events:auto;position:absolute;left:24px;top:22px;padding:9px 13px;border-radius:22px;background:#1f2823b8;color:#e9e5d7;border:1px solid #ffffff1c;backdrop-filter:blur(10px);font-size:10px;letter-spacing:.06em;box-shadow:0 6px 20px #0002}
body.cinema-view .masthead,body.cinema-view .intro,body.cinema-view .top-controls,body.cinema-view .scene-footer,body.cinema-view #object-controls,body.cinema-view #object-hint{opacity:0!important;visibility:hidden!important;pointer-events:none!important}
body.cinema-view #scene canvas{cursor:default!important}
body.cinema-playing:not(.cinema-view) .cinema-surface{pointer-events:none}
body.cinema-view .cinema-surface{pointer-events:auto}
@media(max-width:760px){
  .cinema-exit{left:12px;top:12px;font-size:9px;max-width:56vw}
}
@media(prefers-reduced-motion:reduce){.cinema-case{transition:none}}

/* Controls stay on the existing projection, with device-size touch targets. */
.cinema-playback-controls{position:absolute;left:max(16px,env(safe-area-inset-left));top:max(16px,env(safe-area-inset-top));pointer-events:auto;transition:opacity .25s ease}
.cinema-playback-controls[hidden],.cinema-wake[hidden]{display:none!important}
.cinema-library-back{display:flex;align-items:center;min-height:48px;padding:10px 16px;border:1px solid #ffffff30;border-radius:24px;background:#233029c9;color:#f2eddf;font-size:13px;letter-spacing:.04em;box-shadow:0 5px 18px #0002;backdrop-filter:blur(10px);touch-action:manipulation}
.cinema-library-back:hover{background:#314039df}.cinema-library-back:focus-visible{outline:2px solid #eee8d2;outline-offset:3px}
.cinema-playback-controls.is-idle{opacity:0;visibility:hidden;pointer-events:none}
.cinema-directory-entry{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:48px;width:100%;margin-top:12px;padding:10px 12px;border:1px solid #778870;border-radius:12px;background:#536748;color:#fff8e9;font-size:13px}
.cinema-directory-entry span{font-size:11px;opacity:.8}
.cinema-controls-hidden .cinema-playback-controls{opacity:0;pointer-events:none}
body.cinema-view.cinema-controls-idle .cinema-exit,body.cinema-view.cinema-controls-idle .scene-footer{opacity:0!important;visibility:hidden!important;pointer-events:none!important}
body.cinema-controls-idle .scene-footer .room-actions{pointer-events:none!important}
.cinema-wake{position:absolute;inset:0;z-index:31;width:100%;height:100%;padding:0;border:0;background:transparent;color:transparent;cursor:pointer;touch-action:manipulation}
.cinema-wake:focus-visible{outline:calc(2px * var(--cinema-control-scale,1)) solid #eee8d2;outline-offset:calc(-4px * var(--cinema-control-scale,1))}
.cinema-controls-visible .cinema-platform-frame{pointer-events:auto!important}
.cinema-platform-frame{pointer-events:none;position:absolute;left:0;top:0;width:calc(1280px / var(--cinema-control-scale,1))!important;height:calc(720px / var(--cinema-control-scale,1))!important;max-width:none;max-height:none;transform:scale(var(--cinema-control-scale,1));transform-origin:0 0}
.cinema-native-surface{background:transparent;box-shadow:none}.cinema-native-surface::after{display:none}
.cinema-exit{min-height:44px;font-size:12px}
.cinema-playback-controls button:focus-visible,.cinema-resume:focus-visible{outline:2px solid #eee8d2;outline-offset:3px}
@media(prefers-reduced-motion:reduce){.cinema-playback-controls,.cinema-platform-curtain{transition:none}}
