/* Weex Design System — Motion Tokens */
/* PROPOSTO — não havia especificação de motion no produto. Direção:        */
/* comemorações presentes mas CONTIDAS (contexto corporativo SIPAT).         */
/* Dois territórios: participante ≈ Duolingo (lúdico) · organizador ≈ Notion */
/* (sóbrio). Base do produto: 200ms ease-in-out, hover scale leve.           */

:root {

  /* ── DURAÇÕES (ms) — instant 80 · fast 140 · base 200 · slow 320 · celebrate 600 ── */
  --duration-instant:   80ms;  /* @kind other */
  --duration-fast:     140ms;  /* @kind other */
  --duration-base:     200ms;  /* @kind other */
  --duration-slow:     320ms;  /* @kind other */
  --duration-celebrate: 600ms; /* @kind other */
  /* preenchimento de barra/donut (load) — intencionalmente acima de celebrate */
  --duration-fill:      800ms; /* @kind other */

  /* ── EASINGS — standard(geral) decelerate(entrada) accelerate(saída) spring(celebração) ── */
  --ease-standard:    cubic-bezier(0.4, 0, 0.2, 1);     /* @kind other */
  --ease-decelerate:  cubic-bezier(0, 0, 0.2, 1);       /* @kind other */
  --ease-accelerate:  cubic-bezier(0.4, 0, 1, 1);       /* @kind other */
  --ease-emphasized:  cubic-bezier(0.2, 0, 0, 1);       /* @kind other */
  --ease-spring:      cubic-bezier(0.34, 1.4, 0.64, 1); /* @kind other */

  /* ── PRESETS DE INTERAÇÃO — press 0.97 · hover-lift -2px · lift forte -5px + escala 1.05 ── */
  --press-scale:  0.97;  /* @kind other */
  --hover-lift:   -2px;  /* @kind other */
  /* Lift FORTE: o hover-estrela (TileAtividade e qualquer alvo lúdico e quadrado que
     convida ao clique). Também é o par usado no amortecimento de movimento reduzido —
     lá cai a escala e sobra --hover-lift. Ver a régua em guidelines/movimento. */
  --hover-lift-strong: -5px;  /* @kind other */
  --hover-scale:        1.05;  /* @kind other */
}

/* ── KEYFRAMES DE CELEBRAÇÃO (contidas) ── */
@keyframes weex-pop {
  0%   { transform: scale(0.85); opacity: 0; }
  60%  { transform: scale(1.04); opacity: 1; }
  100% { transform: scale(1); }
}
@keyframes weex-reveal {
  from { transform: scale(0.92) translateY(6px); opacity: 0; }
  to   { transform: scale(1) translateY(0); opacity: 1; }
}
@keyframes weex-flame {            /* pulso do streak — sutil, não pisca */
  0%, 100% { transform: scale(1); }
  50%      { transform: scale(1.08); }
}
@keyframes weex-fill {             /* preenchimento de barra/termômetro */
  from { transform: scaleX(0); }
  to   { transform: scaleX(1); }
}
@keyframes weex-fade-up {
  from { opacity: 0; transform: translateY(8px); }
  to   { opacity: 1; transform: translateY(0); }
}
