/*
 * Thème Spring préparé.
 * Summer reste le socle visuel.
 * Spring ne remplace que le décor de fond et garde ses pétales discrets.
 */
:root[data-theme="spring"]{
  color-scheme:light dark;
  --text:rgba(255,255,255,.90);
  --text-strong:rgba(255,255,255,.98);
  --text-main:rgba(255,255,255,.90);
  --text-soft:rgba(255,255,255,.70);
  --glass:rgba(255,255,255,.16);
  --glass-strong:rgba(255,255,255,.23);
  --glass-line:rgba(255,255,255,.25);
  --shadow-card:0 22px 60px rgba(10,35,70,.22);
  --shadow-soft:0 12px 32px rgba(10,35,70,.16);
  --info:#ffb23f;
  --sky-top:#2c8fd1;
  --sky-mid:#70c5e3;
  --sky-bottom:#b8e6c6;
  --app-safearea-bottom-background:var(--sky-bottom);
  --solar-opacity:.36;
  --celestial-glow:rgba(255,242,186,.38);
  --browser-theme-color:#2c8fd1;
  --theme-background-image:url("../../images/themes/spring/spring-day.webp");
  --theme-background-overlay:none;
  --theme-background-position:center center,center center,center top;
  --theme-background-size:cover,cover,100% 100%;
  --theme-stage-background-size:cover,cover,100% 100%;
  --app-background:linear-gradient(180deg,var(--sky-top),var(--sky-mid) 54%,var(--sky-bottom));
}

:root[data-theme="spring"]::after{display:none;}
:root[data-theme="spring"] body.app-page{min-height:calc(var(--app-canvas-height) + var(--safe-bottom));}
:root[data-theme="spring"] body.app-page > .ambient-stage{
  position:absolute;
  inset:0;
  min-height:calc(100% + var(--safe-bottom) + 160px);
  height:auto;
  background-image:
    var(--theme-background-overlay),
    var(--theme-background-image),
    var(--app-background);
  background-repeat:no-repeat,no-repeat,no-repeat;
  background-position:center center,center center,center top;
  background-size:cover,cover,100% 100%;
}

:root[data-theme="spring"][data-daypart="dawn"]{--theme-background-image:url("../../images/themes/spring/spring-dawn.webp");--sky-top:#88a7ce;--sky-mid:#f0ba72;--sky-bottom:#b7dda0;--browser-theme-color:#88a7ce;}
:root[data-theme="spring"][data-daypart="day"]{--theme-background-image:url("../../images/themes/spring/spring-day.webp");--browser-theme-color:#2c8fd1;}
:root[data-theme="spring"][data-daypart="sunset"]{--theme-background-image:url("../../images/themes/spring/spring-sunset.webp");--sky-top:#6f4f78;--sky-mid:#e5824c;--sky-bottom:#86b76e;--browser-theme-color:#6f4f78;}
:root[data-theme="spring"][data-daypart="night"]{--theme-background-image:url("../../images/themes/spring/spring-night.webp");--sky-top:#06182d;--sky-mid:#12365a;--sky-bottom:#143b30;--browser-theme-color:#06182d;}

:root[data-theme="spring"] body.app-page::before,
:root[data-theme="spring"] body.index-page::before{
  content:"";
  position:fixed;
  inset:0;
  z-index:1;
  pointer-events:none;
  opacity:.10;
  background-image:
    radial-gradient(ellipse at center,rgba(255,202,220,.9) 0 2px,transparent 3px),
    radial-gradient(ellipse at center,rgba(255,255,255,.75) 0 1px,transparent 2px);
  background-size:120px 160px,180px 220px;
  animation:springPetals 54s ease-in-out infinite alternate;
}

@keyframes springPetals{
  from{background-position:0 0,70px 30px;transform:translate3d(-1%,0,0);}
  to{background-position:20px 90px,40px 140px;transform:translate3d(1%,1%,0);}
}

@media (prefers-color-scheme:dark){
  :root[data-theme="spring"]{
    --glass:rgba(18,28,46,.36);
    --glass-strong:rgba(24,36,58,.46);
    --glass-line:rgba(255,255,255,.16);
    --shadow-card:0 24px 70px rgba(0,0,0,.34);
    --shadow-soft:0 14px 36px rgba(0,0,0,.26);
  }
}
