/* hitlib brand theme */

@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;600;700&display=swap');

:root {
    /* Core brand gradient: blue → purple → pink */
    --primary-color:              #a855f7;
    --primary-dark-color:         #7c3aed;
    --primary-light-color:        #1a0a2e;

    --link-color:                 #a855f7;
    --link-hover-color:           #ec4899;

    /* Backgrounds */
    --page-background-color:      #0d0d0d;
    --side-nav-background:        #111111;
    --fragment-background:        #1a1a1a;

    /* Text */
    --page-foreground-color:      #e5e5e5;
    --page-secondary-foreground-color: #9ca3af;

    /* Borders / separators */
    --separator-color:            #2a2a2a;
    --box-shadow:                 0 2px 12px rgba(168,85,247,0.15);

    /* Member declarations */
    --membrane-color:             #1a1a1a;
    --memdef-border-color:        #7c3aed;

    /* Code blocks */
    --code-background:            #181818;
    --code-foreground:            #e5e5e5;

    /* Accent — red from the logo */
    --warning-color:              #ef4444;

    font-family: 'Inter', sans-serif;
}

/* Force dark background everywhere */
body, #top, #side-nav, #nav-tree, #doc-content, .contents {
    background-color: var(--page-background-color) !important;
    color: var(--page-foreground-color) !important;
}

/* Gradient accent bar at top */
#top {
    border-bottom: 2px solid transparent;
    border-image: linear-gradient(90deg, #60a5fa, #a855f7, #ec4899) 1;
}

/* Project name gradient text */
#projectname {
    background: linear-gradient(90deg, #60a5fa, #a855f7, #ec4899);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    font-weight: 700;
    font-size: 1.6em;
}

/* Project brief */
#projectbrief {
    color: #9ca3af !important;
    font-size: 0.85em;
}

/* Sidebar nav tree */
#nav-tree {
    background-color: #111111 !important;
}

#nav-tree .selected {
    background: linear-gradient(90deg, rgba(96,165,250,0.15), rgba(168,85,247,0.15)) !important;
    border-left: 3px solid #a855f7;
}

#nav-tree a {
    color: #d1d5db !important;
}

#nav-tree a:hover {
    color: #ec4899 !important;
}

/* Member declaration boxes */
.memproto {
    background-color: #1a1a1a !important;
    border-left: 3px solid #7c3aed !important;
    border-radius: 0 6px 6px 0 !important;
}

.memdoc {
    background-color: #141414 !important;
    border: 1px solid #2a2a2a !important;
}

/* Section headers */
h2.groupheader {
    border-bottom: 1px solid #7c3aed;
    color: #a855f7;
}

/* Code fragments */
div.fragment, pre.fragment {
    background-color: #181818 !important;
    border: 1px solid #2a2a2a !important;
    border-left: 3px solid #60a5fa !important;
    border-radius: 0 6px 6px 0 !important;
}

/* Inline code */
code {
    background-color: #1f1f1f !important;
    color: #93c5fd !important;
    padding: 1px 5px;
    border-radius: 4px;
}

/* Tables */
table.doxtable {
    border-color: #2a2a2a !important;
}

table.doxtable th {
    background: linear-gradient(90deg, rgba(96,165,250,0.2), rgba(168,85,247,0.2)) !important;
    color: #e5e5e5 !important;
    border-color: #2a2a2a !important;
}

table.doxtable td {
    background-color: #141414 !important;
    border-color: #2a2a2a !important;
    color: #d1d5db !important;
}

/* Note / warning boxes */
dl.note, dl.warning, dl.attention {
    border-left: 4px solid #a855f7 !important;
    background-color: rgba(168,85,247,0.08) !important;
}

dl.warning {
    border-left-color: #ef4444 !important;
    background-color: rgba(239,68,68,0.08) !important;
}

/* Tabs */
.tablist a {
    color: #9ca3af !important;
}

.tablist a:hover, .tablist li.current a {
    color: #a855f7 !important;
    border-bottom: 2px solid #a855f7;
}

/* Search box */
#MSearchBox {
    background-color: #1a1a1a !important;
    border: 1px solid #2a2a2a !important;
    border-radius: 6px !important;
}