.panel.weather { background: var(--weather-background); border: var(--weather-border); box-shadow: var(--weather-shadow); color: var(--weather-text); display: flex; flex-direction: column; gap: var(--weather-gap-large); } .weather-top { display: flex; align-items: center; margin: auto; gap: var(--weather-gap-large); } .weather-icon { width: var(--weather-icon-size); height: var(--weather-icon-size); filter: var(--weather-icon-shadow); flex-shrink: 0; } .weather-summary { display: flex; flex-direction: column; gap: var(--weather-gap-half); } .weather-line { display: flex; align-items: center; flex-wrap: wrap; gap: var(--weather-gap); } .weather-values { display: flex; align-items: center; flex-wrap: wrap; gap: var(--weather-gap); } .weather-values .weather-value:not(:first-child)::before { content: "•"; color: var(--weather-text-muted); margin: 0 calc(var(--weather-gap) / 3); } .weather-line + .weather-sources { margin-top: var(--weather-sources-margin, var(--weather-gap-half)); } .weather-values + .weather-sources { margin-top: var(--weather-sources-margin, var(--weather-gap-half)); } .weather-date, .weather-value { font-weight: 600; font-size: 1.05rem; color: var(--weather-text); } .weather-value { display: inline-flex; align-items: center; gap: calc(var(--weather-gap-half) / 1.2); } .weather-sources { display: flex; gap: var(--weather-gap); flex-wrap: wrap; } .weather-source { padding: var(--weather-badge-padding); background: var(--weather-badge-bg); color: var(--weather-badge-text); border-radius: 999px; font-size: 0.85rem; letter-spacing: 0.04em; text-transform: uppercase; } .weather-wind { display: inline-flex; align-items: center; gap: var(--weather-gap-half); } .weather-wind-arrow { width: 28px; height: 28px; fill: var(--weather-text); filter: var(--weather-icon-shadow); transition: transform 0.2s ease; } @media (max-width: 600px) { .weather-top { flex-direction: row; align-items: flex-start; gap: var(--weather-gap); } .weather-icon { width: calc(var(--weather-icon-size) * 0.85); height: calc(var(--weather-icon-size) * 0.85); } }