:root {
  --font-display: "Baloo 2", system-ui, sans-serif;
  --font-body: "Roboto", system-ui, sans-serif;

  --brand: #7e67b5;
  --brand-dark: #5a4588;
  --brand-soft: #f5f0fa;
  --ink: #2a2438;
  --ink-muted: #6b6578;
  --surface: #ffffff;
  --surface-page: #f5f0fa;
  --border: #e4dceb;
  --shadow: 0 8px 28px rgba(42, 36, 56, 0.12);

  --type-contribution: #9c27b0;
  --type-contribution-bg: #f3e5f5;
  --type-reflection: #2196f3;
  --type-reflection-bg: #e3f2fd;
  --type-evaluation: #f44336;
  --type-evaluation-bg: #ffebee;
  --type-affectivity: #e91e63;
  --type-affectivity-bg: #fce4ec;
  --type-challenges: #4caf50;
  --type-challenges-bg: #e8f5e8;
  --type-experience: #ff9800;
  --type-experience-bg: #fff3e0;

  --radius: 16px;
  --radius-sm: 10px;
  --safe-bottom: env(safe-area-inset-bottom, 0px);
  --safe-top: env(safe-area-inset-top, 0px);

  --card-ratio: 3 / 4;
  --card-max-width: clamp(17.5rem, 92vw, 22.5rem);
  --app-max-width: 30rem;
  --content-max-text: clamp(18rem, 88vw, 28rem);

  --space-xs: 0.35rem;
  --space-sm: 0.55rem;
  --space-md: 0.85rem;
  --space-lg: 1.25rem;
  --space-xl: 1.75rem;

  --bp-tablet: 37.5rem;
  --bp-desktop: 56.25rem;

  --touch-min: 2.75rem;
  --btn-padding-y: 0.85rem;
  --btn-padding-x: 1.35rem;

  --text-scale: 1;

  --card-overlay-top: rgba(20, 14, 30, 0.38);
  --card-overlay-mid: rgba(20, 14, 30, 0.48);
  --card-overlay-bottom: rgba(20, 14, 30, 0.84);
  --card-text: #fff;
  --card-badge-bg: rgba(0, 0, 0, 0.42);
  --card-badge-border: rgba(255, 255, 255, 0.5);
  --card-text-shadow: 0 1px 3px rgba(0, 0, 0, 0.55), 0 2px 10px rgba(0, 0, 0, 0.4);
}

html.text-large {
  --text-scale: 1.15;
}

html.contrast-high {
  --ink: #000;
  --ink-muted: #222;
  --surface-page: #fff;
  --border: #333;
  --card-overlay-top: rgba(0, 0, 0, 0.58);
  --card-overlay-mid: rgba(0, 0, 0, 0.68);
  --card-overlay-bottom: rgba(0, 0, 0, 0.94);
  --card-badge-bg: rgba(0, 0, 0, 0.78);
  --card-badge-border: rgba(255, 255, 255, 0.72);
  --card-text-shadow: 0 2px 4px rgba(0, 0, 0, 0.9), 0 4px 14px rgba(0, 0, 0, 0.75);
}
