/* Film-specific controls and viewport fitting; project-archive.css owns the shared room. */
.case-page.film-boot #case-panel-idea{display:none}
.case-page.film-boot #case-panel-film[hidden]{display:flex!important}
.case-page[data-chapter="film"] .case-stage{flex:1;min-height:0;width:min(88%,calc((100svh - 355px)*1.77778));max-width:1440px;padding:20px 0 0;margin:auto;align-self:center}
.case-film-heading{display:flex;align-items:center;justify-content:space-between;padding-bottom:14px}
.case-film-heading>p{display:none}
.case-film-heading h2{font-size:27px;letter-spacing:3px;margin:0;color:#edf1e6}
.case-film-heading-note{display:flex;align-items:center;gap:15px;color:#a3bab9;font-size:11px;letter-spacing:2px}
.case-film-heading-note i{width:28px;height:1px;background:#abc1b64d}
.case-page[data-chapter="film"] .case-film-screen{flex:none;width:100%;aspect-ratio:16/9;min-height:0;border:1px solid #c3d7d52e;border-radius:2px;box-shadow:0 20px 70px #0006,0 0 70px #63837810;isolation:isolate;background:radial-gradient(ellipse at 50% 40%,#304c50,#0d1c24 70%)}
.case-film-poster{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:1;pointer-events:none;transition:opacity .25s ease}
.case-film-screen:not(.has-played) .case-film-poster{transform:none}
.case-film-screen.has-played .case-film-poster{opacity:0}
.case-film-screen>video{z-index:0}
.case-film-screen .case-film-launch{z-index:3;padding:0;gap:15px;background:linear-gradient(180deg,#06141a12,#0c1b2026 50%,#0713177d);font-size:16px;letter-spacing:3px;text-shadow:0 2px 15px #000b}
.case-film-screen .case-film-play-icon{position:relative;width:82px;height:82px;padding:0;border:1px solid #f0f4dfaa;background:#10282b60;backdrop-filter:blur(8px);box-shadow:0 0 0 9px #bed5d00b,0 4px 25px #04141b42;transition:background .18s,transform .18s}
.case-film-play-icon svg{width:30px;height:30px;fill:#f4f4df;stroke:none}
.case-film-screen .case-film-launch:hover .case-film-play-icon{transform:scale(1.06);background:#52777380}
.case-film-screen .case-film-launch small{font-size:11px;letter-spacing:3px;color:#dbe5db;opacity:.8}
.case-film-screen[data-player-state="loading"] .case-film-play-icon:after,.case-film-screen[data-player-state="preparing"] .case-film-play-icon:after{content:"";position:absolute;inset:-5px;border:1px solid transparent;border-top-color:#e8d6b3;border-radius:50%;animation:film-orbit 1.5s linear infinite}
.case-film-preparation{position:absolute;z-index:4;left:30px;bottom:24px;display:flex;align-items:center;gap:17px;pointer-events:none;font-size:11px;letter-spacing:1px;color:#e0e8e0;text-shadow:0 2px 8px #000a}
.case-film-buffer-track{width:72px;height:2px;background:#e0e7db40;overflow:hidden}
#case-film-buffer-meter{display:block;height:100%;width:0;background:#e5cfaa;transition:width .2s}
.case-film-screen.has-played .case-film-preparation{display:none}
.case-film-corner{position:absolute;z-index:2;width:22px;height:22px;pointer-events:none;border-color:#e0e8d8a6;border-style:solid}
.case-film-corner--top{top:15px;left:15px;border-width:1px 0 0 1px}
.case-film-corner--bottom{bottom:15px;right:15px;border-width:0 1px 1px 0}
.case-film-screen.has-played .case-film-corner{display:none}
.case-page[data-chapter="film"] .case-film-caption{align-items:center;padding:15px 0;font-size:15px;border-bottom:1px solid #c0d6cf26}
.case-page[data-chapter="film"] .case-film-caption>span{font-size:11px;color:#9fb8b7;letter-spacing:1px}
.case-page[data-chapter="film"] .case-film-status{font-size:12px;color:#c3d6d1;margin:6px 0 0;min-height:20px}
@keyframes film-orbit{to{transform:rotate(360deg)}}
@media(min-width:761px) and (max-height:720px){
 .case-page[data-chapter="film"] .case-stage{width:min(88%,calc((100svh - 320px)*1.77778));padding-top:12px}
 .case-page[data-chapter="film"] .case-film-caption{padding:9px 0}
}
@media(max-width:760px){
 .case-page[data-chapter="film"] .case-stage{width:90%;padding-top:26px;margin:0 auto}
 .case-film-heading h2{font-size:22px}
 .case-film-heading-note{font-size:10px;gap:9px;letter-spacing:1px}
 .case-film-heading-note i{width:15px}
 .case-film-screen .case-film-play-icon{width:56px;height:56px}
 .case-film-play-icon svg{width:23px;height:23px}
 .case-film-screen .case-film-launch{font-size:13px;gap:9px;letter-spacing:1px}
 .case-film-screen .case-film-launch small{display:none}
 .case-film-preparation{left:15px;bottom:13px;gap:10px;font-size:9px;letter-spacing:0}
 .case-film-buffer-track{width:42px}
 .case-film-corner{width:15px;height:15px}
 .case-film-corner--top{top:10px;left:10px}.case-film-corner--bottom{bottom:10px;right:10px}
 .case-page[data-chapter="film"] .case-film-caption{font-size:13px;gap:10px}
 .case-page[data-chapter="film"] .case-film-caption>span{font-size:10px;letter-spacing:0}
}
@media(prefers-reduced-motion:reduce){.case-film-screen *{animation:none!important;transition:none!important}}
.case-film-quality-controls{display:flex;align-items:center;justify-content:flex-end;gap:18px;min-width:0}
.case-film-quality-controls>#case-film-quality{color:#9eb5b4;font-size:11px;letter-spacing:.5px}
.case-film-resolution{display:flex;align-items:center;gap:10px;font-size:12px;letter-spacing:1px;color:#b2c5c0;white-space:nowrap}
.case-film-resolution select{font:inherit;font-size:13px;letter-spacing:.5px;color:#f0dec3;background:#152b32;border:1px solid #acbcac5e;border-radius:6px;padding:9px 11px;min-width:133px;cursor:pointer;color-scheme:dark}
.case-film-resolution select:hover{background:#1f3b43;border-color:#dac7a99e}
.case-film-resolution select:focus-visible{outline:2px solid #e6cba5;outline-offset:3px}
.case-film-resolution select:disabled{opacity:.55;cursor:wait}
@media(max-width:760px){
 .case-film-quality-controls{gap:7px;flex-wrap:wrap}
 .case-film-quality-controls>#case-film-quality{display:none}
 .case-film-resolution{gap:7px;font-size:10px;letter-spacing:0}
 .case-film-resolution select{font-size:12px;padding:8px;min-width:122px}
 .case-page[data-chapter="film"] .case-film-caption{min-height:66px}
}
