/* ══════════════════════════════════════════════════════════════
   Mobilint Brochure System — Doxygen Awesome color overrides
   Rebrands the doxygen-awesome API reference to the Mobilint palette:
   teal primary, navy darks, brand fonts. Structure mirrors the
   doxygen-awesome default token set so all components inherit.
   ══════════════════════════════════════════════════════════════ */

html {
    /* primary theme color → Mobilint Teal Blue */
    --primary-color: #156082 !important;
    --primary-dark-color: #0E2841 !important;
    --primary-light-color: #4DA6D9 !important;
    --on-primary-color: #ffffff !important;

    --link-color: var(--primary-color) !important;

    /* page base colors */
    --page-background-color: #ffffff !important;
    --page-foreground-color: #1A1A1A !important;
    --page-secondary-foreground-color: #737373 !important;

    /* separators */
    --separator-color: #E8E8E8 !important;

    --border-radius-large: 12px !important;
    --border-radius-small: 4px !important;
    --border-radius-medium: 8px !important;

    --spacing-small: 5px !important;
    --spacing-medium: 10px !important;
    --spacing-large: 16px !important;
    --spacing-xlarge: 20px !important;

    --box-shadow: 0 2px 8px 0 rgba(10,22,40,.075) !important;

    --odd-color: rgba(10,22,40,.025) !important;

    /* fonts → Pretendard + JetBrains Mono */
    --font-family: "Pretendard Variable", Pretendard, "맑은 고딕", "Malgun Gothic", -apple-system, BlinkMacSystemFont, system-ui, sans-serif !important;
    --font-family-monospace: "JetBrains Mono", "SF Mono", Menlo, Consolas, monospace !important;

    --page-font-size: 15.6px !important;
    --navigation-font-size: 14.4px !important;
    --toc-font-size: 13.4px !important;
    --code-font-size: 14px !important;
    --title-font-size: 22px !important;

    --content-line-height: 27px !important;
    --content-maxwidth: 1050px !important;
    --table-line-height: 24px !important;
    --toc-sticky-top: var(--spacing-medium) !important;
    --toc-width: 200px !important;
    --toc-max-height: calc(100vh - 2 * var(--spacing-medium) - 85px) !important;

    /* content boxes: @note teal, @warning amber, @bug red — brand register */
    --warning-color: #FEFAF1 !important;
    --warning-color-dark: #D97706 !important;
    --warning-color-darker: #7A4A12 !important;
    --note-color: #F4F8FB !important;
    --note-color-dark: #156082 !important;
    --note-color-darker: #0E2841 !important;
    --todo-color: #F2F9FD !important;
    --todo-color-dark: #4DA6D9 !important;
    --todo-color-darker: #1E7CA8 !important;
    --deprecated-color: #F2F3F5 !important;
    --deprecated-color-dark: #6B7785 !important;
    --deprecated-color-darker: #434852 !important;
    --bug-color: #FDF6F6 !important;
    --bug-color-dark: #B91C1C !important;
    --bug-color-darker: #7A1414 !important;
    --invariant-color: #EAF5EF !important;
    --invariant-color-dark: #2F9E68 !important;
    --invariant-color-darker: #1E5C3C !important;

    /* blockquote */
    --blockquote-background: #F8F9FD !important;
    --blockquote-foreground: #404040 !important;

    /* table */
    --tablehead-background: #F8F9FD !important;
    --tablehead-foreground: var(--page-foreground-color) !important;

    --menu-display: block !important;
    --menu-focus-foreground: var(--on-primary-color) !important;
    --menu-focus-background: var(--primary-color) !important;
    --menu-selected-background: rgba(21,96,130,.08) !important;

    --header-background: var(--page-background-color) !important;
    --header-foreground: var(--page-foreground-color) !important;

    --searchbar-background: var(--side-nav-background) !important;
    --searchbar-foreground: var(--page-foreground-color) !important;
    --searchbar-height: 33px !important;
    --searchbar-width: 210px !important;
    --searchbar-border-radius: var(--searchbar-height) !important;

    /* code block */
    --code-background: #F8F9FD !important;
    --code-foreground: var(--page-foreground-color) !important;

    /* fragment (syntax) colors — brand-leaning */
    --fragment-background: #F8F9FD !important;
    --fragment-foreground: #1A2A3A !important;
    --fragment-keyword: #9B59B6 !important;
    --fragment-keywordtype: #8258b3 !important;
    --fragment-keywordflow: #C25B12 !important;
    --fragment-token: #1A8A5B !important;
    --fragment-comment: #7A8794 !important;
    --fragment-link: #156082 !important;
    --fragment-preprocessor: #0E6FA8 !important;
    --fragment-linenumber-color: #9AA7B4 !important;
    --fragment-linenumber-background: #EEF2F8 !important;
    --fragment-linenumber-border: #E2E8F0 !important;
    --fragment-lineheight: 20px !important;

    /* sidebar navigation (treeview) */
    --side-nav-background: #F8F9FD !important;
    --side-nav-foreground: var(--page-foreground-color) !important;
    --side-nav-arrow-opacity: 0 !important;
    --side-nav-arrow-hover-opacity: 0.9 !important;

    --toc-background: var(--side-nav-background) !important;
    --toc-foreground: var(--side-nav-foreground) !important;

    --tree-item-height: 30px !important;
    --memname-font-size: var(--code-font-size) !important;
    --memtitle-font-size: 18px !important;

    --webkit-scrollbar-size: 7px !important;
    --webkit-scrollbar-padding: 4px !important;
    --webkit-scrollbar-color: var(--separator-color) !important;

    --animation-duration: .12s
}

