.otp-deck{flex-direction:column;gap:.55rem;display:flex}.otp-deck__label{color:hsl(var(--foreground) / .92);margin:0;font-size:.875rem;font-weight:600}.otp-deck__row{justify-content:space-between;gap:.4rem;width:100%;display:flex}.otp-deck__slot{aspect-ratio:.82;flex:1 1 0;min-width:0;max-width:3.1rem;height:3.15rem;animation:.38s cubic-bezier(.22,1,.36,1) both otp-slot-in;position:relative}.otp-deck__slot input{border:1.5px solid hsl(var(--border) / .7);text-align:center;font-variant-numeric:tabular-nums;letter-spacing:.02em;width:100%;height:100%;color:hsl(var(--foreground));caret-color:hsl(var(--primary));background:#0e0f11d9;border-radius:.8rem;font-size:1.35rem;font-weight:700;transition:border-color .2s,box-shadow .2s,background-color .2s,transform .2s}.otp-deck__slot input:focus{border-color:hsl(var(--primary) / .9);box-shadow:0 0 0 3px hsl(var(--primary) / .22), 0 8px 24px -10px hsl(var(--primary) / .55);background:#151719f2;outline:none}.otp-deck__slot--active input{transform:translateY(-2px)}.otp-deck__slot--filled input{border-color:hsl(var(--primary) / .5);background:hsl(var(--primary) / .08)}.otp-deck--loading .otp-deck__slot input{opacity:.7;cursor:wait}.otp-deck--success .otp-deck__slot input{color:#86efac;background:#22c55e1f;border-color:#22c55e;animation:.45s cubic-bezier(.22,1,.36,1) both otp-pop;box-shadow:0 0 0 2px #22c55e2e}.otp-deck--success .otp-deck__slot:first-child input{animation-delay:0s}.otp-deck--success .otp-deck__slot:nth-child(2) input{animation-delay:40ms}.otp-deck--success .otp-deck__slot:nth-child(3) input{animation-delay:80ms}.otp-deck--success .otp-deck__slot:nth-child(4) input{animation-delay:.12s}.otp-deck--success .otp-deck__slot:nth-child(5) input{animation-delay:.16s}.otp-deck--success .otp-deck__slot:nth-child(6) input{animation-delay:.2s}.otp-deck--error .otp-deck__row{animation:.42s otp-shake}.otp-deck--error .otp-deck__slot input{background:#f871711a;border-color:#f87171;box-shadow:0 0 0 2px #f8717126}.otp-deck__feedback{align-items:center;gap:.4rem;min-height:1.25rem;margin:0;font-size:.75rem;font-weight:550;display:inline-flex}.otp-deck__feedback--ok{color:#86efac;animation:.35s both otp-fade-up}.otp-deck__feedback--err{color:#fca5a5;animation:.28s both otp-fade-up}.otp-deck__check{color:#052e16;background:#22c55e;border-radius:999px;place-items:center;width:1.15rem;height:1.15rem;animation:.4s cubic-bezier(.22,1,.36,1) both otp-check-pop;display:grid}@keyframes otp-slot-in{0%{opacity:0;transform:translateY(8px)scale(.92)}to{opacity:1;transform:none}}@keyframes otp-pop{0%{transform:scale(1)}40%{transform:scale(1.08)}to{transform:scale(1)}}@keyframes otp-shake{0%,to{transform:translate(0)}20%{transform:translate(-6px)}40%{transform:translate(6px)}60%{transform:translate(-4px)}80%{transform:translate(3px)}}@keyframes otp-fade-up{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}@keyframes otp-check-pop{0%{opacity:0;transform:scale(0)}60%{transform:scale(1.15)}to{opacity:1;transform:scale(1)}}@media (max-width:420px){.otp-deck__row{gap:.3rem}.otp-deck__slot{height:2.85rem}.otp-deck__slot input{border-radius:.7rem;font-size:1.15rem}}@media (prefers-reduced-motion:reduce){.otp-deck__slot,.otp-deck--success .otp-deck__slot input,.otp-deck--error .otp-deck__row,.otp-deck__feedback,.otp-deck__check{transition:none!important;animation:none!important}}
.auth-gate{--auth-ink:#000;--auth-panel:#131416c7;isolation:isolate;background:var(--auth-ink);min-height:100dvh;color:hsl(var(--foreground));position:relative;overflow:hidden}.auth-gate__mesh{pointer-events:none;background:radial-gradient(ellipse 55% 45% at 18% 12%, hsl(var(--primary) / .28), transparent 60%), radial-gradient(ellipse 40% 35% at 88% 72%, hsl(var(--brand-secondary) / .12), transparent 55%), radial-gradient(ellipse 70% 50% at 50% 100%, #2b2e3173, transparent 70%);opacity:.85;position:absolute;inset:-20%}.auth-gate__grain{pointer-events:none;opacity:.035;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");position:absolute;inset:0}.auth-gate__locale{z-index:30;position:absolute;top:1rem;right:1rem}@media (min-width:640px){.auth-gate__locale{top:1.5rem;right:1.5rem}}.auth-gate__stage{z-index:10;justify-content:center;align-items:center;min-height:100dvh;padding:4.5rem 1rem 1.5rem;display:flex;position:relative}.auth-card{border:1px solid hsl(var(--border) / .55);background:var(--auth-panel);-webkit-backdrop-filter:blur(18px);border-radius:1.5rem;width:min(100%,960px);min-height:0;max-height:calc(100dvh - 5.5rem);position:relative;overflow:hidden;box-shadow:0 30px 80px -40px #000000d9,inset 0 0 0 1px #ffffff08}.auth-forms{min-height:0;max-height:inherit;grid-template-columns:1fr;display:grid}.auth-pane{-webkit-overflow-scrolling:touch;flex-direction:column;justify-content:flex-start;max-height:calc(100dvh - 5.5rem);padding:1.5rem 1.2rem 1.75rem;display:none;overflow-y:auto}.auth-pane.is-active{display:flex}.auth-overlay-rail{display:none}.auth-field input{border:1px solid hsl(var(--border) / .7);background:hsl(var(--background) / .55);width:100%;height:2.75rem;color:hsl(var(--foreground));border-radius:.85rem;outline:none;padding:0 2.75rem 0 2.65rem;font-size:.925rem;transition:border-color .18s,box-shadow .18s}.auth-field input:focus{border-color:hsl(var(--primary) / .65);box-shadow:0 0 0 3px hsl(var(--primary) / .18)}.auth-field input.pr-toggle{padding-right:2.75rem}.auth-submit{background:hsl(var(--primary));width:100%;height:2.85rem;color:hsl(var(--primary-foreground));box-shadow:0 0 0 1px hsl(var(--primary) / .35), 0 10px 28px -12px hsl(var(--primary) / .7);border:none;border-radius:.9rem;font-size:.925rem;font-weight:600;transition:filter .18s,opacity .18s}.auth-submit:hover:not(:disabled){filter:brightness(1.06)}.auth-submit:disabled{opacity:.6}.auth-mobile-switch{text-align:center;color:hsl(var(--muted-foreground));margin-top:1.25rem;font-size:.875rem}.auth-mobile-switch button{color:hsl(var(--primary));cursor:pointer;background:0 0;border:none;padding:0;font-weight:600}.auth-mobile-switch button:hover{text-decoration:underline}@media (min-width:900px){.auth-card{border-radius:1.75rem;min-height:560px;max-height:none}.auth-forms{grid-template-columns:1fr 1fr;min-height:560px;max-height:none}.auth-pane{justify-content:center;max-height:none;padding:2.25rem 2rem;display:flex;overflow:visible}.auth-pane.is-active{display:flex}.auth-mobile-switch{display:none}.auth-overlay-rail{z-index:5;will-change:transform;width:50%;height:100%;display:block;position:absolute;top:0;left:50%;overflow:hidden;transform:translate(0,0);box-shadow:-12px 0 40px #00000047}.auth-card.show-signup .auth-overlay-rail{transform:translate(-100%)}.auth-overlay-strip{background:radial-gradient(ellipse 70% 60% at 50% 20%, hsl(var(--primary) / .95), transparent 62%), linear-gradient(145deg, hsl(var(--primary)) 0%, color-mix(in srgb, hsl(var(--primary)) 68%, #000) 55%, color-mix(in srgb, hsl(var(--brand-secondary)) 32%, hsl(var(--primary))) 100%);width:200%;height:100%;display:flex;position:relative;left:-100%;transform:translate(0)}.auth-card.show-signup .auth-overlay-strip{transform:translate(50%)}.auth-overlay-face{text-align:center;color:#fff;flex-direction:column;flex:0 0 50%;justify-content:center;align-items:center;gap:.85rem;width:50%;height:100%;padding:2.5rem 2rem;display:flex}.auth-overlay__eyebrow{letter-spacing:.22em;text-transform:uppercase;opacity:.85;font-size:.7rem;font-weight:700}.auth-overlay__title{letter-spacing:-.03em;font-size:clamp(1.75rem,2.4vw,2.15rem);font-weight:700;line-height:1.15}.auth-overlay__text{opacity:.88;max-width:16rem;font-size:.925rem;line-height:1.5}.auth-overlay__cta{color:#fff;cursor:pointer;background:0 0;border:1.5px solid #ffffffd9;border-radius:999px;align-items:center;gap:.45rem;height:2.65rem;margin-top:.75rem;padding:0 1.25rem;font-size:.9rem;font-weight:600;transition:background .18s,color .18s;display:inline-flex}.auth-overlay__cta:hover:not(:disabled){color:hsl(var(--primary));background:#fff}.auth-overlay__cta:disabled{opacity:.55;cursor:default}.auth-overlay__foot{opacity:.7;margin-top:.35rem;font-size:.75rem}}
