:root{
  --accent:#22c55e;
  --dark:#0f172a;
}

*{box-sizing:border-box}

body{
  margin:0;
  font-family:Inter,system-ui,-apple-system,sans-serif;
  color:#0f172a;
}

.wrapper{
  padding:32px 14px 60px;
  background:linear-gradient(180deg,rgba(34,197,94,.10),transparent);
}

.container{
  max-width:1100px;
  margin:auto;
}

.hero{
  text-align:center;
  margin-bottom:32px;
}

.hero img{
  height:76px;
  margin-bottom:8px;
}

.hero span{
  color:var(--accent)
}

.hero h1{
  margin:0;
  font-size:clamp(22px,4vw,34px);
  line-height:1.2;
}

.hero p{
  margin:6px 0 0;
  font-size:14px;
  color:#475569;
}

.card{
  background:linear-gradient(145deg,rgba(255,255,255,.95),rgba(255,255,255,.7));
  backdrop-filter:blur(14px);
  border-radius:26px;
  padding:26px 22px;
  margin-bottom:28px;
  box-shadow:0 18px 40px rgba(0,0,0,.15);
  transition:.35s;
}

.card:hover{
  transform:translateY(-6px);
}

.form-title{
  text-align:center;
  font-size:20px;
  font-weight:800;
  margin-bottom:18px;
}

.form-box{
  display:grid;
  grid-template-columns:1fr auto auto;
  gap:10px;
}

.form-box input{
  padding:14px 16px;
  border:1px solid #cbd5f5;
  border-radius:14px;
  font-size:16px;
  outline:none;
  transition:.2s;
}

.form-box input:focus{
  border-color:var(--accent);
  box-shadow:0 0 0 3px rgba(34,197,94,.25);
}

.btn{
  padding:14px 20px;
  border:none;
  border-radius:999px;
  font-weight:700;
  cursor:pointer;
  transition:.25s;
  white-space:nowrap;
}

.btn-download{
  background:linear-gradient(135deg,#3b82f6,#2563eb);
  color:white;
}

.btn-download:hover{
  transform:translateY(-2px);
  box-shadow:0 10px 24px rgba(59,130,246,.45);
}

.btn-join{
  background:linear-gradient(135deg,#22c55e,#16a34a);
  color:white;
}

.btn-join:hover{
  transform:translateY(-2px);
  box-shadow:0 10px 24px rgba(34,197,94,.45);
}

.info{
  font-size:14px;
  line-height:1.7;
}

.info span{
  color:red;
  font-weight:700
}

.note{
  color:#dc2626;
  margin-top:18px;
  font-size:13px;
  background:#fee2e2;
  padding:12px 14px;
  border-radius:14px;
}

.contact-box{
  margin-top:18px;
  text-align:center;
  background:rgba(34,197,94,.10);
  border:1px dashed rgba(34,197,94,.45);
  padding:16px;
  border-radius:20px;
}

.contact-box p{
  margin:0 0 12px;
  font-weight:700;
}

.cp-list{
  display:flex;
  justify-content:center;
  gap:12px;
  flex-wrap:wrap;
}

.cp-list a{
  text-decoration:none;
  padding:12px 18px;
  border-radius:999px;
  background:#22c55e;
  color:white;
  font-weight:700;
  transition:.25s;
  box-shadow:0 6px 16px rgba(34,197,94,.35);
}

.cp-list a:hover{
  transform:translateY(-2px);
  background:#16a34a;
}

@media(max-width:640px){
  .form-box{
    grid-template-columns:1fr;
  }
  .btn{
    width:100%
  }
}

body.dark .wrapper{
  background: transparent;
}

body.dark .card{
  background: linear-gradient(
    145deg,
    rgba(2,6,23,.88),
    rgba(15,23,42,.88)
  );
  color:#e6fff5;
  box-shadow:
    0 18px 40px rgba(0,0,0,.65),
    inset 0 0 0 1px rgba(255,255,255,.04);
}

body.dark .hero p{
  color:#94a3b8;
}

body.dark .form-box input{
  background:#020617;
  color:#e6fff5;
  border:1px solid #334155;
}

body.dark .form-box input:focus{
  border-color:var(--accent);
  box-shadow:0 0 0 3px rgba(34,197,94,.25);
}

body.dark ::placeholder{
  color:#94a3b8;
}

body.dark .info{
  color:#e6fff5;
}

body.dark .note{
  background:rgba(220,38,38,.12);
  color:#fecaca;
}

body.dark .contact-box{
  background:rgba(34,197,94,.12);
  border-color:rgba(34,197,94,.45);
  color:#e6fff5;
}

body.dark .hero h1{
  color:#ffffff;
}

body.dark .hero h1 span{
  color:#22c55e;
}