/* The approved film fills the viewport; each game positions its title edge. */
.approved-film-surface{isolation:isolate}
.approved-film-surface::backdrop{background:transparent}
.approved-film-stack{z-index:1001!important}
.approved-film{position:fixed;inset:0;z-index:1000;overflow:hidden;pointer-events:none;background:#10161d}
.approved-film[hidden]{display:none!important}
.approved-film-poster,.approved-film-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center top;border:0}
.approved-film-poster{z-index:-1}
.approved-film:not([data-ready=true]) .approved-film-video{visibility:hidden}
.approved-film::after{content:'';position:absolute;inset:0;z-index:2;background:linear-gradient(90deg,#07101a12,transparent 55%);pointer-events:none}
@media(prefers-reduced-motion:reduce){.approved-film-video{visibility:hidden!important}}

.approved-film[data-reduced=true] .approved-film-video{visibility:hidden!important}
.approved-film-error{position:fixed;z-index:10000;left:50%;top:50%;transform:translate(-50%,-50%);max-width:32rem;padding:1.5rem;background:#101923f2;color:#fff;font:16px/1.5 system-ui;border:1px solid #ffffff70}
.approved-film-error button{font:inherit;padding:.7rem 1rem;cursor:pointer}




#menu:not(.ssr-interim).approved-film-surface .deployment-heading h1{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip-path:inset(50%)!important;white-space:nowrap!important;border:0!important}
#menu.approved-film-surface .island-mark{display:none}

/* User-selected full-viewport film fit and bright surrounding scene. */
.approved-film-poster,.approved-film-video{object-fit:cover;object-position:center top}
.approved-film::before,.approved-film-backdrop{display:none!important}
.approved-film::after{background:linear-gradient(90deg,#07101a12,transparent 55%)}
.approved-film-surface{background:transparent!important}
.approved-film-surface > .dialog,.approved-film-surface > .sheet,.approved-film-surface .entry-gate,.approved-film-surface .deployment-dock{background:#0c1a278c;padding:clamp(16px,2vw,28px);border-radius:18px}

#menu.deployment.approved-film-surface::before{background:none!important}

.approved-film-wordmark{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip-path:inset(50%)!important;white-space:nowrap!important;border:0!important}

/* Keep the complete viewport composition; only aspect-ratio cover cropping applies. */
.approved-film .approved-film-poster,
.approved-film .approved-film-video{width:100%;height:100%;left:0;top:0;object-position:center top}
#menu.ssr-interim .deployment-heading{align-items:flex-start;text-shadow:none}
#menu.ssr-interim .deployment-heading h1{font-family:SkybreakDisplay,sans-serif;font-size:clamp(44px,6.8vw,100px);font-weight:900;letter-spacing:-.025em;line-height:.86;color:#fff5db;transform:skewY(-4deg);text-shadow:1px 1px 0 #cbb779,2px 2px 0 #b39a60,3px 3px 0 #907345,4px 4px 0 #715634,5px 5px 0 #163e57,6px 6px 0 #163e57;margin:0}
#menu.ssr-interim .deployment-heading h1 span{display:block;font:inherit;letter-spacing:inherit;margin:0}
#menu.ssr-interim .deployment-heading>p{background:#123447;padding:9px 14px;border-radius:3px;margin-top:0;color:#e8f4f7}
#menu.ssr-interim .entry-gate h2,#menu.ssr-interim .deployment-brief h2{font-family:SkybreakDisplay,sans-serif;font-size:clamp(24px,2.7vw,38px);letter-spacing:-.02em}
#menu.ssr-interim .entry-gate,#menu.ssr-interim .deployment-dock{background:#102b3ded;border-radius:5px}
#menu.ssr-interim .entry-gate #loading{margin-bottom:0}
@media(max-height:620px){#menu.ssr-interim .deployment-heading h1{font-size:clamp(36px,7.5vh,60px)}#menu.ssr-interim .deployment-dock{padding:14px;gap:10px 24px}}
@media(max-width:650px){#menu.ssr-interim .deployment-heading h1{font-size:clamp(44px,12vw,70px)}#menu.ssr-interim .deployment-heading>p{max-width:105px}#menu.ssr-interim .deployment-brief>p:last-child{display:none}}
/* Keep the complete dock reachable when a short phone viewport cannot hold
   the title and every action at once. */
#menu.ssr-interim{overflow-y:auto;gap:24px}
#menu.ssr-interim>.deployment-heading,#menu.ssr-interim>.entry-gate,#menu.ssr-interim>.deployment-dock{flex-shrink:0}
@media(max-width:650px) and (max-height:620px){#menu.ssr-interim .deployment-heading h1{font-size:40px}}

/* An expanded control legend becomes part of the scrollable menu on cramped
   screens. An absolutely positioned popover can otherwise extend above it. */
@media(max-height:650px),(max-width:650px){
 #menu.ssr-interim .deployment-options details{flex-basis:100%}
 #menu.ssr-interim .deployment-options details p{position:static;max-width:none;max-height:none;margin:6px 0 0;padding:14px;line-height:1.55}
}

/* Keep the first decoded image moving while native video buffers. */
@keyframes loading-camera-drift{from{transform:scale(1.025) translateX(-.4%)}to{transform:scale(1.06) translateX(.4%)}}
.approved-film:not([data-ready=true]) .approved-film-poster{animation:loading-camera-drift 12s ease-in-out infinite alternate}
@media(prefers-reduced-motion:reduce){.approved-film-poster{animation:none!important}}
