/* =========================================================
   Bewegungsstufe „Animiert“ — das volle Programm

   Alles hier greift ausschliesslich unter [data-motion="dynamic"].
   In der Stufe „Ohne Animation“ existiert nichts davon, und die
   Systemeinstellung prefers-reduced-motion hebelt es ebenfalls aus.
   ========================================================= */

/* --- Karten neigen sich zum Zeiger (Rest kommt aus theme.js) --- */
[data-motion="dynamic"] .tile,
[data-motion="dynamic"] .dcard,
[data-motion="dynamic"] .scard,
[data-motion="dynamic"] .wcard,
[data-motion="dynamic"] .setcard,
[data-motion="dynamic"] .dex,
[data-motion="dynamic"] .dk,
[data-motion="dynamic"] .stat,
[data-motion="dynamic"] .bignum{
  transform-style:preserve-3d;
  transition:transform .5s var(--ease), box-shadow .5s var(--ease), background-color .4s var(--ease);
}
/* Während der Zeiger darauf liegt, führt JS die Neigung — ohne Nachlauf */
[data-motion="dynamic"] .fx-tilt{transition:box-shadow .3s var(--ease) !important}
[data-motion="dynamic"] .tile.fx-tilt,
[data-motion="dynamic"] .setcard.fx-tilt,
[data-motion="dynamic"] .dex.fx-tilt{box-shadow:var(--shadow)}

/* Lichtreflex auf der geneigten Fläche — in jedem Theme, nicht nur Holo */
[data-motion="dynamic"] .tile,
[data-motion="dynamic"] .setcard,
[data-motion="dynamic"] .dex{position:relative}
[data-motion="dynamic"] .tile::after,
[data-motion="dynamic"] .setcard::after,
[data-motion="dynamic"] .dex::after{
  content:"";position:absolute;inset:0;pointer-events:none;z-index:2;opacity:0;
  border-radius:inherit;
  background:radial-gradient(260px circle at var(--mx,50%) var(--my,50%),
             rgba(255,255,255,.16), transparent 62%);
  transition:opacity .4s var(--ease);
}
[data-motion="dynamic"] .fx-tilt::after{opacity:1}

/* --- Hintergrund folgt der Maus (Variablen aus theme.js) --- */
[data-motion="dynamic"] body::before,
[data-motion="dynamic"] body::after{
  translate:var(--pxr,0px) var(--pyr,0px);
  transition:translate .6s cubic-bezier(.2,.8,.2,1);
}
[data-motion="dynamic"] body::after{
  translate:calc(var(--pxr,0px) * -1.6) calc(var(--pyr,0px) * -1.6);
}

/* --- Inhalte ziehen gestaffelt ein --- */
@keyframes fxIn{
  from{ opacity:0; transform:translateY(22px) scale(.965) }
  to  { opacity:1; transform:none }
}
[data-motion="dynamic"] .grid > *,
[data-motion="dynamic"] .dgrid > *,
[data-motion="dynamic"] .setgrid > *,
[data-motion="dynamic"] .dexgrid > *,
[data-motion="dynamic"] .dkgrid > *,
[data-motion="dynamic"] .bignums > *,
[data-motion="dynamic"] .stats > *{
  animation:fxIn .62s var(--ease) backwards;
}

/* --- Abschnitte erscheinen mit mehr Weg und leichtem Zoom --- */
[data-motion="dynamic"] .rv{transform:translateY(30px) scale(.985)}

/* --- Kräftigere Reaktion beim Überfahren --- */
[data-motion="dynamic"] .btn:hover{transform:translateY(-2px) scale(1.02)}
[data-motion="dynamic"] .btn:active{transform:translateY(0) scale(.985)}
[data-motion="dynamic"] .chip:hover{transform:translateY(-2px)}
[data-motion="dynamic"] nav button::after{transition:transform .42s cubic-bezier(.2,1.3,.3,1)}
[data-motion="dynamic"] .panel{transition:transform .5s var(--ease), box-shadow .5s var(--ease)}
[data-motion="dynamic"] .panel:hover{transform:translateY(-3px);box-shadow:var(--shadow-sm)}

