/* CORAZEN — Roues Météo */
body.theme-meteo {
  background:
    radial-gradient(ellipse 70% 45% at 50% 0%, rgba(150, 200, 255, 0.16), transparent 70%),
    radial-gradient(ellipse 80% 60% at 50% 45%, rgba(58, 70, 140, 0.5), transparent 70%),
    linear-gradient(180deg, #06081c 0%, #0d1434 55%, #1b1636 100%);
  background-attachment: fixed;
}

/* Centre : ciel animé */
.meteo { position: absolute; inset: 0; }
.meteo svg { position: absolute; inset: 0; width: 100%; height: 100%; display: block; }
.meteo .m-sky { fill: #24304f; transition: fill 1.6s; }
.meteo-meteo-liens .m-sky { fill: #3a2a52; }
.meteo-meteo-travail .m-sky { fill: #1e3354; }
.meteo-meteo-soi .m-sky { fill: #1f3f45; }
.meteo-meteo-jour .m-sky { fill: #23365e; }
.hub.open .meteo .m-sky { fill: #7cc4f0; }

.meteo .m-sun { transform-origin: 100px 92px; transform: scale(.7); opacity: .55; transition: transform 1.6s cubic-bezier(.2, .9, .3, 1.2), opacity 1.2s; }
.hub.open .meteo .m-sun { transform: scale(1.12); opacity: 1; }
.meteo .m-rays { transform-origin: 100px 92px; animation: spinSlow 30s linear infinite; }

.meteo .m-rainbow { opacity: 0; transition: opacity 1.6s .6s; }
.hub.open .meteo .m-rainbow { opacity: .85; }

.meteo .m-rain { opacity: 0; transition: opacity .4s; }
.meteo .m-rain line { animation: rain .6s linear infinite; }
.meteo .m-rain line:nth-child(odd) { animation-delay: -.3s; }
@keyframes rain { from { transform: translateY(-30px); } to { transform: translateY(40px); } }
.is-spinning .meteo .m-rain { opacity: .9; }

.meteo .m-cloud-l, .meteo .m-cloud-r { transition: transform 1.8s cubic-bezier(.6, .05, .25, 1), opacity 1.8s; }
.meteo .c1, .meteo .c3 { animation: drift 6s ease-in-out infinite alternate; }
.meteo .c2, .meteo .c4 { animation: drift 7.5s ease-in-out infinite alternate-reverse; }
@keyframes drift { to { translate: 6px 0; } }
.is-spinning .meteo .m-cloud-l, .is-spinning .meteo .m-cloud-r { filter: brightness(.7); }
.hub.open .meteo .m-cloud-l { transform: translateX(-120px); opacity: .3; }
.hub.open .meteo .m-cloud-r { transform: translateX(120px); opacity: .3; }

/* Carte révélée : météo bien visible */
.theme-meteo .reveal-text h2 { font-size: clamp(30px, 4.6vw, 54px); }
