:root {
  --bg0:#030305;--bg1:#08080d;--bg2:#0e0e15;--bg3:#13131c;--bg4:#1a1a26;
  --red:#e02020;--red2:#b91c1c;--red3:#7f1d1d;--redglow:rgba(224,32,32,0.12);
  --redbrd:rgba(224,32,32,0.2);--reddim:rgba(224,32,32,0.08);
  --silver:#9ca3af;--silver2:#6b7280;
  --brd:rgba(255,255,255,0.05);--brd2:rgba(255,255,255,0.08);
  --t1:#f0f0f4;--t2:#8888a0;--t3:#44445a;--t4:#252535;
  --sidebar:220px;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html,body{height:100%;overflow:hidden;}
body{font-family:'Inter',sans-serif;background:var(--bg0);color:var(--t1);}
::-webkit-scrollbar{width:4px;height:4px;}
::-webkit-scrollbar-track{background:var(--bg1);}
::-webkit-scrollbar-thumb{background:var(--red3);border-radius:2px;}
#login{position:fixed;inset:0;z-index:200;background:var(--bg0);display:flex;align-items:center;justify-content:center;}
.login-card{position:relative;z-index:1;width:380px;background:var(--bg2);border:1px solid var(--redbrd);border-radius:16px;padding:40px 36px;box-shadow:0 0 60px rgba(224,32,32,0.08);animation:fadeIn .6s ease both;}
@keyframes fadeIn{from{opacity:0;transform:translateY(20px);}to{opacity:1;transform:translateY(0);}}
.login-logo{text-align:center;margin-bottom:20px;}
.login-brand{font-family:'Rajdhani',sans-serif;font-size:1.4rem;font-weight:700;letter-spacing:4px;color:var(--t1);text-transform:uppercase;margin-bottom:4px;}
.login-sub{font-size:.65rem;color:var(--t3);letter-spacing:2px;}
.login-divider{display:flex;align-items:center;gap:10px;font-size:.58rem;letter-spacing:2px;color:var(--t3);margin:24px 0;}
.login-divider span{flex:1;height:1px;background:var(--brd2);}
.login-field{margin-bottom:14px;}
.login-field label{display:block;font-size:.6rem;font-weight:600;letter-spacing:1.5px;color:var(--t3);text-transform:uppercase;margin-bottom:6px;}
.login-wrap{position:relative;display:flex;align-items:center;}
.login-icon{position:absolute;left:12px;font-size:.85rem;}
.login-wrap input{width:100%;background:var(--bg3);border:1px solid var(--brd2);border-radius:8px;padding:10px 12px 10px 36px;color:var(--t1);font-family:'Inter',sans-serif;font-size:.82rem;outline:none;transition:border-color .2s;}
.login-wrap input:focus{border-color:var(--red);}
.login-btn{width:100%;margin-top:8px;padding:12px;background:linear-gradient(135deg,var(--red),var(--red2));border:none;border-radius:8px;font-family:'Rajdhani',sans-serif;font-size:.9rem;font-weight:700;letter-spacing:2px;color:#fff;cursor:pointer;text-transform:uppercase;transition:opacity .2s;}
.login-btn:hover{opacity:.9;}
.login-btn:disabled{opacity:.5;cursor:not-allowed;}
.login-err{color:var(--red);font-size:.7rem;text-align:center;margin-top:10px;}
.discord-login-btn{width:100%;margin-bottom:12px;padding:13px;background:#5865f2;border:none;border-radius:8px;font-family:'Rajdhani',sans-serif;font-size:.9rem;font-weight:700;letter-spacing:2px;color:#fff;cursor:pointer;text-transform:uppercase;transition:background .2s;display:flex;align-items:center;justify-content:center;gap:10px;}
.discord-login-btn:hover{background:#4752c4;}
.login-or{display:flex;align-items:center;gap:10px;font-size:.58rem;letter-spacing:2px;color:var(--t3);margin-bottom:12px;}
.login-or span{flex:1;height:1px;background:var(--brd2);}
.back-btn{display:block;text-align:center;font-size:.62rem;color:var(--t3);text-decoration:none;margin-top:16px;transition:color .2s;letter-spacing:1px;}
.back-btn:hover{color:var(--red);}
.login-footer{text-align:center;font-size:.55rem;color:var(--t3);margin-top:20px;letter-spacing:1px;}
.bg{position:fixed;inset:0;pointer-events:none;}
.bg-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(224,32,32,0.025) 1px,transparent 1px),linear-gradient(90deg,rgba(224,32,32,0.025) 1px,transparent 1px);background-size:55px 55px;}
.bg-glow{position:absolute;width:800px;height:800px;border-radius:50%;background:radial-gradient(circle,rgba(224,32,32,0.07) 0%,transparent 70%);top:50%;left:50%;transform:translate(-50%,-50%);}
#vortex-badge{position:fixed;bottom:20px;left:20px;z-index:9999;}
.vx-logo-btn{width:42px;height:42px;border-radius:10px;background:rgba(8,8,13,0.9);border:1px solid rgba(79,142,247,0.3);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:border-color .2s,box-shadow .2s;box-shadow:0 4px 16px rgba(0,0,0,0.4);}
.vx-logo-btn:hover{border-color:rgba(79,142,247,0.7);box-shadow:0 0 20px rgba(79,142,247,0.2);}
.vx-popup{position:absolute;bottom:52px;left:0;background:rgba(8,8,13,0.97);border:1px solid rgba(79,142,247,0.25);border-radius:12px;padding:14px 16px;width:220px;opacity:0;pointer-events:none;transform:translateY(8px);transition:opacity .25s,transform .25s;box-shadow:0 8px 32px rgba(0,0,0,0.5);}
.vx-popup.show{opacity:1!important;pointer-events:all!important;transform:translateY(0)!important;}
.vx-popup-title{font-family:'Rajdhani',sans-serif;font-size:.75rem;font-weight:700;letter-spacing:2px;color:#f0f0f4;text-transform:uppercase;margin-bottom:4px;}
.vx-popup-sub{font-size:.65rem;color:#7b7b94;line-height:1.6;margin-bottom:12px;}
.vx-popup-btn{display:block;width:100%;padding:8px;background:#4f8ef7;color:#fff;border:none;border-radius:7px;font-family:'Rajdhani',sans-serif;font-size:.72rem;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;cursor:pointer;text-align:center;text-decoration:none;transition:background .2s;}
.vx-popup-btn:hover{background:#2563eb;}
.vx-popup::before{content:'';position:absolute;bottom:-6px;left:14px;width:10px;height:10px;background:rgba(8,8,13,0.97);border-right:1px solid rgba(79,142,247,0.25);border-bottom:1px solid rgba(79,142,247,0.25);transform:rotate(45deg);}