/*
 * Custom admin themes layered over Pico. Each theme keeps a packaged Pico
 * stylesheet as its component foundation and overrides semantic tokens here.
 */

/* Poppins 400, 500, 600, and 700 are bundled under the SIL Open Font License 1.1. */
@font-face {
    font-family: "Poppins";
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url("/dodeca/fonts/poppins/Poppins-Regular-devanagari-be7c930fceb794521be0a68e113a71d8.woff2") format("woff2");
    unicode-range: U+0900-097F, U+1CD0-1CF9, U+200C-200D, U+20A8, U+20B9, U+20F0, U+25CC, U+A830-A839, U+A8E0-A8FF, U+11B00-11B09;
}

@font-face {
    font-family: "Poppins";
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url("/dodeca/fonts/poppins/Poppins-Regular-latin-ext-f2a04185547c36abfa589651236a9849.woff2") format("woff2");
    unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
    font-family: "Poppins";
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url("/dodeca/fonts/poppins/Poppins-Regular-latin-43751174b6b810eb169101a20d8c26f8.woff2") format("woff2");
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
    font-family: "Poppins";
    font-style: normal;
    font-weight: 500;
    font-display: swap;
    src: url("/dodeca/fonts/poppins/Poppins-Medium-devanagari-9516f567cd80b0f418bba2f1299ed6d1.woff2") format("woff2");
    unicode-range: U+0900-097F, U+1CD0-1CF9, U+200C-200D, U+20A8, U+20B9, U+20F0, U+25CC, U+A830-A839, U+A8E0-A8FF, U+11B00-11B09;
}

@font-face {
    font-family: "Poppins";
    font-style: normal;
    font-weight: 500;
    font-display: swap;
    src: url("/dodeca/fonts/poppins/Poppins-Medium-latin-ext-63af7d5e18e585fad8d0220e5d551da1.woff2") format("woff2");
    unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
    font-family: "Poppins";
    font-style: normal;
    font-weight: 500;
    font-display: swap;
    src: url("/dodeca/fonts/poppins/Poppins-Medium-latin-792477d09826b11d1e5a611162c9797a.woff2") format("woff2");
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
    font-family: "Poppins";
    font-style: normal;
    font-weight: 600;
    font-display: swap;
    src: url("/dodeca/fonts/poppins/Poppins-SemiBold-devanagari-9e3ecbe4bb4c6f0b71adc1cd481c2bdc.woff2") format("woff2");
    unicode-range: U+0900-097F, U+1CD0-1CF9, U+200C-200D, U+20A8, U+20B9, U+20F0, U+25CC, U+A830-A839, U+A8E0-A8FF, U+11B00-11B09;
}

@font-face {
    font-family: "Poppins";
    font-style: normal;
    font-weight: 600;
    font-display: swap;
    src: url("/dodeca/fonts/poppins/Poppins-SemiBold-latin-ext-5a1b7c983a9dc0a87a2ff138e07ae822.woff2") format("woff2");
    unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
    font-family: "Poppins";
    font-style: normal;
    font-weight: 600;
    font-display: swap;
    src: url("/dodeca/fonts/poppins/Poppins-SemiBold-latin-b550bca8934bd86812d1f5e28c9cc1de.woff2") format("woff2");
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
    font-family: "Poppins";
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: url("/dodeca/fonts/poppins/Poppins-Bold-devanagari-69d9d2cdadeab7225297d50fc8e48e8b.woff2") format("woff2");
    unicode-range: U+0900-097F, U+1CD0-1CF9, U+200C-200D, U+20A8, U+20B9, U+20F0, U+25CC, U+A830-A839, U+A8E0-A8FF, U+11B00-11B09;
}

