.auth-shell{grid-template-columns:1fr 1.1fr;min-height:100vh;display:grid}@media (max-width:880px){.auth-shell{grid-template-columns:1fr}.auth-side{display:none}}.auth-side{background:var(--text);color:var(--bg);flex-direction:column;padding:36px 44px;display:flex;position:relative;overflow:hidden}.auth-side .brand-name{color:var(--bg)}.auth-side .brand-mark:after{background:var(--text)}.auth-side-top{justify-content:space-between;align-items:center;display:flex}.auth-back{color:color-mix(in oklab, var(--bg) 60%, transparent);align-items:center;gap:6px;font-size:12.5px;text-decoration:none;transition:color .12s;display:inline-flex}.auth-back:hover{color:var(--bg)}.auth-side-body{max-width:460px;margin-top:auto}.auth-side-eyebrow{text-transform:uppercase;letter-spacing:.1em;color:var(--accent);margin-bottom:16px;font-size:11.5px;font-weight:600}.auth-side h2{letter-spacing:-.02em;text-wrap:balance;margin:0 0 18px;font-size:clamp(28px,3.4vw,38px);font-weight:600;line-height:1.08}.auth-side h2 em{color:var(--accent);font-style:italic;font-weight:600}.auth-side p{color:color-mix(in oklab, var(--bg) 65%, transparent);max-width:44ch;font-size:14.5px;line-height:1.55}.auth-demo{background:color-mix(in oklab, var(--bg) 8%, transparent);border:1px solid color-mix(in oklab, var(--bg) 14%, transparent);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border-radius:12px;align-items:center;gap:16px;margin-top:36px;padding:18px;display:flex}.auth-demo .ring{background:conic-gradient(var(--accent) 87%, color-mix(in oklab, var(--bg) 14%, transparent) 0);border-radius:50%;flex-shrink:0;place-items:center;width:64px;height:64px;display:grid;position:relative}.auth-demo .ring:before{content:"";background:var(--text);border-radius:50%;position:absolute;inset:6px}.auth-demo .ring span{font-family:var(--font-geist-mono), ui-monospace, monospace;color:var(--bg);font-size:18px;font-weight:600;position:relative}.auth-demo .info .e{color:var(--accent);text-transform:uppercase;letter-spacing:.08em;margin-bottom:4px;font-size:10.5px;font-weight:600}.auth-demo .info .n{color:var(--bg);letter-spacing:-.005em;font-size:14px;font-weight:600}.auth-demo .info .m{color:color-mix(in oklab, var(--bg) 50%, transparent);margin-top:2px;font-size:12px}.auth-side-foot{color:color-mix(in oklab, var(--bg) 50%, transparent);gap:24px;margin-top:36px;font-size:11.5px;display:flex}.auth-side-foot a{color:inherit;text-decoration:none}.auth-side-foot a:hover{color:var(--bg)}.auth-side:before{content:"";background:radial-gradient(circle, color-mix(in oklab, var(--accent) 30%, transparent), transparent 60%);pointer-events:none;width:600px;height:600px;position:absolute;bottom:-240px;right:-180px}.auth-main{background:var(--bg);flex-direction:column;padding:36px 44px;display:flex}.auth-top{justify-content:space-between;align-items:center;display:flex}.auth-top .alt{color:var(--text-dim);font-size:12.5px}.auth-top .alt a{color:var(--text);margin-left:5px;font-weight:500;text-decoration:none}.auth-top .alt a:hover{text-underline-offset:3px;text-decoration:underline}.auth-card{width:100%;max-width:420px;margin:auto;padding:24px 0}.auth-h{letter-spacing:-.02em;text-wrap:balance;margin:0 0 8px;font-size:28px;font-weight:600}.auth-sub{color:var(--text-dim);margin:0 0 28px;font-size:14px}.form{flex-direction:column;gap:16px;display:flex}.form-row{grid-template-columns:1fr 1fr;gap:12px;display:grid}@media (max-width:480px){.form-row{grid-template-columns:1fr}}.auth-foot{text-align:center;color:var(--text-faint);margin-top:30px;font-size:11.5px}.auth-foot a{color:var(--text-dim)}.pw-meter{gap:4px;margin-top:6px;display:flex}.pw-meter span{background:var(--bg-sunk);border:1px solid var(--border);border-radius:99px;flex:1;height:3px;transition:background .18s,border .18s}.pw-meter[data-level="1"] span:nth-child(-n+1),.pw-meter[data-level="2"] span:nth-child(-n+2),.pw-meter[data-level="3"] span:nth-child(-n+3),.pw-meter[data-level="4"] span:nth-child(-n+4){background:var(--accent);border-color:#0000}.pw-meter[data-level="1"] span:nth-child(-n+1),.pw-meter[data-level="2"] span:nth-child(-n+2){background:var(--warn)}.pw-hint{color:var(--text-faint);margin-top:4px;font-size:11.5px}.apf-fp .auth-side .auth-demo .info .n{color:var(--bg)}.apf-fp .fp-state{animation:.35s cubic-bezier(.16,1,.3,1) fp-fade-in}@keyframes fp-fade-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.apf-fp .sent-card{background:var(--bg-elev);border:1px solid var(--border);text-align:center;border-radius:12px;margin-bottom:22px;padding:22px}.apf-fp .sent-card .icon-wrap{background:var(--accent-soft);width:52px;height:52px;color:var(--accent-ink);border-radius:50%;place-items:center;margin:0 auto 14px;animation:.5s cubic-bezier(.16,1,.3,1) fp-pop;display:grid}@keyframes fp-pop{0%{opacity:0;transform:scale(.6)}to{opacity:1;transform:scale(1)}}.apf-fp .sent-card .em{font-family:var(--font-geist-mono), ui-monospace, monospace;background:var(--bg-sunk);border:1px solid var(--border);color:var(--text);border-radius:7px;margin-top:4px;padding:8px 12px;font-size:13px;font-weight:500;display:inline-block}.apf-fp .sent-card .hint{color:var(--text-dim);text-wrap:pretty;margin:14px 0 0;font-size:13.5px;line-height:1.55}.apf-fp .sent-actions{flex-wrap:wrap;justify-content:center;gap:8px;margin-top:16px;display:flex}.apf-fp .resend-row{color:var(--text-faint);margin-top:14px;font-size:12.5px}.apf-fp .resend-row .countdown{font-family:var(--font-geist-mono), ui-monospace, monospace;color:var(--text-dim)}.apf-fp .resend-row button{color:var(--text);font:inherit;cursor:pointer;text-underline-offset:3px;text-decoration:underline;-webkit-text-decoration-color:var(--border-strong);text-decoration-color:var(--border-strong);background:0 0;border:0;padding:0;font-size:12.5px}.apf-fp .resend-row button:hover{-webkit-text-decoration-color:var(--text);text-decoration-color:var(--text)}.apf-fp .reset-token-pill{background:var(--accent-soft);color:var(--accent-ink);border-radius:99px;align-items:center;gap:6px;margin-bottom:18px;padding:4px 9px;font-size:11px;font-weight:500;display:inline-flex}.apf-fp .reset-token-pill .mono{letter-spacing:.04em}.apf-fp .reset-token-pill svg{color:var(--accent)}
