/* One coherent source image, with a modest camera move in its native coordinates. */
.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); }
.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-panel { align-items:flex-end; padding:90px 0 10vh; }
.auth-card { max-width:430px; padding:28px 30px 22px; }
.auth-card-top { margin-bottom:22px; }
.auth-progress-line { width:74px; }
.auth-enhanced .auth-deck { min-height:220px; }
.auth-username-step { padding-top:22px; }
.auth-step label { font-size:16px; }
.auth-step .auth-user-line { min-height:0; margin:0 0 14px; font-size:15px; }
.auth-back { margin-bottom:12px; }
.auth-card-footer { margin-top:12px; padding-top:17px; }
.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 { min-height:210px; }
  .auth-card-top { margin-bottom:15px; }.auth-seal { width:38px; height:38px; border-radius:12px; }
  .auth-username-step { padding-top:18px; }
  .auth-card-footer { font-size:11px; }
  .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%); }
  [data-auth-step="password"] .auth-camera { transform:none; }
}
@media (prefers-reduced-motion:reduce) {
  .cinema-world { will-change:auto; }
  .cinema-effects { display:none!important; }
  .cinema-running .auth-story { transform:none; opacity:1; }
}
