* {
  box-sizing: border-box;
}

body {
  margin: 0;
  padding: clamp(12px, 3vw, 32px);
  font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  background: #111827;
  color: #f9fafb;
}

h1 {
  margin-top: 0;
  font-size: clamp(28px, 4vw, 42px);
}

.subline {
  color: #9ca3af;
  margin-bottom: 24px;
  font-size: clamp(14px, 2vw, 18px);
}

.grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 360px), 1fr));
  gap: clamp(14px, 2vw, 24px);
}

.card {
  background: #1f2937;
  border-radius: 24px;
  padding: clamp(16px, 2vw, 28px);
  box-shadow: 0 10px 25px rgba(0,0,0,.25);
}

.place {
  font-size: clamp(20px, 2vw, 28px);
  font-weight: 700;
  margin-bottom: 8px;
}

.uvi {
  font-size: clamp(52px, 8vw, 82px);
  font-weight: 800;
  line-height: 1;
  margin: 12px 0;
}

.badge {
  display: inline-block;
  padding: 8px 14px;
  border-radius: 999px;
  font-weight: 700;
  margin-bottom: 14px;
  color: #111827;
}

.low {
  background: #22c55e;
}

.moderate {
  background: #facc15;
}

.high {
  background: #fb923c;
}

.very-high {
  background: #ef4444;
  color: white;
}

.extreme {
  background: #9333ea;
  color: white;
}

.meta {
  color: #d1d5db;
  line-height: 1.6;
  margin-bottom: 14px;
}

.chart-wrap {
  position: relative;
  width: 100%;
  height: 220px;
  max-height: 220px;
  overflow: hidden;
}

.chart-wrap canvas {
  width: 100% !important;
  height: 100% !important;
  display: block;
}

.footer {
  margin-top: 24px;
  color: #9ca3af;
  font-size: 13px;
}