.auth{z-index:0;isolation:isolate;background:var(--bg);flex-direction:column;min-height:100svh;display:flex;position:relative;overflow:hidden}.auth__glow{z-index:-1;pointer-events:none;background:radial-gradient(30% 45% at 88% 100%,#6b80ec59,#0000 70%),radial-gradient(80% 60% at 70% 110%,#334cdb4d,#334cdb0f 55%,#0000 80%);position:absolute;inset:0}.auth.has-live-glow .auth__glow{display:none}.auth__canvas{z-index:-1;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.auth__bar{padding:calc(env(safe-area-inset-top,0px) + 20px) 24px 0;justify-content:space-between;align-items:center;gap:16px;display:flex}.auth__brand{align-items:center;height:40px;font-size:24px;display:inline-flex}.auth__brand:focus-visible{outline:2px solid var(--accent);outline-offset:4px;border-radius:8px}.auth__main{flex:1;place-items:center;padding:40px 16px 14svh;display:grid}.auth__panel{border:1px solid var(--line);background:var(--glass);width:100%;max-width:520px;box-shadow:var(--shadow-soft);-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);text-align:center;animation:reveal-up .9s var(--ease) backwards;border-radius:32px;flex-direction:column;align-items:center;padding:56px 40px 40px;display:flex}.auth__panel h1{color:var(--text);letter-spacing:-.045em;margin:0;font-size:56px;font-weight:600;line-height:.95}.auth__lead{color:var(--text-soft);margin:16px 0 0;font-size:20px;line-height:1.3}.cta.auth__cta{width:100%;height:56px;margin-top:40px;font-size:20px}.auth__error{color:var(--error-text);margin:16px 0 0;font-size:14px;line-height:1.35}.auth__note{color:var(--muted);margin:20px 0 0;font-size:14px;line-height:1.4}.auth__note a{color:var(--accent);text-underline-offset:2px;text-decoration:underline}.auth__loading{background:linear-gradient(100deg, var(--bg-soft) 30%, var(--accent-soft) 50%, var(--bg-soft) 70%) 0 0 / 300% 100%;border-radius:50%;width:96px;height:96px;animation:1.4s linear infinite auth-shimmer}@keyframes auth-shimmer{to{background-position:-150% 0}}@media (width<=639px){.auth__bar{padding-inline:16px}.auth__brand{font-size:22px}.auth__panel{border-radius:24px;padding:40px 20px 28px}.auth__panel h1{font-size:44px}.auth__lead{font-size:18px}.cta.auth__cta{height:52px;font-size:18px}}@media (prefers-reduced-motion:reduce){.auth__panel,.auth__loading{animation:none}}.auth__loading--page{position:fixed;top:50%;left:50%;translate:-50% -50%}
