.aw-player{--aw-water:#449eb6;--aw-skin:#dfb895;--aw-edge:#a77e62;--aw-hair:#625048;--aw-sleeve:#647f8c}
.aw-stage{position:relative;border-radius:21px;overflow:hidden;background:linear-gradient(150deg,var(--primary-3),var(--surface));border:1px solid var(--line);padding:30px 0 0}
.aw-stage [data-aw-scene]{overflow:hidden}.aw-illustration{display:block;width:100%;height:290px}.aw-halo{fill:var(--surface);opacity:.75}.aw-backdrop-line{stroke:var(--line);stroke-width:1}.aw-art{stroke-linejoin:round;stroke-linecap:round}
.aw-skin{fill:var(--aw-skin);stroke:var(--aw-edge);stroke-width:1.5}.aw-hair{fill:var(--aw-hair)}.aw-shirt,.aw-sleeve{fill:var(--aw-sleeve);stroke:#526f7c;stroke-width:1.5}.aw-detail{fill:none;stroke:var(--aw-edge);stroke-width:1.6}.aw-tap{fill:#bdcbd1;stroke:#839ca7;stroke-width:2}.aw-tap path+path{fill:none;stroke-width:7}.aw-wet{fill:var(--aw-water);fill-opacity:.19;stroke:none}.aw-stream{fill:var(--aw-water);stroke:var(--aw-water);stroke-width:3;opacity:.7}.aw-stream path{stroke-dasharray:10 8}.aw-bubbles{fill:var(--surface);fill-opacity:.5;stroke:var(--aw-water);stroke-width:1.5}.aw-focus-ring{fill:none;stroke:var(--aw-water);stroke-width:1.5;stroke-dasharray:4 5;opacity:.65}.aw-mesh-trail{fill:none;stroke:var(--aw-water);stroke-width:3;stroke-dasharray:3 7}.aw-mouth-water,.aw-face-drops{fill:none;stroke:var(--aw-water);stroke-width:2.5}
.aw-method,.aw-counter{position:absolute;top:15px;padding:6px 9px;font-size:10px;letter-spacing:.1em;z-index:1;color:var(--muted);font-weight:600}.aw-method{left:14px;color:var(--primary)}.aw-counter{right:14px;letter-spacing:0;font-variant-numeric:tabular-nums;background:var(--surface);border:1px solid var(--line);border-radius:18px}.aw-stage-bottom{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:40px;padding:0 16px 13px;font-size:10px;color:var(--muted)}.aw-repeat{font-size:11px;font-weight:600;color:var(--primary);background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:5px 9px}
.aw-current{text-align:center;min-height:113px;padding:18px 3px 0}.aw-current h3{font-size:24px;letter-spacing:-.025em;margin:0 0 8px}.aw-current p{max-width:390px;margin:auto;font-size:14px;line-height:1.7}.aw-controls{margin:8px 0 20px}.aw-progress{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:5px}.aw-progress span{height:4px;background:var(--line);border-radius:5px}.aw-progress .is-current{background:var(--primary)}.aw-progress .is-complete{background:var(--primary);opacity:.45}
.aw-step-picker{margin-top:20px;border-top:1px solid var(--line);padding-top:8px}.aw-step-picker summary{min-height:44px;display:flex;align-items:center;justify-content:space-between;cursor:pointer;font-size:13px;color:var(--muted);list-style:none}.aw-step-picker summary:after{content:'+';font-size:21px;font-weight:300}.aw-step-picker[open] summary:after{content:'−'}.aw-step-picker summary::-webkit-details-marker{display:none}.aw-step-picker summary:focus-visible{outline:2px solid var(--primary);outline-offset:3px;border-radius:5px}.aw-step-picker .lv-step-list{margin-top:8px;grid-template-columns:repeat(2,minmax(0,1fr))}
/* Every moving part is paused until the learner presses Play. */
.aw-player .aw-stream path{animation:aw-flow 1.15s linear infinite}.aw-player .aw-drop--one{animation:aw-drop 1.6s ease-in infinite}.aw-player .aw-drop--two{animation:aw-drop 1.6s .65s ease-in infinite}.aw-player .aw-scrub-hands{animation:aw-hands 1.7s ease-in-out infinite}.aw-player .aw-wash-face{animation:aw-face 2s ease-in-out infinite}.aw-player .aw-cupped-hand{animation:aw-cup 2.2s ease-in-out infinite}.aw-player .aw-scrub-arm{animation:aw-arm 2s ease-in-out infinite}.aw-player .aw-mesh-hand{animation:aw-mesh 2.8s ease-in-out infinite}.aw-player .aw-ear-hands{animation:aw-ears 2s ease-in-out infinite}.aw-player .aw-scrub-foot{animation:aw-foot 2s ease-in-out infinite}.aw-player .aw-face-drops{animation:aw-drips 2s ease-in infinite}.aw-player [class*="aw-"]{animation-play-state:paused}.aw-player[data-playing=true] [class*="aw-"]{animation-play-state:running}
@keyframes aw-flow{to{stroke-dashoffset:-36}}@keyframes aw-drop{0%{opacity:0;transform:translateY(-8px)}30%{opacity:.8}100%{opacity:0;transform:translateY(25px)}}@keyframes aw-hands{0%,100%{transform:translate(-2px,18px)}50%{transform:translate(8px,7px)}}@keyframes aw-face{0%,100%{transform:translate(-5px,8px)}50%{transform:translate(5px,-11px)}}@keyframes aw-cup{0%,100%{transform:translate(6px,13px)}50%{transform:translate(-6px,-6px)}}@keyframes aw-arm{0%,100%{transform:translate(0,0)}50%{transform:translate(22px,-25px)}}@keyframes aw-mesh{0%,100%{transform:translate(7px,4px)}50%{transform:translate(-29px,-5px)}}@keyframes aw-ears{0%,100%{transform:translateY(5px)}50%{transform:translateY(-5px)}}@keyframes aw-foot{0%,100%{transform:translate(0,0)}50%{transform:translate(15px,-12px)}}@keyframes aw-drips{0%{opacity:0;transform:translateY(-4px)}50%{opacity:.8}100%{opacity:0;transform:translateY(13px)}}
.aw-player[data-reduced=true] [class*="aw-"]{animation:none!important}
@media(max-width:480px){.aw-illustration{height:245px}.aw-stage{padding-top:32px}.aw-current{min-height:118px}.aw-player h2{font-size:23px}.aw-stage-bottom{padding:0 12px 12px}.aw-controls{margin-top:8px}.aw-method{left:8px}.aw-counter{right:10px}}
@media(prefers-reduced-motion:reduce){.aw-player [class*="aw-"]{animation:none!important}}