@font-face {
    font-family: "Poppins";
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: url("/dodeca/fonts/poppins/Poppins-Bold-latin-ext-d3aa06d13d3cf9c0558927051f3cb948.woff2") format("woff2");
    unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
    font-family: "Poppins";
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: url("/dodeca/fonts/poppins/Poppins-Bold-latin-0bd523f6049956faaf43c254a719d06a.woff2") format("woff2");
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

:root[data-color-theme="dodeca-standard"],
:root[data-color-theme="dodeca-sky"],
:root[data-color-theme="dodeca-orchard"] {
    --dodeca-navy: #02347f;
    --dodeca-sky: #77aee8;
    --dodeca-ice: #f4f7ff;
    --dodeca-apple: #c2e73b;

    /* @font-face sources are local static assets; no third-party request is made. */
    --pico-font-family: "Poppins", var(--pico-font-family-sans-serif);

    --pico-text-selection-color: color-mix(in srgb, var(--dodeca-sky) 40%, transparent);
    --pico-primary: var(--dodeca-theme-primary);
    --pico-primary-background: var(--dodeca-theme-primary-background);
    --pico-primary-border: var(--dodeca-theme-primary-border);
    --pico-primary-underline: color-mix(in srgb, var(--dodeca-theme-primary) 50%, transparent);
    --pico-primary-hover: var(--dodeca-theme-primary-hover);
    --pico-primary-hover-background: var(--dodeca-theme-primary-hover-background);
    --pico-primary-hover-border: var(--dodeca-theme-primary-hover);
    --pico-primary-hover-underline: var(--dodeca-theme-primary-hover);
    --pico-primary-focus: color-mix(in srgb, var(--dodeca-sky) 50%, transparent);
    --pico-primary-inverse: var(--dodeca-theme-primary-inverse);
    --pico-switch-thumb-box-shadow: 0 0 0.5rem color-mix(in srgb, var(--dodeca-sky) 35%, transparent);
}

:root[data-color-theme="dodeca-standard"][data-theme="light"],
:root[data-color-theme="dodeca-standard"]:not([data-theme]) {
    --dodeca-theme-primary: var(--dodeca-navy);
    --dodeca-theme-primary-background: var(--dodeca-navy);
    --dodeca-theme-primary-border: var(--dodeca-navy);
    --dodeca-theme-primary-hover: color-mix(in srgb, var(--dodeca-navy) 82%, black);
    --dodeca-theme-primary-hover-background: var(--dodeca-theme-primary-hover);
    --dodeca-theme-primary-inverse: #ffffff;
    --dodeca-theme-header-border: var(--dodeca-apple);

    --admin-accent: var(--dodeca-navy);
    --admin-accent-strong: var(--dodeca-theme-primary-hover);
    --admin-accent-soft: color-mix(in srgb, var(--dodeca-navy) 10%, transparent);
    --admin-page-background: var(--dodeca-ice);
    --admin-surface: #ffffff;
    --admin-surface-muted: color-mix(in srgb, var(--dodeca-ice) 84%, var(--dodeca-sky));
    --admin-header-background: var(--dodeca-navy);
    --admin-header-color: #ffffff;
}

:root[data-color-theme="dodeca-standard"][data-theme="dark"] {
    --dodeca-theme-primary: var(--dodeca-sky);
    --dodeca-theme-primary-background: var(--dodeca-navy);
    --dodeca-theme-primary-border: var(--dodeca-sky);
    --dodeca-theme-primary-hover: color-mix(in srgb, var(--dodeca-sky) 82%, white);
    --dodeca-theme-primary-hover-background: color-mix(in srgb, var(--dodeca-navy) 82%, var(--dodeca-sky));
    --dodeca-theme-primary-inverse: #ffffff;
    --dodeca-theme-header-border: var(--dodeca-apple);

    --admin-accent: var(--dodeca-sky);
    --admin-accent-strong: var(--dodeca-theme-primary-hover);
    --admin-accent-soft: color-mix(in srgb, var(--dodeca-sky) 14%, transparent);
    --admin-page-background: color-mix(in srgb, var(--dodeca-navy) 18%, #0b0d14);
    --admin-surface: color-mix(in srgb, var(--dodeca-navy) 16%, #171923);
    --admin-surface-muted: color-mix(in srgb, var(--dodeca-navy) 20%, #20232f);
    --admin-header-background: var(--dodeca-navy);
    --admin-header-color: #ffffff;
}

:root[data-color-theme="dodeca-sky"][data-theme="light"],
:root[data-color-theme="dodeca-sky"]:not([data-theme]) {
    --dodeca-theme-primary: color-mix(in srgb, var(--dodeca-sky) 50%, var(--dodeca-navy));
    --dodeca-theme-primary-background: var(--dodeca-sky);
    --dodeca-theme-primary-border: var(--dodeca-sky);
    --dodeca-theme-primary-hover: color-mix(in srgb, var(--dodeca-sky) 35%, var(--dodeca-navy));
    --dodeca-theme-primary-hover-background: color-mix(in srgb, var(--dodeca-sky) 80%, var(--dodeca-navy));
    --dodeca-theme-primary-inverse: var(--dodeca-navy);
    --dodeca-theme-header-border: var(--dodeca-navy);

    --admin-accent: var(--dodeca-theme-primary);
    --admin-accent-strong: var(--dodeca-theme-primary-hover);
    --admin-accent-soft: color-mix(in srgb, var(--dodeca-sky) 18%, transparent);
    --admin-page-background: var(--dodeca-ice);
    --admin-surface: #ffffff;
    --admin-surface-muted: color-mix(in srgb, var(--dodeca-ice) 76%, var(--dodeca-sky));
    --admin-header-background: var(--dodeca-sky);
    --admin-header-color: var(--dodeca-navy);
}

:root[data-color-theme="dodeca-sky"][data-theme="dark"] {
    --dodeca-theme-primary: var(--dodeca-sky);
    --dodeca-theme-primary-background: var(--dodeca-sky);
    --dodeca-theme-primary-border: var(--dodeca-sky);
    --dodeca-theme-primary-hover: color-mix(in srgb, var(--dodeca-sky) 82%, white);
    --dodeca-theme-primary-hover-background: color-mix(in srgb, var(--dodeca-sky) 84%, white);
    --dodeca-theme-primary-inverse: var(--dodeca-navy);
    --dodeca-theme-header-border: var(--dodeca-sky);

    --admin-accent: var(--dodeca-sky);
    --admin-accent-strong: var(--dodeca-theme-primary-hover);
    --admin-accent-soft: color-mix(in srgb, var(--dodeca-sky) 16%, transparent);
    --admin-page-background: color-mix(in srgb, var(--dodeca-navy) 22%, #0b0d14);
    --admin-surface: color-mix(in srgb, var(--dodeca-navy) 20%, #171923);
    --admin-surface-muted: color-mix(in srgb, var(--dodeca-navy) 24%, #20232f);
    --admin-header-background: var(--dodeca-navy);
    --admin-header-color: #ffffff;
}

:root[data-color-theme="dodeca-orchard"][data-theme="light"],
:root[data-color-theme="dodeca-orchard"]:not([data-theme]) {
    --dodeca-theme-primary: color-mix(in srgb, var(--dodeca-apple) 35%, var(--dodeca-navy));
    --dodeca-theme-primary-background: var(--dodeca-apple);
    --dodeca-theme-primary-border: var(--dodeca-apple);
    --dodeca-theme-primary-hover: color-mix(in srgb, var(--dodeca-theme-primary) 82%, black);
    --dodeca-theme-primary-hover-background: color-mix(in srgb, var(--dodeca-apple) 82%, var(--dodeca-navy));
    --dodeca-theme-primary-inverse: var(--dodeca-navy);
    --dodeca-theme-header-border: var(--dodeca-navy);

    --admin-accent: var(--dodeca-theme-primary);
    --admin-accent-strong: var(--dodeca-theme-primary-hover);
    --admin-accent-soft: color-mix(in srgb, var(--dodeca-apple) 22%, transparent);
    --admin-page-background: color-mix(in srgb, var(--dodeca-ice) 90%, var(--dodeca-apple));
    --admin-surface: #ffffff;
    --admin-surface-muted: color-mix(in srgb, var(--dodeca-ice) 78%, var(--dodeca-apple));
    --admin-header-background: var(--dodeca-apple);
    --admin-header-color: var(--dodeca-navy);
}

:root[data-color-theme="dodeca-orchard"][data-theme="dark"] {
    --dodeca-theme-primary: var(--dodeca-apple);
    --dodeca-theme-primary-background: var(--dodeca-apple);
    --dodeca-theme-primary-border: var(--dodeca-apple);
    --dodeca-theme-primary-hover: color-mix(in srgb, var(--dodeca-apple) 82%, white);
    --dodeca-theme-primary-hover-background: color-mix(in srgb, var(--dodeca-apple) 82%, white);
    --dodeca-theme-primary-inverse: var(--dodeca-navy);
    --dodeca-theme-header-border: var(--dodeca-navy);

    --admin-accent: var(--dodeca-apple);
    --admin-accent-strong: var(--dodeca-theme-primary-hover);
    --admin-accent-soft: color-mix(in srgb, var(--dodeca-apple) 14%, transparent);
    --admin-page-background: color-mix(in srgb, var(--dodeca-navy) 14%, #0d100d);
    --admin-surface: color-mix(in srgb, var(--dodeca-navy) 12%, #181b18);
    --admin-surface-muted: color-mix(in srgb, var(--dodeca-navy) 16%, #222722);
    --admin-header-background: var(--dodeca-apple);
    --admin-header-color: var(--dodeca-navy);
}

/* Each branded variant uses a deliberate header accent. */
:root[data-color-theme="dodeca-standard"] .admin-header,
:root[data-color-theme="dodeca-sky"] .admin-header,
:root[data-color-theme="dodeca-orchard"] .admin-header {
    border-bottom-color: var(--dodeca-theme-header-border);
}

:root[data-color-theme="dodeca-orchard"] .admin-brand small {
    color: color-mix(in srgb, var(--dodeca-navy) 68%, transparent);
}

:root[data-color-theme="dodeca-orchard"] .admin-account-trigger {
    border-color: color-mix(in srgb, var(--dodeca-navy) 38%, transparent);
}

:root[data-color-theme="dodeca-orchard"] .admin-header-nav .admin-account-trigger:hover {
    border-color: color-mix(in srgb, var(--dodeca-navy) 72%, transparent);
    background: color-mix(in srgb, var(--dodeca-navy) 9%, transparent);
}

@media (prefers-color-scheme: dark) {
    :root[data-color-theme="dodeca-standard"]:not([data-theme]) {
        --dodeca-theme-primary: var(--dodeca-sky);
        --dodeca-theme-primary-background: var(--dodeca-navy);
        --dodeca-theme-primary-border: var(--dodeca-sky);
        --dodeca-theme-primary-hover: color-mix(in srgb, var(--dodeca-sky) 82%, white);
        --dodeca-theme-primary-hover-background: color-mix(in srgb, var(--dodeca-navy) 82%, var(--dodeca-sky));
        --dodeca-theme-primary-inverse: #ffffff;
        --dodeca-theme-header-border: var(--dodeca-apple);

        --admin-accent: var(--dodeca-sky);
        --admin-accent-strong: var(--dodeca-theme-primary-hover);
        --admin-accent-soft: color-mix(in srgb, var(--dodeca-sky) 14%, transparent);
        --admin-page-background: color-mix(in srgb, var(--dodeca-navy) 18%, #0b0d14);
        --admin-surface: color-mix(in srgb, var(--dodeca-navy) 16%, #171923);
        --admin-surface-muted: color-mix(in srgb, var(--dodeca-navy) 20%, #20232f);
        --admin-header-background: var(--dodeca-navy);
        --admin-header-color: #ffffff;
    }

    :root[data-color-theme="dodeca-sky"]:not([data-theme]) {
        --dodeca-theme-primary: var(--dodeca-sky);
        --dodeca-theme-primary-background: var(--dodeca-sky);
        --dodeca-theme-primary-border: var(--dodeca-sky);
        --dodeca-theme-primary-hover: color-mix(in srgb, var(--dodeca-sky) 82%, white);
        --dodeca-theme-primary-hover-background: color-mix(in srgb, var(--dodeca-sky) 84%, white);
        --dodeca-theme-primary-inverse: var(--dodeca-navy);
        --dodeca-theme-header-border: var(--dodeca-sky);

        --admin-accent: var(--dodeca-sky);
        --admin-accent-strong: var(--dodeca-theme-primary-hover);
        --admin-accent-soft: color-mix(in srgb, var(--dodeca-sky) 16%, transparent);
        --admin-page-background: color-mix(in srgb, var(--dodeca-navy) 22%, #0b0d14);
        --admin-surface: color-mix(in srgb, var(--dodeca-navy) 20%, #171923);
        --admin-surface-muted: color-mix(in srgb, var(--dodeca-navy) 24%, #20232f);
        --admin-header-background: var(--dodeca-navy);
        --admin-header-color: #ffffff;
    }

    :root[data-color-theme="dodeca-orchard"]:not([data-theme]) {
        --dodeca-theme-primary: var(--dodeca-apple);
        --dodeca-theme-primary-background: var(--dodeca-apple);
        --dodeca-theme-primary-border: var(--dodeca-apple);
        --dodeca-theme-primary-hover: color-mix(in srgb, var(--dodeca-apple) 82%, white);
        --dodeca-theme-primary-hover-background: color-mix(in srgb, var(--dodeca-apple) 82%, white);
        --dodeca-theme-primary-inverse: var(--dodeca-navy);
        --dodeca-theme-header-border: var(--dodeca-navy);

        --admin-accent: var(--dodeca-apple);
        --admin-accent-strong: var(--dodeca-theme-primary-hover);
        --admin-accent-soft: color-mix(in srgb, var(--dodeca-apple) 14%, transparent);
        --admin-page-background: color-mix(in srgb, var(--dodeca-navy) 14%, #0d100d);
        --admin-surface: color-mix(in srgb, var(--dodeca-navy) 12%, #181b18);
        --admin-surface-muted: color-mix(in srgb, var(--dodeca-navy) 16%, #222722);
        --admin-header-background: var(--dodeca-apple);
        --admin-header-color: var(--dodeca-navy);
    }
}
