:root {
    --asta-color-primary: rgba(240, 82, 156, 1);
    --asta-color-primary-dark: rgba(168, 57, 109, 1);
    --asta-color-primary-light: rgba(243, 116, 175, 1);

    --asta-color-secondary: rgba(15, 203, 140, 1);
    --asta-color-secondary-dark: rgba(10, 142, 98, 1);
    --asta-color-secondary-light: rgba(63, 213, 163, 1);

    --asta-color-tertiary: rgba(177, 27, 232, 1);
    --asta-color-tertiary-dark: rgba(123, 18, 162, 1);
    --asta-color-tertiary-light: rgba(192, 72, 236, 1);

    --asta-white: rgba(255, 255, 255, 1);
    --asta-black: rgba(0, 0, 0, 1);

    --asta-extra-dark-teal-4: rgba(3, 38, 41, 0.04);
    --asta-extra-dark-teal-10: rgba(3, 38, 41, 0.1);
    --asta-extra-dark-teal-20: rgba(3, 38, 41, 0.2);
    --asta-extra-dark-teal-30: rgba(3, 38, 41, 0.3);
    --asta-extra-dark-teal-40: rgba(3, 38, 41, 0.4);
    --asta-extra-dark-teal-50: rgba(3, 38, 41, 0.5);
    --asta-extra-dark-teal-60: rgba(3, 38, 41, 0.6);
    --asta-extra-dark-teal-70: rgba(3, 38, 41, 0.7);
    --asta-extra-dark-teal-80: rgba(3, 38, 41, 0.8);
    --asta-extra-dark-teal-90: rgba(3, 38, 41, 0.9);
    --asta-extra-dark-teal-100: rgba(3, 38, 41, 1);

    --asta-dark-teal-10: rgba(10, 50, 53, 0.1);
    --asta-dark-teal-20: rgba(10, 50, 53, 0.2);
    --asta-dark-teal-30: rgba(10, 50, 53, 0.3);
    --asta-dark-teal-40: rgba(10, 50, 53, 0.4);
    --asta-dark-teal-50: rgba(10, 50, 53, 0.5);
    --asta-dark-teal-60: rgba(10, 50, 53, 0.6);
    --asta-dark-teal-70: rgba(10, 50, 53, 0.7);
    --asta-dark-teal-80: rgba(10, 50, 53, 0.8);
    --asta-dark-teal-90: rgba(10, 50, 53, 0.9);
    --asta-dark-teal-100: rgba(10, 50, 53, 1);

    --asta-cream-4: rgba(250, 242, 233, 0.04);
    --asta-cream-10: rgba(250, 242, 233, 0.1);
    --asta-cream-20: rgba(250, 242, 233, 0.2);
    --asta-cream-30: rgba(250, 242, 233, 0.3);
    --asta-cream-40: rgba(250, 242, 233, 0.4);
    --asta-cream-50: rgba(250, 242, 233, 0.5);
    --asta-cream-60: rgba(250, 242, 233, 0.6);
    --asta-cream-70: rgba(250, 242, 233, 0.7);
    --asta-cream-80: rgba(250, 242, 233, 0.8);
    --asta-cream-90: rgba(250, 242, 233, 0.9);
    --asta-cream-100: rgba(250, 242, 233, 1);

    --asta-info-blue-20: rgba(212, 231, 252, 1);
    --asta-info-blue-40: rgba(170, 207, 249, 1);
    --asta-info-blue-60: rgba(127, 184, 245, 1);
    --asta-info-blue-80: rgba(85, 160, 242, 1);
    --asta-info-blue-100: rgba(42, 136, 239, 1);

    --asta-error-red-20: rgba(255, 218, 218, 1);
    --asta-error-red-40: rgba(254, 181, 181, 1);
    --asta-error-red-60: rgba(254, 144, 143, 1);
    --asta-error-red-80: rgba(253, 107, 106, 1);
    --asta-error-red-100: rgba(253, 70, 69, 1);

    --asta-success-green-20: rgba(221, 235, 215, 1);
    --asta-success-green-40: rgba(187, 215, 174, 1);
    --asta-success-green-60: rgba(152, 196, 134, 1);
    --asta-success-green-80: rgba(118, 176, 93, 1);
    --asta-success-green-100: rgba(84, 156, 53, 1);

    --asta-warning-orange-20: rgba(255, 237, 210, 1);
    --asta-warning-orange-40: rgba(255, 218, 164, 1);
    --asta-warning-orange-60: rgba(255, 200, 119, 1);
    --asta-warning-orange-80: rgba(255, 181, 73, 1);
    --asta-warning-orange-100: rgba(255, 163, 28, 1);

    --asta-teal-10: rgba(16, 82, 87, 0.1);
    --asta-teal-20: rgba(16, 82, 87, 0.2);
    --asta-teal-30: rgba(16, 82, 87, 0.3);
    --asta-teal-40: rgba(16, 82, 87, 0.4);
    --asta-teal-50: rgba(16, 82, 87, 0.5);
    --asta-teal-60: rgba(16, 82, 87, 0.6);
    --asta-teal-70: rgba(16, 82, 87, 0.7);
    --asta-teal-80: rgba(16, 82, 87, 0.8);
    --asta-teal-90: rgba(16, 82, 87, 0.9);
    --asta-teal-100: rgba(16, 82, 87, 1);

    --asta-pink-10: rgba(253, 238, 245, 1);
    --asta-pink-20: rgba(252, 220, 235, 1);
    --asta-pink-30: rgba(251, 203, 225, 1);
    --asta-pink-40: rgba(249, 186, 215, 1);
    --asta-pink-50: rgba(247, 168, 205, 1);
    --asta-pink-60: rgba(246, 151, 196, 1);
    --asta-pink-70: rgba(245, 134, 186, 1);
    --asta-pink-80: rgba(243, 117, 176, 1);
    --asta-pink-90: rgba(242, 99, 166, 1);
    --asta-pink-100: rgba(240, 82, 156, 1);

    --asta-purple-10: rgba(247, 232, 253, 1);
    --asta-purple-20: rgba(239, 209, 250, 1);
    --asta-purple-30: rgba(232, 187, 248, 1);
    --asta-purple-40: rgba(224, 164, 246, 1);
    --asta-purple-50: rgba(216, 141, 243, 1);
    --asta-purple-60: rgba(208, 118, 241, 1);
    --asta-purple-70: rgba(200, 95, 239, 1);
    --asta-purple-80: rgba(193, 73, 237, 1);
    --asta-purple-90: rgba(185, 50, 234, 1);
    --asta-purple-100: rgba(177, 27, 232, 1);

    --asta-green-10: rgba(231, 250, 243, 1);
    --asta-green-20: rgba(207, 245, 232, 1);
    --asta-green-30: rgba(183, 239, 221, 1);
    --asta-green-40: rgba(159, 234, 209, 1);
    --asta-green-50: rgba(135, 229, 197, 1);
    --asta-green-60: rgba(111, 224, 186, 1);
    --asta-green-70: rgba(87, 219, 175, 1);
    --asta-green-80: rgba(63, 213, 163, 1);
    --asta-green-90: rgba(39, 208, 156, 1);
    --asta-green-100: rgba(15, 203, 140, 1);

    --asta-gray-10: rgba(235, 235, 235, 1);
    --asta-gray-20: rgba(214, 214, 214, 1);
    --asta-gray-30: rgba(194, 194, 194, 1);
    --asta-gray-40: rgba(174, 174, 174, 1);
    --asta-gray-50: rgba(153, 153, 153, 1);
    --asta-gray-60: rgba(133, 133, 133, 1);
    --asta-gray-70: rgba(113, 113, 113, 1);
    --asta-gray-80: rgba(93, 93, 93, 1);
    --asta-gray-90: rgba(72, 72, 72, 1);
    --asta-gray-100: rgba(52, 52, 52, 1);
}

