/* Shared lightweight decorative game motion; each edition maps its own palette. */
.game-motion{display:flex;align-items:center;justify-content:center;width:100%;max-width:420px;height:162px;justify-self:center;pointer-events:none;user-select:none}
.game-motion svg{display:block;flex-shrink:0;width:100%;height:100%;overflow:visible;fill:none;stroke-width:1.8}
.game-orbit{stroke:var(--line);stroke-dasharray:3 8;stroke-width:1.1}
.game-orbit.inner{stroke-dasharray:none;opacity:.5}
.game-spark{stroke:var(--accent);stroke-linecap:round;opacity:.7}
.game-dot{fill:var(--accent);stroke:none;opacity:.35}
.game-tile>rect{fill:var(--panel-soft);stroke:var(--line)}
.game-puzzle>path{fill:#e9c46a;stroke:#d3a441;stroke-width:1.1}
.game-arcade>path{fill:#8ab8f1;stroke:none}
.game-arcade .arcade-eyes{stroke:var(--panel);stroke-width:3.5;stroke-linecap:square;fill:none}
.game-arcade .arcade-feet{stroke:#8ab8f1;stroke-width:3;fill:none;stroke-linecap:round}
.controller-shadow{fill:#00000012;stroke:none}
.controller-body{fill:#163f45;stroke:#2d6668;stroke-width:1.7}
.controller-line{stroke:#a7f3d0;stroke-width:9;stroke-linecap:round}
.controller-button{stroke:none}
.controller-button.button-a{fill:#f2c572}
.controller-button.button-b{fill:#70d7c1}
.controller-center{stroke:#58978f;stroke-width:4;stroke-linecap:round}
.controller-highlight{stroke:#69c3ad;stroke-linecap:round;opacity:.28}
.game-controller{animation:game-controller-settle 4.8s ease-in-out both;transform-origin:67px 60px}
.game-puzzle{animation:game-tile-settle 4.8s ease-in-out both}
.game-arcade{animation:game-tile-settle 4.8s ease-in-out reverse both}
.spark-one{animation:game-spark-settle 4.8s ease-in-out both;transform-origin:56px 95px}
.spark-two{animation:game-spark-settle 4.8s ease-in-out reverse both;transform-origin:350px 132px}
@keyframes game-controller-settle{0%,50%,100%{transform:translateY(0) rotate(0)}25%{transform:translateY(-5px) rotate(2deg)}75%{transform:translateY(-3px) rotate(-1deg)}}
@keyframes game-tile-settle{0%,50%,100%{transform:translateY(0)}25%{transform:translateY(-7px)}75%{transform:translateY(-4px)}}
@keyframes game-spark-settle{0%,50%,100%{transform:scale(1);opacity:.7}25%,75%{transform:scale(.7);opacity:.35}}

@media(prefers-reduced-motion:reduce){.game-motion *{animation:none!important;transition:none!important}}
