:root {
    /* Colors - Mature STEM Palette (Teal/Deep Blue) */
    --primary-color: #00695C;
    /* Deep Teal */
    --primary-light: #439688;
    --primary-dark: #003d33;
    --accent-color: #0288D1;
    /* Scientific Blue */

    --bg-color: #F8FAFC;
    /* Clean Gray-Blue background */
    --surface-color: #FFFFFF;
    --surface-subtle: #F1F5F9;
    --border-color: #E2E8F0;

    --text-main: #1E293B;
    /* Slate 800 */
    --text-muted: #64748B;
    /* Slate 500 */

    /* Shadows - Standard Professional Flat Design */
    --shadow-sm: 0 1px 2px 0 rgb(0 0 0 / 0.05);
    --shadow-md: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
    --shadow-lg: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);

    /* Legacy Shadow Variables (for compatibility during migration) */
    --shadow-dark: rgba(0, 0, 0, 0.1);
    --shadow-light: rgba(255, 255, 255, 0.5);

    /* Semantic Colors */
    --color-recent: #00897B;
    --color-relevant: #F59E0B;
    --color-old: #EF4444;

    /* Typography */
    --font-family: 'Outfit', sans-serif;

    /* Spacing - Increased for better "breathing room" */
    --spacing-xs: 6px;
    --spacing-sm: 10px;
    --spacing-md: 20px;
    --spacing-lg: 32px;
    --spacing-xl: 48px;
    --spacing-huge: 80px;

    /* Radius - Sharper for professional look */
    --radius-sm: 4px;
    --radius-md: 8px;
    --radius-lg: 12px;
    --radius-pill: 999px;

    /* Animation - Smoother, less "bouncy" */
    --ease-standard: cubic-bezier(0.4, 0, 0.2, 1);
    --ease-out: cubic-bezier(0, 0, 0.2, 1);
}

body {
    background-color: var(--bg-color);
    color: var(--text-main);
    font-family: var(--font-family);
    margin: 0;
    padding: 0;
}