/* Material for MkDocs: light theme tokens */
[data-md-color-scheme="asta-light"] {
    color-scheme: light;

    --md-primary-fg-color: var(--asta-teal-100);
    --md-primary-fg-color--light: var(--asta-teal-80);
    --md-primary-fg-color--dark: var(--asta-dark-teal-100);

    --md-accent-fg-color: var(--asta-color-secondary);
    --md-accent-fg-color--transparent: var(--asta-green-20);
    --md-accent-bg-color: var(--asta-white);
    --md-accent-bg-color--light: var(--asta-cream-40);

    --md-default-fg-color: var(--asta-dark-teal-100);
    --md-default-fg-color--light: var(--asta-dark-teal-80);
    --md-default-fg-color--lighter: var(--asta-dark-teal-60);
    --md-default-fg-color--lightest: var(--asta-dark-teal-40);

    --md-default-bg-color: var(--asta-cream-100);
    --md-default-bg-color--light: var(--asta-cream-80);
    --md-default-bg-color--lighter: var(--asta-cream-60);
    --md-default-bg-color--lightest: var(--asta-cream-40);

    --md-code-fg-color: var(--asta-dark-teal-90);
    --md-code-bg-color: var(--asta-white);
    --md-code-hl-color: var(--asta-info-blue-60);
    --md-code-hl-color--light: var(--asta-info-blue-40);

    --md-typeset-color: var(--md-default-fg-color);
    --md-typeset-a-color: var(--asta-color-primary);
    --md-typeset-mark-color: var(--asta-warning-orange-40);
    --md-typeset-kbd-color: var(--asta-cream-80);
    --md-typeset-kbd-border-color: var(--asta-gray-40);

    --md-admonition-fg-color: var(--md-default-fg-color);
    --md-admonition-bg-color: var(--asta-cream-20);

    --md-warning-fg-color: var(--asta-extra-dark-teal-100);
    --md-warning-bg-color: var(--asta-warning-orange-40);

    --md-footer-bg-color: var(--asta-dark-teal-80);
    --md-footer-fg-color: var(--asta-cream-90);
    --md-footer-fg-color--light: var(--asta-cream-70);
    --md-footer-fg-color--lighter: var(--asta-cream-50);

    --md-shadow-z1:
        0 0.25rem 0.625rem var(--asta-dark-teal-20),
        0 0 0.0625rem var(--asta-dark-teal-30);
    --md-shadow-z2:
        0 0.25rem 0.625rem var(--asta-dark-teal-30),
        0 0 0.0625rem var(--asta-dark-teal-40);
    --md-shadow-z3:
        0 0.25rem 0.625rem var(--asta-dark-teal-40),
        0 0 0.0625rem var(--asta-dark-teal-50);
}

