/* Arthos design tokens. Gerado por mktokens.py; edite lá, não aqui.
   Primitivos (escalas) + semânticos (claro em :root, escuro via prefers-color-scheme e [data-theme]).
   Cada cor traz o HSL ao lado para uso em temas. Grid de 4px. Tipografia em rem. */

:root {
  color-scheme: light dark;

  /* primitivos: marca */
  --brand-50: #EEF6FF;  /* hsl(212 100% 97%) */
  --brand-100: #DCEBFF;  /* hsl(214 100% 93%) */
  --brand-200: #B3D5FF;  /* hsl(213 100% 85%) */
  --brand-300: #8CC4FF;  /* hsl(211 100% 77%) */
  --brand-400: #4FA6FF;  /* hsl(210 100% 65%) */
  --brand-500: #1E8FFF;  /* hsl(210 100% 56%) */
  --brand-600: #0F72E0;  /* hsl(212 87% 47%) */
  --brand-700: #0D5FC4;  /* hsl(213 88% 41%) */
  --brand-800: #0C4A96;  /* hsl(213 85% 32%) */
  --brand-900: #0B3066;  /* hsl(216 81% 22%) */
  --brand-950: #0A1A3D;  /* hsl(221 72% 14%) */

  /* primitivos: neutros */
  --neutral-0: #FFFFFF;  /* hsl(0 0% 100%) */
  --neutral-50: #F6F8FC;  /* hsl(220 50% 98%) */
  --neutral-100: #EEF2F9;  /* hsl(218 48% 95%) */
  --neutral-200: #D9DEEA;  /* hsl(222 29% 88%) */
  --neutral-300: #B9C2D6;  /* hsl(221 26% 78%) */
  --neutral-400: #8A94AD;  /* hsl(223 18% 61%) */
  --neutral-500: #6B7590;  /* hsl(224 15% 49%) */
  --neutral-600: #4B5675;  /* hsl(224 22% 38%) */
  --neutral-700: #33405E;  /* hsl(222 30% 28%) */
  --neutral-800: #1E2A47;  /* hsl(222 41% 20%) */
  --neutral-900: #111A2E;  /* hsl(221 46% 12%) */
  --neutral-950: #0B1220;  /* hsl(220 49% 8%) */
  --neutral-1000: #070F24;  /* hsl(223 67% 8%) */

  /* primitivos: estado */
  --green-100: #D7F5E6;  /* hsl(150 60% 90%) */
  --green-300: #7EE2B0;  /* hsl(150 63% 69%) */
  --green-500: #12B76A;  /* hsl(152 82% 39%) */
  --green-600: #0E9A57;  /* hsl(151 83% 33%) */
  --green-700: #0B7A45;  /* hsl(151 83% 26%) */
  --amber-100: #FDEFD2;  /* hsl(40 91% 91%) */
  --amber-500: #F59E0B;  /* hsl(38 92% 50%) */
  --amber-600: #C77C05;  /* hsl(37 95% 40%) */
  --amber-700: #A16207;  /* hsl(35 92% 33%) */
  --red-100: #FDE2E2;  /* hsl(0 87% 94%) */
  --red-500: #EF4444;  /* hsl(0 84% 60%) */
  --red-600: #D12B2B;  /* hsl(0 66% 49%) */
  --red-700: #B42323;  /* hsl(0 67% 42%) */
  --ink: #0F172A;  /* hsl(222 47% 11%) */

  /* semânticos: tema claro */
  --color-bg: #F6F8FC;  /* hsl(220 50% 98%) */
  --color-bg-elev: #FFFFFF;  /* hsl(0 0% 100%) */
  --color-bg-alt: #EEF2F9;  /* hsl(218 48% 95%) */
  --color-bg-inverse: #0A1A3D;  /* hsl(221 72% 14%) */
  --color-fg: #0F172A;  /* hsl(222 47% 11%) */
  --color-fg-muted: #4B5675;  /* hsl(224 22% 38%) */
  --color-fg-faint: #5E6985;  /* hsl(223 17% 45%) */
  --color-fg-inverse: #FFFFFF;  /* hsl(0 0% 100%) */
  --color-fg-inverse-muted: #B9C8E6;  /* hsl(220 47% 81%) */
  --color-line: #D9DEEA;  /* hsl(222 29% 88%) */
  --color-line-strong: #B9C2D6;  /* hsl(221 26% 78%) */
  --color-accent: #0D5FC4;  /* hsl(213 88% 41%) */
  --color-accent-hover: #0C4A96;  /* hsl(213 85% 32%) */
  --color-accent-active: #0B3066;  /* hsl(216 81% 22%) */
  --color-accent-fg: #FFFFFF;  /* hsl(0 0% 100%) */
  --color-accent-soft: #DCEBFF;  /* hsl(214 100% 93%) */
  --color-accent-text: #0D5FC4;  /* hsl(213 88% 41%) */
  --color-success: #0B7A45;  /* hsl(151 83% 26%) */
  --color-success-soft: #E4F8EE;  /* hsl(150 59% 93%) */
  --color-warning: #A16207;  /* hsl(35 92% 33%) */
  --color-warning-soft: #FEF5E1;  /* hsl(41 94% 94%) */
  --color-danger: #B42323;  /* hsl(0 67% 42%) */
  --color-danger-soft: #FCE8E8;  /* hsl(0 77% 95%) */
  --color-focus: #1E8FFF;  /* hsl(210 100% 56%) */
  --color-hero-bg: #0A1A3D;  /* hsl(221 72% 14%) */
  --color-hero-fg: #FFFFFF;  /* hsl(0 0% 100%) */
  --color-hero-muted: #B9C8E6;  /* hsl(220 47% 81%) */
  --color-hl: #8CC4FF;  /* hsl(211 100% 77%) */
  --color-shadow-1: 0 1px 2px rgba(15, 23, 42, 0.06), 0 1px 1px rgba(15, 23, 42, 0.04);
  --color-shadow-2: 0 12px 32px -16px rgba(15, 23, 42, 0.25);

  /* tipografia (rem, base 16px) */
  --font-sans: "DM Sans", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --font-display: "Fraunces", Georgia, "Times New Roman", serif;
  --font-mono: "SF Mono", ui-monospace, Menlo, Consolas, monospace;
  --text-2xs: 0.75rem;  /* 12px */
  --text-xs: 0.8125rem;  /* 13px */
  --text-sm: 0.875rem;  /* 14px */
  --text-base: 1rem;  /* 16px */
  --text-md: 1.125rem;  /* 18px */
  --text-lg: 1.25rem;  /* 20px */
  --text-xl: 1.5rem;  /* 24px */
  --text-2xl: 2rem;  /* 32px */
  --text-3xl: 2.5rem;  /* 40px */
  --text-4xl: 3rem;  /* 48px */
  --text-5xl: 4rem;  /* 64px */
  --leading-tight: 1.1;
  --leading-snug: 1.25;
  --leading-body: 1.6;
  --weight-regular: 400;
  --weight-medium: 500;
  --weight-semibold: 600;
  --weight-bold: 700;
  --tracking-tight: -0.01em; --tracking-wide: 0.08em;

  /* espaçamento (grid 4px) */
  --space-0: 0.0rem;  /* 0px */
  --space-1: 0.25rem;  /* 4px */
  --space-2: 0.5rem;  /* 8px */
  --space-3: 0.75rem;  /* 12px */
  --space-4: 1.0rem;  /* 16px */
  --space-5: 1.25rem;  /* 20px */
  --space-6: 1.5rem;  /* 24px */
  --space-8: 2.0rem;  /* 32px */
  --space-10: 2.5rem;  /* 40px */
  --space-12: 3.0rem;  /* 48px */
  --space-16: 4.0rem;  /* 64px */
  --space-20: 5.0rem;  /* 80px */
  --space-24: 6.0rem;  /* 96px */

  /* raio, sombra, movimento, camadas */
  --radius-xs: 4px;
  --radius-sm: 8px;
  --radius-md: 12px;
  --radius-lg: 16px;
  --radius-xl: 24px;
  --radius-pill: 999px;
  --duration-fast: 120ms;
  --duration-base: 200ms;
  --duration-slow: 320ms;
  --ease-standard: cubic-bezier(0.2, 0.7, 0.2, 1);
  --z-header: 50; --z-overlay: 40; --z-skip: 100;
  --tap-min: 44px; --wrap-max: 72rem; --focus-ring: 3px;
}

