/* Accueil et ambiance : séparés du contenu pour préserver la navigation. */
.welcome-screen{position:fixed;inset:0;z-index:1000;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:clamp(24px,5vh,48px);padding:24px;background:#f3e7d7;opacity:1;transition:opacity .7s ease}
.welcome-screen img{display:block;width:min(780px,90vw);height:auto;max-height:70svh;object-fit:contain;-webkit-mask-image:linear-gradient(to right,transparent,#000 7%,#000 93%,transparent),linear-gradient(to bottom,transparent,#000 7%,#000 93%,transparent);-webkit-mask-composite:source-in;mask-image:linear-gradient(to right,transparent,#000 7%,#000 93%,transparent),linear-gradient(to bottom,transparent,#000 7%,#000 93%,transparent);mask-composite:intersect;animation:welcome-appear 1s ease both}
.welcome-screen button{min-height:48px;padding:12px 22px;border-bottom:1px solid #a9784f;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:#4a2b1b}
.welcome-screen button span{display:inline-block;margin-left:14px}
.welcome-screen.is-leaving{opacity:0;pointer-events:none}
html.welcome-active{overflow:hidden}
.autumn-leaves{position:fixed;inset:0;z-index:45;overflow:hidden;pointer-events:none;user-select:none;contain:strict}
.autumn-leaf{position:absolute;top:-70px;left:var(--left);width:var(--size);height:calc(var(--size)*var(--ratio,1.4));opacity:0;animation:autumn-fall var(--duration) linear var(--delay) infinite}
.autumn-leaf svg{display:block;width:100%;height:100%;overflow:visible;animation:autumn-sway var(--sway) ease-in-out infinite alternate;color:var(--color)}
body.autumn-paused .autumn-leaves{visibility:hidden}
body.autumn-paused .autumn-leaf,body.autumn-paused .autumn-leaf svg{animation-play-state:paused}
@keyframes welcome-appear{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@keyframes autumn-fall{0%{transform:translate3d(0,-60px,0) rotate(0deg);opacity:0}8%{opacity:var(--max-opacity,.65)}88%{opacity:var(--max-opacity,.65)}100%{transform:translate3d(var(--drift),calc(100vh + 120px),0) rotate(var(--turn));opacity:0}}
@keyframes autumn-sway{from{transform:translateX(-18px) rotate(-28deg) rotateY(0deg)}to{transform:translateX(18px) rotate(28deg) rotateY(55deg)}}
@media(max-width:600px){.autumn-leaf:nth-child(n+13){display:none}}
@media(prefers-reduced-motion:reduce){.autumn-leaves{display:none}.welcome-screen,.welcome-screen img{animation:none;transition:none}}

/* Flocons : clairs sur fond ivoire, un léger liseré les rend visibles */
.autumn-leaves[data-theme="neige"] .autumn-leaf svg{filter:drop-shadow(0 0 1.2px rgba(74,43,27,.45))}
.autumn-leaves[data-theme="neige"] .autumn-leaf svg{animation-name:snow-sway}
@keyframes snow-sway{from{transform:translateX(-10px) rotate(-12deg)}to{transform:translateX(10px) rotate(12deg)}}
