.login-page{--fl-bg:#0c0d18;--fl-bg-2:#14152a;--fl-bg-3:#1d1f3a;--fl-ink:#f6efe0;--fl-ink-2:#f6efe0b8;--fl-ink-3:#f6efe07a;--fl-ember:#ffb13d;--fl-ember-2:#ff7a1a;--fl-ember-soft:#ffb13d29;--fl-line:#f6efe01f;--fl-accent:#a78bfa;--fl-accent-glow:#a78bfa40;--fl-serif:"Instrument Serif", Georgia, serif;--fl-sans:"DM Sans", system-ui, -apple-system, sans-serif;background:radial-gradient(800px 400px at 50% -5%, #ff7a1a24, transparent 60%), radial-gradient(600px 400px at 80% 50%, #a78bfa14, transparent 60%), var(--fl-bg);min-height:100vh;color:var(--fl-ink);font-family:var(--fl-sans);-webkit-font-smoothing:antialiased;flex-direction:column;align-items:center;padding:0;display:flex;position:relative;overflow:hidden}.login-bg{z-index:0;pointer-events:none;position:absolute;inset:0}.login-orb{filter:blur(140px);opacity:.3;border-radius:50%;animation:10s ease-in-out infinite loginFloat;position:absolute}.login-orb-1{background:var(--fl-ember);width:500px;height:500px;top:-200px;right:-150px}.login-orb-2{background:var(--fl-accent);width:400px;height:400px;animation-delay:-5s;bottom:-120px;left:-120px}@keyframes loginFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-20px)}}.login-container{z-index:1;flex-direction:column;align-items:center;gap:32px;width:100%;max-width:460px;padding:80px 24px 60px;display:flex;position:relative}.login-logo{color:var(--fl-ink);letter-spacing:-.02em;align-items:center;gap:10px;font-size:1.5rem;font-weight:700;text-decoration:none;display:flex}.login-logo .nav-logo-img{width:44px;height:44px}.login-card{-webkit-backdrop-filter:blur(24px);border:1px solid var(--fl-line);background:#14152aa6;border-radius:20px;width:100%;padding:40px 36px;box-shadow:0 24px 80px #0006,inset 0 1px #f6efe00f}.login-tabs{border:1px solid var(--fl-line);background:#0c0d1899;border-radius:14px;margin-bottom:28px;padding:4px;display:flex}.login-tab{font-size:.95rem;font-weight:600;font-family:var(--fl-sans);cursor:pointer;color:var(--fl-ink-3);letter-spacing:-.01em;background:0 0;border:none;border-radius:11px;flex:1;padding:12px 20px;transition:all .2s}.login-tab.active{background:linear-gradient(135deg, var(--fl-ember-2), var(--fl-ember));color:#0c0d18;font-weight:700;box-shadow:0 4px 16px #ffb13d40}.login-tab:not(.active):hover{color:var(--fl-ink);background:#f6efe00d}.login-title{font-family:var(--fl-serif);text-align:center;color:var(--fl-ink);margin-bottom:6px;font-size:2rem;font-style:italic;font-weight:400;line-height:1.2}.login-subtitle{color:var(--fl-ink-3);text-align:center;margin-bottom:28px;font-size:.9rem;line-height:1.5}.login-form{flex-direction:column;gap:20px;display:flex}.login-field{flex-direction:column;gap:6px;display:flex}.login-label{color:var(--fl-ink-2);text-transform:uppercase;letter-spacing:.08em;font-size:.75rem;font-weight:600}.login-input{border:1px solid var(--fl-line);color:var(--fl-ink);font-family:var(--fl-sans);background:#0c0d1880;border-radius:12px;outline:none;padding:14px 18px;font-size:1rem;transition:border-color .2s,box-shadow .2s}.login-input:focus{border-color:var(--fl-ember);box-shadow:0 0 0 3px var(--fl-ember-soft)}.login-input::placeholder{color:var(--fl-ink-3)}.login-password-wrap{align-items:center;display:flex;position:relative}.login-password-wrap .login-input{width:100%;padding-right:48px}.login-password-toggle{cursor:pointer;opacity:.5;background:0 0;border:none;border-radius:8px;padding:4px 8px;font-size:1.1rem;transition:opacity .15s;position:absolute;right:8px}.login-password-toggle:hover{opacity:1}.login-error{color:#ff6b6b;text-align:center;background:#ff6b6b1a;border:1px solid #ff6b6b33;border-radius:10px;padding:10px 16px;font-size:.875rem}.login-submit{width:100%;font-size:1.05rem;font-weight:700;font-family:var(--fl-sans);cursor:pointer;background:linear-gradient(135deg, var(--fl-accent), #8b5cf6);color:#fff;letter-spacing:-.01em;border:none;border-radius:14px;margin-top:8px;padding:16px 28px;transition:all .2s;box-shadow:0 4px 20px #a78bfa4d}.login-submit:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 28px #a78bfa66}.login-submit:disabled{opacity:.45;cursor:not-allowed;transform:none}.forgot-password-link{color:var(--fl-ink-3);margin-top:4px;font-size:.8rem;text-decoration:none;transition:color .2s;display:inline-block}.forgot-password-link:hover{color:var(--fl-ember)}.login-toggle{text-align:center;width:100%;font-size:.875rem}.login-guest-link{text-align:center;color:var(--fl-ink-3);margin-top:12px;font-size:.875rem;text-decoration:none;transition:color .2s;display:block}.login-guest-link:hover{color:var(--fl-ember)}.login-divider{align-items:center;gap:12px;margin:20px 0;display:flex}.login-divider:before,.login-divider:after{content:"";background:var(--fl-line);flex:1;height:1px}.login-divider span{color:var(--fl-ink-3);text-transform:uppercase;letter-spacing:.1em;font-size:.75rem}.login-terms a{color:var(--fl-ember);text-underline-offset:2px;text-decoration:underline}.login-terms a:hover{color:var(--fl-ember-2)}.verify-code-container{justify-content:center;gap:10px;margin:28px 0 16px;display:flex}.verify-code-input{text-align:center;width:50px;height:58px;color:var(--fl-ink);border:2px solid var(--fl-line);caret-color:var(--fl-ember);background:#0c0d1880;border-radius:12px;outline:none;font-family:JetBrains Mono,Courier New,monospace;font-size:1.4rem;font-weight:700;transition:all .2s}.verify-code-input:focus{border-color:var(--fl-ember);box-shadow:0 0 0 3px var(--fl-ember-soft)}.verify-code-input.filled{border-color:var(--fl-accent);color:var(--fl-accent);background:#a78bfa0f}.btn-ghost{border:1px solid var(--fl-line);color:var(--fl-ink-2);font-family:var(--fl-sans);cursor:pointer;background:0 0;border-radius:10px;padding:10px 20px;font-size:.85rem;transition:all .2s}.btn-ghost:hover:not(:disabled){border-color:var(--fl-ink-3);color:var(--fl-ink);background:#f6efe00d}.btn-ghost:disabled{opacity:.4;cursor:not-allowed}.login-back{color:var(--fl-ink-3);margin-top:16px;font-size:.85rem;text-decoration:none;transition:color .2s}.login-back:hover{color:var(--fl-ember)}@media (max-width:480px){.login-container{padding:60px 16px 40px}.login-card{border-radius:16px;padding:28px 24px}.login-title{font-size:1.6rem}.verify-code-input{width:42px;height:50px;font-size:1.2rem}}
