/* ── Mobile overrides ── */
@media (max-width: 639px) {
  .clock-ring, .clock-ring-progress { width:8rem !important; height:8rem !important; }
  .clock-time { font-size:1.75rem; }
  .weather-main { flex-wrap:wrap; }
  .smoke-card { flex-direction:column; align-items:center; text-align:center; gap:0.375rem; padding:0.5rem; }
  .smoke-box .num { font-size:1rem; }
  .smoke-box .lbl { font-size:0.5rem; }
  .market-row { flex-wrap:wrap; gap:0.5rem; }
  .market-right { text-align:left; }
  .sentiment-wrap { flex-wrap:wrap; justify-content:center; }
  .uv-wrap { flex-wrap:wrap; justify-content:center; }
  .history-item { flex-wrap:wrap; }
  .history-year { min-width:auto; margin-bottom:0.25rem; }
  .ephemeris-saint-name { font-size:1.5rem; word-break:break-word; }
  .aqi-ring { width:5rem; height:5rem; }
  .aqi-num { font-size:1.25rem; }
  .sentiment-ring { width:3.5rem; height:3.5rem; }
  .uv-num { font-size:2rem; }
}
@media (max-width: 400px) {
  .container { padding:0.5rem; }
  .grid { gap:0.5rem; }
  .card { padding:0.75rem; border-radius:0.75rem; }
  .smoke-grid-5 { gap:0.25rem; }
  .iss-grid { grid-template-columns:1fr 1fr; }
  .iss-item:last-child { grid-column:span 2; }
  .weather-grid { gap:0.375rem; }
  .weather-item { padding:0.375rem; font-size:0.75rem; }
}
