@charset "UTF-8";:root{--brand: #6366f1;--brand-strong: #4f46e5;--brand-soft: #eef2ff;--brand-glow: rgba(99, 102, 241, .35);--hero-grad-1: #1e1b4b;--hero-grad-2: #4338ca;--hero-grad-3: #7c3aed;--text-strong: #0f172a;--text-body: #334155;--text-muted: #64748b;--text-faint: #94a3b8;--text-invert: #f8fafc;--bg: #ffffff;--bg-soft: #f8fafc;--bg-card: #ffffff;--border: #e2e8f0;--border-strong: #cbd5e1;--success: #16a34a;--success-soft: #dcfce7;--error: #dc2626;--error-soft: #fee2e2;--radius: 12px;--radius-lg: 16px;--radius-pill: 999px;--shadow-sm: 0 1px 2px rgba(15, 23, 42, .04);--shadow-md: 0 4px 12px rgba(15, 23, 42, .06), 0 1px 3px rgba(15, 23, 42, .04);--shadow-lg: 0 12px 32px rgba(15, 23, 42, .08), 0 2px 8px rgba(15, 23, 42, .04);--font-sans: -apple-system, BlinkMacSystemFont, "Inter", "PingFang SC", "HarmonyOS Sans SC", "Microsoft YaHei", sans-serif}*{box-sizing:border-box;margin:0;padding:0}html,body,#app{height:100%;min-height:100vh}body{font-family:var(--font-sans);background:var(--bg);color:var(--text-body);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:var(--brand);text-decoration:none;transition:color .15s}a:hover{color:var(--brand-strong)}button{font-family:inherit;cursor:pointer;border:none;background:transparent}.auth-page{display:grid;grid-template-columns:minmax(0,1fr) minmax(420px,520px);min-height:100vh}@media (max-width: 960px){.auth-page{grid-template-columns:1fr}}.auth-hero{position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between;padding:56px 64px;color:var(--text-invert);background:radial-gradient(at 20% 100%,rgba(124,58,237,.55) 0%,transparent 55%),radial-gradient(at 80% 0%,rgba(99,102,241,.45) 0%,transparent 55%),linear-gradient(135deg,var(--hero-grad-1) 0%,var(--hero-grad-2) 55%,var(--hero-grad-3) 100%)}@media (max-width: 960px){.auth-hero{display:none}}.hero-content{position:relative;z-index:2;max-width:440px}.hero-brand{display:inline-flex;align-items:center;gap:12px;margin-bottom:64px}.hero-brand .hero-mark{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:10px;background:#ffffff29;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);font-weight:800;font-size:20px;letter-spacing:-.02em}.hero-brand .hero-name{font-size:18px;font-weight:600;letter-spacing:-.01em}.hero-title{font-size:clamp(36px,4vw,48px);font-weight:800;line-height:1.15;letter-spacing:-.03em;margin-bottom:24px;color:#fff}.hero-title .accent{background:linear-gradient(135deg,#fbbf24,#f472b6);-webkit-background-clip:text;background-clip:text;color:transparent}.hero-desc{font-size:16px;color:#f8fafcc7;line-height:1.7;margin-bottom:48px;max-width:380px}.hero-products{list-style:none;display:grid;grid-template-columns:repeat(2,1fr);gap:12px;max-width:360px}.hero-products li{display:flex;align-items:center;gap:10px;padding:12px 14px;background:#ffffff0f;border:1px solid rgba(255,255,255,.1);border-radius:10px;font-size:13px;color:#f8fafceb;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:background-color .2s,transform .2s}.hero-products li:hover{background:#ffffff1a;transform:translateY(-1px)}.hero-products li .dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}.hero-products li .dot.c1{background:#fbbf24}.hero-products li .dot.c2{background:#34d399}.hero-products li .dot.c3{background:#60a5fa}.hero-products li .dot.c4{background:#f472b6}.hero-foot{position:relative;z-index:2;font-size:12px;color:#f8fafc8c;letter-spacing:.04em}.hero-deco{position:absolute;border-radius:50%;pointer-events:none}.deco-1{top:-120px;right:-80px;width:360px;height:360px;background:radial-gradient(circle at 30% 30%,rgba(244,114,182,.4),transparent 70%);filter:blur(20px);animation:float-slow 12s ease-in-out infinite}.deco-2{bottom:-100px;left:-60px;width:280px;height:280px;background:radial-gradient(circle at 70% 70%,rgba(251,191,36,.28),transparent 70%);filter:blur(24px);animation:float-slow 16s ease-in-out infinite reverse}.deco-3{top:38%;right:18%;width:120px;height:120px;background:radial-gradient(circle,rgba(96,165,250,.35),transparent 70%);filter:blur(16px);animation:float-slow 10s ease-in-out infinite}@keyframes float-slow{0%,to{transform:translateY(0) translate(0)}50%{transform:translateY(-20px) translate(12px)}}.auth-form-side{display:flex;align-items:center;justify-content:center;padding:40px 32px;background:var(--bg)}@media (max-width: 960px){.auth-form-side{background:var(--bg-soft)}}.form-container{width:100%;max-width:360px;animation:fade-in-up .5s cubic-bezier(.16,1,.3,1)}@keyframes fade-in-up{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.form-brand-mobile{display:none;align-items:center;gap:10px;margin-bottom:32px}@media (max-width: 960px){.form-brand-mobile{display:inline-flex}}.form-brand-mobile .mark{width:36px;height:36px;border-radius:10px;background:linear-gradient(135deg,var(--hero-grad-2),var(--hero-grad-3));color:#fff;display:inline-flex;align-items:center;justify-content:center;font-weight:800;font-size:18px}.form-brand-mobile .name{color:var(--text-strong);font-weight:700;font-size:16px}.form-title{font-size:28px;font-weight:800;color:var(--text-strong);letter-spacing:-.02em;margin-bottom:8px}.form-sub{font-size:14px;color:var(--text-muted);margin-bottom:32px}.auth-form{display:flex;flex-direction:column;gap:18px}.form-row{display:flex;flex-direction:column;gap:8px}.form-row>span{font-size:13px;color:var(--text-strong);font-weight:500}.form-input{height:44px;padding:0 14px;border:1.5px solid var(--border);border-radius:10px;font-size:14px;color:var(--text-strong);background:var(--bg);outline:none;transition:border-color .15s,box-shadow .15s,background-color .15s;font-family:inherit}.form-input::placeholder{color:var(--text-faint)}.form-input:hover{border-color:var(--border-strong)}.form-input:focus{border-color:var(--brand);box-shadow:0 0 0 4px var(--brand-glow)}.form-input:disabled{background:var(--bg-soft);cursor:not-allowed}.form-error{display:flex;align-items:flex-start;gap:8px;padding:10px 12px;background:var(--error-soft);border-left:3px solid var(--error);border-radius:6px;color:var(--error);font-size:13px;line-height:1.5;animation:shake .4s cubic-bezier(.36,.07,.19,.97)}.form-error:before{content:"⚠";font-size:14px;line-height:1.5;flex-shrink:0}@keyframes shake{0%,to{transform:translate(0)}20%,60%{transform:translate(-4px)}40%,80%{transform:translate(4px)}}.btn-primary{height:46px;background:linear-gradient(135deg,var(--brand) 0%,var(--brand-strong) 100%);color:#fff;border:none;border-radius:10px;font-size:15px;font-weight:600;font-family:inherit;cursor:pointer;letter-spacing:.02em;transition:transform .12s,box-shadow .2s,opacity .15s;box-shadow:0 4px 14px var(--brand-glow);margin-top:4px}.btn-primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 20px var(--brand-glow)}.btn-primary:active:not(:disabled){transform:translateY(0)}.btn-primary:disabled{opacity:.6;cursor:not-allowed;box-shadow:none}.btn-primary.as-link{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;width:100%}.form-footer{margin-top:28px;text-align:center;font-size:13px;color:var(--text-muted)}.form-footer a{color:var(--brand);font-weight:500}.form-footer a:hover{text-decoration:underline}.form-footer .sep{margin:0 10px;color:var(--border-strong)}.success-state{text-align:center}.success-icon{width:64px;height:64px;border-radius:50%;background:var(--success-soft);color:var(--success);display:inline-flex;align-items:center;justify-content:center;font-size:32px;font-weight:800;margin-bottom:20px;animation:pop-in .4s cubic-bezier(.34,1.56,.64,1)}@keyframes pop-in{0%{opacity:0;transform:scale(.5)}to{opacity:1;transform:scale(1)}}.success-tip{background:var(--brand-soft);border-radius:10px;padding:14px 16px;margin:20px 0 24px;font-size:13px;color:var(--text-body);line-height:1.7;text-align:left}.placeholder-text{color:var(--text-body);line-height:1.7;font-size:14px;padding:16px;background:var(--bg-soft);border-radius:10px}
