/* Short, finite entry motion. Content remains visible without JavaScript. */
@keyframes workspace-reveal {
    from { opacity: 0; transform: translateY(12px); }
    to { opacity: 1; transform: none; }
}
@keyframes workspace-mark {
    from { opacity: 0; transform: translateY(8px) scale(.94); }
    to { opacity: 1; transform: none; }
}
@keyframes workspace-accent {
    from { opacity: 0; transform: scaleX(.15); }
    to { opacity: 1; transform: scaleX(1); }
}
@keyframes workspace-spin { to { transform: rotate(360deg); } }
/* Page/container staggering is handled once by page_motion.js. No hidden
   baseline styles, persistent transforms or animations on modal ancestors. */
.entry-welcome { position: relative; overflow: hidden; }
.entry-welcome::after {
    content: "";
    position: absolute;
    inset: 0 0 auto;
    height: 2px;
    background: linear-gradient(90deg, var(--theme-gradient-from), var(--theme-gradient-to), transparent);
    transform-origin: left;
    animation: workspace-accent 650ms cubic-bezier(.2,.7,.2,1) both;
    pointer-events: none;
}
.auth-scene { position: relative; isolation: isolate; min-height: 80dvh; overflow: hidden; padding: clamp(24px, 6vh, 64px) 16px; }
.auth-aura { position: absolute; z-index: -1; width: min(420px, 100%); aspect-ratio: 1; border-radius: 50%; background: radial-gradient(circle, var(--theme-accent-glow), transparent 68%); opacity: .45; pointer-events: none; }
.auth-aura:first-child { top: 0; left: 0; }
.auth-aura:nth-child(2) { bottom: 0; right: 0; }
.auth-card { background: var(--bg-body) !important; animation: workspace-reveal 500ms cubic-bezier(.2,.7,.2,1) both; }
.auth-mark { animation: workspace-mark 650ms cubic-bezier(.2,.7,.2,1) both; }
.auth-title { color: var(--text-main) !important; }
.auth-form input { transition: border-color 160ms ease, box-shadow 160ms ease; }
.auth-submit { min-height: 48px; gap: 9px; transition: transform 160ms ease, box-shadow 160ms ease, opacity 160ms ease; }
.auth-submit:active { transform: translateY(1px); }
.auth-submit:disabled { cursor: wait; opacity: .8; }
.auth-spinner { width: 16px; height: 16px; border: 2px solid currentColor; border-right-color: transparent; border-radius: 50%; animation: workspace-spin 700ms linear infinite; }
.auth-spinner.hidden { display: none; }
@media (hover: hover) and (prefers-reduced-motion: no-preference) {
    .entry-stagger > a { transition: translate 180ms ease, border-color 180ms ease, box-shadow 180ms ease; }
    .entry-stagger > a:hover { translate: 0 -2px; box-shadow: 0 8px 22px -14px var(--theme-accent-glow); }
    .auth-submit:hover:not(:disabled) { transform: translateY(-1px); }
}
@media (max-width: 639px) {
    .auth-scene .auth-card { padding: 28px 22px; border-radius: 22px; }
    .auth-form input { font-size: 16px; }
}
@media (prefers-reduced-motion: reduce) {
    .page-entry > *, .entry-stagger > *, .entry-welcome::after, .auth-card, .auth-mark, .auth-spinner { animation: none !important; }
    .auth-form input, .auth-submit, .entry-stagger > a { transition: none !important; transform: none !important; translate: none !important; }
}
