:root{--text:#6b6375;--text-h:#08060d;--bg:#fff;--border:#e5e4e7;--code-bg:#f4f3ec;--accent:#aa3bff;--accent-bg:#aa3bff1a;--accent-border:#aa3bff80;--social-bg:#f4f3ec80;--shadow:#0000001a 0 10px 15px -3px, #0000000d 0 4px 6px -2px;--sans:system-ui, "Segoe UI", Roboto, sans-serif;--heading:system-ui, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, Consolas, monospace;font:18px/145% var(--sans);letter-spacing:.18px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}@media (width<=1024px){:root{font-size:16px}}@media (prefers-color-scheme:dark){:root{--text:#9ca3af;--text-h:#f3f4f6;--bg:#16171d;--border:#2e303a;--code-bg:#1f2028;--accent:#c084fc;--accent-bg:#c084fc26;--accent-border:#c084fc80;--social-bg:#2f303a80;--shadow:#0006 0 10px 15px -3px, #00000040 0 4px 6px -2px}#social .button-icon{filter:invert()brightness(2)}}body{margin:0}#root{text-align:center;border-inline:1px solid var(--border);box-sizing:border-box;flex-direction:column;width:1126px;max-width:100%;min-height:100svh;margin:0 auto;display:flex}h1,h2{font-family:var(--heading);color:var(--text-h);font-weight:500}h1{letter-spacing:-1.68px;margin:32px 0;font-size:56px}@media (width<=1024px){h1{margin:20px 0;font-size:36px}}h2{letter-spacing:-.24px;margin:0 0 8px;font-size:24px;line-height:118%}@media (width<=1024px){h2{font-size:20px}}p{margin:0}code,.counter{font-family:var(--mono);color:var(--text-h);border-radius:4px;display:inline-flex}code{background:var(--code-bg);padding:4px 8px;font-size:15px;line-height:135%}.login-form-container{animation:.5s forwards fadeInUp}.form-header{text-align:center;margin-bottom:32px}.form-title{font-family:var(--font-heading);color:var(--color-text-primary);letter-spacing:4px;margin-bottom:8px;font-size:28px;font-weight:600}.form-subtitle{color:var(--color-text-muted);letter-spacing:.5px;font-size:13px}.login-type-switch{background:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:var(--radius-md);gap:4px;margin-bottom:24px;padding:4px;display:flex}.switch-btn{font-family:var(--font-body), var(--font-chinese);color:var(--color-text-muted);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-normal);background:0 0;border:none;flex:1;justify-content:center;align-items:center;gap:8px;padding:10px 16px;font-size:13px;display:flex}.switch-btn svg{width:16px;height:16px}.switch-btn:hover{color:var(--color-text-secondary)}.switch-btn.active{color:var(--color-bg-deep);background:var(--color-accent);box-shadow:var(--glow-sm)}.form-group{margin-bottom:20px;animation:.4s both fadeInUp}.form-group:first-child{animation-delay:.1s}.form-group:nth-child(2){animation-delay:.2s}.form-group.error .cyber-input{border-color:var(--color-error);box-shadow:0 0 10px #ef444433}.form-group.error .cyber-label{color:var(--color-error)}.label-icon{color:var(--color-accent);margin-right:4px}.error-text{color:var(--color-error);margin-top:6px;padding-left:2px;font-size:12px;display:block}.code-input-wrapper{gap:12px;display:flex}.code-input{flex:1}.send-code-btn{font-family:var(--font-body), var(--font-chinese);color:var(--color-accent);background:var(--color-accent-subtle);border:1px solid var(--color-border-accent);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-normal);white-space:nowrap;flex-shrink:0;padding:0 16px;font-size:13px}.send-code-btn:hover:not(:disabled){background:var(--color-accent);color:var(--color-bg-deep)}.send-code-btn:disabled{opacity:.5;cursor:not-allowed}.form-options{justify-content:space-between;align-items:center;margin-bottom:24px;animation:.4s .3s both fadeInUp;display:flex}.checkbox-wrapper{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:8px;display:flex}.checkbox-wrapper input[type=checkbox]{display:none}.checkbox-custom{border:1px solid var(--color-border);background:var(--color-bg-primary);width:16px;height:16px;transition:all var(--transition-fast);border-radius:2px;position:relative}.checkbox-wrapper input[type=checkbox]:checked+.checkbox-custom{background:var(--color-accent);border-color:var(--color-accent)}.checkbox-wrapper input[type=checkbox]:checked+.checkbox-custom:after{content:"";border:solid var(--color-bg-deep);border-width:0 2px 2px 0;width:4px;height:8px;position:absolute;top:2px;left:5px;transform:rotate(45deg)}.checkbox-label{color:var(--color-text-secondary);font-size:13px}.submit-btn{letter-spacing:2px;width:100%;padding:14px 24px;font-size:15px;animation:.4s .4s both fadeInUp}.submit-btn svg{width:18px;height:18px}.loading-spinner{border:2px solid #0206174d;border-top-color:var(--color-bg-deep);border-radius:50%;width:18px;height:18px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.cyber-divider{margin:28px 0;animation:.4s .5s both fadeInUp}.social-login{justify-content:center;gap:16px;margin-bottom:28px;animation:.4s .6s both fadeInUp;display:flex}.social-login .cyber-btn-social{width:52px;height:52px;transition:all var(--transition-normal)}.social-login .cyber-btn-social:hover{transform:translateY(-3px)}.social-login .cyber-btn-social svg{width:22px;height:22px}.register-section{text-align:center;animation:.4s .7s both fadeInUp}.register-text{color:var(--color-text-muted);margin-right:8px;font-size:13px}.register-link{cursor:pointer;background:0 0;border:none;font-family:inherit;font-weight:500}@media (width<=480px){.form-title{letter-spacing:2px;font-size:24px}.login-type-switch,.code-input-wrapper{flex-direction:column}.send-code-btn{padding:12px}.social-login .cyber-btn-social{width:48px;height:48px}}.modal-overlay{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:1000;opacity:0;visibility:hidden;width:100%;height:100%;transition:all var(--transition-normal);background:#020617d9;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;top:0;left:0}.modal-overlay.active{opacity:1;visibility:visible}.modal-container{background:var(--color-bg-secondary);border:1px solid var(--color-border);width:100%;max-width:440px;max-height:90vh;transition:transform var(--transition-slow);padding:40px;position:relative;overflow-y:auto;transform:scale(.9)translateY(20px)}.modal-overlay.active .modal-container{transform:scale(1)translateY(0)}.modal-hud-corner{border-color:var(--color-accent);border-style:solid;width:16px;height:16px;position:absolute}.modal-hud-tl{border-width:2px 0 0 2px;top:-1px;left:-1px}.modal-hud-tr{border-width:2px 2px 0 0;top:-1px;right:-1px}.modal-hud-bl{border-width:0 0 2px 2px;bottom:-1px;left:-1px}.modal-hud-br{border-width:0 2px 2px 0;bottom:-1px;right:-1px}.modal-close{border:1px solid var(--color-border);border-radius:var(--radius-sm);width:32px;height:32px;color:var(--color-text-muted);cursor:pointer;transition:all var(--transition-fast);background:0 0;justify-content:center;align-items:center;display:flex;position:absolute;top:16px;right:16px}.modal-close:hover{color:var(--color-accent);border-color:var(--color-accent);box-shadow:var(--glow-sm)}.modal-close svg{width:16px;height:16px}.modal-header{text-align:center;margin-bottom:32px}.modal-title{font-family:var(--font-heading);color:var(--color-text-primary);letter-spacing:4px;margin-bottom:8px;font-size:24px;font-weight:600}.title-bracket{color:var(--color-accent);font-weight:300}.modal-subtitle{color:var(--color-text-muted);letter-spacing:.5px;font-size:13px}.register-form{margin-bottom:24px}.register-form .form-group{margin-bottom:16px}.password-strength{align-items:center;gap:10px;margin-top:8px;display:flex}.strength-bar{background:var(--color-bg-primary);border-radius:2px;flex:1;height:4px;overflow:hidden}.strength-fill{height:100%;transition:all var(--transition-normal);border-radius:2px}.strength-fill.weak{background:var(--color-error)}.strength-fill.fair{background:var(--color-warning)}.strength-fill.good{background:#22c55e}.strength-fill.strong{background:var(--color-accent);box-shadow:var(--glow-sm)}.strength-text{font-size:11px;font-family:var(--font-body);letter-spacing:.5px;min-width:30px}.strength-text.weak{color:var(--color-error)}.strength-text.fair{color:var(--color-warning)}.strength-text.good{color:#22c55e}.strength-text.strong{color:var(--color-accent)}.register-form .submit-btn{width:100%;margin-top:8px}.register-form .submit-btn svg{width:18px;height:18px}.modal-footer{text-align:center;border-top:1px solid var(--color-border);padding-top:20px}.footer-text{color:var(--color-text-muted);margin-right:8px;font-size:13px}.modal-footer .cyber-link{cursor:pointer;background:0 0;border:none;font-family:inherit}@media (width<=480px){.modal-container{padding:28px 20px}.modal-title{letter-spacing:2px;font-size:20px}}.login-page{opacity:0;justify-content:center;align-items:center;min-height:100vh;padding:20px;transition:opacity .5s;display:flex;position:relative}.login-page.mounted{opacity:1}.scanline{background:linear-gradient(90deg, transparent, var(--color-accent-glow), transparent);opacity:.3;pointer-events:none;z-index:100;width:100%;height:4px;animation:8s linear infinite scanline;position:fixed;top:0;left:0}.login-container{background:var(--color-bg-secondary);border:1px solid var(--color-border);grid-template-columns:1fr 1fr;width:100%;max-width:1000px;min-height:600px;animation:.6s forwards fadeInUp;display:grid;position:relative}.login-container:after{content:"";background:linear-gradient(180deg, transparent, var(--color-accent), transparent);opacity:.3;width:1px;height:80%;position:absolute;top:10%;left:50%}.decor-panel{background:linear-gradient(135deg, var(--color-bg-primary) 0%, var(--color-bg-deep) 100%);justify-content:center;align-items:center;padding:48px;display:flex;position:relative;overflow:hidden}.decor-panel:before{content:"";background:radial-gradient(circle at 30% 50%, var(--color-accent-subtle) 0%, transparent 50%), radial-gradient(circle at 70% 80%, var(--color-secondary-glow) 0%, transparent 30%);opacity:.5;width:100%;height:100%;position:absolute;top:0;left:0}.decor-content{z-index:1;flex-direction:column;justify-content:space-between;width:100%;height:100%;display:flex;position:relative}.hud-corner{border-color:var(--color-accent);border-style:solid;width:20px;height:20px;position:absolute}.hud-corner-tl{border-width:2px 0 0 2px;top:0;left:0}.hud-corner-tr{border-width:2px 2px 0 0;top:0;right:0}.hud-corner-bl{border-width:0 0 2px 2px;bottom:0;left:0}.hud-corner-br{border-width:0 2px 2px 0;bottom:0;right:0}.brand-section{text-align:center;animation:.6s .2s both fadeInUp}.brand-icon{width:80px;height:80px;color:var(--color-accent);margin:0 auto 24px;animation:3s infinite pulse}.brand-icon svg{width:100%;height:100%}.brand-title{font-family:var(--font-heading);letter-spacing:8px;justify-content:center;align-items:baseline;gap:12px;margin-bottom:8px;font-size:42px;font-weight:700;display:flex}.title-accent{color:var(--color-accent);text-shadow:var(--glow-md)}.title-sub{color:var(--color-text-secondary);font-size:28px;font-weight:400}.brand-tagline{font-family:var(--font-chinese);color:var(--color-text-muted);letter-spacing:4px;text-transform:uppercase;font-size:14px}.status-indicators{flex-direction:column;gap:12px;animation:.6s .4s both fadeInUp;display:flex}.status-item{color:var(--color-text-muted);align-items:center;gap:10px;font-size:12px;display:flex}.status-dot{background:var(--color-text-muted);border-radius:50%;width:8px;height:8px}.status-dot.active{background:var(--color-accent);box-shadow:var(--glow-sm);animation:2s infinite pulse}.status-text{font-family:var(--font-body);letter-spacing:.5px}.decor-lines{pointer-events:none;width:100%;height:100%;position:absolute;top:0;left:0}.line{background:var(--color-accent);opacity:.1;position:absolute}.line-1{width:100%;height:1px;top:20%;left:0}.line-2{width:100%;height:1px;top:40%;left:0}.line-3{width:100%;height:1px;top:60%;left:0}.copyright{color:var(--color-text-muted);text-align:center;letter-spacing:.5px;font-size:11px;animation:.6s .6s both fadeInUp}.form-panel{background:var(--color-bg-secondary);justify-content:center;align-items:center;padding:48px;display:flex}.form-wrapper{width:100%;max-width:380px}@media (width<=768px){.login-container{grid-template-columns:1fr;min-height:auto}.login-container:after{display:none}.decor-panel{min-height:200px;padding:32px 24px}.brand-title{letter-spacing:4px;font-size:32px}.title-sub{font-size:22px}.brand-icon{width:60px;height:60px}.status-indicators{display:none}.form-panel{padding:32px 24px}}@media (width<=480px){.login-page{padding:0}.login-container{border:none;min-height:100vh}.decor-panel{min-height:180px;padding:24px 16px}.brand-title{font-size:28px}.form-panel{padding:24px 16px}}:root{--color-bg-deep:#020617;--color-bg-primary:#0a0f1e;--color-bg-secondary:#0e1223;--color-bg-card:#111827;--color-bg-elevated:#1a2332;--color-text-primary:#f8fafc;--color-text-secondary:#94a3b8;--color-text-muted:#64748b;--color-text-disabled:#475569;--color-accent:#22c55e;--color-accent-hover:#16a34a;--color-accent-glow:#22c55e4d;--color-accent-subtle:#22c55e1a;--color-secondary:#3b82f6;--color-secondary-glow:#3b82f64d;--color-warning:#f59e0b;--color-error:#ef4444;--color-success:#22c55e;--color-border:#1e293b;--color-border-active:#334155;--color-border-accent:#22c55e66;--glow-sm:0 0 10px #22c55e33;--glow-md:0 0 20px #22c55e4d;--glow-lg:0 0 40px #22c55e66;--glow-blue:0 0 20px #3b82f64d;--font-heading:"Share Tech Mono", "JetBrains Mono", monospace;--font-body:"Fira Code", "JetBrains Mono", monospace;--font-chinese:"Noto Sans SC", "Microsoft YaHei", sans-serif;--space-xs:4px;--space-sm:8px;--space-md:16px;--space-lg:24px;--space-xl:32px;--space-2xl:48px;--radius-sm:2px;--radius-md:4px;--radius-lg:8px;--transition-fast:.15s cubic-bezier(.4, 0, .2, 1);--transition-normal:.25s cubic-bezier(.4, 0, .2, 1);--transition-slow:.4s cubic-bezier(.4, 0, .2, 1)}*{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px}body{font-family:var(--font-body), var(--font-chinese);background:var(--color-bg-deep);color:var(--color-text-primary);min-height:100vh;line-height:1.6;overflow-x:hidden}body:before{content:"";pointer-events:none;z-index:1000;background:repeating-linear-gradient(0deg,#0000,#0000 2px,#00000008 2px 4px);width:100%;height:100%;position:fixed;top:0;left:0}.grid-bg{pointer-events:none;z-index:-1;background-image:linear-gradient(#22c55e08 1px,#0000 1px),linear-gradient(90deg,#22c55e08 1px,#0000 1px);background-size:50px 50px;width:100%;height:100%;position:fixed;top:0;left:0}.hud-border{border:1px solid var(--color-border);position:relative}.hud-border:before,.hud-border:after{content:"";border-color:var(--color-accent);border-style:solid;width:12px;height:12px;position:absolute}.hud-border:before{border-width:2px 0 0 2px;top:-1px;left:-1px}.hud-border:after{border-width:0 2px 2px 0;bottom:-1px;right:-1px}.glow-border{border:1px solid var(--color-border);transition:all var(--transition-normal);position:relative}.glow-border:hover,.glow-border:focus-within{border-color:var(--color-accent);box-shadow:var(--glow-sm)}.cyber-input{width:100%;font-family:var(--font-body), var(--font-chinese);color:var(--color-text-primary);background:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:var(--radius-sm);transition:all var(--transition-normal);letter-spacing:.5px;outline:none;padding:12px 16px;font-size:14px}.cyber-input::placeholder{color:var(--color-text-muted);font-size:13px}.cyber-input:focus{border-color:var(--color-accent);box-shadow:var(--glow-sm), inset 0 0 20px #22c55e0d}.cyber-input:disabled{opacity:.5;cursor:not-allowed}.cyber-btn{font-family:var(--font-heading), var(--font-chinese);letter-spacing:1px;text-transform:uppercase;color:var(--color-bg-deep);background:var(--color-accent);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-normal);border:none;justify-content:center;align-items:center;gap:8px;padding:12px 24px;font-size:14px;font-weight:500;display:inline-flex;position:relative;overflow:hidden}.cyber-btn:before{content:"";width:100%;height:100%;transition:left var(--transition-slow);background:linear-gradient(90deg,#0000,#fff3,#0000);position:absolute;top:0;left:-100%}.cyber-btn:hover{background:var(--color-accent-hover);box-shadow:var(--glow-md);transform:translateY(-1px)}.cyber-btn:hover:before{left:100%}.cyber-btn:active{transform:translateY(0)}.cyber-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.cyber-btn-secondary{color:var(--color-accent);border:1px solid var(--color-accent);background:0 0}.cyber-btn-secondary:hover{background:var(--color-accent-subtle);box-shadow:var(--glow-sm)}.cyber-btn-social{background:var(--color-bg-card);width:48px;height:48px;color:var(--color-text-secondary);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:0}.cyber-btn-social:hover{color:var(--color-accent);border-color:var(--color-accent);background:var(--color-accent-subtle)}.cyber-label{font-family:var(--font-heading);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:1.5px;margin-bottom:8px;font-size:11px;font-weight:500;display:block}.cyber-divider{color:var(--color-text-muted);letter-spacing:1px;align-items:center;gap:16px;font-size:12px;display:flex}.cyber-divider:before,.cyber-divider:after{content:"";background:linear-gradient(90deg, transparent, var(--color-border), transparent);flex:1;height:1px}.cyber-link{color:var(--color-accent);transition:all var(--transition-fast);font-size:13px;text-decoration:none;position:relative}.cyber-link:after{content:"";background:var(--color-accent);width:0;height:1px;transition:width var(--transition-normal);position:absolute;bottom:-2px;left:0}.cyber-link:hover{text-shadow:var(--glow-sm)}.cyber-link:hover:after{width:100%}@keyframes glitch{0%,to{transform:translate(0)}20%{transform:translate(-2px,2px)}40%{transform:translate(-2px,-2px)}60%{transform:translate(2px,2px)}80%{transform:translate(2px,-2px)}}@keyframes scanline{0%{transform:translateY(-100%)}to{transform:translateY(100vh)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes typing{0%{width:0}to{width:100%}}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--color-bg-primary)}::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--color-accent)}::selection{background:var(--color-accent);color:var(--color-bg-deep)}@media (width<=768px){:root{font-size:14px}}
