* { margin: 0; padding: 0; box-sizing: border-box }

body {
  background: #000;
  color: #fff;
  font-family: 'Inter','Segoe UI',sans-serif;
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  position: relative;
}

@keyframes Float {
  0%,100% { transform: translateY(0); opacity: .2 }
  50% { transform: translateY(-8px); opacity: .8 }
}

.MainCard {
  width: 100%; max-width: 400px;
  background: rgba(15,15,15,.95);
  padding: 32px;
  border: 1px solid #333;
  border-radius: 12px;
  text-align: center;
  box-shadow: 0 0 40px rgba(0,0,0,.5);
  animation: SlideUp .5s ease-out;
}

@keyframes SlideUp {
  from { transform: translateY(20px); opacity: 0 }
  to { transform: translateY(0); opacity: 1 }
}

.Logo { width: 180px; margin-bottom: 24px }

.FormGroup { margin-bottom: 18px; text-align: left }

label { display: block; font-size: 13px; color: #aaa; margin-bottom: 6px }

input {
  width: 100%; padding: 12px;
  background: #111; border: 1px solid #444;
  border-radius: 6px; font-size: 14px; color: #fff;
  transition: border-color .2s ease;
}

input:focus { border-color: #666; outline: none }

.CheckboxGroup {
  display: flex; align-items: center;
  font-size: 13px; margin-bottom: 18px;
}

.CheckboxGroup input { width: auto; margin-right: 8px }

.DownloadButton {
  width: 100%; padding: 14px;
  background: linear-gradient(90deg,#3673bf,#3673bf);
  border: none; border-radius: 6px;
  color: #fff; font-size: 15px; font-weight: 600;
  cursor: pointer; transition: background .2s ease;

  text-decoration: none;   /* no underline */
  display: inline-block;   /* btn behaviour */
}

.DownloadButton:hover { background: linear-gradient(90deg,#0053b8,#0053b8) }
.DownloadButton:disabled { background: #222; cursor: not-allowed }

.Message { margin-top: 14px; font-size: 13px; display: none }
.Error { color: #ff6b6b }
.Success { color: #51cf66 }