{lang === "pt" ? "Análise do momento" : "Current analysis"}
{(() => {
const code = cur.weathercode;
const pt = lang === "pt";
if (code <= 3) return pt ? "A massa de ar seco domina a região, garantindo estabilidade e amplas aberturas de sol. A pressão atmosférica em superfície se mantém controlada, inibindo a formação de nebulosidade." : "Dry air mass dominates the region, ensuring stability and wide sunny spells. Surface atmospheric pressure remains controlled, inhibiting cloudiness.";
if (code >= 45 && code <= 48) return pt ? "Condições de inversão térmica favorecem o acúmulo de umidade e a formação de nevoeiro restrito à camada limite, reduzindo a visibilidade." : "Thermal inversion conditions favor moisture accumulation and boundary-layer fog, reducing visibility.";
if (code >= 51 && code <= 67) return pt ? "A camada de superfície permanece saturada devido à constante advecção de umidade. Precipitação estratiforme de intensidade leve a moderada domina as observações." : "The surface layer remains saturated due to constant moisture advection. Stratiform precipitation of light to moderate intensity dominates observations.";
if (code >= 71 && code <= 77) return pt ? "Advecção de ar polar nos baixos e médios níveis sustenta condições termodinâmicas para precipitação invernal ao longo do planalto." : "Polar air advection in low and mid levels sustains thermodynamic conditions for winter precipitation along the plateau.";
if (code >= 80 && code <= 82) return pt ? "O escoamento instável gera núcleos convectivos rasos, resultando em pancadas de chuva intermitentes e localizadas na região." : "Unstable flow generates shallow convective cores, resulting in intermittent and localized rain showers.";
if (code >= 95) return pt ? "Forte divergência em altos níveis aliada ao intenso cisalhamento sustenta atividade convectiva profunda. Condição de alerta para tempo severo." : "Strong high-level divergence coupled with intense shear sustains deep convective activity. Severe weather alert condition.";
return pt ? "As condições meteorológicas seguem a climatologia típica da estação, com variações normais de temperatura na escala diária." : "Meteorological conditions follow typical seasonal climatology, with normal temperature variations on the daily scale.";
})()}
{(() => {
const pt = lang === "pt";
const wind = pt ? `Ventos de superfície em torno de ${cur.wind_speed_10m.toFixed(1)} m/s` : `Surface winds around ${cur.wind_speed_10m.toFixed(1)} m/s`;
const press = pt ? `pressão em ${Math.round(cur.surface_pressure)} hPa` : `pressure at ${Math.round(cur.surface_pressure)} hPa`;
const temp = pt ? `amplitude de ${Math.round(today.temperature_2m_min)}°C a ${Math.round(today.temperature_2m_max)}°C` : `amplitude from ${Math.round(today.temperature_2m_min)}°C to ${Math.round(today.temperature_2m_max)}°C`;
return pt
? `${wind} comandam a advecção atual, combinados com a ${press}. O perfil térmico do dia deve apresentar uma ${temp}.`
: `${wind} drive the current advection, combined with a ${press}. The thermal profile of the day indicates an ${temp}.`;
})()}
);
}
function DiagBigCard({ label, value, unit, status }) {
const sCol = status === "LOW" || status === "STABLE" || status === "WEAK" ? AERO.accent
: status === "CAP" || status === "HIGH" ? AERO.warm : AERO.danger;
return (