*,*:before,*:after{box-sizing:border-box}.auth-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:2rem 1rem;background:linear-gradient(135deg,#667eea,#764ba2);position:relative;overflow:hidden;font-family:DM Sans,Plus Jakarta Sans,system-ui,sans-serif}.auth-wrap:before{content:"";position:absolute;inset:0;background-image:radial-gradient(circle at 20% 50%,rgba(255,255,255,.1) 0%,transparent 50%),radial-gradient(circle at 80% 80%,rgba(255,255,255,.08) 0%,transparent 50%),repeating-linear-gradient(0deg,rgba(255,255,255,.03) 0px,transparent 1px,transparent 40px),repeating-linear-gradient(90deg,rgba(255,255,255,.03) 0px,transparent 1px,transparent 40px);animation:backgroundShift 20s ease-in-out infinite}@keyframes backgroundShift{0%,to{transform:translate(0)}50%{transform:translate(20px,20px)}}.orb{position:absolute;border-radius:50%;pointer-events:none;will-change:transform;filter:blur(80px);opacity:.6}.orb-1{width:600px;height:600px;top:-15%;left:-10%;background:radial-gradient(circle,rgba(139,92,246,.4) 0%,transparent 70%);animation:orbFloat1 15s ease-in-out infinite alternate}.orb-2{width:500px;height:500px;bottom:-10%;right:-8%;background:radial-gradient(circle,rgba(236,72,153,.3) 0%,transparent 70%);animation:orbFloat2 18s ease-in-out infinite alternate}.orb-3{width:400px;height:400px;top:50%;left:50%;transform:translate(-50%,-50%);background:radial-gradient(circle,rgba(59,130,246,.2) 0%,transparent 70%);animation:orbPulse 12s ease-in-out infinite}@keyframes orbFloat1{0%{transform:translate(0) scale(1)}to{transform:translate(50px,60px) scale(1.1)}}@keyframes orbFloat2{0%{transform:translate(0) scale(1)}to{transform:translate(-60px,-45px) scale(1.12)}}@keyframes orbPulse{0%,to{transform:translate(-50%,-50%) scale(1);opacity:.2}50%{transform:translate(-50%,-50%) scale(1.2);opacity:.4}}.dev-banner{position:fixed;top:0;left:0;right:0;z-index:200;background:linear-gradient(90deg,#f59e0b,#d97706);color:#1c1917;display:flex;align-items:center;justify-content:center;gap:.875rem;padding:.5rem 1.5rem;font-size:.8125rem;font-weight:600;box-shadow:0 2px 10px #f59e0b73}.dev-banner code{font-family:Courier New,monospace;font-size:.9375rem;letter-spacing:.35em;background:#0000001f;padding:.125rem .625rem;border-radius:4px}.login-card{position:relative;z-index:10;width:100%;max-width:480px;background:#fffffff2;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-radius:24px;padding:.95rem;box-shadow:0 0 0 1px #fff3,0 40px 80px -20px #0000004d,inset 0 0 0 1px #ffffff80;animation:cardFadeIn .8s cubic-bezier(.16,1,.3,1) both}@keyframes cardFadeIn{0%{opacity:0;transform:translateY(40px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}.card-header{text-align:center;margin-bottom:.65rem}.brand-mark{display:inline-flex;align-items:center;gap:.625rem;text-decoration:none;margin-bottom:.5rem;transition:transform .2s ease,opacity .2s ease}.brand-mark:hover{transform:scale(1.05);opacity:.8}.brand-mark>span:first-child{font-size:1.75rem;line-height:1;filter:drop-shadow(0 2px 4px rgba(0,0,0,.1))}.brand-text{font-family:Syne,sans-serif;font-weight:800;font-size:1.375rem;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:-.01em;line-height:1.2}.auth-badge{display:inline-flex;align-items:center;justify-content:center;margin:0 0 .65rem;padding:.25rem .5rem;border-radius:999px;border:1px solid rgba(102,126,234,.2);background:linear-gradient(135deg,#667eea1a,#764ba21a);color:#5b21b6;font-size:.6875rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.page-title{font-family:Syne,sans-serif;font-weight:700;font-size:1.375rem;background:linear-gradient(135deg,#1e293b,#334155);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:-.04em;line-height:1.2;margin:0 0 .25rem}.page-subtitle{font-size:.8125rem;color:#64748b;line-height:1.6;margin:0}.section-kicker{margin:.5rem 0 .375rem;color:#64748b;font-size:.6875rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.msg-error,.msg-ok{display:flex;align-items:flex-start;gap:.625rem;border-radius:14px;padding:.375rem .5rem;margin-bottom:.5rem;font-size:.75rem;line-height:1.5;animation:messageSlideIn .3s ease-out}@keyframes messageSlideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.msg-error{background:linear-gradient(135deg,#fef2f2,#fee2e2);border:1px solid #fecaca;color:#991b1b}.msg-ok{background:linear-gradient(135deg,#f0fdf4,#dcfce7);border:1px solid #bbf7d0;color:#166534}.msg-error svg,.msg-ok svg{width:1rem;height:1rem;flex-shrink:0;margin-top:.0625rem}.msg-error svg{color:#dc2626}.msg-ok svg{color:#16a34a}.msg-title{font-weight:600;margin-bottom:.25rem;color:#7f1d1d}.msg-list{list-style:none;padding:0;margin:0}.msg-list li+li{margin-top:.1875rem}.method-switcher{position:relative}.method-toggle{position:absolute;opacity:0;pointer-events:none}.method-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.625rem}.method-tab{display:flex;flex-direction:column;gap:.1875rem;min-height:40px;padding:.5rem;border-radius:14px;border:2px solid #e2e8f0;background:linear-gradient(135deg,#f8fafc,#fff);cursor:pointer;transition:all .25s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.method-tab:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,#667eea0d,#764ba20d);opacity:0;transition:opacity .25s ease}.method-tab:hover{transform:translateY(-2px);border-color:#c7d2fe;box-shadow:0 12px 24px #0f172a14}.method-tab:hover:before{opacity:1}.method-tab-title{font-size:.75rem;font-weight:700;color:#0f172a;line-height:1.3;position:relative;z-index:1}.method-tab-summary{font-size:.625rem;color:#64748b;line-height:1.4;position:relative;z-index:1}#method-email-code:checked~.method-tabs label[for=method-email-code],#method-email-password:checked~.method-tabs label[for=method-email-password],#method-wechat:checked~.method-tabs label[for=method-wechat],#method-qq:checked~.method-tabs label[for=method-qq]{background:linear-gradient(135deg,#eef2ff,#fff);border-color:#818cf8;box-shadow:0 16px 32px #6366f126;transform:translateY(-2px)}#method-email-code:checked~.method-tabs label[for=method-email-code]:before,#method-email-password:checked~.method-tabs label[for=method-email-password]:before,#method-wechat:checked~.method-tabs label[for=method-wechat]:before,#method-qq:checked~.method-tabs label[for=method-qq]:before{opacity:1}#method-email-code:checked~.method-tabs label[for=method-email-code] .method-tab-title,#method-email-password:checked~.method-tabs label[for=method-email-password] .method-tab-title,#method-wechat:checked~.method-tabs label[for=method-wechat] .method-tab-title,#method-qq:checked~.method-tabs label[for=method-qq] .method-tab-title{color:#4338ca}.method-panels{margin-top:.375rem}.method-panel{display:none;border-radius:16px;border:2px solid #e2e8f0;background:linear-gradient(135deg,#fff,#f8fafc);padding:.5rem;animation:panelFadeIn .4s ease-out}@keyframes panelFadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}#method-email-code:checked~.method-panels .method-panel-email-code,#method-email-password:checked~.method-panels .method-panel-email-password,#method-wechat:checked~.method-panels .method-panel-wechat,#method-qq:checked~.method-panels .method-panel-qq{display:block}.panel-header{display:flex;align-items:flex-start;justify-content:space-between;gap:.625rem;margin-bottom:.375rem}.panel-header-single{margin-bottom:.6rem}.panel-eyebrow{margin:0 0 .2rem;font-size:.625rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#6366f1}.panel-title{margin:0;font-size:.9375rem;font-weight:700;color:#0f172a;line-height:1.25}.panel-desc{margin:.15rem 0 0;font-size:.6875rem;color:#64748b;line-height:1.5;max-width:48rem}.panel-note{flex-shrink:0;padding:.25rem .5rem;border-radius:999px;background:#eef2ff;color:#4338ca;font-size:.6875rem;font-weight:700}.panel-note-wechat{background:#f0fdf4;color:#15803d}.panel-note-qq{background:#eff6ff;color:#1d4ed8}.method-flow{display:flex;flex-direction:column;gap:.3rem}.flow-divider{display:flex;align-items:center;justify-content:center;gap:.75rem;color:#94a3b8;font-size:.6875rem;font-weight:600;letter-spacing:.05em;padding:.375rem 0}.flow-divider:before,.flow-divider:after{content:"";flex:1;height:1px;background:linear-gradient(90deg,transparent,#e2e8f0,transparent)}.flow-divider span{white-space:nowrap}.form-block{display:flex;flex-direction:column;gap:.375rem;padding:.45rem;border-radius:12px;border:2px solid #e2e8f0;background:#ffffffe6}.field{display:flex;flex-direction:column;gap:.2rem}.field>label{font-size:.75rem;font-weight:600;color:#374151;letter-spacing:.01em;line-height:1.4}.label-hint{font-weight:400;color:#9ca3af}.login-card .input-field{background:#f8fafc;border:2px solid #e2e8f0;border-radius:12px;padding:.5rem .65rem;font-size:.8125rem;transition:all .25s cubic-bezier(.4,0,.2,1);color:#0f172a}.login-card .input-field:hover:not(:focus){background:#f1f5f9;border-color:#cbd5e1}.login-card .input-field:focus{background:#fff;border-color:#6366f1;box-shadow:0 0 0 4px #6366f11a;outline:none;transform:translateY(-1px)}.input-otp{text-align:center!important;font-size:1.125rem!important;letter-spacing:.35em!important;padding-left:.5rem!important;padding-right:.5rem!important;font-family:Courier New,monospace!important;font-weight:700!important;color:#0f172a!important}.btn-send,.btn-verify,.btn-social{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;width:100%;padding:.5rem .85rem;border-radius:12px;border:none;cursor:pointer;font-size:.8125rem;font-weight:700;letter-spacing:.01em;transition:all .25s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.btn-send:before,.btn-verify:before,.btn-social:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(255,255,255,.2) 0%,transparent 100%);opacity:0;transition:opacity .25s ease}.btn-send:hover:before,.btn-verify:hover:before,.btn-social:hover:before{opacity:1}.btn-send{background:linear-gradient(135deg,#111827,#1e293b);color:#f9fafb;box-shadow:0 4px 14px #0003}.btn-send:hover{transform:translateY(-2px);box-shadow:0 8px 24px #00000040}.btn-verify{background:linear-gradient(135deg,#6366f1,#4f46e5);color:#fff;box-shadow:0 4px 14px #6366f166}.btn-verify:hover{transform:translateY(-2px);box-shadow:0 8px 24px #6366f180}.btn-password{margin-top:.25rem}.btn-send:active,.btn-verify:active,.btn-social:active{transform:translateY(0);box-shadow:0 2px 8px #00000026}.btn-send svg,.btn-verify svg{width:1rem;height:1rem;position:relative;z-index:1}.method-tip-list{display:grid;gap:.5rem}.method-tip-item{position:relative;padding-left:1rem;font-size:.6875rem;color:#475569;line-height:1.5}.method-tip-item:before{content:"";position:absolute;top:.4375rem;left:0;width:.375rem;height:.375rem;border-radius:999px;background:linear-gradient(135deg,#818cf8,#6366f1)}.qr-panel{display:grid;gap:1rem}.qr-visual{display:flex;align-items:center;justify-content:center;gap:.75rem;min-height:120px;border-radius:16px;border:2px dashed #cbd5e1;font-size:1rem;font-weight:700;transition:all .25s ease}.qr-visual:hover{border-color:#94a3b8;transform:scale(1.02)}.qr-visual-wechat{background:linear-gradient(135deg,#f0fdf4,#fff);color:#15803d}.qr-visual-qq{background:linear-gradient(135deg,#eff6ff,#fff);color:#1d4ed8}.social-svg{width:1.5rem;height:1.5rem;flex-shrink:0}.btn-social-wechat{background:linear-gradient(135deg,#16a34a,#15803d);color:#fff;box-shadow:0 4px 14px #16a34a4d}.btn-social-wechat:hover{transform:translateY(-2px);box-shadow:0 8px 24px #16a34a66}.btn-social-qq{background:linear-gradient(135deg,#2563eb,#1d4ed8);color:#fff;box-shadow:0 4px 14px #2563eb4d}.btn-social-qq:hover{transform:translateY(-2px);box-shadow:0 8px 24px #2563eb66}.btn-social-disabled{background:#e2e8f0;color:#64748b;cursor:not-allowed}.btn-social-disabled:hover{transform:none;box-shadow:none}.card-footer{text-align:center;font-size:.6875rem;color:#94a3b8;margin-top:.5rem;line-height:1.5;padding-top:.45rem;border-top:1px solid #f1f5f9}@media(max-width:860px){.login-card{max-width:420px;padding:1.5rem}.method-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.auth-wrap{padding:1.25rem .875rem}.login-card{padding:1.5rem;border-radius:20px}.page-title{font-size:1.375rem}.method-tabs{grid-template-columns:1fr}.panel-header{flex-direction:column}.panel-note{align-self:flex-start}.orb-1{width:400px;height:400px}.orb-2{width:300px;height:300px}}[data-theme=dark] .auth-wrap{background:linear-gradient(135deg,#020617,#0f172a 52%,#1e1b4b)}[data-theme=dark] .auth-wrap:before{background-image:radial-gradient(circle at 20% 50%,rgba(96,165,250,.16) 0%,transparent 50%),radial-gradient(circle at 80% 80%,rgba(168,85,247,.12) 0%,transparent 50%),repeating-linear-gradient(0deg,rgba(148,163,184,.04) 0px,transparent 1px,transparent 40px),repeating-linear-gradient(90deg,rgba(148,163,184,.04) 0px,transparent 1px,transparent 40px)}[data-theme=dark] .login-card{background:#020617d6;box-shadow:0 0 0 1px #94a3b824,0 42px 90px -24px #00000094,inset 0 0 0 1px #ffffff0a}[data-theme=dark] .auth-badge{border-color:#60a5fa3d;background:linear-gradient(135deg,#3b82f624,#6366f124);color:#bfdbfe}[data-theme=dark] .page-title{background:linear-gradient(135deg,#f8fafc,#bfdbfe);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}[data-theme=dark] .page-subtitle,[data-theme=dark] .section-kicker,[data-theme=dark] .method-tab-summary,[data-theme=dark] .panel-desc,[data-theme=dark] .flow-divider,[data-theme=dark] .label-hint,[data-theme=dark] .method-tip-item,[data-theme=dark] .card-footer{color:#94a3b8}[data-theme=dark] .msg-error{background:linear-gradient(135deg,#7f1d1d6b,#450a0aad);border-color:#f871714d;color:#fecaca}[data-theme=dark] .msg-ok{background:linear-gradient(135deg,#14532d70,#052e16ad);border-color:#4ade804d;color:#dcfce7}[data-theme=dark] .msg-title{color:#fecaca}[data-theme=dark] .method-tab{border-color:#334155;background:linear-gradient(135deg,#0f172ac7,#1e293bf0)}[data-theme=dark] .method-tab:before{background:linear-gradient(135deg,#60a5fa24,#818cf81a)}[data-theme=dark] .method-tab:hover{border-color:#60a5fa70;box-shadow:0 16px 34px #0206176b}[data-theme=dark] .method-tab-title,[data-theme=dark] .panel-title,[data-theme=dark] .field>label{color:#f8fafc}[data-theme=dark] #method-email-code:checked~.method-tabs label[for=method-email-code],[data-theme=dark] #method-email-password:checked~.method-tabs label[for=method-email-password],[data-theme=dark] #method-wechat:checked~.method-tabs label[for=method-wechat],[data-theme=dark] #method-qq:checked~.method-tabs label[for=method-qq]{background:linear-gradient(135deg,#1e40af4d,#0f172af5);border-color:#60a5fa7a;box-shadow:0 18px 40px #1e40af33}[data-theme=dark] #method-email-code:checked~.method-tabs label[for=method-email-code] .method-tab-title,[data-theme=dark] #method-email-password:checked~.method-tabs label[for=method-email-password] .method-tab-title,[data-theme=dark] #method-wechat:checked~.method-tabs label[for=method-wechat] .method-tab-title,[data-theme=dark] #method-qq:checked~.method-tabs label[for=method-qq] .method-tab-title,[data-theme=dark] .panel-eyebrow{color:#93c5fd}[data-theme=dark] .method-panel,[data-theme=dark] .form-block{border-color:#334155;background:linear-gradient(135deg,#080f1ee0,#0f172afa);box-shadow:0 20px 48px #02061747}[data-theme=dark] .panel-note{background:#3b82f624;color:#dbeafe}[data-theme=dark] .panel-note-wechat{background:#16a34a2e;color:#bbf7d0}[data-theme=dark] .panel-note-qq{background:#2563eb2e;color:#bfdbfe}[data-theme=dark] .flow-divider:before,[data-theme=dark] .flow-divider:after{background:linear-gradient(90deg,transparent,rgba(148,163,184,.24),transparent)}[data-theme=dark] .login-card .input-field{background:#0f172a;border-color:#334155;color:#f8fafc}[data-theme=dark] .login-card .input-field:hover:not(:focus){background:#13203a;border-color:#475569}[data-theme=dark] .login-card .input-field:focus{background:#111827;border-color:#60a5fa;box-shadow:0 0 0 4px #3b82f62e}[data-theme=dark] .login-card .input-field::placeholder,[data-theme=dark] .label-hint{color:#94a3b8}[data-theme=dark] .input-otp{color:#f8fafc!important}[data-theme=dark] .btn-send{background:linear-gradient(135deg,#e2e8f0,#93c5fd);color:#0f172a;box-shadow:0 6px 18px #3b82f62e}[data-theme=dark] .btn-send:hover{box-shadow:0 10px 28px #3b82f63d}[data-theme=dark] .btn-social-disabled{background:#1e293b;color:#94a3b8}[data-theme=dark] .qr-visual{border-color:#475569}[data-theme=dark] .qr-visual-wechat{background:linear-gradient(135deg,#14532d47,#0f172af5);color:#86efac}[data-theme=dark] .qr-visual-qq{background:linear-gradient(135deg,#1e40af47,#0f172af5);color:#93c5fd}[data-theme=dark] .card-footer{border-top-color:#94a3b82e}@media(prefers-reduced-motion:reduce){.orb,.login-card,.method-tab,.btn-send,.btn-verify,.btn-social,.auth-wrap:before{animation:none!important}.method-tab,.btn-send,.btn-verify,.btn-social,.input-field{transition:none!important}}@media(prefers-contrast:high){.login-card{border:3px solid #000}.method-tab,.input-field{border-width:3px}}
