.cct-aqi-dial{width:100%;height:100%;position:relative}@media (max-width:480px){.cct-aqi-dial{padding:10px}}.cct-aqi-dial.loading{min-height:300px;display:flex;align-items:center;justify-content:center;background:#f5f5f5;border-radius:8px}.cct-aqi-dial.loading::after{content:'Loading...';color:#666;font-style:italic}.cct-aqi-dial.error{min-height:100px;display:flex;align-items:center;justify-content:center;background:#fee;border:1px solid #fcc;border-radius:8px;color:#c00;padding:20px;text-align:center}.cct-aqi-parameters{font-size:.75rem;color:#666;line-height:1.4}.cct-aqi-parameters div{margin-bottom:2px}.cct-aqi-timestamp{font-size:.75rem;color:#666;font-style:italic}.cct-aqi-dial svg g{transition:transform 0.5s cubic-bezier(.4,0,.2,1)}.cct-aqi-tooltip{position:absolute;background:rgb(0 0 0 / .8);color:#fff;padding:8px 12px;border-radius:4px;font-size:.75rem;pointer-events:none;z-index:1000;max-width:200px}@media print{.cct-aqi-dial{break-inside:avoid;page-break-inside:avoid}.cct-aqi-parameters,.cct-aqi-timestamp{print-color-adjust:exact;-webkit-print-color-adjust:exact}}@media (forced-colors:active){.cct-aqi-dial svg path{forced-color-adjust:none}}.aqi-quadrant-container{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif}.aqi-quadrant-grid{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:8px;padding:12px;flex:1}.aqi-pollutant-quadrant{display:flex;flex-direction:column;align-items:center;padding:8px;border-radius:8px;background-color:rgb(255 255 255 / .5);transition:background-color 0.3s}.aqi-pollutant-quadrant:hover{background-color:rgb(255 255 255 / .8)}.aqi-pollutant-quadrant.disabled{opacity:.4;filter:grayscale(100%);background-color:rgb(156 163 175 / .1)}.aqi-pollutant-name{font-size:.75rem;font-weight:600;color:#4b5563;margin-bottom:4px;text-transform:uppercase;letter-spacing:.05em}.aqi-pollutant-quadrant.disabled .aqi-pollutant-name{color:#9ca3af}.aqi-mini-dial{display:flex;flex-direction:column;align-items:center}.aqi-mini-dial svg{width:80px;height:48px}.aqi-dial-value{font-size:1.25rem;font-weight:700;line-height:1.2;margin-top:2px;text-shadow:0 1px 2px rgb(0 0 0 / .1)}.aqi-trend-indicator{font-size:.75rem;margin-left:4px;opacity:.8}.aqi-unit-label{font-size:.625rem;color:#9ca3af;margin-top:2px}.aqi-sparkline-container{width:100%;margin-top:8px}.aqi-sparkline{width:100%;height:30px;cursor:crosshair}.aqi-sparkline.no-data{cursor:default}.aqi-sparkline-empty{display:flex;align-items:center;justify-content:center;color:#9ca3af;font-size:.625rem;height:100%}.aqi-sparkline:hover .aqi-sparkline-scrubber{display:block}.aqi-quadrant-header{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;border-bottom:1px solid #e5e7eb;background-color:rgb(255 255 255 / .8)}.aqi-station-name{display:flex;align-items:center;gap:6px;font-size:.875rem;font-weight:600;color:#374151}.aqi-station-icon{width:16px;height:16px;fill:#6b7280}.aqi-updated-time{font-size:.75rem;color:#9ca3af}.aqi-quadrant-footer{padding:6px 12px;border-top:1px solid #e5e7eb;font-size:.625rem;color:#9ca3af;text-align:right;background-color:rgb(255 255 255 / .8)}.aqi-sparkline-tooltip{position:fixed;background-color:rgb(0 0 0 / .85);color:#fff;padding:6px 10px;border-radius:4px;font-size:.75rem;pointer-events:none;z-index:1000;white-space:nowrap;box-shadow:0 2px 8px rgb(0 0 0 / .3)}.aqi-tooltip-value{font-weight:700}.aqi-tooltip-time{opacity:.8}@media (max-width:480px){.aqi-quadrant-grid{gap:4px;padding:8px}.aqi-pollutant-quadrant{padding:6px}.aqi-mini-dial svg{width:60px;height:36px}.aqi-dial-value{font-size:1rem}.aqi-pollutant-name{font-size:.625rem}.aqi-sparkline{height:24px}}@media (min-width:481px) and (max-width:768px){.aqi-quadrant-grid{gap:6px}}@media print{.aqi-quadrant-container{break-inside:avoid;page-break-inside:avoid}.aqi-sparkline-tooltip{display:none!important}.aqi-pollutant-quadrant{background-color:#f9fafb!important;print-color-adjust:exact;-webkit-print-color-adjust:exact}}.aqi-mini-dial svg g{transition:transform 0.5s ease}.aqi-dial-value{transition:color 0.3s ease}.aqi-sparkline svg path{transition:stroke-dashoffset 0.5s ease}