/* Shared artwork scene; animation has no effect on authentication. */
.vh-dragon-scene{position:relative;width:100%;aspect-ratio:3/2;isolation:isolate;contain:layout style;animation:vh-dragon-float 7s ease-in-out infinite}
.vh-dragon-scene::before{content:"";position:absolute;inset:18% 9% 4%;border-radius:50%;background:radial-gradient(ellipse,rgba(230,153,38,.15),rgba(56,197,237,.06) 47%,transparent 70%);filter:blur(24px);animation:vh-dragon-aura 5s ease-in-out infinite;z-index:-1}
.vh-dragon-scene img{display:block;width:100%;height:100%;object-fit:contain;mix-blend-mode:screen;mask-image:radial-gradient(ellipse 65% 64% at 50% 51%,#000 52%,transparent 100%);-webkit-mask-image:radial-gradient(ellipse 65% 64% at 50% 51%,#000 52%,transparent 100%)}
.vh-dragon-trails{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}
.vh-dragon-flow{fill:none;stroke-linecap:round;animation:vh-infinity-stream 4.8s linear infinite;stroke-dasharray:52 948;stroke-dashoffset:0}
.vh-dragon-flow--halo{stroke:#ffd48a;stroke-width:38;stroke-dasharray:98 902;opacity:.85}
.vh-dragon-flow--gold{stroke:#ffdb8a;stroke-width:6;stroke-dasharray:52 948;filter:drop-shadow(0 0 8px #ffbe48)}
.vh-dragon-flow--ice{stroke:#8eeaff;stroke-width:4;stroke-dasharray:35 965;animation-delay:-2.4s;filter:drop-shadow(0 0 9px #39bdff)}
.vh-dragon-flow--core{stroke:#fffceb;stroke-width:3;stroke-dasharray:12 988;filter:drop-shadow(0 0 5px #fff)}
.vh-dragon-spark{fill:none;stroke:#ffedbb;stroke-width:2;opacity:0;filter:drop-shadow(0 0 7px #ffd267);animation:vh-dragon-spark 3.6s ease-in-out infinite}
.vh-motion-paused .vh-dragon-scene,.vh-motion-paused .vh-dragon-scene::before,.vh-motion-paused .vh-dragon-flow,.vh-motion-paused .vh-dragon-spark{animation-play-state:paused!important}
@keyframes vh-infinity-stream{to{stroke-dashoffset:-1000}}
@keyframes vh-dragon-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
@keyframes vh-dragon-aura{0%,100%{opacity:.6;transform:scale(.96)}50%{opacity:1;transform:scale(1.05)}}
@keyframes vh-dragon-spark{0%,65%,100%{opacity:0}80%{opacity:.85}90%{opacity:.2}}
@media(prefers-reduced-motion:reduce){.vh-dragon-scene,.vh-dragon-scene::before,.vh-dragon-flow,.vh-dragon-spark{animation:none!important}.vh-dragon-spark{opacity:.4}}
