.auth{isolation:isolate;background:var(--bg);grid-template-rows:auto 1fr auto;min-height:100dvh;display:grid;position:relative;overflow:hidden}.auth__beam{z-index:-1;pointer-events:none;height:min(860px,100dvh);position:absolute;inset:0 0 auto}.auth__beam:before{content:"";background:conic-gradient(from 150deg at 50% -4%, transparent 0deg, color-mix(in srgb, var(--accent) 34%, transparent) 16deg, color-mix(in srgb, var(--accent) 62%, transparent) 26deg, color-mix(in srgb, var(--accent-ink) 48%, transparent) 30deg, color-mix(in srgb, var(--accent) 62%, transparent) 34deg, color-mix(in srgb, var(--accent) 34%, transparent) 44deg, transparent 60deg);-webkit-mask-image:linear-gradient(180deg, var(--text) 0%, color-mix(in srgb, var(--text) 55%, transparent) 38%, transparent 82%);mask-image:linear-gradient(180deg, var(--text) 0%, color-mix(in srgb, var(--text) 55%, transparent) 38%, transparent 82%);filter:blur(20px);transform-origin:top;animation:auth-beam 1.2s var(--ease) both;position:absolute;inset:0}.auth__beam:after{content:"";background:radial-gradient(16% 64px at 50% 0, color-mix(in srgb, var(--accent-hover) 80%, transparent), transparent 75%), radial-gradient(30% 220px at 50% 58%, color-mix(in srgb, var(--pink) 13%, transparent), transparent 72%);animation:fh-fade-in 1.2s var(--ease) both;position:absolute;inset:0}[data-theme=light] .auth__beam{opacity:.5}.auth__grain{z-index:-1;pointer-events:none;background-image:radial-gradient(var(--line) 1px, transparent 1px);mask-image:radial-gradient(70% 60% at 50% 20%, var(--text), transparent 75%);-webkit-mask-image:radial-gradient(70% 60% at 50% 20%, var(--text), transparent 75%);opacity:.7;background-size:22px 22px;position:absolute;inset:0}@keyframes auth-beam{0%{opacity:0;transform:scaleY(.6)}}.auth__top{padding:24px var(--gutter);justify-content:space-between;align-items:center;gap:16px;display:flex}.auth__brand{border-radius:var(--r-sm);color:var(--text);display:inline-flex}.auth__back{border-radius:var(--r-sm);align-items:center;gap:6px;font-size:13px;font-weight:500;display:inline-flex}.auth__main{padding:clamp(16px, 8vh, 88px) var(--gutter) 40px;flex-direction:column;justify-content:flex-start;align-items:center;gap:20px;display:flex}.auth__card{border-radius:var(--r-xl);background:color-mix(in srgb, var(--surface) 84%, transparent);width:min(440px,100%);box-shadow:var(--shadow-black);backdrop-filter:blur(24px);padding:36px 32px 32px;position:relative}.auth__card--wide{width:min(480px,100%)}.auth__card:before{content:"";background:linear-gradient(90deg, transparent, var(--accent-ink), var(--pink), transparent);opacity:.7;height:1px;position:absolute;top:0;left:18%;right:18%}.auth__swap{flex-direction:column;gap:24px;display:flex}.auth__head{flex-direction:column;gap:10px;display:flex}.auth__eyebrow{color:var(--text-2)}.auth__title{letter-spacing:-.035em;text-wrap:balance;padding-bottom:2px;font-size:34px;font-weight:700;line-height:1.06}.auth__sub{color:var(--text-2);text-wrap:pretty;font-size:15px;line-height:1.55}.auth__sub strong{color:var(--text);font-weight:600}.auth__art{background:var(--accent-tint);width:48px;height:48px;color:var(--accent-ink);border-radius:50%;place-items:center;margin-bottom:6px;display:grid}.auth__art--success{background:var(--success-tint);color:var(--success)}.auth__art--pink{background:var(--pink-tint);color:var(--pink-ink)}.auth__form{flex-direction:column;gap:16px;display:flex}.auth__actions{flex-direction:column;gap:10px;margin-top:4px;display:flex}.auth__hint{border-radius:var(--r-md);background:var(--accent-wash);box-shadow:inset 0 0 0 1px var(--accent-tint);color:var(--text-2);align-items:center;gap:8px;padding:8px 12px;font-size:13px;line-height:1.4;display:flex}.auth__hint strong{color:var(--text);font-weight:600}.auth__hint svg{color:var(--accent-ink);flex:none}.auth__error{border-radius:var(--r-md);background:var(--danger-tint);color:var(--danger);padding:10px 12px;font-size:14px;font-weight:500;line-height:1.45}.auth__or{color:var(--text-2);align-items:center;gap:12px;font-size:12px;font-weight:500;display:flex}.auth__or:before,.auth__or:after{content:"";background:var(--line);flex:1;height:1px}.auth__fine{color:var(--text-2);font-size:13px;line-height:1.5}.auth__fine strong{color:var(--text);font-weight:600}.auth__sent{border-radius:var(--r-full);background:var(--success-tint);min-height:52px;color:var(--success);font-family:var(--font-mono);align-items:center;gap:10px;min-width:0;padding:0 16px;font-size:14px;font-weight:500;display:flex}.auth__sent span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.auth__sent svg{flex:none}.auth__foot{color:var(--text-2);text-align:center;flex-wrap:wrap;justify-content:center;gap:6px 16px;font-size:14px;display:flex}.auth__bottom{padding:16px var(--gutter) calc(28px + var(--demo-space));text-align:center;color:var(--text-2);font-size:13px}.auth__dim{transition:opacity var(--d-swap) var(--ease)}.auth:has(.auth__card input:focus:not(:placeholder-shown):not(.code__input)) .auth__dim{opacity:.2}.auth .auth__dim:hover,.auth .auth__dim:focus-within{opacity:1}.auth__strength{min-height:18px;color:var(--text-2);align-items:center;gap:10px;font-size:13px;display:flex}.auth__strength .ticks{flex:none}.auth__strength:empty{display:none}.auth__code{flex-direction:column;align-items:center;gap:14px;display:flex}.auth__code .code{align-self:center}.auth__resend{min-height:28px;color:var(--text-2);justify-content:center;align-items:center;gap:6px;font-size:13px;display:flex}@media (width<=480px){.auth__top{padding:18px var(--gutter)}.auth__main{padding-top:12px}.auth__card{padding:28px 20px 24px}.auth__title{font-size:30px}}.auth__steps{counter-reset:auth-step;flex-direction:column;gap:12px;display:flex}.auth__steps li{color:var(--text-2);counter-increment:auth-step;padding-left:36px;font-size:14px;line-height:1.5;position:relative}.auth__steps li strong{color:var(--text);font-weight:600}.auth__steps li:before{content:counter(auth-step);background:var(--field);width:24px;height:24px;color:var(--text);font-family:var(--font-mono);border-radius:50%;place-items:center;font-size:12px;font-weight:600;display:grid;position:absolute;top:-1px;left:0}
