/* Source-pixel compositing (1672 x 941). No retyped lettering or form movement.
   Static background is retained until all optional artwork is ready. */
.auth-motion-scene,.auth-motion-toggle { display:none; }
.reference-auth[data-auth-view="login"] .auth-motion-scene {
  display:block; position:absolute; inset:0; z-index:0; overflow:hidden;
  pointer-events:none; user-select:none; opacity:0; contain:paint;
}
.reference-auth[data-auth-view="login"] .auth-shell { z-index:1; }
.reference-auth[data-auth-view="login"][data-motion-ready="true"] .auth-motion-scene { opacity:1; }
.auth-motion-art { position:absolute; overflow:visible; max-width:none; }
.auth-ribbon-composite { display:none; }
.auth-pump-composite { display:none; }
.reference-auth[data-pump-ready="true"] .auth-pump-composite { display:inline; }
.reference-auth[data-motion-art-ready="true"] .auth-ribbon-composite { display:inline; }
.auth-ribbon-float { animation:auth-ribbon-breathe 6s ease-in-out infinite; }
.auth-ribbon-tail-float { animation:auth-ribbon-tail 6s ease-in-out infinite; transform-origin:620px 692px; }
.auth-gold-sweep { animation-duration:11s; animation-timing-function:linear; animation-iteration-count:infinite; opacity:0; filter:brightness(1.12) saturate(1.10); }
.auth-gold-iron { animation-name:auth-gold-iron; }
.auth-gold-title { animation-name:auth-gold-title; }
.auth-gold-motto-first { animation-name:auth-gold-motto-first; }
.auth-gold-motto-last { animation-name:auth-gold-motto-last; }
.auth-motion-scene * { animation-play-state:paused; }
.reference-auth[data-motion-state="running"] .auth-motion-scene * { animation-play-state:running; }
.reference-auth[data-auth-view="login"] .auth-box { animation:auth-panel-enter .35s ease-out both; }
.reference-auth .ref-login-field { transition:border-color .18s,box-shadow .18s; }
.reference-auth .auth-submit,.reference-auth .ref-register-link { position:relative; overflow:hidden; transition:filter .16s,transform .12s; }
.reference-auth .auth-submit::after,.reference-auth .ref-register-link::after {
  content:"";position:absolute;inset:-45% -70%;pointer-events:none;opacity:0;
  background:linear-gradient(105deg,transparent 38%,#fff7dc70 50%,transparent 62%);
  transform:translateX(-45%);
}
.reference-auth .auth-submit:hover::after,.reference-auth .ref-register-link:hover::after { animation:auth-button-glint .65s ease-out; }
.reference-auth .auth-submit:active,.reference-auth .ref-register-link:active { transform:translateY(1px) scale(.992); }
.reference-auth[data-auth-view="login"] .auth-motion-toggle:not([hidden]) {
  display:inline-flex;align-items:center;gap:7px;position:absolute;z-index:2;
  right:clamp(20px,3.2vw,84px);bottom:12px;padding:8px 11px;
  border:1px solid #b8d6ef70;border-radius:20px;background:#061a30e8;
  color:#e0ecf8;font:inherit;font-size:11px;line-height:1;cursor:pointer;box-shadow:none;
}
.auth-motion-toggle:hover { border-color:#a3c9ed;color:#fff; }
.auth-motion-toggle:focus-visible { outline:2px solid #cbe9ff;outline-offset:3px; }
.auth-motion-toggle svg { fill:none;stroke:currentColor;stroke-width:1.8; }
.auth-motion-toggle[aria-pressed="true"] .motion-play-icon,
.auth-motion-toggle[aria-pressed="false"] .motion-pause-icon { display:none; }
/* A single 11 second clock: 1.2s / .2s / 2s / .2s / 1.2s / .2s /
   1.8s, then 4.2s calm. Translating gradients are clipped to source glyphs. */
@keyframes auth-gold-iron {
  0% { opacity:0;transform:translateY(5px); }
  1% { opacity:1; }
  10.9% { opacity:1;transform:translateY(357px); }
  11%,100% { opacity:0;transform:translateY(357px); }
}
@keyframes auth-gold-title {
  0%,12.7% { opacity:0;transform:translateX(310px); }
  13% { opacity:1; }
  30.9% { opacity:1;transform:translateX(1005px); }
  31%,100% { opacity:0;transform:translateX(1005px); }
}
@keyframes auth-gold-motto-first {
  0%,32.7% { opacity:0;transform:translateX(380px); }
  33% { opacity:1; }
  43.6% { opacity:1;transform:translateX(693px); }
  43.7%,100% { opacity:0;transform:translateX(693px); }
}
@keyframes auth-gold-motto-last {
  0%,45.45% { opacity:0;transform:translateX(595px); }
  46% { opacity:1; }
  61.81% { opacity:1;transform:translateX(975px); }
  61.9%,100% { opacity:0;transform:translateX(975px); }
}
@keyframes auth-ribbon-breathe { 0%,100% { transform:translateY(0); } 25% { transform:translateY(-4px); } 75% { transform:translateY(4px); } }
@keyframes auth-ribbon-tail { 0%,100% { transform:translateY(0) rotate(0); } 25% { transform:translateY(-4px) rotate(-.3deg); } 75% { transform:translateY(4px) rotate(.3deg); } }
@keyframes auth-panel-enter { from { opacity:0; } to { opacity:1; } }
@keyframes auth-button-glint { 0% { opacity:0;transform:translateX(-45%); } 20% { opacity:1; } 100% { opacity:0;transform:translateX(45%); } }
/* Compact layouts retain the precisely aligned gold sweep; no layered ribbon
   movement behind the enlarged form, and no separately moving background. */
@media (max-width:760px),(max-aspect-ratio:5/4) {
  .reference-auth .auth-ribbon-composite { display:none!important; }
  .reference-auth .auth-pump-composite { display:none!important; }
  .reference-auth .auth-motion-toggle:not([hidden]) { bottom:5px;font-size:10px;padding:5px 8px; }
}
@media (prefers-reduced-motion:reduce) {
  .reference-auth .auth-motion-scene,.reference-auth .auth-motion-toggle { display:none!important; }
  .reference-auth .auth-box,.reference-auth .auth-motion-scene *,
  .reference-auth .auth-submit::after,.reference-auth .ref-register-link::after { animation:none!important; }
  .reference-auth .auth-submit:active,.reference-auth .ref-register-link:active { transform:none; }
}
