:root {
    /* Brand */
    --color-green: #e11d48;
    --color-green-link: #be123c;
    --color-green-border: rgba(225, 29, 72, 0.32);

    /* Neutral Scale */
    --color-near-black: #0f0f0f;
    --color-dark: #171717;
    --color-dark-border: #242424;
    --color-border-dark: #2e2e2e;
    --color-mid-border: #363636;
    --color-border-light: #393939;
    --color-charcoal: #434343;
    --color-dark-gray: #4d4d4d;
    --color-mid-gray: #898989;
    --color-light-gray: #b4b4b4;
    --color-near-white: #efefef;
    --color-off-white: #fafafa;

    /* Surface */
    --color-glass-dark: rgba(41, 41, 41, 0.84);

    /* Radix-inspired accents */
    --color-violet: hsl(251, 63.2%, 63.2%);
    --color-crimson: hsl(348, 60%, 50%);
    --color-crimson-soft: rgba(204, 51, 71, 0.12);
    --color-crimson-border: rgba(204, 51, 71, 0.32);
    --color-purple: hsl(272, 51%, 54%);
    --color-indigo: hsl(226, 70%, 55%);
    --color-yellow: hsl(48, 90%, 55%);
    --color-tomato: hsl(10, 78%, 54%);
    --color-orange: hsl(24, 94%, 50%);

    /* Semantic status (verde-de-verdade / âmbar — não confundir com --color-green
       que é o rosa legado da marca). Mantidos como classe própria pra evitar
       colisão semântica. */
    --color-success: #10b981;
    --color-success-soft: rgba(16, 185, 129, 0.14);
    --color-success-border: rgba(16, 185, 129, 0.32);
    --color-amber: #f59e0b;
    --color-amber-soft: rgba(245, 158, 11, 0.14);
    --color-amber-border: rgba(245, 158, 11, 0.34);

    /* Typography */
    --font-primary: system-ui, -apple-system, 'Helvetica Neue', Helvetica, Arial, sans-serif;
    --font-mono: 'Source Code Pro', 'Office Code Pro', Menlo, monospace;

    /* Hero grid */
    --grid-line: rgba(255, 255, 255, 0.045);
    --scan-opacity: 0.55;

    /* Theme tokens (dark default) */
    --bg-page: #0a0a0a;
    --bg-hero: #0f0f0f;
    --bg-card: #161618;
    --bg-card-elev: #1c1c1f;
    --bg-input: #0f0f0f;
    --bg-nav: #161618;
    --text-primary: #fafafa;
    --text-secondary: #c8c8c8;
    --text-muted: #aaaaaa;
    --border-color: #2e2e2e;
    --border-subtle: #1e1e1e;
    --section-label-color: #e11d48;
    --accent-wash: rgba(225, 29, 72, 0.12);
    --bg-hover: rgba(225, 29, 72, 0.08);

    /* Spacing grid */
    --space-1: 4px;
    --space-2: 8px;
    --space-3: 12px;
    --space-4: 16px;
    --space-6: 24px;
    --space-8: 32px;
    --space-12: 48px;
    --space-16: 64px;

    /* Radius */
    --radius-sm: 5px;
    --radius-md: 6px;
    --radius-lg: 8px;
    --radius-xl: 8px;
    --radius-pill: 9999px;
}

[data-theme="light"] {
    /* Fundo quase branco; cards ficam brancos puros e destacam via SOMBRA
       (não mais via cor de fundo contrastante). */
    --bg-page: #f4f4f5;
    --bg-hero: #fbfbfb;
    --bg-card: #ffffff;
    --bg-card-elev: #fafafa;
    --bg-input: #ffffff;
    --bg-nav: #ffffff;
    --text-primary: #0a0a0a;
    --text-secondary: #262626;
    --text-muted: #525252;
    --border-color: #e4e4e4;
    --border-subtle: #eeeeee;
    --section-label-color: #be123c;

    --color-green-link: #be123c;
    --color-green-border: rgba(190, 18, 60, 0.30);

    --surface-subtle: #f4f4f4;
    --invert-bg: var(--color-off-white);
    --invert-text: var(--color-near-black);
    --invert-border: var(--color-near-black);
    --hero-glow: rgba(225, 29, 72, 0.18);
    --grid-line: rgba(0, 0, 0, 0.07);
    --scan-opacity: 0.35;
    --accent-wash: rgba(225, 29, 72, 0.08);
    --bg-hover: rgba(225, 29, 72, 0.06);
    --focus-shadow: rgba(15, 15, 15, 0.08);
}
