:root{
  --bg:#070b0c;
  --panel:#0c1213;
  --border:rgba(255,255,255,.10);
  --text:rgba(255,255,255,.92);
  --muted:rgba(255,255,255,.70);
  --muted2:rgba(255,255,255,.55);
  --primary:#54ba8a;
  --shadow:0 18px 60px rgba(0,0,0,.55);
  --radius:18px;
}

*{box-sizing:border-box}

html,body{
  height:100%;
  margin:0;
}

body{
  font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
  background:
    radial-gradient(900px 420px at 50% -120px, rgba(84,186,138,.22), transparent 65%),
    radial-gradient(700px 380px at 10% 0%, rgba(84,186,138,.10), transparent 55%),
    radial-gradient(900px 520px at 90% 0%, rgba(84,186,138,.08), transparent 60%),
    linear-gradient(180deg, #081011 0%, #050708 55%, #040606 100%);
  color:var(--text);
  display:flex;
  flex-direction:column;
}

.page{
  min-height:100vh;
  display:flex;
  flex-direction:column;
}

.main{
  flex:1;
  display:flex;
  align-items:center;
  padding:56px 0;
  position:relative;
  z-index:1;
}

.wrap{
  width:min(1100px, calc(100% - 44px));
  margin:0 auto;
}

.topbar{
  position:sticky;
  top:0;
  z-index:20;
  background:linear-gradient(180deg, rgba(84,186,138,.18), rgba(0,0,0,.06));
  border-bottom:1px solid var(--border);
  backdrop-filter:blur(10px);
}

.topbar-inner{
  height:70px;
  display:flex;
  align-items:center;
  justify-content:space-between;
}

.brand{
  display:flex;
  align-items:center;
  gap:12px;
  text-decoration:none;
  color:var(--text);
  font-weight:700;
}

.brand-ico{
  width:28px;
  height:28px;
  filter:drop-shadow(0 0 12px rgba(84,186,138,.35));
}

.nav{
  display:flex;
  gap:18px;
}

.nav a{
  text-decoration:none;
  color:var(--muted);
  font-weight:600;
  font-size:14px;
}

.nav a:hover{color:var(--text)}

.hero{
  width:100%;
  display:flex;
  justify-content:center;
  pointer-events:auto;
}

.card{
  width:min(780px,100%);
  background:
    radial-gradient(900px 420px at 50% -200px, rgba(84,186,138,.22), transparent 70%),
    linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.03));
  border:1px solid var(--border);
  border-radius:var(--radius);
  box-shadow:var(--shadow);
  padding:36px 34px 30px;
  text-align:center;
  pointer-events:auto;
}

.hero-mark{
  width:62px;
  height:62px;
  margin-bottom:12px;
  filter:drop-shadow(0 0 18px rgba(84,186,138,.40));
}

h1{
  margin:0 0 10px;
  font-size:30px;
}

.sub{
  color:var(--muted);
  font-size:14.5px;
  margin-bottom:22px;
}

.kbd{
  padding:2px 8px;
  border-radius:10px;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(0,0,0,.35);
  font-size:12px;
  font-weight:700;
}

.form{
  max-width:560px;
  margin:0 auto;
  text-align:left;
  position:relative;
  z-index:2;
}

.row{
  display:flex;
  gap:12px;
}

.input{
  flex:1;
  height:46px;
  padding:0 14px;
  border-radius:14px;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(0,0,0,.35);
  color:var(--text);
}

.btn{
  height:46px;
  padding:0 20px;
  border-radius:14px;
  border:none;
  background:linear-gradient(180deg, #6bd1a0, #4ea97d);
  font-weight:800;
  cursor:pointer;
  transition:all .2s ease;
  box-shadow:0 14px 34px rgba(84,186,138,.16);
  user-select:none;
}

.btn:hover{
  filter:brightness(1.05);
}

.btn:disabled,
.btn[disabled],
.btn.is-disabled{
  background:rgba(255,255,255,.08) !important;
  color:rgba(255,255,255,.35) !important;
  box-shadow:none !important;
  filter:none !important;
  cursor:not-allowed !important;
  pointer-events:none !important;
}

.btn:disabled:hover,
.btn[disabled]:hover,
.btn.is-disabled:hover{
  filter:none !important;
}

.check{
  margin-top:12px;
  display:flex;
  gap:10px;
  font-size:13px;
  color:var(--muted);
}

.tip{
  margin-top:10px;
  font-size:13px;
  color:var(--muted2);
  text-align:center;
}

.footer{
  border-top:1px solid var(--border);
  background:rgba(0,0,0,.12);
  position:relative;
  z-index:50;
}

.footer-inner{
  height:70px;
  display:flex;
  justify-content:center;
  align-items:center;
  gap:22px;
  font-size:13px;
  color:var(--muted);
}

.footer a{
  color:var(--muted);
  text-decoration:none;
  font-weight:700;
}

.footer a:hover{color:var(--text)}

.error{
  margin-top:8px;
  font-size:13px;
  font-weight:700;
  color:#ff6b6b;
}

@media(max-width:640px){
  .row{flex-direction:column}
  .btn{width:100%}
  h1{font-size:24px}
}