/* Material for MkDocs: dark theme tokens */
[data-md-color-scheme="asta-dark"] {
    color-scheme: dark;

    --md-primary-fg-color: var(--asta-teal-100);
    --md-primary-fg-color--light: var(--asta-teal-80);
    --md-primary-fg-color--dark: var(--asta-dark-teal-100);

    --md-accent-fg-color: var(--asta-color-secondary-light);
    --md-accent-fg-color--transparent: var(--asta-green-40);
    --md-accent-bg-color: var(--asta-extra-dark-teal-80);
    --md-accent-bg-color--light: var(--asta-extra-dark-teal-60);

    --md-default-fg-color: var(--asta-cream-100);
    --md-default-fg-color--light: var(--asta-cream-80);
    --md-default-fg-color--lighter: var(--asta-cream-60);
    --md-default-fg-color--lightest: var(--asta-cream-40);

    --md-default-bg-color: var(--asta-extra-dark-teal-100);
    --md-default-bg-color--light: var(--asta-extra-dark-teal-80);
    --md-default-bg-color--lighter: var(--asta-extra-dark-teal-60);
    --md-default-bg-color--lightest: var(--asta-extra-dark-teal-40);

    --md-code-fg-color: var(--asta-cream-100);
    --md-code-bg-color: var(--asta-dark-teal-70);
    --md-code-hl-color: var(--asta-info-blue-80);
    --md-code-hl-color--light: var(--asta-info-blue-40);
    --md-code-hl-number-color: var(--asta-warning-orange-80);
    --md-code-hl-special-color: var(--asta-purple-70);
    --md-code-hl-function-color: var(--asta-info-blue-80);
    --md-code-hl-constant-color: var(--asta-purple-60);
    --md-code-hl-name-color: var(--asta-gray-30);
    --md-code-hl-keyword-color: var(--asta-purple-80);
    --md-code-hl-string-color: var(--asta-warning-orange-60);
    --md-code-hl-operator-color: var(--asta-cream-90);
    --md-code-hl-punctuation-color: var(--asta-cream-90);
    --md-code-hl-comment-color: var(--asta-cream-50);
    --md-code-hl-generic-color: var(--asta-cream-70);
    --md-code-hl-variable-color: var(--asta-cream-90);

    --md-typeset-color: var(--md-default-fg-color);
    --md-typeset-a-color: var(--asta-color-secondary-light);
    --md-typeset-mark-color: var(--asta-warning-orange-60);
    --md-typeset-kbd-color: var(--asta-dark-teal-80);
    --md-typeset-kbd-border-color: var(--asta-dark-teal-40);

    --md-admonition-fg-color: var(--md-default-fg-color);
    --md-admonition-bg-color: var(--asta-dark-teal-60);

    --md-warning-fg-color: var(--asta-cream-100);
    --md-warning-bg-color: var(--asta-warning-orange-80);

    --md-footer-bg-color: var(--asta-extra-dark-teal-100);
    --md-footer-fg-color: var(--asta-cream-80);
    --md-footer-fg-color--light: var(--asta-cream-60);
    --md-footer-fg-color--lighter: var(--asta-cream-40);

    --md-shadow-z1:
        0 0.25rem 0.625rem var(--asta-extra-dark-teal-40),
        0 0 0.0625rem var(--asta-extra-dark-teal-60);
    --md-shadow-z2:
        0 0.25rem 0.625rem var(--asta-extra-dark-teal-50),
        0 0 0.0625rem var(--asta-extra-dark-teal-70);
    --md-shadow-z3:
        0 0.25rem 0.625rem var(--asta-extra-dark-teal-60),
        0 0 0.0625rem var(--asta-extra-dark-teal-80);
}

[data-md-color-scheme="asta-dark"] .highlight,
[data-md-color-scheme="asta-dark"] .md-typeset pre,
[data-md-color-scheme="asta-dark"] .md-typeset pre > code {
    background-color: var(--md-code-bg-color);
    color: var(--md-code-fg-color);
}

[data-md-color-scheme="asta-dark"] .highlight .hll {
    background-color: var(--md-code-hl-color--light);
    box-shadow: 2px 0 0 0 var(--md-code-hl-color) inset;
}

[data-md-color-scheme="asta-dark"] .highlight span.filename,
[data-md-color-scheme="asta-dark"] .highlighttable .linenos,
[data-md-color-scheme="asta-dark"] .highlighttable .linenodiv,
[data-md-color-scheme="asta-dark"] .highlighttable .code {
    background-color: var(--md-code-bg-color);
    color: var(--md-code-fg-color);
}

[data-md-color-scheme="asta-dark"] .highlight span.filename {
    border-bottom-color: var(--md-default-bg-color--lighter);
}
