/* One coherent source image, framed around the real event and the untouched form. */
.auth-scene { background:#06101c; }
.auth-camera.cinema-world { position:absolute; inset:0; width:100%; height:100%; transform:none; transform-origin:0 0; transition:none; }
.cinema-ready .cinema-world { will-change:transform; }
.cinema-backdrop { position:absolute; inset:0; display:block; width:100%; height:100%; object-fit:cover; animation:none; transform:none; background:none; }
.cinema-effects { position:absolute; inset:0; display:none; width:100%; height:100%; pointer-events:none; }
.cinema-ready .cinema-effects { display:block; }
.auth-art { animation:none; transform:none; background:none; }
.auth-enhanced:not(.auth-steps-ready) .auth-step { transition:none; }
.auth-shade { background:linear-gradient(0deg,#020915dd 0%,#03101c35 25%,transparent 52%),linear-gradient(90deg,transparent 52%,#05101c16 80%,#020b1438); opacity:1; transition:opacity 1s ease; }
.cinema-running .auth-shade { opacity:.58; }
.cinema-vignette { position:absolute; inset:0; box-shadow:inset 0 0 10vw 1vw #020a1640; }
.auth-shell { width:min(100%,1920px); grid-template-columns:minmax(0,1.4fr) minmax(360px,.8fr); }
.auth-story { padding-bottom:45px; max-width:740px; transform:none; opacity:1; transition:none; }
.auth-story h1 { font-size:clamp(34px,3.1vw,54px); }
.auth-story p { display:none; }
.auth-story .auth-kicker { margin-bottom:17px; }
.auth-story h1,.auth-story .auth-kicker { opacity:1; transition:opacity .8s ease; }
.cinema-running .auth-story h1,.cinema-running .auth-story .auth-kicker { opacity:0; pointer-events:none; }
.auth-panel { grid-column:2; grid-row:2; align-items:flex-end; padding:90px 0 10vh; }
.auth-card { max-width:430px; padding:28px 30px 22px; }
.auth-enhanced .auth-deck,.auth-boot .auth-deck { min-height:220px; }
.auth-step { padding-top:22px; }
.auth-step label:not(.auth-sr-only) { font-size:16px; }
/* Auxiliary password controls must not push its input below the name input. */
.auth-step-meta { display:flex; align-items:baseline; flex-wrap:wrap; gap:10px 16px; margin-top:20px; }
.auth-step .auth-user-line { flex:1; min-width:0; min-height:0; margin:0; font-size:15px; text-align:right; }
.auth-back { flex-shrink:0; margin:0; }
.auth-primary { font-size:16px; }
[data-auth-step="password"] .auth-camera { transform:none; }
[data-auth-step="password"] .auth-story { transform:none; opacity:1; }
.cinema-running .auth-story { transform:none; opacity:1; }
.auth-footer { border-color:#b4d0ef1a; padding-top:15px; }
.cinema-controls { display:flex; align-items:center; gap:5px; flex-wrap:wrap; letter-spacing:0; padding:4px; border:1px solid #b4d0ef25; border-radius:12px; background:#07121c99; backdrop-filter:blur(16px); }
.cinema-controls button { font:inherit; font-size:12px; letter-spacing:.02em; color:#bac9dd; background:transparent; border:1px solid transparent; padding:9px 11px; border-radius:8px; cursor:pointer; transition:background .25s,color .25s; min-height:36px; }
.cinema-controls button:hover { background:#ffffff10; color:white; }
.cinema-controls button[aria-pressed="true"] { background:#91e8d11b; border-color:#a3e8d531; color:#b9ffe8; }
.cinema-controls button.is-queued { border-color:#a3e8d55c; }
.cinema-controls button:disabled { opacity:.4; cursor:default; }
.cinema-controls button:focus-visible { outline:2px solid #a5eed9; outline-offset:3px; }
#cinema-pause { border-left-color:#afc9ec30; margin-left:4px; }
.cinema-paused .auth-story { transition:none; }
@media (min-width:1700px) { .auth-card { max-width:450px; padding:30px 34px 24px; }.auth-enhanced .auth-deck { min-height:220px; } }
@media (max-width:1000px) { .auth-shell { grid-template-columns:minmax(0,1fr) minmax(330px,1fr); }.auth-panel { padding-bottom:10vh; }.auth-card { padding:26px 25px 22px; }.auth-story h1 { font-size:36px; }.auth-footer>span { font-size:10px; } }
@media (max-width:760px) {
  .auth-shell { display:flex; padding:23px 20px 18px; max-width:520px; }
  .auth-brand { margin-bottom:25px; }
  .auth-story { padding:0; margin-bottom:22px; }
  .auth-story h1 { font-size:30px; }
  .auth-story .auth-kicker { margin-bottom:12px; }
  .cinema-running .auth-story { transform:none; opacity:1; }
  .auth-panel { padding:0 0 24px; margin:auto 0; }
  .auth-card { max-width:none; padding:21px 22px 18px; }
  .auth-enhanced .auth-deck,.auth-boot .auth-deck { min-height:210px; }
  .auth-step { padding-top:18px; }
  .auth-footer { flex-direction:column; gap:12px; align-items:stretch; padding-top:10px; }
  .auth-footer>span { text-align:center; font-size:9px; }
  .cinema-controls { justify-content:center; gap:0; }
  .cinema-controls button { font-size:11px; padding:8px; }
  #cinema-pause { margin-left:1px; }
  .auth-shade { background:linear-gradient(0deg,#030a14d9,transparent 85%); }
  /* The lower cabin event must not disappear into the overview's dark veil.
     Inputs retain their own matte material; the form is never faded. */
  .cinema-running .auth-shade { opacity:.30; }
  [data-auth-step="password"] .auth-camera { transform:none; }
}
@media (prefers-reduced-motion:reduce) {
  .cinema-world { will-change:auto; }
  .auth-story h1,.auth-story .auth-kicker { transition:none; }
  .auth-shade { transition:none; }
  /* Freeze the last rendered damage; never restore already-destroyed scenery. */
  .cinema-running .auth-story { transform:none; opacity:1; }
}
