.rv-player{--rv-earth:#af9275;--rv-mesh:#af9275}
.rv-player [data-rv-scene]{overflow:hidden}
.rv-progress--tayammum{grid-template-columns:repeat(5,minmax(0,1fr))}
.rv-progress--ghusl{grid-template-columns:repeat(3,minmax(0,1fr))}
.rv-player .aw-current{min-height:132px}
.rv-earth{fill:var(--rv-earth);stroke:#896e55;stroke-width:1.5}
.rv-earth-line{fill:none;stroke:#806850;stroke-width:2;stroke-linecap:round;opacity:.6}
.rv-contact-glow{fill:none;stroke:#75563f;stroke-width:2;opacity:.4}
.rv-mesh-area{fill:var(--rv-mesh);opacity:.12}
.rv-elbow{fill:none;stroke:var(--primary);stroke-width:1.6;stroke-dasharray:4 5;opacity:.75}
.rv-mesh-line{fill:none;stroke:var(--rv-mesh);stroke-width:5;stroke-dasharray:6 9;stroke-linecap:round;opacity:.5}
.rv-diagram-label{fill:var(--muted);font-size:13px;font-family:inherit;font-weight:500}
.rv-water,.rv-shower{fill:none;stroke:var(--aw-water);stroke-width:3;stroke-linecap:round}
.rv-body{fill:var(--primary-3);stroke:var(--primary);stroke-width:1.6;stroke-linejoin:round}
.rv-body-back{fill:var(--surface)}
.rv-coverage-point{fill:none;stroke:var(--aw-water);stroke-width:1.3;stroke-dasharray:3 4;opacity:.7}
/* Motion is opt-in; mesh scenes deliberately contain no water/dust cloud. */
.rv-contact{animation:rv-contact 3.4s ease-in-out infinite}
.rv-contact-glow{animation:rv-contact-glow 3.4s ease-in-out infinite}
.rv-face-hands{animation:rv-face-mesh 3s ease-in-out infinite}
.rv-arm-hand{animation:rv-arm-mesh 3s ease-in-out infinite}
.rv-cup{animation:rv-cup 2.7s ease-in-out infinite}
.rv-water{animation:rv-water 2.7s ease-in-out infinite}
.rv-shower{animation:rv-shower 2s linear infinite}
.rv-coverage-point{animation:rv-coverage 2.5s ease-in-out infinite}
.rv-player [class*="rv-"]{animation-play-state:paused}
.rv-player[data-playing=true] [class*="rv-"]{animation-play-state:running}
@keyframes rv-contact{0%,100%{transform:translateY(-6px)}25%,52%{transform:translateY(0)}75%{transform:translate(2px,-8px)}85%{transform:translate(-2px,-8px)}}
@keyframes rv-contact-glow{0%,65%,100%{opacity:.1}25%,50%{opacity:.7}}
@keyframes rv-face-mesh{0%,100%{transform:translateY(-8px)}60%{transform:translateY(12px)}}
@keyframes rv-arm-mesh{0%,100%{transform:translate(33px,-43px)}65%{transform:translate(-20px,25px)}}
@keyframes rv-cup{0%,100%{transform:translate(5px,12px)}55%{transform:translate(-6px,-6px)}}
@keyframes rv-water{0%,100%{opacity:.3}50%{opacity:1}}
@keyframes rv-shower{0%{transform:translateY(0);opacity:0}15%{opacity:.75}90%{opacity:.45}100%{transform:translateY(130px);opacity:0}}
@keyframes rv-coverage{0%,100%{opacity:.35}50%{opacity:.9}}
.rv-player[data-reduced=true] [class*="rv-"]{animation:none!important}
@media(prefers-reduced-motion:reduce){.rv-player [class*="rv-"]{animation:none!important}}
@media(max-width:480px){.rv-player .aw-current{min-height:150px}.rv-player h2{font-size:22px}.rv-player .aw-stage-bottom{gap:6px}}
