.auth-shell{-webkit-overflow-scrolling:touch;overscroll-behavior:contain;min-height:100dvh;max-height:100dvh;padding:1.5rem;padding-bottom:max(3rem, env(safe-area-inset-bottom,0px));background:#000;flex-direction:column;justify-content:flex-start;align-items:center;display:flex;overflow:hidden auto}.auth-card{background:#0a0a0a;border:1px solid #1f1f1f;border-radius:24px;width:100%;max-width:420px;margin-top:auto;margin-bottom:auto;padding:2rem 1.75rem;animation:.5s cubic-bezier(.16,1,.3,1) authSlideUp;box-shadow:0 24px 80px #0009}@keyframes authSlideUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.auth-logo-wrap{text-align:center;flex-direction:column;align-items:center;margin-bottom:2rem;display:flex}.auth-welcome{color:#fff;letter-spacing:-.02em;margin-top:1rem;font-size:1.625rem;font-weight:600}.auth-tagline{color:#666;letter-spacing:.01em;margin-top:.375rem;font-size:.8125rem}.auth-tabs{background:#111;border-radius:14px;gap:4px;margin-bottom:1.5rem;padding:4px;display:flex}.auth-tab{color:#666;cursor:pointer;background:0 0;border:none;border-radius:10px;flex:1;padding:.625rem;font-size:.875rem;font-weight:500;transition:all .25s}.auth-tab:hover{color:#aaa}.auth-tab-active{color:#000;background:#fff;box-shadow:0 2px 12px #ffffff14}.auth-divider{align-items:center;gap:.75rem;margin:1.25rem 0;display:flex}.auth-divider-line{background:#1a1a1a;flex:1;height:1px}.auth-divider-text{color:#444;text-transform:uppercase;letter-spacing:.15em;font-size:.625rem}.auth-field{animation:.4s backwards authFieldIn}.auth-field:first-child{animation-delay:30ms}.auth-field:nth-child(2){animation-delay:60ms}.auth-field:nth-child(3){animation-delay:90ms}.auth-field:nth-child(4){animation-delay:.12s}.auth-field:nth-child(5){animation-delay:.15s}@keyframes authFieldIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.auth-input{background:var(--bg-card);border:1px solid var(--border-default);color:#fff;border-radius:10px;outline:none;width:100%;min-height:48px;padding:12px 16px;font-size:.9375rem;transition:border-color .2s,box-shadow .2s}.auth-input::placeholder{color:#444}.auth-input:focus{border-color:var(--accent-gold);box-shadow:0 0 0 3px #f5b8001a}.auth-input-error{animation:.35s authShake;border-color:#555!important}.auth-select{appearance:none;cursor:pointer}.auth-btn-google{background:var(--bg-card-elevated);color:#fff;border:1px solid var(--border-default);cursor:pointer;border-radius:10px;justify-content:flex-start;align-items:center;gap:.625rem;width:100%;min-height:48px;padding:12px 16px;font-size:.9375rem;font-weight:600;transition:transform .15s,opacity .2s,border-color .2s;display:flex}.auth-btn-google:hover:not(:disabled){border-color:var(--border-strong);background:#f0f0f0}.auth-btn-google:active:not(:disabled){transform:scale(.98)}.auth-btn-google:disabled{opacity:.5;cursor:not-allowed}.auth-btn-primary{background:var(--accent-gold);color:#000;cursor:pointer;border:none;border-radius:10px;width:100%;min-height:48px;padding:12px 16px;font-size:.9375rem;font-weight:600;transition:transform .15s,opacity .2s}.auth-btn-primary:hover:not(:disabled){background:#ffca2e}.auth-btn-primary:active:not(:disabled){transform:scale(.98)}.auth-btn-primary:disabled{opacity:.4;cursor:not-allowed}.auth-btn-ghost{color:#888;cursor:pointer;background:0 0;border:1px solid #222;border-radius:12px;width:100%;padding:.75rem;font-size:.8125rem;transition:all .2s}.auth-btn-ghost:hover{color:#ccc;background:#111;border-color:#333}.auth-link{color:#888;font-size:.8125rem;text-decoration:none;transition:color .2s}.auth-link:hover{color:#fff}.auth-checkbox{color:#666;cursor:pointer;align-items:flex-start;gap:.625rem;font-size:.8125rem;display:flex}.auth-checkbox input{accent-color:#fff;width:16px;height:16px;margin-top:2px}.auth-checkbox a{color:#aaa;text-underline-offset:2px;text-decoration:underline}.auth-checkbox a:hover{color:#fff}.auth-error{color:#f87171;background:#f871710f;border:1px solid #f8717126;border-radius:10px;padding:.5rem .75rem;font-size:.8125rem;animation:.35s authShake}.auth-success{color:#86efac;background:#86efac0f;border:1px solid #86efac26;border-radius:10px;padding:.5rem .75rem;font-size:.8125rem}.auth-info{color:#888;background:#111;border:1px solid #1f1f1f;border-radius:10px;padding:.75rem;font-size:.8125rem}@keyframes authShake{0%,to{transform:translate(0)}25%{transform:translate(-3px)}75%{transform:translate(3px)}}.auth-strength-bar{gap:4px;margin-bottom:4px;display:flex}.auth-strength-segment{background:#222;border-radius:2px;flex:1;height:3px;transition:background .3s}.auth-otp-grid{justify-content:center;gap:8px;display:flex}.auth-otp-digit{text-align:center;color:#fff;background:#111;border:1px solid #222;border-radius:10px;outline:none;width:44px;height:52px;font-size:1.25rem;font-weight:600;transition:border-color .2s}.auth-otp-digit:focus{border-color:#555;box-shadow:0 0 0 2px #ffffff0d}.auth-loading{border:2px solid #333;border-top-color:#fff;border-radius:50%;width:18px;height:18px;animation:.7s linear infinite authSpin;display:inline-block}@keyframes authSpin{to{transform:rotate(360deg)}}.auth-success-icon{background:#111;border:1px solid #333;border-radius:50%;justify-content:center;align-items:center;width:56px;height:56px;margin:0 auto 1rem;animation:.4s cubic-bezier(.16,1,.3,1) authPop;display:flex}@keyframes authPop{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.auth-onboarding-option{color:#aaa;text-align:left;cursor:pointer;background:#111;border:1px solid #222;border-radius:10px;padding:.75rem 1rem;font-size:.875rem;transition:all .2s}.auth-onboarding-option:hover{color:#fff;background:#151515;border-color:#444}.auth-onboarding-option-selected{color:#fff;background:#1a1a1a;border-color:#fff}.auth-footer{text-align:center;color:#444;margin-top:1.5rem;font-size:.6875rem;line-height:1.6}.auth-footer a{color:#666;text-decoration:none}.auth-footer a:hover{color:#999}.auth-password-toggle{color:#555;cursor:pointer;background:0 0;border:none;padding:4px;transition:color .2s;position:absolute;top:50%;right:12px;transform:translateY(-50%)}.auth-password-toggle:hover{color:#aaa}.auth-row-2{grid-template-columns:1fr 1fr;gap:.5rem;display:grid}@media (max-width:380px){.auth-card{padding:1.5rem 1.25rem}.auth-otp-digit{width:38px;height:46px;font-size:1.1rem}}
