:root{
  --bg:#1A1A1A;
  --bg-soft:#141414;
  --card:#1E1E1E;
  --stroke:#2E2E2E;
  --text:#E8E8E8;
  --muted:#B0B0B0;
  --muted2:#6A6A6A;
  --link:#6AAEE8;
  --btn:#4A90D9;
  --btn-hover:#357ABD;
  --radius:12px;
}

*{ box-sizing:border-box; }

html, body{
  min-height:100%;
}

body{
  margin:0;
  font-family: 'Roboto', 'Noto Sans', system-ui, sans-serif;
  color:var(--text);
  background:var(--bg);
  display:flex;
  flex-direction:column;
}

.main{
  flex:1;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:28px 16px;
}

.container{
  width:100%;
  max-width:980px;
  display:flex;
  gap:22px;
  align-items:center;
  justify-content:space-between;
  flex-wrap:wrap;
}

.left{
  flex:1 1 320px;
  min-width:280px;
}

.right{
  flex:0 1 360px;
  width:100%;
  max-width:380px;
  background:var(--card);
  padding:20px;
  border-radius:var(--radius);
  border:1px solid var(--stroke);
}

.logo{
  display:flex;
  align-items:center;
  gap:12px;
}

.logo img{
  width:54px;
  height:auto;
}

.logo h1{
  margin:0;
  font-size:38px;
  letter-spacing:.2px;
  line-height:1;
}

.left p{
  margin:14px 0 0;
  color:var(--muted);
  line-height:1.45;
  max-width:520px;
}

input, button{
  width:100%;
  min-height:46px;
  padding:12px 14px;
  border-radius:10px;
  font-size:16px;
}

input{
  margin:8px 0;
  border:1px solid var(--stroke);
  background:var(--bg);
  color:var(--text);
  outline:none;
  box-shadow:none;
}

input::placeholder{
  color:var(--muted2);
}

input:focus{
  border-color:var(--btn);
  box-shadow:none;
}

button{
  margin-top:10px;
  border:1px solid var(--btn);
  cursor:pointer;
  color:var(--text);
  font-weight:700;
  background:var(--btn);
  box-shadow:none;
}

button:hover{
  background:var(--btn-hover);
  border-color:var(--btn-hover);
}

.link{
  text-align:center;
  margin-top:12px;
}

.link a{
  color:var(--link);
  text-decoration:none;
}

.link a:hover{
  text-decoration:underline;
}

.footer{
  margin-top:auto;
  width:100%;
  text-align:center;
  padding:14px 12px 18px;
  font-size:12px;
  color:var(--muted2);
  border-top:1px solid var(--stroke);
  background:var(--bg-soft);
}

.ret-footer{
  width:100%;
  margin-top:auto;
  padding:16px 20px;
  border-top:1px solid var(--stroke);
  background:var(--bg-soft);
  color:var(--muted2);
  font-size:13px;
}

.ret-footer-top{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:14px;
  flex-wrap:wrap;
}

.ret-footer-left{
  color:var(--text);
  font-weight:600;
}

.ret-footer-links a{
  color:var(--link);
  text-decoration:none;
  margin-right:12px;
}

.ret-footer-links a:hover{
  text-decoration:underline;
}

.ret-footer-right{
  font-size:12px;
  color:var(--muted2);
}

.ret-footer-disclaimer{
  margin-top:8px;
  font-size:12px;
  color:var(--muted2);
  line-height:1.4;
}

@media (max-width: 720px){
  .container{
    justify-content:center;
    gap:18px;
  }

  .left{
    text-align:center;
  }

  .logo{
    justify-content:center;
  }

  .logo h1{
    font-size:34px;
  }

  .left p{
    margin-left:auto;
    margin-right:auto;
  }

  .right{
    padding:16px;
  }

  .main{
    padding:20px 14px;
  }
}