.login-wrap{min-height:calc(100vh - 168px);position:relative;overflow:hidden}.login-bg{pointer-events:none;z-index:0;background:radial-gradient(900px 480px at 90% -10%,#1c8cff1a,#0000 60%),radial-gradient(700px 380px at 0 100%,#133cde1a,#0000 60%);position:absolute;inset:0}.login-grid{pointer-events:none;z-index:0;background-image:linear-gradient(90deg,#0a12350d 1px,#0000 1px),linear-gradient(#0a12350d 1px,#0000 1px);background-size:56px 56px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(at 30% 60%,#0000008c,#0000 70%);mask-image:radial-gradient(at 30% 60%,#0000008c,#0000 70%)}.login-inner{z-index:1;grid-template-columns:1.05fr 1fr;align-items:center;gap:64px;padding:64px 0 80px;display:grid;position:relative}.promo .eyebrow{color:var(--royal-blue);letter-spacing:.02em;background:#1c8cff1a;border:1px solid #1c8cff38;border-radius:999px;align-items:center;gap:8px;padding:6px 12px;font-size:12px;font-weight:600;display:inline-flex}.promo .eyebrow .dot{background:var(--bright-blue);border-radius:999px;width:6px;height:6px}.promo h1{font-family:var(--font-display);letter-spacing:-.025em;margin:18px 0 16px;font-size:48px;font-weight:700;line-height:1.08}.promo h1 .grad{background:var(--grad-blue);color:#0000;-webkit-background-clip:text;background-clip:text}.promo p.lead{color:var(--muted);max-width:480px;margin-bottom:28px;font-size:17px;line-height:1.6}.promo ul.bullets{flex-direction:column;gap:10px;margin:0 0 28px;padding:0;list-style:none;display:flex}.promo ul.bullets li{color:var(--text);align-items:flex-start;gap:10px;font-size:14.5px;display:flex}.promo ul.bullets li svg{color:var(--royal-blue);flex-shrink:0;margin-top:3px}.trust-card{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-sm);border-radius:14px;align-items:center;gap:14px;max-width:460px;padding:14px 16px;display:flex}.trust-card .alo-badge{background:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;display:flex;overflow:hidden;box-shadow:0 2px 8px #0a12351a}.trust-card .alo-badge img{object-fit:cover;width:100%;height:100%}.trust-card .msg{color:var(--muted);font-size:12.5px;line-height:1.5}.trust-card .msg b{color:var(--text)}.auth-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);width:100%;max-width:460px;margin-left:auto;padding:36px 36px 28px;position:relative}.auth-card:before{content:"";border-radius:var(--radius-lg);-webkit-mask-composite:xor;pointer-events:none;background:linear-gradient(#1c8cff4d,#133cde00 60%);padding:1px;position:absolute;inset:-1px;-webkit-mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);-webkit-mask-position:0 0,0 0;-webkit-mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}.auth-tabs{background:var(--ghost);border:1px solid var(--border);border-radius:12px;grid-template-columns:1fr 1fr;margin-bottom:24px;padding:4px;display:grid;position:relative}.auth-tabs button{appearance:none;height:38px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:9px;font-family:inherit;font-size:13.5px;font-weight:600;transition:all .18s}.auth-tabs button.active{background:var(--surface);color:var(--text);box-shadow:0 1px 2px #0a12350f,0 2px 6px #0a12350a}.auth-tabs button:hover:not(.active){color:var(--text)}.pane{display:none}.pane.active{display:block}.auth-head{text-align:left;margin-bottom:22px}.auth-head h2{font-family:var(--font-display);letter-spacing:-.02em;margin-bottom:6px;font-size:26px;font-weight:700}.auth-head p{color:var(--muted);font-size:14px;line-height:1.55}.auth-head p a{color:var(--royal-blue);font-weight:600}.auth-head p a:hover{color:var(--bright-blue)}.btn-discord{color:#fff;width:100%;height:50px;font-family:var(--font-body);cursor:pointer;background:#5865f2;border:0;border-radius:12px;justify-content:center;align-items:center;gap:10px;font-size:15px;font-weight:600;transition:all .15s;display:inline-flex;box-shadow:0 6px 16px -4px #5865f259}.btn-discord:hover:not(:disabled){background:#4752c4;transform:translateY(-1px);box-shadow:0 10px 22px -6px #5865f273}.btn-discord:disabled{opacity:.6;cursor:not-allowed}.btn-discord svg{flex-shrink:0}.auth-error{color:#b91c1c;background:#dc262614;border:1px solid #dc262638;border-radius:12px;margin-bottom:14px;padding:10px 14px;font-size:13px;line-height:1.5}.alpha-banner{color:#946400;background:#f59e0b1a;border:1px solid #f59e0b4d;border-radius:12px;align-items:flex-start;gap:10px;margin-top:16px;padding:12px 14px;font-size:12.5px;line-height:1.5;display:flex}.alpha-banner svg{color:var(--warning);flex-shrink:0;margin-top:1px}.alpha-banner b{color:#6e4a05}.role-hint{color:var(--muted);background:#5865f20f;border:1px solid #5865f233;border-radius:12px;align-items:flex-start;gap:12px;margin-top:14px;padding:14px;font-size:12.5px;line-height:1.55;display:flex}.role-hint .ic{color:#fff;background:#5865f2;border-radius:8px;flex-shrink:0;place-items:center;width:32px;height:32px;display:grid}.role-hint b{color:var(--text);margin-bottom:2px;font-size:13px;display:block}.steps{counter-reset:step;flex-direction:column;gap:12px;margin:18px 0 4px;padding:0;list-style:none;display:flex}.steps li{color:var(--text);align-items:flex-start;gap:12px;font-size:13.5px;line-height:1.55;display:flex}.steps li .num{background:var(--grad-blue);color:#fff;width:26px;height:26px;font-family:var(--font-display);border-radius:50%;flex-shrink:0;place-items:center;margin-top:1px;font-size:12.5px;font-weight:700;display:grid}.steps li .stxt{color:var(--muted)}.steps li .stxt b{color:var(--text);font-weight:600}.register-fallback{text-align:center;color:var(--muted);margin-top:14px;font-size:12.5px}.register-fallback a{color:var(--royal-blue);font-weight:600}.register-fallback a:hover{color:var(--bright-blue)}.legal{border-top:1px solid var(--border);margin-top:22px;padding-top:16px}.legal-intro{color:var(--muted-2,#8b96b5);margin:0 0 10px;font-size:11.5px;line-height:1.5}.legal-docs{grid-template-columns:1fr 1fr;gap:8px;display:grid}.legal-doc{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);justify-content:space-between;align-items:center;gap:10px;padding:9px 12px;font-size:12px;font-weight:600;text-decoration:none;transition:border-color .15s,background .15s,color .15s;display:flex}.legal-doc:hover{border-color:var(--border-strong);background:var(--white);color:var(--royal-blue)}.legal-doc .doc-label{align-items:center;gap:8px;min-width:0;display:flex}.legal-doc .doc-label span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.legal-doc svg{color:var(--muted-2,#8b96b5);flex-shrink:0}.legal-doc:hover svg{color:var(--royal-blue)}.dev-login-wrap{border-top:1px dashed var(--border);margin-top:20px;padding-top:18px}.dev-login-label{text-align:center;letter-spacing:.08em;color:var(--warning);text-transform:uppercase;margin-bottom:10px;font-size:11px;font-weight:700}.btn-dev{width:100%;height:38px;color:var(--warning);font-family:var(--font-body);cursor:pointer;background:#f59e0b1f;border:1px solid #f59e0b4d;border-radius:10px;font-size:12px;font-weight:600;transition:background .15s}.btn-dev:hover:not(:disabled){background:#f59e0b2e}.btn-dev:disabled{opacity:.6;cursor:not-allowed}.btn-dev+.btn-dev{margin-top:8px}@media (max-width:1000px){.login-inner{grid-template-columns:1fr;gap:48px;padding:40px 0 56px}.auth-card{margin:0 auto}.promo h1{font-size:38px}}@media (max-width:640px){.login-inner{gap:28px;padding:24px 0 40px}.promo{text-align:center}.promo h1{font-size:26px;line-height:1.18}.promo p{font-size:14px}.promo .bullets{display:none}.auth-card{max-width:100%;padding:24px 20px}.auth-card h2{font-size:22px}.legal-docs{grid-template-columns:1fr;gap:6px}.ext-providers{grid-template-columns:1fr}}html.dark .login-bg{background:radial-gradient(900px 480px at 90% -10%,#1c8cff2e,#0000 60%),radial-gradient(700px 380px at 0 100%,#133cde2e,#0000 60%)}html.dark .login-grid{background-image:linear-gradient(90deg,#ffffff0d 1px,#0000 1px),linear-gradient(#ffffff0d 1px,#0000 1px)}html.dark .promo .eyebrow{color:#9fcbff;background:#6fb6ff24;border-color:#6fb6ff52}html.dark .promo .eyebrow .dot{background:#9fcbff}html.dark .promo h1,html.dark .promo ul.bullets li{color:var(--text)}html.dark .promo ul.bullets li svg{color:var(--bright-blue)}html.dark .trust-card{border-color:var(--border-strong)}html.dark .trust-card .msg{color:var(--muted)}html.dark .trust-card .msg b{color:var(--text)}html.dark .auth-card:before{background:linear-gradient(#1c8cff66,#133cde00 60%)}html.dark .auth-tabs{background:var(--surface-2,#1a2350)}html.dark .auth-tabs button.active{background:var(--surface);color:var(--text);box-shadow:0 1px 2px #0000004d,0 2px 6px #0003}html.dark .auth-head h2{color:var(--text)}html.dark .auth-head p a{color:var(--bright-blue)}html.dark .auth-head p a:hover{color:#6fb6ff}html.dark .auth-error{color:#fca5a5;background:#ef444424;border-color:#ef444452}html.dark .alpha-banner{color:#fcd34d;background:#f59e0b24;border-color:#f59e0b52}html.dark .alpha-banner b{color:#fde68a}html.dark .alpha-banner svg{color:#f59e0b}html.dark .role-hint{color:var(--muted);background:#5865f21a;border-color:#5865f24d}html.dark .role-hint b,html.dark .steps li{color:var(--text)}html.dark .steps li .stxt{color:var(--muted)}html.dark .steps li .stxt b{color:var(--text)}html.dark .register-fallback{color:var(--muted)}html.dark .register-fallback a{color:var(--bright-blue)}html.dark .register-fallback a:hover{color:#6fb6ff}html.dark .legal{border-top-color:var(--border)}html.dark .legal-intro{color:var(--muted-2,#5e6a90)}html.dark .legal-doc{background:var(--surface-2,#1a2350);border-color:var(--border);color:var(--text)}html.dark .legal-doc:hover{background:var(--surface);border-color:var(--border-strong);color:var(--bright-blue)}html.dark .legal-doc svg{color:var(--muted)}html.dark .legal-doc:hover svg{color:var(--bright-blue)}html.dark .dev-login-wrap{border-top-color:var(--border)}html.dark .dev-login-label{color:#fcd34d}html.dark .btn-dev{color:#fcd34d;background:#f59e0b24;border-color:#f59e0b4d}html.dark .btn-dev:hover:not(:disabled){background:#f59e0b33}
