* { box-sizing: border-box; }

body {
  margin: 0;
  font-family: Inter, Arial, sans-serif;
  background: radial-gradient(circle at top, #020617, #000);
  color: #e5e7eb;
}

.topbar {
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding:16px 20px;
  background:rgba(2,6,23,.8);
  backdrop-filter:blur(10px);
  border-bottom:1px solid #1e293b;
}

.btn, button {
  padding:10px 16px;
  background:linear-gradient(135deg,#2563eb,#4f46e5);
  border:none;
  color:#fff;
  border-radius:10px;
  font-weight:600;
  cursor:pointer;
  transition:.3s;
}
.btn:hover, button:hover {
  box-shadow:0 0 15px rgba(99,102,241,.8);
  transform:translateY(-1px);
}
button:disabled { opacity:.5; box-shadow:none; }

input {
  width:100%;
  padding:12px;
  border-radius:10px;
  border:1px solid #1e293b;
  background:#020617;
  color:#fff;
  margin-bottom:10px;
}

.card {
  background:rgba(2,6,23,.75);
  border:1px solid #1e293b;
  border-radius:16px;
  margin:12px;
  padding:16px;
  box-shadow:0 10px 30px rgba(0,0,0,.4);
}

.rank-grid {
  display:grid;
  grid-template-columns:1fr;
  gap:12px;
}

.rank {
  border-radius:14px;
  padding:14px;
  border:1px solid #1e293b;
  background:linear-gradient(135deg,#020617,#0f172a);
}

.progress {
  height:10px;
  background:#020617;
  border-radius:999px;
  overflow:hidden;
  margin:6px 0 10px;
}
.progress-bar {
  height:100%;
  background:linear-gradient(90deg,#22c55e,#16a34a);
  transition:width .6s ease;
}

@media(min-width:768px){
  body { display:grid; grid-template-columns:repeat(2,1fr); }
  .topbar { grid-column:span 2; }
  .rank-grid { grid-template-columns:repeat(2,1fr); }
}
