/* V16 interaction signals. Overlay children leave the pieces and their hit targets in place. */
html[data-interaction-motion=v16] .game-heading{position:relative}
.motion-progress-line{position:absolute;left:0;right:0;bottom:5px;height:2px;overflow:hidden;background:#dbe2cf66;pointer-events:none}
.motion-progress-line>span{display:block;width:100%;height:100%;background:#9bad80;scale:0 1;transform-origin:left;transition:scale 470ms cubic-bezier(.2,.7,.2,1)}
.motion-progress-reset>span{transition:none}
.motion-progress-gain>span{animation:motion-progress-ink 620ms ease-out}
.motion-piece-ring,.motion-accept-stroke,.motion-letter-halo{position:absolute!important;display:block;pointer-events:none!important;user-select:none;margin:0!important;padding:0!important;z-index:7}
.motion-piece-ring{inset:2px;border:1.5px solid #d5b67a;border-radius:2px;background:transparent;animation:motion-piece-touch 430ms ease-out both}
.motion-piece-return{border-color:#a6b98d;border-style:dashed;animation:motion-piece-return 380ms ease-out both}
.motion-accept-stroke{left:8px;right:8px;bottom:5px;height:2px;border:0;background:#b69b61;transform-origin:left;animation:motion-piece-accept 620ms cubic-bezier(.2,.7,.2,1) both}
html[data-interaction-motion=v16] :is(.path-word-slot,.grid-answer-slot,.blank-slot){position:relative}
html[data-interaction-motion=v16] :is(.path-word-slot,.grid-answer-slot,.blank-slot)>.motion-accept-stroke{left:2px;right:2px;bottom:0}
html[data-interaction-motion=v16] .cell>.motion-accept-stroke,html[data-interaction-motion=v16] .pair-card>.motion-accept-stroke{background:#d9bf82;bottom:7px}
html[data-interaction-motion=v16] .order-line>.motion-accept-stroke{left:14px;right:14px;bottom:3px}
html[data-interaction-motion=v16] #order-lines .order-line.is-dragging{box-shadow:0 7px 18px #244a401c,inset 3px 0 #a3b48d}
html[data-interaction-motion=v16] #order-lines .handle{transition:color 100ms,scale 100ms}
html[data-interaction-motion=v16] #order-lines .order-line.is-dragging .handle{color:#a58249;scale:1.12}
html[data-interaction-motion=v16] #flower-keyword{position:relative;isolation:isolate}
.motion-letter-halo{left:50%;top:.06em;width:1.16em;height:1.16em;margin-left:-.58em!important;border:1px solid #b79b61;border-radius:50%;z-index:-1;animation:motion-letter-orbit 600ms ease-out both}
html[data-interaction-motion=v16] #flower-input.motion-keyword-met:not([aria-invalid=true]){border-color:#97ac7c;box-shadow:inset 0 -1px #97ac7c55}
html[data-interaction-motion=v16] .combo-keywords::before{transition:color 160ms,text-shadow 200ms}
html[data-interaction-motion=v16] .combo-keywords.motion-linked::before{color:#a3793f;text-shadow:0 0 12px #d1b87a44}
html[data-interaction-motion=v16] .combo-keyword>.motion-accept-stroke{left:6px;right:6px;bottom:5px;background:#d4b77c}
#interaction-motion-layer{position:fixed;inset:0;z-index:45;pointer-events:none;overflow:hidden}
.motion-score-delta{position:absolute;display:block;color:#8a9e68;font:12px/1.4 var(--sans);white-space:nowrap;text-shadow:0 1px var(--paper);animation:motion-score-rise 700ms ease-out both}
.motion-score-delta.is-negative{color:#b16b51}
.motion-status-arrival{position:relative;animation:motion-status-light 390ms ease-out both}
.motion-status-arrival::before{content:"";position:absolute;left:-7px;top:4px;bottom:4px;width:2px;background:#a6b886;animation:motion-status-marker 390ms ease-out both}
.motion-status-error::before{background:#b47a5f}
@keyframes motion-progress-ink{0%{background:#d1b577;filter:brightness(1.15)}100%{background:#9bad80;filter:none}}
@keyframes motion-piece-touch{0%{opacity:.8;scale:.94}65%{opacity:.35}100%{opacity:0;scale:1.035}}
@keyframes motion-piece-return{0%{opacity:.65;scale:1.035}100%{opacity:0;scale:.94}}
@keyframes motion-piece-accept{0%{opacity:.85;scale:0 1}55%{opacity:.75;scale:1 1}100%{opacity:0;scale:1 1}}
@keyframes motion-letter-orbit{0%{opacity:.75;scale:.8;rotate:-12deg}100%{opacity:0;scale:1.12;rotate:8deg}}
@keyframes motion-score-rise{0%{opacity:0;translate:0 5px}20%{opacity:1}100%{opacity:0;translate:0 -17px}}
@keyframes motion-status-light{from{opacity:.55}to{opacity:1}}
@keyframes motion-status-marker{from{scale:1 .35;opacity:.4}to{scale:1 1;opacity:1}}
html[data-motion=off] :is(.motion-piece-ring,.motion-accept-stroke,.motion-letter-halo,.motion-score-delta){display:none!important}
@media(prefers-reduced-motion:reduce){.motion-piece-ring,.motion-accept-stroke,.motion-letter-halo,.motion-score-delta{display:none!important}.motion-progress-line>span{transition:none!important}}
