body{background:var(--bg-base);background-image:radial-gradient(at 20% 10%,#5b55c412 0%,#0000 50%),radial-gradient(at 80% 90%,#5b55c40a 0%,#0000 50%);flex-direction:column;min-height:100dvh;display:flex}.auth-header-bar{border-bottom:1px solid var(--glass-border);justify-content:space-between;align-items:center;padding:18px 28px;display:flex}.auth-header-logo{align-items:center;gap:10px;text-decoration:none;display:flex}.auth-header-logo img{border-radius:12px;width:auto;height:38px}.auth-header-logo span{background:var(--gradient-gold);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:1.1rem;font-weight:700}.auth-page{flex-direction:column;flex:1;justify-content:center;align-items:center;padding:32px 20px 48px;display:flex}.auth-brand{text-align:center;margin-bottom:28px}.auth-brand h1{background:var(--gradient-gold);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin-bottom:6px;font-size:1.75rem;font-weight:800}.auth-brand p{color:var(--text-secondary);font-size:.9rem}.auth-card{background:var(--bg-surface);border:1px solid var(--border);-webkit-backdrop-filter:blur(24px);border-radius:18px;width:100%;max-width:440px;padding:32px 28px;box-shadow:0 20px 60px #00000059,0 0 0 1px #5b55c40f}.card-accent{background:linear-gradient(90deg, transparent, var(--accent), transparent);border-radius:20px 20px 0 0;height:3px;margin:-32px -28px 28px}.auth-tabs{background:var(--bg-subtle);border:1px solid var(--border);z-index:1;border-radius:12px;gap:4px;margin-bottom:24px;padding:4px;display:flex;position:relative!important;top:auto!important}.auth-tabs .tab{min-height:var(--tap-min,44px);text-align:center;cursor:pointer;color:var(--text-muted);border-radius:12px;flex:1;justify-content:center;align-items:center;padding:9px 12px;font-size:.85rem;font-weight:600;transition:all .2s;display:flex}.auth-tabs .tab.active{background:var(--accent-bg);color:var(--accent);box-shadow:0 1px 3px #0003}.form-section{display:none}.form-section.active{display:block}.form-group{margin-bottom:18px}.form-group label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;margin-bottom:7px;font-size:.8rem;font-weight:600;display:block}.form-group input{background:var(--bg-input,#0f121acc);border:1px solid var(--border-medium);width:100%;color:var(--text-primary);font-size:var(--input-fs,16px);border-radius:12px;outline:none;padding:12px 14px;font-family:inherit;transition:border-color .2s,box-shadow .2s}.form-group input:focus{border-color:#5b55c480;box-shadow:0 0 0 3px #5b55c41a}.form-group input::placeholder{color:var(--text-muted)}.forgot-link{text-align:right;min-height:var(--tap-min,44px);box-sizing:border-box;color:var(--accent);opacity:.85;margin-top:7px;padding:12px 0 12px 24px;font-size:.78rem;font-weight:500;text-decoration:none;transition:opacity .2s;display:block}.forgot-link:hover{opacity:1}.auth-submit{cursor:pointer;background:var(--gradient-gold);color:#0a0a0f;letter-spacing:.01em;border:none;border-radius:12px;width:100%;margin-top:8px;padding:13px 20px;font-family:inherit;font-size:.95rem;font-weight:700;transition:all .3s cubic-bezier(.4,0,.2,1);display:block;box-shadow:0 4px 20px #5b55c433}.auth-submit:hover{transform:translateY(-1px);box-shadow:0 8px 30px #5b55c44d}.auth-submit:active{transform:translateY(0)}.oauth-divider{color:var(--text-muted,#9ca3af);letter-spacing:.06em;text-transform:uppercase;align-items:center;gap:12px;margin:18px 0 12px;font-size:.75rem;display:flex}.oauth-divider:before,.oauth-divider:after{content:"";background:var(--border,#ffffff1a);flex:1;height:1px}.oauth-google-btn{color:#1f1f1f;cursor:pointer;background:#fff;border:1px solid #0000001f;border-radius:12px;justify-content:center;align-items:center;gap:10px;width:100%;height:46px;font-family:inherit;font-size:.95rem;font-weight:600;transition:all .2s;display:flex;box-shadow:0 1px 2px #0000000f}.oauth-google-btn:hover{background:#f7f8fa;box-shadow:0 2px 8px #00000029}.oauth-google-btn:active{background:#eceef1;transform:translateY(1px)}.oauth-google-btn:focus-visible{outline:2px solid var(--accent,#7873da);outline-offset:2px}.oauth-google-logo{flex-shrink:0;width:20px;height:20px}@media (width<=639px){.oauth-google-btn{height:44px}}.pwd-required-msg{border:1px solid var(--danger-border,#ef444466);background:var(--danger-bg,#ef44441f);border-radius:12px;padding:12px 14px;font-weight:600;line-height:1.5}.turnstile-wrapper{justify-content:center;max-width:100%;margin:16px 0 4px;display:flex;overflow:hidden}.register-info{color:var(--text-muted);text-align:center;background:var(--bg-subtle);border:1px solid var(--border);border-radius:12px;margin-bottom:20px;padding:10px 14px;font-size:.82rem}.cycle-toggle{border:1px solid var(--border-medium);background:var(--bg-input,#0f121a80);border-radius:999px;gap:0;margin:0 auto 12px;padding:3px;display:inline-flex}.cycle-toggle button{color:var(--text-secondary);font:inherit;cursor:pointer;white-space:nowrap;background:0 0;border:0;border-radius:999px;padding:6px 14px;font-size:12px;font-weight:600}.cycle-toggle button[aria-pressed=true]{background:var(--accent);color:#fff}.billed-sub{color:var(--text-muted);margin-top:2px;font-size:10px;font-weight:700}.plan-selection{grid-template-columns:repeat(3,1fr);gap:8px;margin-top:6px;display:grid}.plan-radio{display:none}.plan-label{border:1px solid var(--border-medium);cursor:pointer;background:var(--bg-input,#0f121a80);text-align:center;border-radius:12px;flex-direction:column;align-items:center;gap:4px;padding:12px 8px;transition:all .2s;display:flex}.plan-radio:checked+.plan-label{background:#5b55c414;border-color:#5b55c499;box-shadow:0 0 0 2px #5b55c426}.plan-label:hover{border-color:#5b55c459}.plan-name{color:var(--text-primary);font-size:.82rem;font-weight:700}.plan-price{color:var(--accent);font-size:.72rem;font-weight:600}.plan-chats{color:var(--text-muted);font-size:.68rem}.error-msg{color:#f87171;background:#ef44441a;border:1px solid #ef444440;border-radius:12px;margin-bottom:16px;padding:10px 14px;font-size:.82rem;display:none}.error-msg.visible{display:block}.error-msg.success{background:var(--success-bg);border-color:var(--success-border);color:var(--success)}@media (width<=480px){.auth-page{padding:24px 14px 40px}.auth-card{padding:24px 20px}.card-accent{margin:-24px -20px 24px}.auth-brand h1{font-size:1.5rem}}.auth-footer{text-align:center;color:var(--text-muted);margin-top:20px;font-size:.82rem}.auth-footer a{color:var(--accent);font-weight:500;text-decoration:none}.auth-footer a:hover{text-decoration:underline}.auth-footer p+p{margin-top:6px}
