:root {
    /* Paleta Base - Monochrome Scale */
    --color-bg-default: #000000;
    /* Obsidiana */
    --color-bg-subtle: #121212;
    --color-bg-paper: #1F1F1F;
    /* Acero Quirurgico */

    /* Acento Principal */
    /* Acento Principal - Monocromatico */
    --color-primary: #C0C0C0;
    /* Plata para Dark Mode */
    --color-primary-active: #FFFFFF;
    /* Blanco Brillante */
    --color-error: #FFFFFF;

    /* Texto */
    --color-text-main: #FFFFFF;
    --color-text-muted: #888888;
    /* Slate 500 */
    --color-text-dark: #000000;

    /* Bordes */
    --border-subtle: #333333;
    --border-focus: #C0C0C0;
    /* Plata */
    --border-light: #E0E0E0;
    /* Silver 200 */

    /* Typography */
    --font-heading: 'Space Grotesk', sans-serif;
    --font-body: 'Inter', sans-serif;
    --font-code: 'JetBrains Mono', monospace;

    --size-h1: 4.5rem;
    --size-h2: 3rem;
    --size-body: 1rem;

    /* Spacing */
    --spacing-container: 1200px;
    --spacing-md: 2rem;
    --spacing-lg: 4rem;

    /* Effects */
    --radius-sm: 2px;
    --radius-md: 4px;
    --transition-sharp: 0.1s ease-out;
    /* Sharp response */
}

/* Light Theme overrides */
body.light-theme {
    --color-bg-default: #FFFFFF;
    --color-bg-subtle: #F9F9F9;
    --color-bg-paper: #F0F0F0;
    /* Light Gray for cards to contrast with white bg */
    --color-bg-card: #FFFFFF;

    --color-text-main: #000000;
    --color-text-muted: #555555;
    --color-text-dark: #000000;

    --color-primary: #333333;
    /* Gris Oscuro para Light Mode */
    --border-subtle: #CCCCCC;
    --border-focus: #333333;
    --border-light: #EEEEEE;
}

/* Reset & Base */
*,
*::before,
*::after {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

body {
    background-color: var(--color-bg-default);
    color: var(--color-text-main);
    font-family: var(--font-body);
    font-size: var(--size-body);
    line-height: 1.6;
    overflow-x: hidden;
    -webkit-font-smoothing: antialiased;
}

/* Utilities */
.container {
    max-width: var(--spacing-container);
    margin: 0 auto;
    padding: 0 var(--spacing-md);
}