@media screen and (max-width: 767px) {
    html {
        --page-font-size: 16px !important;
        --navigation-font-size: 16px !important;
        --toc-font-size: 15px !important;
        --code-font-size: 15px !important;
        --title-font-size: 22px !important;
    }
}

/* ── Dark mode (system preference) ── */
@media (prefers-color-scheme: dark) {
    html:not(.light-mode) {
        color-scheme: dark;

        --primary-color: #4DA6D9 !important;
        --primary-dark-color: #AECFE8 !important;
        --primary-light-color: #2E7BA8 !important;

        --box-shadow: 0 2px 8px 0 rgba(0,0,0,.35) !important;
        --odd-color: rgba(255,255,255,.03) !important;
        --menu-selected-background: rgba(77,166,217,.16) !important;

        --page-background-color: #0A1322 !important;
        --page-foreground-color: #D7E2EC !important;
        --page-secondary-foreground-color: #8A9BAC !important;
        --separator-color: #1E3147 !important;
        --side-nav-background: #06101E !important;

        --code-background: #0B1726 !important;
        --tablehead-background: #0E2032 !important;

        --blockquote-background: #0B1726 !important;
        --blockquote-foreground: #8A9BAC !important;

        --warning-color: #2A2008 !important;
        --warning-color-dark: #E0930F !important;
        --warning-color-darker: #E8C98A !important;
        --note-color: #0C2231 !important;
        --note-color-dark: #4DA6D9 !important;
        --note-color-darker: #CFE4F0 !important;
        --todo-color: #0C2433 !important;
        --todo-color-dark: #4DA6D9 !important;
        --todo-color-darker: #AECFE8 !important;
        --deprecated-color: #1A2433 !important;
        --deprecated-color-dark: #7C8B9C !important;
        --deprecated-color-darker: #AAB6C4 !important;
        --bug-color: #2A1414 !important;
        --bug-color-dark: #E25555 !important;
        --bug-color-darker: #F2B4B4 !important;
        --invariant-color: #0E2A1E !important;
        --invariant-color-dark: #4FB985 !important;
        --invariant-color-darker: #BFE6D2 !important;

        --fragment-background: #0B1726 !important;
        --fragment-foreground: #D7E2EC !important;
        --fragment-keyword: #C99CD6 !important;
        --fragment-keywordtype: #B0A0D6 !important;
        --fragment-keywordflow: #E0930F !important;
        --fragment-token: #6FCF9A !important;
        --fragment-comment: #6E7E8C !important;
        --fragment-link: #6FBCE6 !important;
        --fragment-preprocessor: #58B0D6 !important;
        --fragment-linenumber-color: #8A9BAC !important;
        --fragment-linenumber-background: #0E2032 !important;
        --fragment-linenumber-border: #16263A !important;
    }
}

/* ── Dark mode (explicit toggle — doxygen-awesome-darkmode-toggle.js) ── */
html.dark-mode {
    color-scheme: dark;

    --primary-color: #4DA6D9 !important;
    --primary-dark-color: #AECFE8 !important;
    --primary-light-color: #2E7BA8 !important;

    --box-shadow: 0 2px 8px 0 rgba(0,0,0,.30) !important;
    --odd-color: rgba(255,255,255,.03) !important;
    --menu-selected-background: rgba(77,166,217,.16) !important;

    --page-background-color: #0A1322 !important;
    --page-foreground-color: #D7E2EC !important;
    --page-secondary-foreground-color: #8A9BAC !important;
    --separator-color: #1E3147 !important;
    --side-nav-background: #06101E !important;

    --code-background: #0B1726 !important;
    --tablehead-background: #0E2032 !important;

    --blockquote-background: #0B1726 !important;
    --blockquote-foreground: #8A9BAC !important;

    --warning-color: #2A2008 !important;
    --warning-color-dark: #E0930F !important;
    --warning-color-darker: #E8C98A !important;
    --note-color: #0C2231 !important;
    --note-color-dark: #4DA6D9 !important;
    --note-color-darker: #CFE4F0 !important;
    --todo-color: #0C2433 !important;
    --todo-color-dark: #4DA6D9 !important;
    --todo-color-darker: #AECFE8 !important;
    --deprecated-color: #1A2433 !important;
    --deprecated-color-dark: #7C8B9C !important;
    --deprecated-color-darker: #AAB6C4 !important;
    --bug-color: #2A1414 !important;
    --bug-color-dark: #E25555 !important;
    --bug-color-darker: #F2B4B4 !important;
    --invariant-color: #0E2A1E !important;
    --invariant-color-dark: #4FB985 !important;
    --invariant-color-darker: #BFE6D2 !important;

    --fragment-background: #0B1726 !important;
    --fragment-foreground: #D7E2EC !important;
    --fragment-keyword: #C99CD6 !important;
    --fragment-keywordtype: #B0A0D6 !important;
    --fragment-keywordflow: #E0930F !important;
    --fragment-token: #6FCF9A !important;
    --fragment-comment: #6E7E8C !important;
    --fragment-link: #6FBCE6 !important;
    --fragment-preprocessor: #58B0D6 !important;
    --fragment-linenumber-color: #8A9BAC !important;
    --fragment-linenumber-background: #0E2032 !important;
    --fragment-linenumber-border: #16263A !important;
}