@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    --color-bg: #0B1220;  /* hsl(220 49% 8%) */
    --color-bg-elev: #111A2E;  /* hsl(221 46% 12%) */
    --color-bg-alt: #0E1628;  /* hsl(222 48% 11%) */
    --color-bg-inverse: #FFFFFF;  /* hsl(0 0% 100%) */
    --color-fg: #E8EDF7;  /* hsl(220 48% 94%) */
    --color-fg-muted: #AAB6D0;  /* hsl(221 29% 74%) */
    --color-fg-faint: #8794B0;  /* hsl(221 21% 61%) */
    --color-fg-inverse: #0F172A;  /* hsl(222 47% 11%) */
    --color-fg-inverse-muted: #4B5675;  /* hsl(224 22% 38%) */
    --color-line: #223050;  /* hsl(222 40% 22%) */
    --color-line-strong: #2F4069;  /* hsl(222 38% 30%) */
    --color-accent: #1E8FFF;  /* hsl(210 100% 56%) */
    --color-accent-hover: #4FA6FF;  /* hsl(210 100% 65%) */
    --color-accent-active: #8CC4FF;  /* hsl(211 100% 77%) */
    --color-accent-fg: #06122B;  /* hsl(221 76% 10%) */
    --color-accent-soft: #14264A;  /* hsl(220 57% 18%) */
    --color-accent-text: #8CC4FF;  /* hsl(211 100% 77%) */
    --color-success: #7EE2B0;  /* hsl(150 63% 69%) */
    --color-success-soft: #0F3B29;  /* hsl(155 59% 15%) */
    --color-warning: #FBBF24;  /* hsl(43 96% 56%) */
    --color-warning-soft: #3B2A0A;  /* hsl(39 71% 14%) */
    --color-danger: #F87171;  /* hsl(0 91% 71%) */
    --color-danger-soft: #3F1414;  /* hsl(0 52% 16%) */
    --color-focus: #4FA6FF;  /* hsl(210 100% 65%) */
    --color-hero-bg: #070F24;  /* hsl(223 67% 8%) */
    --color-hero-fg: #FFFFFF;  /* hsl(0 0% 100%) */
    --color-hero-muted: #B9C8E6;  /* hsl(220 47% 81%) */
    --color-hl: #8CC4FF;  /* hsl(211 100% 77%) */
    --color-shadow-1: 0 1px 2px rgba(0, 0, 0, 0.4);
    --color-shadow-2: 0 16px 40px -20px rgba(0, 0, 0, 0.7);
  }
}
:root[data-theme="dark"] {
  --color-bg: #0B1220;  /* hsl(220 49% 8%) */
  --color-bg-elev: #111A2E;  /* hsl(221 46% 12%) */
  --color-bg-alt: #0E1628;  /* hsl(222 48% 11%) */
  --color-bg-inverse: #FFFFFF;  /* hsl(0 0% 100%) */
  --color-fg: #E8EDF7;  /* hsl(220 48% 94%) */
  --color-fg-muted: #AAB6D0;  /* hsl(221 29% 74%) */
  --color-fg-faint: #8794B0;  /* hsl(221 21% 61%) */
  --color-fg-inverse: #0F172A;  /* hsl(222 47% 11%) */
  --color-fg-inverse-muted: #4B5675;  /* hsl(224 22% 38%) */
  --color-line: #223050;  /* hsl(222 40% 22%) */
  --color-line-strong: #2F4069;  /* hsl(222 38% 30%) */
  --color-accent: #1E8FFF;  /* hsl(210 100% 56%) */
  --color-accent-hover: #4FA6FF;  /* hsl(210 100% 65%) */
  --color-accent-active: #8CC4FF;  /* hsl(211 100% 77%) */
  --color-accent-fg: #06122B;  /* hsl(221 76% 10%) */
  --color-accent-soft: #14264A;  /* hsl(220 57% 18%) */
  --color-accent-text: #8CC4FF;  /* hsl(211 100% 77%) */
  --color-success: #7EE2B0;  /* hsl(150 63% 69%) */
  --color-success-soft: #0F3B29;  /* hsl(155 59% 15%) */
  --color-warning: #FBBF24;  /* hsl(43 96% 56%) */
  --color-warning-soft: #3B2A0A;  /* hsl(39 71% 14%) */
  --color-danger: #F87171;  /* hsl(0 91% 71%) */
  --color-danger-soft: #3F1414;  /* hsl(0 52% 16%) */
  --color-focus: #4FA6FF;  /* hsl(210 100% 65%) */
  --color-hero-bg: #070F24;  /* hsl(223 67% 8%) */
  --color-hero-fg: #FFFFFF;  /* hsl(0 0% 100%) */
  --color-hero-muted: #B9C8E6;  /* hsl(220 47% 81%) */
  --color-hl: #8CC4FF;  /* hsl(211 100% 77%) */
  --color-shadow-1: 0 1px 2px rgba(0, 0, 0, 0.4);
  --color-shadow-2: 0 16px 40px -20px rgba(0, 0, 0, 0.7);
}
