:root{
  --dur-fast:140ms;
  --dur-base:220ms;
  --dur-slow:380ms;
  --dur-reveal:640ms;
  --ease-soft:cubic-bezier(.22,.61,.36,1);
  --ease-lift:cubic-bezier(.16,1,.3,1);
  --stagger:70ms;
  --parallax-back:.08;
  --parallax-mid:.14;
  --parallax-fore:.22;
  --hover-lift:-2px;
  --press-scale:.985;
  --transition-control:background var(--dur-fast) var(--ease-soft),color var(--dur-fast) var(--ease-soft),border-color var(--dur-fast) var(--ease-soft),box-shadow var(--dur-base) var(--ease-soft),transform var(--dur-base) var(--ease-lift);
}
@keyframes xl-rise{from{opacity:0;transform:translate3d(0,14px,0)}to{opacity:1;transform:none}}
@keyframes xl-fade{from{opacity:0}to{opacity:1}}
@keyframes xl-cell{from{opacity:0;transform:translate3d(0,18px,0)}to{opacity:1;transform:none}}
@keyframes xl-pulse{
  0%,100%{outline-color:var(--select-stroke);box-shadow:inset 0 0 0 0 transparent}
  50%{outline-color:var(--xl-500);box-shadow:inset 0 0 0 1px rgba(33,115,70,.28),0 0 0 3px rgba(33,115,70,.16)}
}
@media (prefers-reduced-motion:reduce){:root{
  --dur-fast:1ms;--dur-base:1ms;--dur-slow:1ms;--dur-reveal:1ms;--stagger:0ms;--hover-lift:0px;
}}
