/* beta19.2 motion (designs/MOTION-EXPLORATION.md ideas 2-6, 8-10). Transform and opacity only, plus one SVG stroke-dashoffset per effect.
   Colours come from theme tokens (--maroon = primary, --saffron-d/--accent = accent, --leaf = success), so all 6 themes incl. Night aarti follow.
   Reduced motion (OS setting or Profile > Reduce motion = html.rm) gets 200 ms fades into the final state. html.hid pauses everything. */
@keyframes fade192{from{opacity:0}to{opacity:1}}
html.hid *,html.hid *::before,html.hid *::after{animation-play-state:paused!important}
/* 2 quiz feedback */
.s-quiz .cmeter{height:6px;margin:8px 18px 0;border-radius:3px;background:var(--line);overflow:hidden}
.s-quiz .cmeter i{display:block;height:100%;background:var(--leaf);transform-origin:0 50%;transition:transform 500ms cubic-bezier(.3,.7,.4,1)}
.s-quiz .op.pop{animation:pop192 420ms cubic-bezier(.3,.7,.4,1) both}
.s-quiz .op.pop.half{animation-name:pophalf192}
@keyframes pop192{0%{transform:scale(1)}45%{transform:scale(1.05)}75%{transform:scale(.99)}100%{transform:scale(1)}}
@keyframes pophalf192{0%{transform:scale(1)}45%{transform:scale(1.025)}100%{transform:scale(1)}}
.s-quiz .cchip{display:inline-block;margin-top:6px;padding:3px 10px;border-radius:999px;background:var(--leaf);color:var(--card);font:800 12px var(--f-b);animation:rise192 460ms cubic-bezier(.3,.7,.4,1) 120ms both}
@keyframes rise192{0%{transform:translateY(10px);opacity:0}70%{transform:translateY(-2px);opacity:1}100%{transform:translateY(0);opacity:1}}
.scr.kidsq .op.no{animation:none;border-color:var(--line);background:var(--card);box-shadow:0 4px 0 var(--line);color:inherit}
/* 3 next-pin sheet */
.s-map .sheet.in192{animation:sh192 520ms cubic-bezier(.3,.7,.4,1) both}
.s-map .sheet.in192:not(.done192){will-change:transform}
@keyframes sh192{0%{transform:translateY(100%)}70%{transform:translateY(-8px)}100%{transform:translateY(0)}}
.s-map .sheet.in192 .opt{animation:row192 260ms ease-out both;animation-delay:calc(360ms + var(--i,0) * 70ms)}
@keyframes row192{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
html.kidsm .s-map .sheet.in192 .opt{animation-delay:360ms}
html.kidsm .s-map .sheet .opt{padding-top:12px;padding-bottom:12px}
/* 4 coin arc (pooled, WAAPI) */
.fxc192{position:fixed;left:0;top:0;font-size:18px;z-index:60;pointer-events:none}
.fxc192[hidden]{display:none}
/* 5 calm Hundi */
.hcalm{position:relative;height:150px;display:grid;place-items:center;margin:0 0 12px;cursor:pointer}
.hcalm .hc-glow{position:absolute;width:150px;height:150px;border-radius:50%;background:radial-gradient(closest-side,var(--saffron),transparent);opacity:.15;transform:scale(.8);animation:glow192 900ms ease-out 300ms both}
@keyframes glow192{from{opacity:.15;transform:scale(.8)}to{opacity:.85;transform:scale(1.1)}}
.hcalm .hc-box{position:relative;width:84px;height:84px;display:grid;place-items:center}
.hcalm .hc-diya{font-size:44px;line-height:1}
.hcalm .hc-slot{position:absolute;top:6px;left:27px;width:30px;height:4px;border-radius:2px;background:var(--maroon);opacity:.6}
.hcalm .hc-coin{position:absolute;top:-6px;left:31px;font-size:22px;opacity:0;animation:drop192 1100ms ease-in both}
@keyframes drop192{0%{transform:translateY(-70px);opacity:0}15%{opacity:1}85%{transform:translateY(6px);opacity:1}100%{transform:translateY(10px);opacity:0}}
.hcalm .hc-txt{position:absolute;bottom:0;font:800 16px var(--f-b);color:var(--maroon);animation:fade192 200ms linear 1000ms both}
.hcalm.skipped *{animation-duration:0s!important;animation-delay:0s!important}
/* 8 tier-up rangoli */
.rgl{display:grid;justify-items:center;margin:4px 0 10px;cursor:pointer}
.rgl .rg-ring{fill:none;stroke:var(--maroon);stroke-width:4;stroke-dasharray:1;stroke-dashoffset:1;animation:ring192 900ms ease-out forwards}
@keyframes ring192{to{stroke-dashoffset:0}}
.rgl .rg-dot{fill:var(--saffron-d);opacity:0;transform-box:fill-box;transform-origin:center;animation:dot192 200ms ease-out both;animation-delay:calc(800ms + var(--i) * 25ms)}
.rgl .rg-c{fill:var(--leaf);opacity:0;transform-box:fill-box;transform-origin:center;animation:dot192 200ms ease-out 950ms both}
@keyframes dot192{from{opacity:0;transform:scale(.3)}to{opacity:1;transform:scale(1)}}
.rgl .rg-name{font:800 17px var(--f-b);color:var(--maroon);animation:fade192 200ms linear 1000ms both}
/* 9 trail */
.mapw .tr192{stroke-dasharray:1;stroke-dashoffset:1;animation:ring192 900ms ease-out 200ms forwards}
/* 6 pin -> header */
::view-transition-group(pin192){animation-duration:420ms;animation-timing-function:cubic-bezier(.3,.7,.4,1)}
.amj192{animation:fade192 300ms ease both}
/* reduced motion: final states, 200 ms fades */
@media (prefers-reduced-motion:reduce){
.s-quiz .op.pop,.s-quiz .op.pop.half{animation:fade192 200ms linear both!important}
.s-quiz .cmeter i{transition:none}
.s-quiz .cchip{animation:fade192 200ms linear both!important}
.s-map .sheet.in192{animation:fade192 200ms linear both!important}
.s-map .sheet.in192 .opt{animation:none}
.hcalm .hc-coin{display:none}
.hcalm .hc-glow{animation:fade192 200ms linear both!important;opacity:.85;transform:none}
.hcalm .hc-txt{animation:fade192 200ms linear both!important}
.rgl .rg-ring{animation:none;stroke-dashoffset:0}
.rgl .rg-dot,.rgl .rg-c,.rgl .rg-name{animation:none;opacity:1;transform:none}
.mapw .tr192{animation:none;stroke-dasharray:none;stroke-dashoffset:0}
.mapw .tr192g{display:none}
.amj192{animation:fade192 200ms linear both!important}
}
html.rm .s-quiz .op.pop,html.rm .s-quiz .op.pop.half{animation:fade192 200ms linear both!important}
html.rm .s-quiz .cmeter i{transition:none}
html.rm .s-quiz .cchip{animation:fade192 200ms linear both!important}
html.rm .s-map .sheet.in192{animation:fade192 200ms linear both!important}
html.rm .s-map .sheet.in192 .opt{animation:none}
html.rm .hcalm .hc-coin{display:none}
html.rm .hcalm .hc-glow{animation:fade192 200ms linear both!important;opacity:.85;transform:none}
html.rm .hcalm .hc-txt{animation:fade192 200ms linear both!important}
html.rm .rgl .rg-ring{animation:none;stroke-dashoffset:0}
html.rm .rgl .rg-dot,html.rm .rgl .rg-c,html.rm .rgl .rg-name{animation:none;opacity:1;transform:none}
html.rm .mapw .tr192{animation:none;stroke-dasharray:none;stroke-dashoffset:0}
html.rm .mapw .tr192g{display:none}
html.rm .amj192{animation:fade192 200ms linear both!important}
html.rm .s-res .stamp,html.rm .s-res .stamp.kids{animation:fade191 200ms linear both;animation-duration:200ms!important;animation-delay:0s!important}html.rm .s-res .stamp .ink{display:none;animation:none}html.rm .s-map .sheet{transition:none}
