/* Trainer Connect — Design Tokens
   Direção: Sport Performance Premium · Dark-first · Acento branco signature */

:root {
  /* ——— Neutros (escala fria, OKLCH) ——— */
  --tc-bg-0: #050506;          /* page bg */
  --tc-bg-1: #0a0b0d;          /* surface */
  --tc-bg-2: #111215;          /* card */
  --tc-bg-3: #181a1e;          /* card-elevated / hover */
  --tc-bg-4: #232529;          /* input bg */
  --tc-line-1: #1d1f23;        /* divider subtle */
  --tc-line-2: #2a2d33;        /* border */
  --tc-line-3: #3a3e45;        /* border-strong / focus */

  --tc-fg-0: #f7f8fa;          /* primary text */
  --tc-fg-1: #c9ccd2;          /* secondary */
  --tc-fg-2: #8b8f97;          /* tertiary */
  --tc-fg-3: #5b5f67;          /* quaternary / disabled */

  /* ——— Acento (signature white) ——— */
  --tc-accent: #ffffff;
  --tc-accent-fg: #050506;     /* fg ON accent */
  --tc-accent-soft: rgba(255,255,255,0.08);
  --tc-accent-line: rgba(255,255,255,0.16);

  /* ——— Sinalização (semântica) ——— */
  --tc-success: #4ade80;
  --tc-success-bg: rgba(74,222,128,0.12);
  --tc-success-line: rgba(74,222,128,0.28);

  --tc-warn: #fbbf24;
  --tc-warn-bg: rgba(251,191,36,0.12);
  --tc-warn-line: rgba(251,191,36,0.28);

  --tc-danger: #f87171;
  --tc-danger-bg: rgba(248,113,113,0.12);
  --tc-danger-line: rgba(248,113,113,0.28);

  /* Alias canônico do codebase (TD-16): destructive = danger.
     Mantemos tc-danger* por compat com telas v1.7. Todo código novo deve usar tc-destructive*. */
  --tc-destructive: #f87171;
  --tc-destructive-bg: rgba(248,113,113,0.12);
  --tc-destructive-line: rgba(248,113,113,0.28);

  --tc-info: #93c5fd;
  --tc-info-bg: rgba(147,197,253,0.10);

  /* ——— Tipografia ——— */
  --tc-font-display: 'Inter Tight', 'Inter', system-ui, sans-serif;
  --tc-font-ui: 'Inter', system-ui, sans-serif;
  --tc-font-mono: 'JetBrains Mono', 'SF Mono', ui-monospace, monospace;

  /* Type scale (8pt-ish, mobile-readable) */
  --tc-text-2xs: 11px;
  --tc-text-xs: 12px;
  --tc-text-sm: 13px;
  --tc-text-md: 14px;
  --tc-text-base: 15px;
  --tc-text-lg: 17px;
  --tc-text-xl: 20px;
  --tc-text-2xl: 24px;
  --tc-text-3xl: 30px;
  --tc-text-4xl: 38px;
  --tc-text-5xl: 52px;
  --tc-text-6xl: 72px;

  /* ——— Espaço (4pt grid) ——— */
  --tc-s-1: 4px;
  --tc-s-2: 8px;
  --tc-s-3: 12px;
  --tc-s-4: 16px;
  --tc-s-5: 20px;
  --tc-s-6: 24px;
  --tc-s-7: 32px;
  --tc-s-8: 40px;
  --tc-s-9: 56px;
  --tc-s-10: 72px;

  /* ——— Raios ——— */
  --tc-r-xs: 6px;
  --tc-r-sm: 8px;
  --tc-r-md: 12px;
  --tc-r-lg: 16px;
  --tc-r-xl: 20px;
  --tc-r-pill: 999px;

  /* ——— Sombra ——— */
  --tc-shadow-sm: 0 1px 2px rgba(0,0,0,0.4);
  --tc-shadow-md: 0 4px 16px rgba(0,0,0,0.5);
  --tc-shadow-lg: 0 24px 60px rgba(0,0,0,0.6);

  /* ——— Outros ——— */
  --tc-touch: 44px;            /* mobile hit target */
  --tc-ease: cubic-bezier(0.2, 0.7, 0.2, 1);
}

/* ——— Base ——— */
* { box-sizing: border-box; }
html, body { margin: 0; padding: 0; }
body {
  font-family: var(--tc-font-ui);
  font-size: var(--tc-text-md);
  color: var(--tc-fg-0);
  background: var(--tc-bg-0);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  letter-spacing: -0.01em;
}

button { font-family: inherit; cursor: pointer; border: 0; background: none; color: inherit; padding: 0; }
input, textarea, select { font-family: inherit; }
a { color: inherit; text-decoration: none; }

/* Mono helper for numbers/metrics */
.tc-num { font-family: var(--tc-font-mono); font-feature-settings: 'tnum' 1, 'zero' 1; letter-spacing: -0.02em; }
.tc-display { font-family: var(--tc-font-display); letter-spacing: -0.025em; font-weight: 600; }

/* Scrollbars (subtle dark) */
*::-webkit-scrollbar { width: 8px; height: 8px; }
*::-webkit-scrollbar-track { background: transparent; }
*::-webkit-scrollbar-thumb { background: var(--tc-line-2); border-radius: 4px; }
*::-webkit-scrollbar-thumb:hover { background: var(--tc-line-3); }
