.climate-chart-container{position:relative;width:100%;overflow:hidden;background:#fff;border-radius:4px}.cct-climate-chart{width:100%;height:100%;display:flex;flex-direction:column}.climate-365-precip-chart{display:flex;flex-direction:column;height:100%;background:#fff}.climate-365-precip-chart .chart-header{flex-shrink:0}.climate-365-precip-chart .chart-header h3{margin:0;font-size:14px;font-weight:600;color:#333}.climate-365-precip-chart .chart-header .location{display:block;font-size:11px;color:#666;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.climate-365-precip-chart .chart-canvas-container{flex:1;display:flex;align-items:center;justify-content:center;overflow:hidden;min-height:0}.climate-365-precip-chart .climate-chart-canvas{max-width:100%;max-height:100%}.climate-365-precip-chart .chart-summary{flex-shrink:0;display:flex;justify-content:space-around;font-size:11px}.climate-365-precip-chart .chart-summary strong{font-weight:600}.climate-chart-loading{display:flex;align-items:center;justify-content:center;height:100%;padding:20px;text-align:center;color:#666}.climate-chart-loading p{margin:0;font-size:14px}.climate-chart-error{display:flex;align-items:center;justify-content:center;height:100%;padding:20px;text-align:center;color:#666;background:#f9f9f9;border-radius:4px}.climate-chart-error p{margin:0;font-size:14px}.chart-cell .climate-chart-container,.chart-cell .cct-climate-chart{height:100%}.single-citizen_chart .climate-chart-container{max-width:100%;margin:0 auto}.climate-chart-legend{display:flex;justify-content:center;gap:20px;padding:10px;font-size:12px}.climate-chart-legend-item{display:flex;align-items:center;gap:6px}.climate-chart-legend-color{width:16px;height:4px;border-radius:2px}.climate-chart-legend-color.actual{background:#1565C0}.climate-chart-legend-color.average{background:#90CAF9}@media (max-width:480px){.climate-365-precip-chart .chart-header h3{font-size:13px}.climate-365-precip-chart .chart-header .location{font-size:10px}.climate-365-precip-chart .chart-summary{font-size:10px;flex-wrap:wrap;gap:5px}}@media (prefers-color-scheme:dark){.climate-chart-container,.climate-365-precip-chart{background:#1e1e1e}.climate-365-precip-chart .chart-header h3{color:#e0e0e0}.climate-365-precip-chart .chart-header .location{color:#999}.climate-365-precip-chart .chart-summary{color:#e0e0e0}}@keyframes climate-chart-pulse{0%,100%{opacity:.6}50%{opacity:1}}@keyframes cctPrecipFall{0%{transform:translateY(-100%);opacity:0}10%{opacity:.5}70%{opacity:.35}100%{transform:translateY(400%);opacity:0}}@keyframes cctTempBarGrow{0%{transform:scaleY(0);opacity:0}15%{transform:scaleY(1);opacity:.4}60%{transform:scaleY(1);opacity:.4}85%{transform:scaleY(0);opacity:0}100%{transform:scaleY(0);opacity:0}}.climate-chart-loading::before{content:'';display:block;width:40px;height:40px;border:3px solid #e0e0e0;border-top-color:#1565C0;border-radius:50%;animation:climate-chart-spin 1s linear infinite;margin-bottom:10px}@keyframes climate-chart-spin{to{transform:rotate(360deg)}}@media print{.climate-chart-container{break-inside:avoid;page-break-inside:avoid}.climate-365-precip-chart,.climate-annual-low-chart{background:#fff!important}}.climate-annual-low-chart{display:flex;flex-direction:column;height:100%;background:#fff}.chart-cell .climate-annual-low-chart{height:100%}