:root, 
[data-theme="light"] {
    /* Mapped from: md_theme_light_primary (#3F51B5) */
    --pico-primary: #3F51B5 !important;
    --pico-primary-background: #3F51B5 !important;
    --pico-primary-hover: #303F9F !important; /* Slightly Darker Indigo for Hover */
    --pico-primary-underline: #3F51B5 !important;
    --pico-primary-focus: rgba(63, 81, 181, 0.5) !important;
    --pico-primary-inverse: #FFFFFF !important; /* md_theme_light_onPrimary */
    --pico-text-selection-color: rgba(63, 81, 181, 0.25) !important;

    --pico-primary-hover: #303F9F !important;
    --pico-primary-hover-background: #303F9F !important;
    --pico-primary-hover-border: #303F9F !important;

    /* Mapped from: md_theme_light_secondary (#2196F3) */
    --pico-secondary: #2196F3 !important;
    --pico-secondary-background: #2196F3 !important;
    --pico-secondary-hover: #1976D2 !important; /* Slightly Darker Blue */
    --pico-secondary-underline: #2196F3 !important;
    --pico-secondary-focus: rgba(33, 150, 243, 0.5) !important;
    --pico-secondary-inverse: #FFFFFF !important; /* md_theme_light_onSecondary */

    --pico-secondary-hover: #1976D2 !important;
    --pico-secondary-hover-background: #1976D2 !important;
    --pico-secondary-hover-border: #1976D2 !important;

    /* --- BACKGROUNDS & SURFACES --- */
    /* Mapped from: md_theme_light_background (#FDFBFF) */
    --pico-background-color: #FDFBFF !important;
    --pico-card-background-color: #FDFBFF !important; /* md_theme_light_surface */
    --pico-card-sectioning-background-color: #EDEDF4 !important; /* md_theme_light_surfaceContainer */
    
    /* --- TEXT & BORDERS --- */
    --pico-color: #1A1C1E !important;        /* md_theme_light_onBackground */
    --pico-muted-color: #74777F !important;  /* md_theme_light_outline */
    --pico-border-color: #C4C6D0 !important; /* md_theme_light_outlineVariant */

    /* --- FORM ELEMENTS (Inputs) --- */
    --pico-form-element-border-color: #74777F !important;
    --pico-form-element-active-border-color: #3F51B5 !important;
    --pico-form-element-focus-color: rgba(63, 81, 181, 0.5) !important;
}

/* ================= DARK THEME ================= */
/* Mapped from 'md_theme_dark_*' in Color.kt */
@media (prefers-color-scheme: dark) {
    :root:not([data-theme="light"]) {
        /* --- PRIMARY (Pastel Indigo) --- */
        /* Mapped from: md_theme_dark_primary (#BAC3FF) */
        --pico-primary: #BAC3FF !important;
        --pico-primary-background: #BAC3FF !important;
        --pico-primary-hover: #D0D6FF !important; /* Lighter shade for dark mode hover */
        --pico-primary-underline: #BAC3FF !important;
        --pico-primary-focus: rgba(186, 195, 255, 0.5) !important;
        --pico-primary-inverse: #08218A !important; /* md_theme_dark_onPrimary */
        --pico-text-selection-color: rgba(186, 195, 255, 0.25) !important;

        --pico-primary-hover: #D0D6FF !important;
        --pico-primary-hover-background: #D0D6FF !important;
        --pico-primary-hover-border: #D0D6FF !important;

        /* --- SECONDARY (Pastel Blue) --- */
        /* Mapped from: md_theme_dark_secondary (#A1C9FF) */
        --pico-secondary: #A1C9FF !important;
        --pico-secondary-background: #A1C9FF !important;
        --pico-secondary-hover: #C2DDFF !important; /* Lighter shade */
        --pico-secondary-underline: #A1C9FF !important;
        --pico-secondary-focus: rgba(161, 201, 255, 0.5) !important;
        --pico-secondary-inverse: #00325B !important; /* md_theme_dark_onSecondary */

        --pico-secondary-hover: #C2DDFF !important;
        --pico-secondary-hover-background: #C2DDFF !important;
        --pico-secondary-hover-border: #C2DDFF !important;

        /* --- BACKGROUNDS & SURFACES --- */
        /* Mapped from: md_theme_dark_background (#1A1C1E) */
        --pico-background-color: #1A1C1E !important;
        --pico-card-background-color: #121316 !important; /* md_theme_dark_surface */
        --pico-card-sectioning-background-color: #1E2022 !important; /* md_theme_dark_surfaceContainer */

        /* --- TEXT & BORDERS --- */
        --pico-color: #E2E2E6 !important;        /* md_theme_dark_onBackground */
        --pico-muted-color: #8E9099 !important;  /* md_theme_dark_outline */
        --pico-border-color: #44474F !important; /* md_theme_dark_outlineVariant */

        /* --- FORMS --- */
        --pico-form-element-border-color: #8E9099 !important;
        --pico-form-element-active-border-color: #BAC3FF !important;
        --pico-form-element-focus-color: rgba(186, 195, 255, 0.5) !important;
    }
}

/* Force overrides if data-theme is manually set to dark */
[data-theme="dark"] {
    --pico-primary: #BAC3FF !important;
    --pico-primary-background: #BAC3FF !important;
    --pico-primary-hover: #D0D6FF !important;
    --pico-primary-underline: #BAC3FF !important;
    --pico-primary-focus: rgba(186, 195, 255, 0.5) !important;
    --pico-primary-inverse: #08218A !important;
    
    --pico-primary-hover: #D0D6FF !important;
    --pico-primary-hover-background: #D0D6FF !important;
    --pico-primary-hover-border: #D0D6FF !important;

    --pico-secondary: #A1C9FF !important;
    --pico-secondary-background: #A1C9FF !important;
    --pico-secondary-hover: #C2DDFF !important;
    --pico-secondary-underline: #A1C9FF !important;
    --pico-secondary-focus: rgba(161, 201, 255, 0.5) !important;
    --pico-secondary-inverse: #00325B !important;

    --pico-secondary-hover: #C2DDFF !important;
    --pico-secondary-hover-background: #C2DDFF !important;
    --pico-secondary-hover-border: #C2DDFF !important;

    --pico-background-color: #1A1C1E !important;
    --pico-card-background-color: #121316 !important;
    --pico-card-sectioning-background-color: #1E2022 !important;

    --pico-color: #E2E2E6 !important;
    --pico-muted-color: #8E9099 !important;
    --pico-border-color: #44474F !important;

    --pico-form-element-border-color: #8E9099 !important;
    --pico-form-element-active-border-color: #BAC3FF !important;
    --pico-form-element-focus-color: rgba(186, 195, 255, 0.5) !important;
}

/* Custom spacing */
header.hero { text-align: center; padding: 3rem 0; }
.grid article { text-align: center; }