/* ============================================================
 * assets/theme.css — Studio v1 (drop-in replacement)
 *
 * Substitui o assets/theme.css atual. Só tokens.
 * Adiciona variáveis de tipografia (--font, --font-mono, --rxs).
 * Mantém todos os nomes de variáveis existentes (--bg, --tx, etc.)
 * pra não quebrar nada do app.css que ainda referencia tokens antigos.
 * ============================================================ */

/* ── Light (default) ──────────────────────────────────────── */
:root {
  /* Surfaces / ink */
  --bg:  #f6f4ef;
  --sf:  #ffffff;
  --sf2: #efece6;                       /* surface muted (grupos sutis) */
  --bd:  rgba(28, 27, 24, 0.08);
  --bds: rgba(28, 27, 24, 0.18);
  --tx:  #1c1b18;
  --tx2: #5b5852;
  --tx3: #9a968d;

  /* Status: bg + ink pairs (mantidos pra compatibilidade c/ JS antigo) */
  --gbg: oklch(0.94 0.04 155);          /* verde mata · soft */
  --gtx: oklch(0.32 0.07 155);
  --rbg: oklch(0.95 0.04 25);           /* vermelho terroso · soft */
  --rtx: oklch(0.42 0.13 25);
  --abg: oklch(0.95 0.05 75);           /* âmbar · soft */
  --atx: oklch(0.38 0.10 60);
  --bbg: oklch(0.94 0.04 240);          /* azul / info · soft */
  --btx: oklch(0.42 0.10 245);

  /* Accent — deep sea blue (#0466c8) */
  --accent:      oklch(0.50 0.20 253);
  --accent-fg:   #ffffff;
  --accent-soft: oklch(0.93 0.05 253);
  --accent-ink:  oklch(0.28 0.12 253);

  /* Shape */
  --r:   10px;
  --rs:  7px;
  --rxs: 4px;

  /* Type */
  --font:      "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;
  --font-mono: "JetBrains Mono", ui-monospace, "SF Mono", Menlo, monospace;

  /* Shadow */
  --shadow-sm: 0 1px 2px rgba(28, 27, 24, 0.04), 0 1px 3px rgba(28, 27, 24, 0.04);
  --shadow-md: 0 2px 6px rgba(28, 27, 24, 0.06), 0 4px 12px rgba(28, 27, 24, 0.05);
  --shadow-lg: 0 4px 12px rgba(28, 27, 24, 0.08), 0 16px 40px rgba(28, 27, 24, 0.10);
}

/* ── Auto: segue o sistema (dark) ─────────────────────────── */
@media (prefers-color-scheme: dark) {
  :root:not([data-theme]) {
    --bg:  #15140f;
    --sf:  #1d1c17;
    --sf2: #25241e;
    --bd:  rgba(255, 248, 230, 0.08);
    --bds: rgba(255, 248, 230, 0.18);
    --tx:  #f0eee7;
    --tx2: #b8b3a8;
    --tx3: #7a766c;

    --gbg: oklch(0.32 0.08 155);  --gtx: oklch(0.88 0.10 155);
    --rbg: oklch(0.32 0.10 25);   --rtx: oklch(0.85 0.13 25);
    --abg: oklch(0.32 0.10 75);   --atx: oklch(0.88 0.13 75);
    --bbg: oklch(0.32 0.10 240);  --btx: oklch(0.85 0.10 240);

    --accent:      oklch(0.70 0.18 253);
    --accent-fg:   #001233;
    --accent-soft: oklch(0.25 0.10 253);
    --accent-ink:  oklch(0.88 0.08 253);

    --shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.40);
    --shadow-md: 0 2px 8px rgba(0, 0, 0, 0.50);
    --shadow-lg: 0 8px 32px rgba(0, 0, 0, 0.60);
  }
}

/* ── Forçado escuro ───────────────────────────────────────── */
[data-theme="dark"] {
  --bg:  #15140f;
  --sf:  #1d1c17;
  --sf2: #25241e;
  --bd:  rgba(255, 248, 230, 0.08);
  --bds: rgba(255, 248, 230, 0.18);
  --tx:  #f0eee7;
  --tx2: #b8b3a8;
  --tx3: #7a766c;

  --gbg: oklch(0.32 0.08 155);  --gtx: oklch(0.88 0.10 155);
  --rbg: oklch(0.32 0.10 25);   --rtx: oklch(0.85 0.13 25);
  --abg: oklch(0.32 0.10 75);   --atx: oklch(0.88 0.13 75);
  --bbg: oklch(0.32 0.10 240);  --btx: oklch(0.85 0.10 240);

  --accent:      oklch(0.70 0.18 253);
  --accent-fg:   #001233;
  --accent-soft: oklch(0.25 0.10 253);
  --accent-ink:  oklch(0.88 0.08 253);

  --shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.40);
  --shadow-md: 0 2px 8px rgba(0, 0, 0, 0.50);
  --shadow-lg: 0 8px 32px rgba(0, 0, 0, 0.60);
}

/* ── Forçado claro (sobrescreve se prefers-dark ativo) ────── */
[data-theme="light"] {
  --bg:  #f6f4ef;
  --sf:  #ffffff;
  --sf2: #efece6;
  --bd:  rgba(28, 27, 24, 0.08);
  --bds: rgba(28, 27, 24, 0.18);
  --tx:  #1c1b18;
  --tx2: #5b5852;
  --tx3: #9a968d;

  --gbg: oklch(0.94 0.04 155);  --gtx: oklch(0.32 0.07 155);
  --rbg: oklch(0.95 0.04 25);   --rtx: oklch(0.42 0.13 25);
  --abg: oklch(0.95 0.05 75);   --atx: oklch(0.38 0.10 60);
  --bbg: oklch(0.94 0.04 240);  --btx: oklch(0.42 0.10 245);

  --accent:      oklch(0.50 0.20 253);
  --accent-fg:   #ffffff;
  --accent-soft: oklch(0.93 0.05 253);
  --accent-ink:  oklch(0.28 0.12 253);

  --shadow-sm: 0 1px 2px rgba(28, 27, 24, 0.04), 0 1px 3px rgba(28, 27, 24, 0.04);
  --shadow-md: 0 2px 6px rgba(28, 27, 24, 0.06), 0 4px 12px rgba(28, 27, 24, 0.05);
  --shadow-lg: 0 4px 12px rgba(28, 27, 24, 0.08), 0 16px 40px rgba(28, 27, 24, 0.10);
}

/* ── Body baseline (single source of truth pra fonte/cor) ─── */
html, body {
  background: var(--bg);
  color: var(--tx);
  font-family: var(--font);
  font-feature-settings: "ss01", "cv11";
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
}
