/*
  DESIGN TOKENS — Manual de Semiología
  Mismo sistema (tipografía, espaciado, arquitectura de sitio) que el resto
  de la colección, con paleta propia: acento "acero clínico" (el gris-azulado
  frío y metálico de un estetoscopio y el instrumental de examen físico),
  sobre un papel color "camilla" (el blanco-hueso cálido del papel de
  examen), y una escala semántica de callouts que no repite ningún hex del
  resto de la colección.
*/

:root {
  color-scheme: light;

  /* ---- Tipografía ---- */
  --font-display: 'Fraunces', 'Iowan Old Style', Georgia, 'Times New Roman', serif;
  --font-body: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
  --font-mono: 'IBM Plex Mono', 'Cascadia Code', Consolas, 'Courier New', monospace;

  --fs-xs: 0.78rem;
  --fs-sm: 0.875rem;
  --fs-base: 1rem;
  --fs-md: 1.125rem;
  --fs-lg: 1.35rem;
  --fs-xl: 1.75rem;
  --fs-2xl: 2.25rem;
  --fs-3xl: 3rem;
  --fs-4xl: 3.75rem;

  --lh-tight: 1.2;
  --lh-snug: 1.4;
  --lh-normal: 1.65;
  --lh-relaxed: 1.8;

  /* ---- Paleta base (modo claro, "papel" camilla blanco-hueso cálido) ---- */
  --color-paper: #F4F1EA;
  --color-paper-raised: #FFFFFF;
  --color-paper-alt: #E7E1D2;
  --color-ink: #23262B;
  --color-ink-soft: #565B63;
  --color-ink-faint: #8B8F96;
  --color-line: #DCD5C4;
  --color-line-strong: #C7BEA8;

  /* ---- Acento de la colección (Semiología = acero clínico / estetoscopio) ---- */
  --accent-primary: #3E5A6E;
  --accent-primary-ink: #253846;
  --accent-primary-soft: #DDE6EA;

  /* ---- Semántica (callouts) — paleta propia, sin reciclar hex de otros manuales ---- */
  --color-info: #2F6E8E;      --color-info-soft: #DDECF1;      --color-info-ink:#17414F;
  --color-warning: #9C6B28;   --color-warning-soft: #F1E4CC;   --color-warning-ink:#5C3E14;
  --color-danger: #A83F3C;    --color-danger-soft: #F4E0DE;    --color-danger-ink:#652321;
  --color-success: #3F7A52;   --color-success-soft: #E0EFE3;   --color-success-ink:#254C30;
  --color-tip: #1F7A6E;       --color-tip-soft: #DBEEEA;       --color-tip-ink:#0F433C;
  --color-exam: #7C4A72;      --color-exam-soft: #EEE1EC;      --color-exam-ink:#4A2C45;

  /* ---- Espaciado ---- */
  --space-1: 4px;  --space-2: 8px;  --space-3: 12px; --space-4: 16px;
  --space-5: 24px; --space-6: 32px; --space-7: 48px; --space-8: 64px; --space-9: 96px;

  /* ---- Forma / profundidad ---- */
  --radius-sm: 6px;
  --radius-md: 12px;
  --radius-lg: 20px;
  --radius-full: 999px;
  --shadow-card: 0 1px 2px rgba(35,38,43,.05), 0 6px 20px rgba(35,38,43,.07);
  --shadow-hover: 0 10px 30px rgba(35,38,43,.12);
  --shadow-inset: inset 0 0 0 1px rgba(35,38,43,.06);

  /* ---- Layout ---- */
  --max-content: 760px;
  --max-wide: 1240px;
  --sidebar-w: 272px;
  --toc-w: 232px;
  --header-h: 64px;

  --ease: cubic-bezier(.4,0,.2,1);
}

:root[data-theme="dark"] {
  color-scheme: dark;
  --color-paper: #14171A;
  --color-paper-raised: #1C2024;
  --color-paper-alt: #262B30;
  --color-ink: #EDEEEA;
  --color-ink-soft: #B7BCC0;
  --color-ink-faint: #7C8186;
  --color-line: #262B30;
  --color-line-strong: #383E44;

  --accent-primary: #8FB4C7;
  --accent-primary-ink: #DAECF3;
  --accent-primary-soft: #1C2E36;

  --color-info: #7FBBD1;      --color-info-soft: #16323C;      --color-info-ink:#D2EDF5;
  --color-warning: #DCAE6E;   --color-warning-soft: #362A14;   --color-warning-ink:#F6E1BE;
  --color-danger: #DE8F8C;    --color-danger-soft: #392220;   --color-danger-ink:#F8D6D3;
  --color-success: #8FCC9E;   --color-success-soft: #1F3324;   --color-success-ink:#D3EFDB;
  --color-tip: #6ED1BE;       --color-tip-soft: #143630;      --color-tip-ink:#C7F0E6;
  --color-exam: #CB9BC0;      --color-exam-soft: #33222F;      --color-exam-ink:#F1DBEC;

  --shadow-card: 0 1px 2px rgba(0,0,0,.3), 0 6px 20px rgba(0,0,0,.35);
  --shadow-hover: 0 10px 30px rgba(0,0,0,.45);
  --shadow-inset: inset 0 0 0 1px rgba(255,255,255,.06);
}

@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    color-scheme: dark;
    --color-paper: #14171A;
    --color-paper-raised: #1C2024;
    --color-paper-alt: #262B30;
    --color-ink: #EDEEEA;
    --color-ink-soft: #B7BCC0;
    --color-ink-faint: #7C8186;
    --color-line: #262B30;
    --color-line-strong: #383E44;

    --accent-primary: #8FB4C7;
    --accent-primary-ink: #DAECF3;
    --accent-primary-soft: #1C2E36;

    --color-info: #7FBBD1;      --color-info-soft: #16323C;      --color-info-ink:#D2EDF5;
    --color-warning: #DCAE6E;   --color-warning-soft: #362A14;   --color-warning-ink:#F6E1BE;
    --color-danger: #DE8F8C;    --color-danger-soft: #392220;   --color-danger-ink:#F8D6D3;
    --color-success: #8FCC9E;   --color-success-soft: #1F3324;   --color-success-ink:#D3EFDB;
    --color-tip: #6ED1BE;       --color-tip-soft: #143630;      --color-tip-ink:#C7F0E6;
    --color-exam: #CB9BC0;      --color-exam-soft: #33222F;      --color-exam-ink:#F1DBEC;

    --shadow-card: 0 1px 2px rgba(0,0,0,.3), 0 6px 20px rgba(0,0,0,.35);
    --shadow-hover: 0 10px 30px rgba(0,0,0,.45);
    --shadow-inset: inset 0 0 0 1px rgba(255,255,255,.06);
  }
}
