*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
:root{
  --bg:#02130a;--bg2:#031b10;--bg3:#05301a;--bg4:#064822;
  --purple:#002776;--blue:#0367d3;--green:#00a650;--cyan:#21c2ff;--pink:#ffdf00;
  --gold:#ffdf00;--orange:#00a650;--amber:#00c86f;--red:#f97316;
  --t1:#f9fafb;--t2:#cbd5f5;--t3:#9ca3af;--t4:#6b7280;
  --glass:rgba(5,37,16,0.7);--gb:rgba(148,163,184,0.35);
  --r:16px;--r2:24px;--r3:32px;
  --glow1:#ec4899;--glow2:#a855f7;--glow3:#d946ef;
}
html{scroll-behavior:smooth}
body{font-family:'Inter',system-ui,sans-serif;background:var(--bg);color:var(--t1);overflow-x:hidden;-webkit-font-smoothing:antialiased;min-height:100vh;display:flex;flex-direction:column}
a{text-decoration:none;color:inherit}button{border:none;cursor:pointer;font-family:inherit;background:none}
::selection{background:rgba(255,223,0,.35);color:#fff}
::-webkit-scrollbar{width:5px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:var(--bg4);border-radius:9px}

.ambient{position:fixed;inset:0;pointer-events:none;z-index:0}
.ambient .grid-bg{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.02) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.02) 1px,transparent 1px);background-size:64px 64px;mask-image:radial-gradient(ellipse 80% 60% at 50% 40%,#000 20%,transparent 100%)}
.ambient .orb{position:absolute;border-radius:50%;filter:blur(100px);opacity:.5;animation:orbFloat 20s ease-in-out infinite alternate}
.ambient .orb.o1{width:600px;height:600px;top:-200px;left:-100px;background:radial-gradient(circle,rgba(0,166,80,.15),rgba(0,39,118,.05) 50%,transparent 70%)}
.ambient .orb.o2{width:500px;height:500px;bottom:-150px;right:-100px;background:radial-gradient(circle,rgba(3,103,211,.14),rgba(0,166,80,.06) 50%,transparent 70%);animation-delay:-10s}
@keyframes orbFloat{0%{transform:translate(0,0) scale(1)}50%{transform:translate(30px,-40px) scale(1.1)}100%{transform:translate(-20px,30px) scale(.95)}}

.nav{position:fixed;top:0;left:0;right:0;z-index:100;background:rgba(2,19,10,.82);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border-bottom:1px solid var(--gb)}
.w{max-width:1200px;margin:0 auto;padding:0 24px}
.nav-in{display:flex;align-items:center;justify-content:space-between;height:72px}
.logo{display:flex;align-items:center;gap:10px;font-size:1.35rem;font-weight:800;color:#fff}
.logo-icon{width:38px;height:38px;border-radius:11px;overflow:hidden;transition:box-shadow .3s}
.logo:hover .logo-icon{box-shadow:0 0 24px rgba(255,223,0,.7)}
.logo-icon img{width:100%;height:100%;object-fit:cover}
.logo em{font-style:normal;color:var(--gold)}
.nav-right{display:flex;align-items:center;gap:10px}
.btn-ghost{padding:9px 18px;font-size:.875rem;font-weight:500;color:var(--t2);transition:.2s;text-decoration:none}
.btn-ghost:hover{color:#fff}
.btn-glow{padding:10px 24px;font-size:.875rem;font-weight:600;color:#fff;border-radius:12px;background:linear-gradient(135deg,var(--gold),var(--orange));position:relative;transition:.25s;overflow:hidden;display:inline-block}
.btn-glow::before{content:'';position:absolute;inset:0;border-radius:12px;background:linear-gradient(135deg,var(--gold),var(--orange));filter:blur(12px);opacity:0;transition:.3s;z-index:-1}
.btn-glow:hover{transform:translateY(-2px)}.btn-glow:hover::before{opacity:.55}

.page-content{position:relative;z-index:1;flex:1;display:flex;align-items:center;justify-content:center;padding:120px 24px 60px}

.auth-card{width:100%;max-width:480px;border-radius:var(--r3);padding:2px;background:linear-gradient(160deg,rgba(236,72,153,.25),rgba(255,255,255,.05) 40%,rgba(168,85,247,.2))}
.auth-inner{border-radius:30px;padding:48px 40px;background:linear-gradient(160deg,rgba(22,17,42,.96),rgba(14,11,21,.98));position:relative;overflow:hidden}
.auth-inner::before{content:'';position:absolute;top:0;left:0;right:0;height:140px;background:linear-gradient(180deg,rgba(236,72,153,.05),transparent);pointer-events:none}

.auth-header{text-align:center;margin-bottom:36px;position:relative;z-index:1}
.auth-icon{width:64px;height:64px;border-radius:18px;background:linear-gradient(135deg,var(--gold),var(--orange));display:grid;place-items:center;margin:0 auto 20px;box-shadow:0 8px 32px rgba(236,72,153,.3)}
.auth-icon svg{width:28px;height:28px;fill:none;stroke:#fff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.auth-header h1{font-size:1.75rem;font-weight:800;color:#fff;margin-bottom:8px}
.auth-header p{font-size:.95rem;color:var(--t3);line-height:1.6}

.form-group{margin-bottom:20px;position:relative;z-index:1}
.form-label{display:block;font-size:.78rem;font-weight:600;color:var(--t3);text-transform:uppercase;letter-spacing:.08em;margin-bottom:8px}
.form-input{width:100%;padding:14px 16px;border-radius:14px;border:1px solid var(--gb);background:rgba(255,255,255,.03);color:#fff;font-size:.95rem;font-family:inherit;transition:.3s;outline:none}
.form-input::placeholder{color:var(--t4)}
.form-input:focus{border-color:rgba(236,72,153,.4);background:rgba(255,255,255,.05);box-shadow:0 0 0 3px rgba(236,72,153,.1)}

.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}

.form-check{display:flex;align-items:flex-start;gap:10px;margin:24px 0;position:relative;z-index:1}
.form-check input[type="checkbox"]{width:18px;height:18px;border-radius:5px;border:1px solid var(--gb);background:rgba(255,255,255,.03);appearance:none;-webkit-appearance:none;cursor:pointer;flex-shrink:0;margin-top:2px;position:relative;transition:.2s}
.form-check input[type="checkbox"]:checked{background:linear-gradient(135deg,var(--gold),var(--orange));border-color:transparent}
.form-check input[type="checkbox"]:checked::after{content:'✓';position:absolute;inset:0;display:grid;place-items:center;color:#fff;font-size:.7rem;font-weight:700}
.form-check label{font-size:.85rem;color:var(--t3);line-height:1.5;cursor:pointer}
.form-check label a{color:var(--gold);text-decoration:underline;text-underline-offset:2px}

.btn-submit{position:relative;z-index:1;width:100%;padding:16px;border-radius:16px;font-size:1.05rem;font-weight:800;color:#fff;background:linear-gradient(135deg,var(--gold),var(--orange));display:flex;align-items:center;justify-content:center;gap:10px;transition:.3s;overflow:hidden;letter-spacing:.01em;cursor:pointer;border:none;font-family:inherit}
.btn-submit::before{content:'';position:absolute;inset:0;background:linear-gradient(135deg,var(--gold),var(--orange));filter:blur(14px);opacity:0;transition:.3s;z-index:-1}
.btn-submit:hover{transform:translateY(-2px)}.btn-submit:hover::before{opacity:.5}

.auth-footer{text-align:center;margin-top:28px;position:relative;z-index:1}
.auth-footer p{font-size:.9rem;color:var(--t3)}
.auth-footer a{color:var(--gold);font-weight:600;text-decoration:underline;text-underline-offset:2px;transition:.2s}
.auth-footer a:hover{color:#fff}

.divider{display:flex;align-items:center;gap:16px;margin:28px 0;position:relative;z-index:1}
.divider::before,.divider::after{content:'';flex:1;height:1px;background:var(--gb)}
.divider span{font-size:.78rem;color:var(--t4);font-weight:500;text-transform:uppercase;letter-spacing:.08em}

.social-btns{display:flex;gap:12px;position:relative;z-index:1}
.social-btn{flex:1;padding:12px;border-radius:14px;border:1px solid var(--gb);background:rgba(255,255,255,.03);color:var(--t2);font-size:.85rem;font-weight:600;display:flex;align-items:center;justify-content:center;gap:8px;transition:.25s;cursor:pointer;font-family:inherit}
.social-btn:hover{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.14);color:#fff}
.social-btn svg{width:20px;height:20px}

.pw-toggle{position:absolute;right:14px;top:34px;color:var(--t4);cursor:pointer;padding:4px;transition:.2s}
.pw-toggle:hover{color:var(--t2)}
.pw-toggle svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}

@media(max-width:768px){
  .page-content{padding:100px 20px 40px}
  .auth-inner{padding:40px 32px}
  .nav-right .btn-glow{padding:8px 16px;font-size:.8rem}
  .btn-ghost{padding:8px 12px;font-size:.8rem}
  .w{padding:0 20px}
}
@media(max-width:480px){
  .page-content{padding:80px 16px 32px}
  .auth-inner{padding:28px 20px}
  .auth-header h1{font-size:1.4rem}
  .auth-header p{font-size:.85rem}
  .auth-icon{width:52px;height:52px;border-radius:14px;margin-bottom:16px}
  .auth-icon svg{width:24px;height:24px}
  .auth-header{margin-bottom:28px}
  .form-row{grid-template-columns:1fr}
  .form-input{padding:12px 14px;font-size:.88rem;border-radius:12px}
  .form-label{font-size:.72rem;margin-bottom:6px}
  .form-group{margin-bottom:16px}
  .nav-in{height:60px}
  .logo{font-size:1.1rem;gap:8px}
  .logo-icon{width:30px;height:30px;border-radius:8px}
  .nav-right .btn-glow{padding:7px 14px;font-size:.75rem;border-radius:10px}
  .btn-ghost{padding:7px 10px;font-size:.75rem}
  .social-btns{flex-direction:column}
  .social-btn{padding:11px;font-size:.82rem}
  .btn-submit{padding:14px;font-size:.95rem;border-radius:14px}
  .form-check label{font-size:.78rem}
  .auth-footer p{font-size:.82rem}
  .divider{margin:22px 0}
  .w{padding:0 16px}
  .auth-card{border-radius:var(--r2)}
  .auth-inner{border-radius:22px}
}
@media(max-width:360px){
  .page-content{padding:72px 12px 24px}
  .auth-inner{padding:24px 16px}
  .auth-header h1{font-size:1.25rem}
  .form-input{padding:11px 12px;font-size:.82rem}
  .btn-submit{padding:13px;font-size:.88rem}
  .nav-right .btn-glow{display:none}
  .w{padding:0 12px}
}

.ft-mini{border-top:1px solid var(--gb);padding:20px 0;text-align:center;position:relative;z-index:1}
.ft-mini p{font-size:.75rem;color:var(--t4)}
.ft-mini a{color:var(--t3);transition:.2s}.ft-mini a:hover{color:#fff}
