*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
body{
  font-family:'Segoe UI',system-ui,-apple-system,sans-serif;
  background:#0f172a;color:#e2e8f0;
  padding:2rem;min-height:100vh;
}
.container{max-width:960px;margin:0 auto}
h1{
  font-size:1.75rem;font-weight:700;
  background:linear-gradient(135deg,#6366f1,#3b82f6,#22c55e);
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;
  margin-bottom:.25rem;
}
.subtitle{color:#94a3b8;font-size:.85rem;margin-bottom:1.5rem}
.updates{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.25rem}
.update-chip{
  font-size:.75rem;padding:.25rem .6rem;border-radius:9999px;
  background:#1e293b;border:1px solid #334155;color:#94a3b8;
}
table{
  width:100%;border-collapse:separate;border-spacing:0;
  background:#1e293b;border-radius:.75rem;overflow:hidden;
  box-shadow:0 4px 24px rgba(0,0,0,.35);
}
thead th{
  position:sticky;top:0;
  background:#1e293b;padding:.75rem .6rem;
  text-align:left;font-size:.75rem;font-weight:600;
  color:#64748b;text-transform:uppercase;letter-spacing:.04em;
  border-bottom:1px solid #334155;
}
tbody tr{transition:background .15s}
tbody tr:hover{background:#263348}
td{padding:.5rem .6rem;font-size:.82rem;border-bottom:1px solid #1a2536;white-space:nowrap}
.country{font-weight:500;color:#f1f5f9}
.badge{
  display:inline-block;padding:.15rem .5rem;border-radius:9999px;
  font-size:.7rem;font-weight:600;color:#fff;
}
.num{position:relative}
.num span{position:relative;z-index:1}
.bar-bg{
  position:absolute;inset:4px 6px;border-radius:4px;
  background:rgba(255,255,255,.04);overflow:hidden;
}
.bar{height:100%;border-radius:4px;opacity:.25;transition:width .3s}