/* Fixed-count CSS particles; Rive loads only on visible auth screens. */
.auth-page,.auth-pending{background:#f8f6fa}
.auth-page .topbar,.auth-pending .topbar,.auth-page .site-footer,.auth-pending .site-footer{display:none}
.auth-page main{position:relative;z-index:1;width:100%;max-width:none;min-height:100svh;padding:32px 20px;display:grid;place-items:center}
.auth-screen{width:min(100%,440px);grid-template-columns:minmax(0,1fr);gap:22px;position:relative}
.auth-logo{position:relative;z-index:1;display:block;width:205px;max-width:55vw;margin:0 auto;aspect-ratio:1020/440}
.auth-logo svg{display:block;width:100%;height:auto;overflow:visible}
.auth-logo canvas{position:absolute;inset:0;display:block;width:100%;height:100%;opacity:0;pointer-events:none}
.auth-logo.rive-ready svg{visibility:hidden}
.auth-logo.rive-ready canvas{opacity:1}
.auth-card{position:relative;z-index:1;width:100%;padding:30px 34px;border:1px solid #e9e3ee;border-radius:24px;background:#fff;box-shadow:0 16px 50px #49335b08}
.auth-card>.eyebrow{display:none}
.auth-card h1{font-size:30px;text-align:center;margin-bottom:9px}
.auth-intro{text-align:center;font-size:13px;margin-bottom:25px}
.auth-mode-switch{margin-bottom:25px}
.auth-card-confirmation .auth-confirmation-icon{margin:0 auto 24px}
.auth-card-confirmation .auth-confirmation{text-align:center}
.auth-scene{display:none;position:fixed;inset:0;overflow:hidden;pointer-events:none;z-index:0;background:radial-gradient(ellipse at 15% 80%,#f2e6ee 0,transparent 55%),radial-gradient(ellipse at 85% 15%,#eae5f6 0,transparent 52%)}
.auth-page .auth-scene{display:block}
.auth-ember{position:absolute;left:var(--x);bottom:-16px;width:calc(var(--size,4px)*1.45);height:calc(var(--size,4px)*1.45);border-radius:50%;color:var(--tint,#db91aa);background:currentColor;box-shadow:0 0 8px 2px #d99cbd55,0 0 18px 5px #d99cbd22;opacity:0;animation:tokkii-ember var(--duration,22s) linear var(--delay,0s) infinite}
.auth-motion-toggle{position:fixed;right:18px;bottom:16px;z-index:2;border:1px solid #e7dfec;border-radius:100px;padding:8px 12px;background:#ffffffd9;color:#88748f;font-size:11px;cursor:pointer}
.auth-motion-paused .auth-ember,.auth-tab-hidden .auth-ember{animation-play-state:paused}
@keyframes tokkii-ember{0%{transform:translate3d(0,0,0);opacity:0}15%{opacity:.9}80%{opacity:.75}100%{transform:translate3d(var(--drift,35px),-105vh,0);opacity:0}}
@media(max-width:600px){.auth-page main{padding:28px 18px 65px}.auth-screen{gap:18px}.auth-logo{width:180px}.auth-card{padding:26px 24px}.auth-card h1{font-size:28px}.auth-ember:nth-child(n+7){display:none}}
@media(prefers-reduced-motion:reduce){.auth-ember{animation:none}.auth-motion-toggle{display:none}}
