:root {
  --color-ink: #141414;
  --color-text: #2A2A2A;
  --color-paper: #FFFFFF;
  --color-surface: #F6F5F3;
  --color-muted: #6E6E6E;
  --color-faint: #8A8A8A;
  --color-rule: #D9D6D0;
  --color-rule-soft: #ECEAE6;
  --color-accent: #D23B2A;
  --color-accent-soft: #FBE6E2;
  --color-on-accent: #FFFFFF;
  --color-canvas: #F6F5F3;
  --color-raised: #FFFFFF;
  --color-action: #141414;
  --color-action-hover: #2A2A2A;
  --color-action-active: #000000;
  --color-on-action: #FFFFFF;
  --color-success: #0E9F6E;
  --color-warning: #D97706;
  --color-danger: #9F1239;
  --color-info: #0369A1;
  --space-0: 0px;
  --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;
  --space-10: 128px;
  --radius-surface: 0px;
  --radius-control: 6px;
  --radius-pill: 999px;
  --radius-card: 16px;
  --size-hairline: 1px;
  --size-focus-ring: 2px;
  --size-marker: 2px;
  --size-marker-strong: 3px;
  --size-touch: 44px;
  --size-logo-header: 28px;
  --size-menu: 192px;
  --size-sheet: 384px;
  --size-dialog: 512px;
  --size-form-max: 480px;
  --size-sidebar: 240px;
  --size-workspace-min: 320px;
  --size-chat-min: 160px;
  --size-board-column: 256px;
  --size-calendar-title: 160px;
  --size-calendar-grid: 640px;
  --size-day-cell: 88px;
  --font-display: 'Fraunces', Georgia, serif;
  --font-body: 'Manrope', 'Helvetica Neue', Arial, sans-serif;
  --font-mono: 'JetBrains Mono', Menlo, monospace;
  --weight-regular: 400;
  --weight-medium: 500;
  --weight-bold: 700;
  --text-display-size: 3.75rem;
  --text-display-line: 1.05;
  --text-display-weight: 700;
  --text-h1-size: 3rem;
  --text-h1-line: 1.1;
  --text-h1-weight: 700;
  --text-h2-size: 1.875rem;
  --text-h2-line: 1.15;
  --text-h2-weight: 600;
  --text-h3-size: 1.25rem;
  --text-h3-line: 1.3;
  --text-h3-weight: 700;
  --text-body-size: 1rem;
  --text-body-line: 1.5;
  --text-body-weight: 400;
  --text-small-size: 0.875rem;
  --text-small-line: 1.5;
  --text-small-weight: 400;
  --text-eyebrow-size: 0.75rem;
  --text-eyebrow-line: 1.3;
  --text-eyebrow-weight: 500;
  --display-variation: 'opsz' 144, 'SOFT' 0, 'WONK' 0;
  --rule-hairline: 1px solid var(--color-rule);
  --rule-soft: 1px solid var(--color-rule-soft);
  --shadow-none: none;
  --shadow-float: 0 1px 2px rgba(20, 20, 20, 0.04), 0 24px 48px -12px rgba(20, 20, 20, 0.18);
}

/* Variante oscura — paper↔ink; la acción se invierte (botón claro, texto tinta); el rojo se mantiene */
[data-theme='dark'] {
  --color-paper: #141414;
  --color-ink: #FFFFFF;
  --color-text: #E8E6E3;
  --color-surface: #1F1F1F;
  --color-muted: #9A9A9A;
  --color-faint: #6E6E6E;
  --color-rule: #333333;
  --color-rule-soft: #262626;
  --color-accent-soft: #3A1A15;
  --color-action: #FFFFFF;
  --color-action-hover: #E8E6E3;
  --color-action-active: #D9D6D0;
  --color-on-action: #141414;
}

/* Variante clara explícita — para zonas siempre claras (el login) dentro de un documento oscuro */
[data-theme='light'] {
  --color-paper: #FFFFFF;
  --color-ink: #141414;
  --color-text: #2A2A2A;
  --color-surface: #F6F5F3;
  --color-muted: #6E6E6E;
  --color-faint: #8A8A8A;
  --color-rule: #D9D6D0;
  --color-rule-soft: #ECEAE6;
  --color-accent-soft: #FBE6E2;
  --color-action: #141414;
  --color-action-hover: #2A2A2A;
  --color-action-active: #000000;
  --color-on-action: #FFFFFF;
  --rule-hairline: 1px solid var(--color-rule);
  --rule-soft: 1px solid var(--color-rule-soft);
}

/* Variante oscura por preferencia del sistema — mismos valores que [data-theme='dark'], salvo que la página fije el claro */
@media (prefers-color-scheme: dark) {
  :root:not([data-theme='light']) {
    --color-paper: #141414;
    --color-ink: #FFFFFF;
    --color-text: #E8E6E3;
    --color-surface: #1F1F1F;
    --color-muted: #9A9A9A;
    --color-faint: #6E6E6E;
    --color-rule: #333333;
    --color-rule-soft: #262626;
    --color-accent-soft: #3A1A15;
    --color-action: #FFFFFF;
    --color-action-hover: #E8E6E3;
    --color-action-active: #D9D6D0;
    --color-on-action: #141414;
  }
}
