/* ==========================================================================
   AUREN — Product Identity v1 · TOKENS (PASS 1, 2026-09-03)
   ==========================================================================
   Fonte de verdade visual do produto. O Brand Book AUREN é regra de
   produto: "Technology in the background. Guidance in the foreground."
   Premium wellness + inteligência + simplicidade.

   REGRAS
   - Este é o ÚNICO arquivo com cor em hexadecimal. Todo o resto consome
     tokens (app/tests/test_product_identity.py bloqueia hex novo fora
     daqui e mantém uma allowlist decrescente para o legado).
   - Paleta oficial: cinco cores. Derivadas existem só com função
     semântica clara, sempre a partir da paleta, e estão marcadas como
     [derivada] com a regra de derivação.
   - Warm White é a sensação geral. Soft Black é texto e ação forte.
     Sage orienta. Gold marca progressão, conquista, precisão e momentos
     especiais — nunca é botão primário genérico.
   - Display: GFS Didot (só regular e itálico existem — nunca simular
     bold). Funcional: Open Sans. Editorial na emoção, funcional na
     informação.
   ========================================================================== */

:root {
  /* --- paleta oficial --------------------------------------------------- */
  --auren-warm-white: #F7F6F2;
  --auren-soft-black: #171716;
  --auren-stone: #DAD8D1;
  --auren-sage: #97A692;
  --auren-gold: #BE9D67;

  /* --- superfícies -------------------------------------------------------- */
  --auren-bg: var(--auren-warm-white);          /* chão de toda tela */
  --auren-surface: #FFFFFF;                     /* [derivada] branco puro, só para superfícies elevadas, nunca fundo dominante */
  --auren-surface-quiet: #F1EFEA;               /* [derivada] warm white escurecido 3% — agrupamento sem cara de cartão */
  --auren-surface-inverse: var(--auren-soft-black); /* câmera, descanso */
  --auren-surface-warm: #F2EEE6;                /* [derivada] warm white puxado 8% para gold — superfície quente de coaching (ajustes, dica), nunca fundo de tela */

  /* --- texto -------------------------------------------------------------- */
  --auren-text: var(--auren-soft-black);
  --auren-text-secondary: #5C5B57;              /* [derivada] soft black a 70% sobre warm white */
  --auren-text-muted: #8A8985;                  /* [derivada] soft black a 50% sobre warm white — só legendas, nunca corpo */
  --auren-text-on-inverse: var(--auren-warm-white);

  /* --- bordas ------------------------------------------------------------- */
  --auren-border: var(--auren-stone);
  --auren-border-strong: #BFBDB5;               /* [derivada] stone escurecido 12% — foco de campo, divisores fortes */
  --auren-border-w: 1px;

  /* --- semântica ---------------------------------------------------------- */
  --auren-action: var(--auren-soft-black);      /* ação forte, contraste */
  --auren-action-hover: #2E2E2C;                /* [derivada] soft black clareado 9% — hover/press do botão primário */
  --auren-guidance: var(--auren-sage);          /* orientação, feedback positivo calmo, item ativo */
  --auren-guidance-soft: #E6EBE4;               /* [derivada] sage a 20% sobre warm white */
  --auren-guidance-text: #5F6E5B;               /* [derivada] sage escurecido 40% — texto sobre guidance-soft com contraste AA */
  --auren-moment: var(--auren-gold);            /* progressão, conquista, precisão, momento especial */
  --auren-moment-soft: #F2EADB;                 /* [derivada] gold a 20% sobre warm white */
  --auren-moment-text: #7A6238;                 /* [derivada] gold escurecido 45% — texto sobre moment-soft com contraste AA */
  --auren-success: var(--auren-guidance);
  --auren-success-soft: var(--auren-guidance-soft);
  --auren-success-text: var(--auren-guidance-text);
  --auren-warning: #8A6A3A;                     /* [derivada] gold escurecido 40% — aviso, nunca vermelho puro */
  --auren-warning-soft: #F4EBDD;                /* [derivada] gold a 15% sobre warm white */
  --auren-error: #8C4B45;                       /* [derivada] terracota escura: soft black misturado a gold e vermelho terroso, sem neon */
  --auren-error-soft: #F3E6E3;                  /* [derivada] error a 12% sobre warm white */
  --auren-disabled-bg: var(--auren-stone);
  --auren-disabled-text: var(--auren-text-muted);
  --auren-focus: var(--auren-sage);

  /* --- tipografia --------------------------------------------------------- */
  --auren-font-display: "GFS Didot", "Didot", "Bodoni MT", Georgia, serif;
  --auren-font-ui: "Open Sans", system-ui, -apple-system, "Segoe UI", sans-serif;
  --auren-size-xs: 0.75rem;
  --auren-size-sm: 0.875rem;
  --auren-size-md: 1rem;
  --auren-size-lg: 1.25rem;
  --auren-size-xl: 1.625rem;
  --auren-size-2xl: 2.125rem;
  --auren-size-3xl: 2.75rem;
  /* PASS 2C — escalas medidas nos mocks (390px canônico): headline das
     telas lineares, saudação da Home, pergunta de um momento, Safety. */
  --auren-size-headline: 2.375rem;              /* 38px */
  --auren-size-hero: 2.5rem;                    /* 40px */
  --auren-size-question: 1.5rem;                /* 24px */
  --auren-size-safety: 1.75rem;                 /* 28px */
  --auren-size-display: 3rem;                   /* 48px — headline display de auth ("Entrar."), do target */
  --auren-size-timer: 4.5rem;
  --auren-lh-tight: 1.1;
  --auren-lh-snug: 1.25;
  --auren-lh-body: 1.55;
  --auren-weight-regular: 400;
  --auren-weight-medium: 500;
  --auren-weight-semibold: 600;
  --auren-tracking-label: 0.08em;
  --auren-tracking-display: -0.01em;
  --auren-tracking-wordmark: 0.3em;

  /* --- espaço ------------------------------------------------------------- */
  --auren-space-1: 0.25rem;
  --auren-space-2: 0.5rem;
  --auren-space-3: 0.75rem;
  --auren-space-4: 1rem;
  --auren-space-5: 1.5rem;
  --auren-space-6: 2rem;
  --auren-space-7: 3rem;
  --auren-space-8: 4rem;

  /* --- forma -------------------------------------------------------------- */
  --auren-radius-sm: 8px;
  --auren-radius-md: 14px;
  --auren-radius-lg: 22px;
  --auren-radius-pill: 999px;
  --auren-shadow-sm: 0 1px 2px rgba(23, 23, 22, 0.05);
  --auren-shadow-md: 0 4px 16px rgba(23, 23, 22, 0.06);

  /* --- layout ------------------------------------------------------------- */
  --auren-container: 30rem;
  --auren-container-wide: 40rem;
  --auren-gutter: 1.5rem;                       /* 24px — gutter dos mocks (PASS 2C) */
  --auren-safe-bottom: env(safe-area-inset-bottom, 0px);
  --auren-touch: 3rem;                          /* 48px: alvo mínimo de toque */
  --auren-nav-height: 4rem;

  /* --- movimento ---------------------------------------------------------- */
  --auren-motion-fast: 120ms;                   /* estados de botão e chip */
  --auren-motion-base: 200ms;                   /* aparecer/sumir de mensagens e listas */
  --auren-motion-slow: 320ms;                   /* transição de tela, câmera, descanso */
  --auren-ease: cubic-bezier(0.2, 0, 0, 1);
  --auren-ease-out: cubic-bezier(0, 0, 0.2, 1);
}

/* Calma é também não se mover quando a pessoa pediu para não se mover. */
@media (prefers-reduced-motion: reduce) {
  :root {
    --auren-motion-fast: 0ms;
    --auren-motion-base: 0ms;
    --auren-motion-slow: 0ms;
  }
  *,
  *::before,
  *::after {
    transition-duration: 0ms !important;
    animation-duration: 0ms !important;
    scroll-behavior: auto !important;
  }
}
