:root{
  --brand-primary:#635BFF;
  --brand-dark:#0E1014;
  --brand-muted:#6B7280;
}

/* Buttons */
.btn-primary{
  background:var(--brand-primary);
  border-color:var(--brand-primary);
  color:#fff;
  font-weight:700;
  border-radius:12px;
  box-shadow:none;
}
.btn-primary:hover{ filter:brightness(.96) }

/* Academies animation */
.academies span{
  opacity:0;
  transform:translateY(10px);
  animation:fadeUp .6s ease forwards;
}
.academies span:nth-child(1){ animation-delay:.1s }
.academies span:nth-child(2){ animation-delay:.3s }
.academies span:nth-child(3){ animation-delay:.5s }
.academies span:nth-child(4){ animation-delay:.7s }
.academies span:nth-child(5){ animation-delay:.9s }

@keyframes fadeUp{
  to{ opacity:1; transform:translateY(0) }
}

/* Bands */
.td-band{
  background:
    radial-gradient(700px 240px at 15% -10%, rgba(99,91,255,.08), transparent 55%),
    radial-gradient(700px 240px at 85% 110%, rgba(34,211,238,.06), transparent 55%),
    linear-gradient(180deg, #1a1e26, #181c23);
  border-top:1px solid rgba(255,255,255,.06);
  border-bottom:1px solid rgba(255,255,255,.06);
}

.sb2-band{
  background:
    radial-gradient(800px 260px at 85% -10%, rgba(99,91,255,.08), transparent 55%),
    linear-gradient(180deg, #f2f4f8, #e9ecf3);
  border-top:1px solid #e3e7ef;
  border-bottom:1px solid #e3e7ef;
}

.sb2-card{
  background:#fff;
  border:1px solid #e7eaf2;
  box-shadow:0 12px 28px rgba(16,24,40,.06);
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease, background .2s ease;
}
.sb2-card:hover{
  background:#fdfdff;
  border-color:#dfe3ef;
  box-shadow:0 16px 44px rgba(16,24,40,.12);
  transform:translateY(-2px);
}

.sb2-icon{
  background:#f1f4ff;
  border:1px solid #e3e7ff;
  color:#2b2f56;
  box-shadow:0 4px 18px rgba(99,91,255,.12);
}

/* Dropzone */
.dropzone.has-file,
.dropzone.has-file.drag{
  border-color:var(--brand-primary);
  background:#eef1ff;
  text-align:center;
  padding:24px;
  box-shadow:0 0 0 2px rgba(99,91,255,.12) inset;
}

/* Ex cards */
.ex-card{
  border:1px solid #e7eaf2;
  box-shadow:0 6px 20px rgba(16,24,40,.08);
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.ex-card:hover{
  transform:translateY(-4px);
  box-shadow:0 10px 28px rgba(16,24,40,.12);
  border-color:#e1e6f3;
}

.ex-preview{ background:#fafbff }

.badge-chip{
  background:#fff;
  border:1px solid #e5e8f1;
  color:#3a3f4b;
  font-weight:600;
}

.score-medal{ display:none }

.score-tag{
  position:absolute;
  top:12px;
  right:12px;
  display:inline-block;
  font-weight:700;
  font-size:.9rem;
  line-height:1;
  color:#111827;
  border:1px solid #e5e7eb;
  background:#fff;
  padding:.28rem .55rem;
  border-radius:10px;
  box-shadow:0 2px 6px rgba(0,0,0,.05);
}

.stat-pill{
  border:1px solid #e5e8f1;
  background:#fff;
  color:#111827;
  font-weight:600;
}

.filter-pill{
  border:1px solid #e5e8f1;
  background:#fff;
  color:#374151;
  font-weight:600;
}
.filter-pill.active,
.filter-pill:hover{
  background:#f6f8fc;
  border-color:#dfe3ee;
}

.btn-soft{
  border:1px solid #e5e7eb;
  background:#fff;
  color:#111827;
  border-radius:12px;
  font-weight:700;
}
.btn-soft:hover{ background:#f6f8fc }

.cta-band{ background:#fbfcff }

.cta-card{
  border:1px solid #e7eaf2;
  box-shadow:0 8px 24px rgba(16,24,40,.08);
}
