/* Custom styles for Starlette Templates documentation */

:root {
    --md-text-font: "SF Pro Text", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Open Sans", "Helvetica Neue", sans-serif;
    --md-code-font: "SF Mono", "Menlo", "Monaco", "Consolas", "Liberation Mono", Courier, monospace;
}

/* Light mode */
[data-md-color-scheme="astral-light"] {
    --md-hue: 225deg;
    --md-default-fg-color: #000;
    --md-default-fg-color--light: #000;
    --md-default-fg-color--lighter: #00000052;
    --md-default-fg-color--lightest: #00000012;
    --md-default-bg-color: #fff;
    --md-default-bg-color--light: #ffffffb3;
    --md-default-bg-color--lighter: #ffffff4d;
    --md-default-bg-color--lightest: #ffffff1f;
    --md-code-fg-color: #000;
    --md-code-bg-color: #f5f5f5;
    --md-code-bg-color--light: #f5f5f5b3;
    --md-code-bg-color--lighter: #f5f5f54d;
    --md-code-hl-color: #4287ff;
    --md-code-hl-color--light: #4287ff1a;
    --md-code-hl-number-color: #d52a2a;
    --md-code-hl-special-color: #db1457;
    --md-code-hl-function-color: #a846b9;
    --md-code-hl-constant-color: #6e59d9;
    --md-code-hl-keyword-color: #3f6ec6;
    --md-code-hl-string-color: #1c7d4d;
    --md-code-hl-name-color: var(--md-code-fg-color);
    --md-code-hl-operator-color: var(--md-default-fg-color--light);
    --md-code-hl-punctuation-color: var(--md-default-fg-color--light);
    --md-code-hl-comment-color: #246b21;
    --md-code-hl-generic-color: var(--md-default-fg-color--light);
    --md-code-hl-variable-color: var(--md-default-fg-color--light);
    --md-typeset-color: var(--md-default-fg-color);
    --md-typeset-a-color: rgb(0,102,204);
    --md-typeset-del-color: #f5503d26;
    --md-typeset-ins-color: #0bd57026;
    --md-typeset-kbd-color: #fafafa;
    --md-typeset-kbd-accent-color: #fff;
    --md-typeset-kbd-border-color: #b8b8b8;
    --md-typeset-mark-color: #ffff0080;
    --md-typeset-table-color: #0000001f;
    --md-typeset-table-color--light: rgba(0, 0, 0, .035);
    --md-admonition-fg-color: var(--md-default-fg-color);
    --md-admonition-bg-color: var(--md-default-bg-color);
    --md-warning-fg-color: #000000de;
    --md-warning-bg-color: #ff9;
    --md-footer-fg-color: #fff;
    --md-footer-fg-color--light: #ffffffb3;
    --md-footer-fg-color--lighter: #ffffff73;
    --md-footer-bg-color: #000000de;
    --md-footer-bg-color--dark: #00000052;
    --md-shadow-z1: 0 0.2rem 0.5rem #0000000d, 0 0 0.05rem #0000001a;
    --md-shadow-z2: 0 0.2rem 0.5rem #0000001a, 0 0 0.05rem #00000040;
    --md-shadow-z3: 0 0.2rem 0.5rem #0003, 0 0 0.05rem #00000059;
}

/* Dark mode */
[data-md-color-scheme="astral-dark"] {
    --md-hue: 225deg;
    --md-default-fg-color: #fff;
    --md-default-fg-color--light: #FFF;
    --md-default-fg-color--lighter: #ffffff73;
    --md-default-fg-color--lightest: #ffffff1f;
    --md-default-bg-color: #090006;
    --md-default-bg-color--light: #1a1a1ab3;
    --md-default-bg-color--lighter: #1a1a1a4d;
    --md-default-bg-color--lightest: #1a1a1a1f;
    --md-code-fg-color: #e0e0e0;
    --md-code-bg-color: #181317;
    --md-code-bg-color--light: #2d2d2db3;
    --md-code-bg-color--lighter: #2d2d2d4d;
    --md-code-hl-color: #6ba3ff;
    --md-code-hl-color--light: #6ba3ff1a;
    --md-code-hl-number-color: #ff6b6b;
    --md-code-hl-special-color: #ff5a8a;
    --md-code-hl-function-color: #d98dea;
    --md-code-hl-constant-color: #a89dff;
    --md-code-hl-keyword-color: #7db3ff;
    --md-code-hl-string-color: #5dd39e;
    --md-code-hl-name-color: var(--md-code-fg-color);
    --md-code-hl-operator-color: var(--md-default-fg-color--light);
    --md-code-hl-punctuation-color: var(--md-default-fg-color--light);
    --md-code-hl-comment-color: #7cb879;
    --md-code-hl-generic-color: var(--md-default-fg-color--light);
    --md-code-hl-variable-color: var(--md-default-fg-color--light);
    --md-typeset-color: var(--md-default-fg-color);
    --md-typeset-a-color: rgb(99, 179, 237);
    --md-typeset-del-color: #f5503d40;
    --md-typeset-ins-color: #0bd57040;
    --md-typeset-kbd-color: #424242;
    --md-typeset-kbd-accent-color: #666;
    --md-typeset-kbd-border-color: #666;
    --md-typeset-mark-color: #ffff0066;
    --md-typeset-table-color: #ffffff1f;
    --md-typeset-table-color--light: rgba(255, 255, 255, .035);
    --md-admonition-fg-color: var(--md-default-fg-color);
    --md-admonition-bg-color: var(--md-default-bg-color);
    --md-warning-fg-color: #ffffffde;
    --md-warning-bg-color: #664d00;
    --md-footer-fg-color: #fff;
    --md-footer-fg-color--light: #ffffffb3;
    --md-footer-fg-color--lighter: #ffffff73;
    --md-footer-bg-color: #000000de;
    --md-footer-bg-color--dark: #00000052;
    --md-shadow-z1: 0 0.2rem 0.5rem #0000001a, 0 0 0.05rem #00000040;
    --md-shadow-z2: 0 0.2rem 0.5rem #00000040, 0 0 0.05rem #00000073;
    --md-shadow-z3: 0 0.2rem 0.5rem #00000059, 0 0 0.05rem #000000b3;
}

[data-md-color-primary=indigo] {
    --md-primary-fg-color: rgb(29, 2, 20);
    /* --md-primary-fg-color: rgb(229, 32, 233); */
    --md-primary-fg-color--light: #5d6cc0;
    --md-primary-fg-color--dark: #303fa1;
    --md-primary-bg-color: #fff;
    --md-primary-bg-color--light: #ffffffb3;

    --md-accent-fg-color: rgb(229, 32, 233);
    --md-accent-fg-color--transparent: #526cfe1a;
    --md-accent-bg-color: #fff;
    --md-accent-bg-color--light: #ffffffb3;
}

/* Improve code block styling */
.highlight {
    margin: 1em 0;
}

/* Better spacing for admonitions */
.admonition {
    margin: 1.5em 0;
}

/* Custom styling for API documentation */
.doc-heading {
    margin-top: 2em;
}

.md-typeset a {
    text-decoration: underline;
    color: var(--md-typeset-a-color);
    text-underline-offset: 2px;
}

.md-typeset a:focus, .md-typeset a:hover {
    --md-accent-fg-color: var(--md-typeset-a-color);
    color: var(--md-accent-fg-color);
}

.md-header--shadow {
    box-shadow: none;
}

.md-typeset h1, .md-typeset h2 {
    font-weight: 600;
}

.md-typeset h3 {
    font-weight: 500;
}