.volcano-art{position:relative;isolation:isolate;background:#80d0f6!important;overflow:hidden}
.volcano-svg{position:absolute;inset:0;width:100%;height:100%;display:block}
.volcano-svg .v-sun{animation:v-sun-pulse 3s ease-in-out infinite;transform-origin:603px 69px}
.volcano-svg .v-cloud-a{animation:v-cloud-drift 13s ease-in-out infinite alternate}
.volcano-svg .v-cloud-b{animation:v-cloud-drift 17s -5s ease-in-out infinite alternate}
.volcano-svg .v-smoke{animation:v-smoke-rise 4s ease-in-out infinite;transform-origin:350px 90px}
.volcano-svg .v-lava-glow{animation:v-glow 1.7s ease-in-out infinite;transform-origin:355px 250px}
.volcano-svg .v-lava-river{animation:v-lava-run var(--lava-duration,.9s) linear infinite}
.volcano-svg .v-lava-river-b{animation-name:v-lava-run-b}
.volcano-svg .v-lava-river-c{animation-name:v-lava-run-c}
.volcano-svg .v-lava-pool{animation:v-pool-pulse 1.8s ease-in-out infinite;transform-origin:355px 354px}
.volcano-svg .v-sparks circle{animation:v-spark 1.35s ease-out infinite}
.volcano-svg .v-sparks circle:nth-child(2){animation-delay:.35s}
.volcano-svg .v-sparks circle:nth-child(3){animation-delay:.8s}
.volcano-svg .v-sparks circle:nth-child(4){animation-delay:1.1s}
.volcano-svg .v-sparks circle:nth-child(5){animation-delay:.6s}
.final-answers .choice-icon{width:60px;height:60px;display:inline-block;vertical-align:middle}

/* Lave : pleinement visible tant que le volcan n'est pas sauvé */
.volcano-svg .v-lava-system{opacity:1;transition:opacity 1.4s ease .5s}
.volcano-svg .v-lava-pool{opacity:var(--pool,1);transition:opacity .9s ease}
.volcano-svg .v-sparks{opacity:var(--sparks,1);transition:opacity .9s ease}
/* Roche : forme fixe, révélée par un masque au bord ondulé qui monte */
.volcano-svg .v-crust-mask,.volcano-svg .v-impact{transform:translateY(var(--front-y,365px));transition:transform 1.1s cubic-bezier(.2,.75,.3,1)}
.volcano-art.is-cool .v-crust-mask,.volcano-art.is-cool .v-impact{transition-duration:1.8s}
/* Eau : jet gauche dès la 1re réponse, jet droit dès la 3e, plus épais pendant l'impact */
.volcano-svg .v-water-jet{opacity:0;transition:opacity .35s ease,stroke-width .25s ease}
.volcano-art.jets-1 .v-water-jet-a,.volcano-art.jets-2 .v-water-jet-b,.volcano-art.is-cool.water-impact .v-water-jet{opacity:1;animation:v-water-run .72s linear infinite}
.volcano-art.jets-2 .v-water-jet-b,.volcano-art.is-cool.water-impact .v-water-jet-b{animation-name:v-water-run-b;animation-duration:.92s}
.volcano-art.water-impact .v-water-jet{stroke-width:30px}
.volcano-art.water-impact .v-water-jet-b{stroke-width:22px}
/* Éclaboussures et vapeur, attachées au front */
.volcano-svg .v-splash{opacity:0;transform-box:fill-box;transform-origin:center}
.volcano-art.water-impact .v-splash{animation:v-splash-impact .4s ease-out 3}
.volcano-svg .v-steam{opacity:var(--steam,0);transition:opacity .6s}
.volcano-art.jets-1 .v-steam{animation:v-steam-drift 2.8s ease-in-out infinite}
/* Volcan sauvé : plus de lave, plus de fumée, plus d'animations cachées ; arc-en-ciel et coffre apparaissent */
.volcano-art.is-cool .v-lava-system{opacity:0}
.volcano-art.is-cool .v-smoke{opacity:0;animation:none}
.volcano-art.is-cool .v-lava-system *,.volcano-art.is-cool .v-lava-pool,.volcano-art.is-cool .v-sparks circle{animation:none}
.volcano-svg .v-rainbow{opacity:0;transition:opacity 1.6s ease 1s}
.volcano-art.is-cool .v-rainbow{opacity:.8}
.volcano-svg .v-treasure{opacity:0;transition:opacity .7s ease 1.7s}
.volcano-art.is-cool .v-treasure{opacity:1}
.volcano-svg .v-glint{transform-box:fill-box;transform-origin:center}
.volcano-art.is-cool .v-glint{animation:v-glint 1.3s ease-in-out infinite}

@keyframes v-lava-run{to{stroke-dashoffset:-48}}
@keyframes v-lava-run-b{to{stroke-dashoffset:-35}}
@keyframes v-lava-run-c{to{stroke-dashoffset:-31}}
@keyframes v-water-run{to{stroke-dashoffset:-50}}
@keyframes v-water-run-b{to{stroke-dashoffset:-40}}
@keyframes v-glow{50%{opacity:.52;transform:scale(1.05)}}
@keyframes v-pool-pulse{50%{transform:scale(1.13,.82)}}
@keyframes v-spark{0%{transform:translateY(0) scale(.6);opacity:0}30%{opacity:1}100%{transform:translateY(-90px) translateX(18px) scale(.1);opacity:0}}
@keyframes v-smoke-rise{50%{transform:translateY(-25px) scale(1.2);opacity:.35}}
@keyframes v-cloud-drift{to{transform:translateX(45px)}}
@keyframes v-sun-pulse{50%{transform:scale(1.08);opacity:.8}}
@keyframes v-splash-impact{0%{opacity:0;transform:scale(.5)}40%{opacity:1;transform:scale(1.5)}100%{opacity:0;transform:scale(1.9)}}
@keyframes v-steam-drift{50%{transform:translateY(-13px)}}
@keyframes v-glint{0%,100%{transform:scale(.55) rotate(0);opacity:.55}50%{transform:scale(1.15) rotate(45deg);opacity:1}}
