.climate-frost { box-sizing: border-box; max-width: 100%; min-width: 0; padding: clamp(16px, 3vw, 28px); border: 1px solid #cbd5e1; border-radius: 16px; background: #fff; color: #172b3a; font: 16px/1.55 system-ui, sans-serif; overflow-wrap: anywhere; }
.climate-frost * { box-sizing: border-box; }
.climate-frost h3 { font-size: 1.5rem; margin: .5rem 0 0; }
.climate-frost p { margin: .65rem 0; }
.climate-frost__badge { display: inline-block; color: #334e68; font-size: .85rem; font-weight: 600; }
.climate-frost__demo { display: block; margin-top: .5rem; border-left: 4px solid #a16207; padding: .4rem .7rem; color: #713f12; background: #fef3c7; }
.climate-frost .climate-frost__value { margin: .8rem 0; font-size: clamp(1.6rem, 6vw, 3rem); font-weight: 750; line-height: 1.15; }
.climate-frost__status { padding: .65rem .85rem; background: #f1f5f9; border-radius: 8px; }
.climate-frost[data-state="PARTIAL"] .climate-frost__status,
.climate-frost[data-state="STALE"] .climate-frost__status { background: #fff7df; }
.climate-frost[data-state="ERROR"] .climate-frost__status,
.climate-frost[data-state="INVALID_DATA"] .climate-frost__status { background: #fff0f0; }
.climate-frost__coverage { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 180px), 1fr)); gap: 12px; }
.climate-frost__coverage div { background: #f8fafc; padding: 12px; border-radius: 8px; }
.climate-frost dt { font-size: .85rem; color: #334e68; }
.climate-frost dd { margin: .3rem 0 0; font-weight: 700; }
.climate-frost summary { cursor: pointer; min-height: 44px; padding: .65rem 0; font-weight: 650; }
.climate-frost summary:focus-visible, .climate-frost__table:focus-visible { outline: 3px solid #0369a1; outline-offset: 3px; }
.climate-frost__table { max-width: 100%; overflow-x: auto; }
.climate-frost table { width: 100%; border-collapse: collapse; font-size: .875rem; }
.climate-frost th, .climate-frost td { border-bottom: 1px solid #cbd5e1; padding: .6rem .4rem; text-align: left; vertical-align: top; }
.climate-frost caption { text-align: left; padding: .6rem 0; color: #334e68; }
.climate-frost__source, .climate-frost__note { font-size: .85rem; color: #334e68; }
@media print {
  .climate-frost { border-radius: 0; padding: 12px; break-inside: avoid; }
  .climate-frost details > :not(summary) { display: block !important; }
  .climate-frost details::details-content { content-visibility: visible; }
  .climate-frost__table { overflow: visible; }
  .climate-frost__demo { border: 2px solid #713f12; }
}
