* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

:root {
    /* 5 Core Colors - Dark Theme */
    --primary-accent: #2196F3;
    --secondary-accent: #FF9800;
    --bg-color: #1a1a1a;
    --surface-color: #2d2d2d;
    --text-color: #ffffff;

    /* Text colors for accent backgrounds */
    --primary-accent-text: #ffffff;
    --secondary-accent-text: #ffffff;

    /* Tertiary accent for data display elements */
    --tertiary-accent: #78909C;
    --tertiary-accent-text: #ffffff;

    /* Derived colors for backward compatibility */
    --primary-bg: var(--bg-color);
    --secondary-bg: #2a2a2a; /* Blend of bg and surface */
    --card-bg: var(--surface-color);
    --border-color: #444444; /* Derived from surface */
    --text-primary: var(--text-color);
    --text-secondary: var(--tertiary-accent); /* Muted text */
    --button-color: var(--primary-accent);
    --link-color: var(--primary-accent);
    --accent-color: var(--secondary-accent);
}

/* Light theme */
:root[data-theme="light"] {
    /* 5 Core Colors - Light Theme */
    --primary-accent: #2196F3;
    --secondary-accent: #FF9800;
    --bg-color: #f5f5f5;
    --surface-color: #ffffff;
    --text-color: #1a1a1a;

    /* Text colors for accent backgrounds */
    --primary-accent-text: #ffffff;
    --secondary-accent-text: #ffffff;

    /* Tertiary accent for data display elements */
    --tertiary-accent: #78909C;
    --tertiary-accent-text: #ffffff;

    /* Derived colors for backward compatibility */
    --primary-bg: var(--bg-color);
    --secondary-bg: #e8e8e8; /* Blend of bg and surface */
    --card-bg: var(--surface-color);
    --border-color: #d0d0d0; /* Derived from surface */
    --text-primary: var(--text-color);
    --text-secondary: var(--tertiary-accent); /* Muted text */
    --button-color: var(--primary-accent);
    --link-color: var(--primary-accent);
    --accent-color: var(--secondary-accent);
}

body {
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;
    background-color: var(--primary-bg);
    color: var(--text-primary);
    font-size: 16px;
    line-height: 1.5;
    -webkit-font-smoothing: antialiased;
}