/* --- Modal kommt schwungvoller --- */
[data-motion="dynamic"] .modal{animation:fxRise .62s var(--ease)}
@keyframes fxRise{ from{ opacity:0; transform:translateY(34px) scale(.972) } }

/* Touchgeräte: Neigen und Reflex ergeben ohne Zeiger keinen Sinn */
@media(pointer:coarse){
  [data-motion="dynamic"] .tile::after,
  [data-motion="dynamic"] .setcard::after,
  [data-motion="dynamic"] .dex::after{display:none}
}
@media(prefers-reduced-motion:reduce){
  [data-motion="dynamic"] .grid > *,
  [data-motion="dynamic"] .dgrid > *,
  [data-motion="dynamic"] .setgrid > *,
  [data-motion="dynamic"] .dexgrid > *,
  [data-motion="dynamic"] .dkgrid > *,
  [data-motion="dynamic"] .bignums > *,
  [data-motion="dynamic"] .stats > *{animation:none}
  [data-motion="dynamic"] body::before,
  [data-motion="dynamic"] body::after{translate:none}
}

/* Staffelung: jedes weitere Element startet 38 ms spaeter */
[data-motion="dynamic"] .grid > *:nth-child(1),[data-motion="dynamic"] .dgrid > *:nth-child(1),[data-motion="dynamic"] .setgrid > *:nth-child(1),[data-motion="dynamic"] .dexgrid > *:nth-child(1),[data-motion="dynamic"] .dkgrid > *:nth-child(1),[data-motion="dynamic"] .bignums > *:nth-child(1),[data-motion="dynamic"] .stats > *:nth-child(1){animation-delay:0s}
[data-motion="dynamic"] .grid > *:nth-child(2),[data-motion="dynamic"] .dgrid > *:nth-child(2),[data-motion="dynamic"] .setgrid > *:nth-child(2),[data-motion="dynamic"] .dexgrid > *:nth-child(2),[data-motion="dynamic"] .dkgrid > *:nth-child(2),[data-motion="dynamic"] .bignums > *:nth-child(2),[data-motion="dynamic"] .stats > *:nth-child(2){animation-delay:0.038s}
[data-motion="dynamic"] .grid > *:nth-child(3),[data-motion="dynamic"] .dgrid > *:nth-child(3),[data-motion="dynamic"] .setgrid > *:nth-child(3),[data-motion="dynamic"] .dexgrid > *:nth-child(3),[data-motion="dynamic"] .dkgrid > *:nth-child(3),[data-motion="dynamic"] .bignums > *:nth-child(3),[data-motion="dynamic"] .stats > *:nth-child(3){animation-delay:0.076s}
[data-motion="dynamic"] .grid > *:nth-child(4),[data-motion="dynamic"] .dgrid > *:nth-child(4),[data-motion="dynamic"] .setgrid > *:nth-child(4),[data-motion="dynamic"] .dexgrid > *:nth-child(4),[data-motion="dynamic"] .dkgrid > *:nth-child(4),[data-motion="dynamic"] .bignums > *:nth-child(4),[data-motion="dynamic"] .stats > *:nth-child(4){animation-delay:0.114s}
[data-motion="dynamic"] .grid > *:nth-child(5),[data-motion="dynamic"] .dgrid > *:nth-child(5),[data-motion="dynamic"] .setgrid > *:nth-child(5),[data-motion="dynamic"] .dexgrid > *:nth-child(5),[data-motion="dynamic"] .dkgrid > *:nth-child(5),[data-motion="dynamic"] .bignums > *:nth-child(5),[data-motion="dynamic"] .stats > *:nth-child(5){animation-delay:0.152s}
[data-motion="dynamic"] .grid > *:nth-child(6),[data-motion="dynamic"] .dgrid > *:nth-child(6),[data-motion="dynamic"] .setgrid > *:nth-child(6),[data-motion="dynamic"] .dexgrid > *:nth-child(6),[data-motion="dynamic"] .dkgrid > *:nth-child(6),[data-motion="dynamic"] .bignums > *:nth-child(6),[data-motion="dynamic"] .stats > *:nth-child(6){animation-delay:0.19s}
[data-motion="dynamic"] .grid > *:nth-child(7),[data-motion="dynamic"] .dgrid > *:nth-child(7),[data-motion="dynamic"] .setgrid > *:nth-child(7),[data-motion="dynamic"] .dexgrid > *:nth-child(7),[data-motion="dynamic"] .dkgrid > *:nth-child(7),[data-motion="dynamic"] .bignums > *:nth-child(7),[data-motion="dynamic"] .stats > *:nth-child(7){animation-delay:0.228s}
[data-motion="dynamic"] .grid > *:nth-child(8),[data-motion="dynamic"] .dgrid > *:nth-child(8),[data-motion="dynamic"] .setgrid > *:nth-child(8),[data-motion="dynamic"] .dexgrid > *:nth-child(8),[data-motion="dynamic"] .dkgrid > *:nth-child(8),[data-motion="dynamic"] .bignums > *:nth-child(8),[data-motion="dynamic"] .stats > *:nth-child(8){animation-delay:0.266s}
[data-motion="dynamic"] .grid > *:nth-child(9),[data-motion="dynamic"] .dgrid > *:nth-child(9),[data-motion="dynamic"] .setgrid > *:nth-child(9),[data-motion="dynamic"] .dexgrid > *:nth-child(9),[data-motion="dynamic"] .dkgrid > *:nth-child(9),[data-motion="dynamic"] .bignums > *:nth-child(9),[data-motion="dynamic"] .stats > *:nth-child(9){animation-delay:0.304s}
[data-motion="dynamic"] .grid > *:nth-child(10),[data-motion="dynamic"] .dgrid > *:nth-child(10),[data-motion="dynamic"] .setgrid > *:nth-child(10),[data-motion="dynamic"] .dexgrid > *:nth-child(10),[data-motion="dynamic"] .dkgrid > *:nth-child(10),[data-motion="dynamic"] .bignums > *:nth-child(10),[data-motion="dynamic"] .stats > *:nth-child(10){animation-delay:0.342s}
[data-motion="dynamic"] .grid > *:nth-child(11),[data-motion="dynamic"] .dgrid > *:nth-child(11),[data-motion="dynamic"] .setgrid > *:nth-child(11),[data-motion="dynamic"] .dexgrid > *:nth-child(11),[data-motion="dynamic"] .dkgrid > *:nth-child(11),[data-motion="dynamic"] .bignums > *:nth-child(11),[data-motion="dynamic"] .stats > *:nth-child(11){animation-delay:0.38s}
[data-motion="dynamic"] .grid > *:nth-child(12),[data-motion="dynamic"] .dgrid > *:nth-child(12),[data-motion="dynamic"] .setgrid > *:nth-child(12),[data-motion="dynamic"] .dexgrid > *:nth-child(12),[data-motion="dynamic"] .dkgrid > *:nth-child(12),[data-motion="dynamic"] .bignums > *:nth-child(12),[data-motion="dynamic"] .stats > *:nth-child(12){animation-delay:0.418s}
[data-motion="dynamic"] .grid > *:nth-child(13),[data-motion="dynamic"] .dgrid > *:nth-child(13),[data-motion="dynamic"] .setgrid > *:nth-child(13),[data-motion="dynamic"] .dexgrid > *:nth-child(13),[data-motion="dynamic"] .dkgrid > *:nth-child(13),[data-motion="dynamic"] .bignums > *:nth-child(13),[data-motion="dynamic"] .stats > *:nth-child(13){animation-delay:0.456s}
[data-motion="dynamic"] .grid > *:nth-child(14),[data-motion="dynamic"] .dgrid > *:nth-child(14),[data-motion="dynamic"] .setgrid > *:nth-child(14),[data-motion="dynamic"] .dexgrid > *:nth-child(14),[data-motion="dynamic"] .dkgrid > *:nth-child(14),[data-motion="dynamic"] .bignums > *:nth-child(14),[data-motion="dynamic"] .stats > *:nth-child(14){animation-delay:0.494s}
[data-motion="dynamic"] .grid > *:nth-child(15),[data-motion="dynamic"] .dgrid > *:nth-child(15),[data-motion="dynamic"] .setgrid > *:nth-child(15),[data-motion="dynamic"] .dexgrid > *:nth-child(15),[data-motion="dynamic"] .dkgrid > *:nth-child(15),[data-motion="dynamic"] .bignums > *:nth-child(15),[data-motion="dynamic"] .stats > *:nth-child(15){animation-delay:0.532s}
[data-motion="dynamic"] .grid > *:nth-child(16),[data-motion="dynamic"] .dgrid > *:nth-child(16),[data-motion="dynamic"] .setgrid > *:nth-child(16),[data-motion="dynamic"] .dexgrid > *:nth-child(16),[data-motion="dynamic"] .dkgrid > *:nth-child(16),[data-motion="dynamic"] .bignums > *:nth-child(16),[data-motion="dynamic"] .stats > *:nth-child(16){animation-delay:0.57s}
[data-motion="dynamic"] .grid > *:nth-child(17),[data-motion="dynamic"] .dgrid > *:nth-child(17),[data-motion="dynamic"] .setgrid > *:nth-child(17),[data-motion="dynamic"] .dexgrid > *:nth-child(17),[data-motion="dynamic"] .dkgrid > *:nth-child(17),[data-motion="dynamic"] .bignums > *:nth-child(17),[data-motion="dynamic"] .stats > *:nth-child(17){animation-delay:0.608s}
[data-motion="dynamic"] .grid > *:nth-child(18),[data-motion="dynamic"] .dgrid > *:nth-child(18),[data-motion="dynamic"] .setgrid > *:nth-child(18),[data-motion="dynamic"] .dexgrid > *:nth-child(18),[data-motion="dynamic"] .dkgrid > *:nth-child(18),[data-motion="dynamic"] .bignums > *:nth-child(18),[data-motion="dynamic"] .stats > *:nth-child(18){animation-delay:0.646s}
[data-motion="dynamic"] .grid > *:nth-child(19),[data-motion="dynamic"] .dgrid > *:nth-child(19),[data-motion="dynamic"] .setgrid > *:nth-child(19),[data-motion="dynamic"] .dexgrid > *:nth-child(19),[data-motion="dynamic"] .dkgrid > *:nth-child(19),[data-motion="dynamic"] .bignums > *:nth-child(19),[data-motion="dynamic"] .stats > *:nth-child(19){animation-delay:0.684s}
[data-motion="dynamic"] .grid > *:nth-child(20),[data-motion="dynamic"] .dgrid > *:nth-child(20),[data-motion="dynamic"] .setgrid > *:nth-child(20),[data-motion="dynamic"] .dexgrid > *:nth-child(20),[data-motion="dynamic"] .dkgrid > *:nth-child(20),[data-motion="dynamic"] .bignums > *:nth-child(20),[data-motion="dynamic"] .stats > *:nth-child(20){animation-delay:0.722s}
[data-motion="dynamic"] .grid > *:nth-child(21),[data-motion="dynamic"] .dgrid > *:nth-child(21),[data-motion="dynamic"] .setgrid > *:nth-child(21),[data-motion="dynamic"] .dexgrid > *:nth-child(21),[data-motion="dynamic"] .dkgrid > *:nth-child(21),[data-motion="dynamic"] .bignums > *:nth-child(21),[data-motion="dynamic"] .stats > *:nth-child(21){animation-delay:0.76s}
[data-motion="dynamic"] .grid > *:nth-child(22),[data-motion="dynamic"] .dgrid > *:nth-child(22),[data-motion="dynamic"] .setgrid > *:nth-child(22),[data-motion="dynamic"] .dexgrid > *:nth-child(22),[data-motion="dynamic"] .dkgrid > *:nth-child(22),[data-motion="dynamic"] .bignums > *:nth-child(22),[data-motion="dynamic"] .stats > *:nth-child(22){animation-delay:0.798s}
[data-motion="dynamic"] .grid > *:nth-child(23),[data-motion="dynamic"] .dgrid > *:nth-child(23),[data-motion="dynamic"] .setgrid > *:nth-child(23),[data-motion="dynamic"] .dexgrid > *:nth-child(23),[data-motion="dynamic"] .dkgrid > *:nth-child(23),[data-motion="dynamic"] .bignums > *:nth-child(23),[data-motion="dynamic"] .stats > *:nth-child(23){animation-delay:0.836s}
[data-motion="dynamic"] .grid > *:nth-child(24),[data-motion="dynamic"] .dgrid > *:nth-child(24),[data-motion="dynamic"] .setgrid > *:nth-child(24),[data-motion="dynamic"] .dexgrid > *:nth-child(24),[data-motion="dynamic"] .dkgrid > *:nth-child(24),[data-motion="dynamic"] .bignums > *:nth-child(24),[data-motion="dynamic"] .stats > *:nth-child(24){animation-delay:0.874s}
[data-motion="dynamic"] .grid > *:nth-child(25),[data-motion="dynamic"] .dgrid > *:nth-child(25),[data-motion="dynamic"] .setgrid > *:nth-child(25),[data-motion="dynamic"] .dexgrid > *:nth-child(25),[data-motion="dynamic"] .dkgrid > *:nth-child(25),[data-motion="dynamic"] .bignums > *:nth-child(25),[data-motion="dynamic"] .stats > *:nth-child(25){animation-delay:0.912s}
[data-motion="dynamic"] .grid > *:nth-child(26),[data-motion="dynamic"] .dgrid > *:nth-child(26),[data-motion="dynamic"] .setgrid > *:nth-child(26),[data-motion="dynamic"] .dexgrid > *:nth-child(26),[data-motion="dynamic"] .dkgrid > *:nth-child(26),[data-motion="dynamic"] .bignums > *:nth-child(26),[data-motion="dynamic"] .stats > *:nth-child(26){animation-delay:0.95s}
[data-motion="dynamic"] .grid > *:nth-child(27),[data-motion="dynamic"] .dgrid > *:nth-child(27),[data-motion="dynamic"] .setgrid > *:nth-child(27),[data-motion="dynamic"] .dexgrid > *:nth-child(27),[data-motion="dynamic"] .dkgrid > *:nth-child(27),[data-motion="dynamic"] .bignums > *:nth-child(27),[data-motion="dynamic"] .stats > *:nth-child(27){animation-delay:0.988s}
[data-motion="dynamic"] .grid > *:nth-child(28),[data-motion="dynamic"] .dgrid > *:nth-child(28),[data-motion="dynamic"] .setgrid > *:nth-child(28),[data-motion="dynamic"] .dexgrid > *:nth-child(28),[data-motion="dynamic"] .dkgrid > *:nth-child(28),[data-motion="dynamic"] .bignums > *:nth-child(28),[data-motion="dynamic"] .stats > *:nth-child(28){animation-delay:1.026s}
[data-motion="dynamic"] .grid > *:nth-child(29),[data-motion="dynamic"] .dgrid > *:nth-child(29),[data-motion="dynamic"] .setgrid > *:nth-child(29),[data-motion="dynamic"] .dexgrid > *:nth-child(29),[data-motion="dynamic"] .dkgrid > *:nth-child(29),[data-motion="dynamic"] .bignums > *:nth-child(29),[data-motion="dynamic"] .stats > *:nth-child(29){animation-delay:1.064s}
[data-motion="dynamic"] .grid > *:nth-child(30),[data-motion="dynamic"] .dgrid > *:nth-child(30),[data-motion="dynamic"] .setgrid > *:nth-child(30),[data-motion="dynamic"] .dexgrid > *:nth-child(30),[data-motion="dynamic"] .dkgrid > *:nth-child(30),[data-motion="dynamic"] .bignums > *:nth-child(30),[data-motion="dynamic"] .stats > *:nth-child(30){animation-delay:1.102s}
