@media (prefers-color-scheme: dark) {
    :root {
        --primary: #3d6bb0;
        --primary-fg: #ffffff;

        --body-fg: #e2e8f0;
        --body-bg: #141821;
        --body-quiet-color: #94a3b8;
        --body-loud-color: #f1f5f9;

        --breadcrumbs-link-fg: #93c5fd;
        --breadcrumbs-bg: var(--primary);

        --link-fg: #93c5fd;
        --link-hover-color: #60a5fa;
        --link-selected-fg: #7db4f0;

        --hairline-color: #1e293b;
        --border-color: #2d3748;

        --error-fg: #f87171;
        --message-success-bg: #064e3b;
        --message-warning-bg: #713f12;
        --message-error-bg: #7f1d1d;

        --darkened-bg: #1a1f2e;
        --selected-bg: #1e3a5f;
        --selected-row: #1a2d4a;

        --close-button-bg: #374151;
        --close-button-hover-bg: #4b5563;
    }
}


html[data-theme="light"] {
    color-scheme: light;
}

html[data-theme="dark"] {
    --primary: #3d6bb0;
    --primary-fg: #ffffff;

    --body-fg: #e2e8f0;
    --body-bg: #141821;
    --body-quiet-color: #94a3b8;
    --body-loud-color: #f1f5f9;

    --breadcrumbs-link-fg: #93c5fd;
    --breadcrumbs-bg: var(--primary);

    --link-fg: #93c5fd;
    --link-hover-color: #60a5fa;
    --link-selected-fg: #7db4f0;

    --hairline-color: #1e293b;
    --border-color: #2d3748;

    --error-fg: #f87171;
    --message-success-bg: #064e3b;
    --message-warning-bg: #713f12;
    --message-error-bg: #7f1d1d;

    --darkened-bg: #1a1f2e;
    --selected-bg: #1e3a5f;
    --selected-row: #1a2d4a;

    --close-button-bg: #374151;
    --close-button-hover-bg: #4b5563;

    color-scheme: dark;
}

/* THEME SWITCH */
.theme-toggle {
    cursor: pointer;
    border: none;
    padding: 0;
    background: transparent;
    vertical-align: middle;
    margin-inline-start: 5px;
    margin-top: -1px;
}

.theme-toggle svg {
    vertical-align: middle;
    height: 1rem;
    width: 1rem;
    display: none;
}

/*
Fully hide screen reader text so we only show the one matching the current
theme.
*/
.theme-toggle .visually-hidden {
    display: none;
}

html[data-theme="auto"] .theme-toggle .theme-label-when-auto {
    display: block;
}

html[data-theme="dark"] .theme-toggle .theme-label-when-dark {
    display: block;
}

html[data-theme="light"] .theme-toggle .theme-label-when-light {
    display: block;
}

/* ICONS */
.theme-toggle svg.theme-icon-when-auto,
.theme-toggle svg.theme-icon-when-dark,
.theme-toggle svg.theme-icon-when-light {
    fill: var(--header-link-color);
    color: transparent;
}

html[data-theme="auto"] .theme-toggle svg.theme-icon-when-auto {
    display: block;
}

html[data-theme="dark"] .theme-toggle svg.theme-icon-when-dark {
    display: block;
}

html[data-theme="light"] .theme-toggle svg.theme-icon-when-light {
    display: block;
}

.visually-hidden {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0,0,0,0);
    white-space: nowrap;
    border: 0;
    color: var(--body-fg);
    background-color: var(--body-bg);
}
