.demo-scene{position:absolute;inset:0;overflow:hidden;background:#060c18;pointer-events:none}
.demo-scene svg{display:block;width:100%;height:100%}
.preview .demo-scene svg{object-fit:cover}
.preview:has(.demo-scene) .sim-scan,.sim-stage:has(.demo-scene):before,.sim-stage:has(.demo-scene):after,.sim-stage:has(.demo-scene) .sim-cloud,.sim-stage:has(.demo-scene) .sim-caret{display:none}
.demo-scene text{font-family:Inter,system-ui,sans-serif}
.demo-wave{animation:demo-flow 7s ease-in-out infinite alternate;transform-origin:center}
.demo-wave.second{animation-delay:-3.5s;animation-duration:9s}
.demo-wave.third{animation-delay:-6s;animation-duration:11s}
.demo-orbit{transform-origin:600px 225px;animation:demo-turn 12s linear infinite}
.demo-colon{animation:demo-blink 2s steps(1) infinite}
.demo-cloud{animation:demo-drift 9s ease-in-out infinite alternate}
.demo-cloud.far{animation-delay:-5s;animation-duration:13s}
.demo-sun{transform-origin:590px 175px;animation:demo-turn 40s linear infinite}
.demo-rain{stroke-dasharray:8 20;animation:demo-rain 1.8s linear infinite}
.demo-line{animation:demo-write 12s ease-in-out infinite;transform-origin:205px center}
.demo-line.l2{animation-delay:-10.5s}.demo-line.l3{animation-delay:-9s}.demo-line.l4{animation-delay:-7.5s}
.demo-caret{animation:demo-blink 1.2s steps(1) infinite}
.demo-progress{transform-origin:70px center;animation:demo-progress 12s linear infinite}
body.motion-paused .demo-scene *{animation-play-state:paused!important}
@keyframes demo-flow{from{transform:translate(-24px,12px) scale(1.06,.92)}to{transform:translate(24px,-12px) scale(1.12,1.08)}}
@keyframes demo-turn{to{transform:rotate(360deg)}}
@keyframes demo-blink{50%{opacity:.25}}
@keyframes demo-drift{from{transform:translateX(-26px)}to{transform:translateX(28px)}}
@keyframes demo-rain{to{stroke-dashoffset:-56}}
@keyframes demo-write{0%,8%{transform:scaleX(0);opacity:0}12%{opacity:1}35%,85%{transform:scaleX(1);opacity:1}96%,100%{transform:scaleX(1);opacity:0}}
@keyframes demo-progress{from{transform:scaleX(.03)}to{transform:scaleX(1)}}
@media(prefers-reduced-motion:reduce){.demo-scene *{animation:none!important}}
