
/* fond vert nuit : lueurs, nuages, étoiles discrètes + fil de voyage */
html,body{background:#061d18}
#sky{position:fixed;inset:0;overflow:hidden;background:
 radial-gradient(55% 32% at 26% 17%,rgba(105,185,152,.5),rgba(105,185,152,0) 72%),
 radial-gradient(34% 22% at 90% 27%,rgba(78,98,165,.42),rgba(78,98,165,0) 72%),
 linear-gradient(180deg,#0f4b3b 0%,#0d4033 34%,#093027 68%,#051b16 100%)}
#sky canvas{position:absolute;inset:0;width:100%;height:100%}
#sky .cl{position:absolute;color:rgb(130,180,158);animation:cl 22s ease-in-out infinite alternate}
#sky .cl svg{display:block;width:100%;fill:currentColor;opacity:.2}
#sky .k1{width:21%;min-width:70px;right:14%;top:34%}
#sky .k2{width:26%;min-width:84px;left:-4%;top:74%;animation-delay:-8s}
#sky .k3{width:78%;min-width:240px;right:-16%;top:78%;animation-delay:-14s}
@keyframes cl{from{translate:-10px 0}to{translate:14px 0}}
#sky .tw{position:absolute;border-radius:50%;background:radial-gradient(#fff,rgba(255,255,255,0) 70%);animation:tw 4s ease-in-out infinite}
@keyframes tw{0%,100%{opacity:.1;scale:.7}50%{opacity:.85;scale:1.2}}
body.color #sky *{animation-play-state:paused}
.trv{width:calc(100% + 40px);margin:0 -20px;flex:1;min-height:120px;position:relative;z-index:1}
.trv svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.trv .dt{fill:none;stroke:rgba(251,244,234,.8);stroke-width:2.6;stroke-linecap:round;stroke-dasharray:.1 7.5}
.trv .rv{fill:none;stroke:#fff;stroke-width:16;stroke-dasharray:1;stroke-dashoffset:1;animation:drw 2.8s cubic-bezier(.45,.1,.3,1) .5s forwards}
@keyframes drw{to{stroke-dashoffset:0}}
.trv .st{transform-box:fill-box;transform-origin:center;opacity:0;animation:stp .7s cubic-bezier(.3,1.7,.5,1) 3.15s forwards,stw 2.6s ease-in-out 3.9s infinite}
@keyframes stp{from{opacity:0;scale:.1;rotate:-90deg}to{opacity:1;scale:1;rotate:0deg}}
@keyframes stw{0%,100%{scale:1}50%{scale:1.18;rotate:10deg}}
@media (prefers-reduced-motion:reduce){#sky *{animation:none!important}.trv .rv{animation:none;stroke-dashoffset:0}.trv .st{animation:none;opacity:1}}
@media print{#sky,.trv{display:none!important}}
