:root {
  --flexoki-paper: #fffcf0;
  --flexoki-black: #100f0f;
  --flexoki-base-50: #f2f0e5;
  --flexoki-base-100: #e6e4d9;
  --flexoki-base-150: #dad8ce;
  --flexoki-base-200: #cecdc3;
  --flexoki-base-300: #b7b5ac;
  --flexoki-base-400: #9f9d96;
  --flexoki-base-500: #878580;
  --flexoki-base-600: #6f6e69;
  --flexoki-base-700: #575653;
  --flexoki-base-800: #403e3c;
  --flexoki-base-850: #343331;
  --flexoki-base-900: #282726;
  --flexoki-base-950: #1c1b1a;

  --flexoki-red-50: #ffe1d5;
  --flexoki-red-100: #ffcabb;
  --flexoki-red-150: #fdb2a2;
  --flexoki-red-200: #f89a8a;
  --flexoki-red-300: #e8705f;
  --flexoki-red-400: #d14d41;
  --flexoki-red-500: #c03e35;
  --flexoki-red-600: #af3029;
  --flexoki-red-700: #942822;
  --flexoki-red-800: #6c201c;
  --flexoki-red-850: #551b18;
  --flexoki-red-900: #3e1715;
  --flexoki-red-950: #261312;

  --flexoki-orange-50: #ffe7ce;
  --flexoki-orange-100: #fed3af;
  --flexoki-orange-150: #fcc192;
  --flexoki-orange-200: #f9ae77;
  --flexoki-orange-300: #ec8b49;
  --flexoki-orange-400: #da702c;
  --flexoki-orange-500: #cb6120;
  --flexoki-orange-600: #bc5215;
  --flexoki-orange-700: #9d4310;
  --flexoki-orange-800: #71320d;
  --flexoki-orange-850: #59290d;
  --flexoki-orange-900: #40200d;
  --flexoki-orange-950: #27180e;

  --flexoki-yellow-50: #faeec6;
  --flexoki-yellow-100: #f6e2a0;
  --flexoki-yellow-150: #f1d67e;
  --flexoki-yellow-200: #eccb60;
  --flexoki-yellow-300: #dfb431;
  --flexoki-yellow-400: #d0a215;
  --flexoki-yellow-500: #be9207;
  --flexoki-yellow-600: #ad8301;
  --flexoki-yellow-700: #8e6b01;
  --flexoki-yellow-800: #664d01;
  --flexoki-yellow-850: #503d02;
  --flexoki-yellow-900: #3a2d04;
  --flexoki-yellow-950: #241e08;

  --flexoki-green-50: #edeecf;
  --flexoki-green-100: #dde2b2;
  --flexoki-green-150: #cdd597;
  --flexoki-green-200: #bec97e;
  --flexoki-green-300: #a0af54;
  --flexoki-green-400: #879a39;
  --flexoki-green-500: #768d21;
  --flexoki-green-600: #66800b;
  --flexoki-green-700: #536907;
  --flexoki-green-800: #3d4c07;
  --flexoki-green-850: #313d07;
  --flexoki-green-900: #252d09;
  --flexoki-green-950: #1a1e0c;

  --flexoki-cyan-50: #ddf1e4;
  --flexoki-cyan-100: #bfe8d9;
  --flexoki-cyan-150: #a2dece;
  --flexoki-cyan-200: #87d3c3;
  --flexoki-cyan-300: #5abdac;
  --flexoki-cyan-400: #3aa99f;
  --flexoki-cyan-500: #2f968d;
  --flexoki-cyan-600: #24837b;
  --flexoki-cyan-700: #1c6c66;
  --flexoki-cyan-800: #164f4a;
  --flexoki-cyan-850: #143f3c;
  --flexoki-cyan-900: #122f2c;
  --flexoki-cyan-950: #101f1d;

  --flexoki-blue-50: #e1eceb;
  --flexoki-blue-100: #c6dde8;
  --flexoki-blue-150: #abcfe2;
  --flexoki-blue-200: #92bfdb;
  --flexoki-blue-300: #66a0c8;
  --flexoki-blue-400: #4385be;
  --flexoki-blue-500: #3171b2;
  --flexoki-blue-600: #205ea6;
  --flexoki-blue-700: #1a4f8c;
  --flexoki-blue-800: #163b66;
  --flexoki-blue-850: #133051;
  --flexoki-blue-900: #12253b;
  --flexoki-blue-950: #101a24;

  --flexoki-purple-50: #f0eaec;
  --flexoki-purple-100: #e2d9e9;
  --flexoki-purple-150: #d3cae6;
  --flexoki-purple-200: #c4b9e0;
  --flexoki-purple-300: #a699d0;
  --flexoki-purple-400: #8b7ec8;
  --flexoki-purple-500: #735eb5;
  --flexoki-purple-600: #5e409d;
  --flexoki-purple-700: #4f3685;
  --flexoki-purple-800: #3c2a62;
  --flexoki-purple-850: #31234e;
  --flexoki-purple-900: #261c39;
  --flexoki-purple-950: #1a1623;

  --flexoki-magenta-50: #fee4e5;
  --flexoki-magenta-100: #fccfda;
  --flexoki-magenta-150: #f9b9cf;
  --flexoki-magenta-200: #f4a4c2;
  --flexoki-magenta-300: #e47da8;
  --flexoki-magenta-400: #ce5d97;
  --flexoki-magenta-500: #b74583;
  --flexoki-magenta-600: #a02f6f;
  --flexoki-magenta-700: #87285e;
  --flexoki-magenta-800: #641f46;
  --flexoki-magenta-850: #4f1b39;
  --flexoki-magenta-900: #39172b;
  --flexoki-magenta-950: #24131d;
  --flexoki-linkout-icon: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" class="lucide lucide-arrow-up-right" viewBox="0 0 24 24"><path d="M7 7h10v10"/><path d="M7 17 17 7"/></svg>');
}

[data-md-color-scheme="default"] {
  --md-default-fg-color: var(--flexoki-black);
  --md-default-fg-color--light: var(--flexoki-base-600);
  --md-default-fg-color--lighter: var(--flexoki-base-300);
  --md-default-fg-color--lightest: var(--flexoki-base-200);

  --md-default-bg-color: var(--flexoki-paper);
  --md-default-bg-color--light: color-mix(in srgb, var(--flexoki-paper) 72%, transparent);
  --md-default-bg-color--lighter: var(--flexoki-base-50);
  --md-default-bg-color--lightest: var(--flexoki-base-100);

  --md-primary-fg-color: var(--flexoki-black);
  --md-primary-fg-color--light: var(--flexoki-base-900);
  --md-primary-fg-color--dark: var(--flexoki-black);
  --md-primary-bg-color: var(--flexoki-paper);
  --md-primary-bg-color--light: var(--flexoki-base-50);

  --md-accent-fg-color: var(--flexoki-cyan-600);
  --md-accent-fg-color--transparent: var(--flexoki-cyan-50);
  --md-accent-bg-color: var(--flexoki-paper);
  --md-accent-bg-color--light: var(--flexoki-base-50);

  --md-code-fg-color: var(--flexoki-base-900);
  --md-code-bg-color: var(--flexoki-base-50);
  --md-code-bg-color--light: var(--flexoki-base-100);
  --md-code-bg-color--lighter: var(--flexoki-base-150);
  --flexoki-syntax-plain: var(--flexoki-base-900);
  --flexoki-syntax-plain-soft: var(--flexoki-base-600);
  --flexoki-syntax-comment: var(--flexoki-base-600);
  --flexoki-syntax-keyword: var(--flexoki-green-600);
  --flexoki-syntax-type: var(--flexoki-yellow-600);
  --flexoki-syntax-string: var(--flexoki-cyan-600);
  --flexoki-syntax-number: var(--flexoki-purple-600);
  --flexoki-syntax-function: var(--flexoki-orange-600);
  --flexoki-syntax-blue: var(--flexoki-blue-600);
  --flexoki-syntax-red: var(--flexoki-red-600);
  --flexoki-syntax-magenta: var(--flexoki-magenta-600);
  --md-code-hl-color: var(--flexoki-blue-600);
  --md-code-hl-color--light: var(--flexoki-blue-50);
  --md-code-hl-number-color: var(--flexoki-syntax-number);
  --md-code-hl-special-color: var(--flexoki-syntax-magenta);
  --md-code-hl-function-color: var(--flexoki-syntax-function);
  --md-code-hl-constant-color: var(--flexoki-syntax-plain);
  --md-code-hl-keyword-color: var(--flexoki-syntax-keyword);
  --md-code-hl-string-color: var(--flexoki-syntax-string);
  --md-code-hl-name-color: var(--flexoki-syntax-plain);
  --md-code-hl-operator-color: var(--flexoki-syntax-red);
  --md-code-hl-punctuation-color: var(--flexoki-syntax-plain-soft);
  --md-code-hl-comment-color: var(--flexoki-syntax-comment);
  --md-code-hl-generic-color: var(--flexoki-syntax-plain-soft);
  --md-code-hl-variable-color: var(--flexoki-syntax-plain);

  --md-typeset-color: var(--flexoki-black);
  --md-typeset-a-color: var(--flexoki-base-900);
  --md-typeset-del-color: var(--flexoki-red-50);
  --md-typeset-ins-color: var(--flexoki-green-50);
  --md-typeset-kbd-color: var(--flexoki-base-50);
  --md-typeset-kbd-accent-color: var(--flexoki-paper);
  --md-typeset-kbd-border-color: var(--flexoki-base-200);
  --md-typeset-mark-color: var(--flexoki-yellow-50);
  --md-typeset-table-color: var(--flexoki-base-200);
  --md-typeset-table-color--light: var(--flexoki-base-100);
  --md-tag-icon-color: var(--md-typeset-color);
  --md-mermaid-edge-color: var(--md-default-fg-color--light);
  --md-mermaid-node-bg-color: color-mix(in srgb, var(--md-primary-fg-color) 16%, var(--md-default-bg-color));
  --md-mermaid-node-fg-color: var(--md-primary-fg-color);
  --md-mermaid-label-bg-color: var(--md-default-bg-color);
  --md-mermaid-label-fg-color: var(--md-typeset-color);
  --md-mermaid-sequence-actor-bg-color: var(--md-mermaid-label-bg-color);
  --md-mermaid-sequence-actor-fg-color: var(--md-mermaid-label-fg-color);
  --md-mermaid-sequence-actor-border-color: var(--md-mermaid-node-fg-color);
  --md-mermaid-sequence-actor-line-color: var(--md-default-fg-color--lighter);
  --md-mermaid-sequence-actorman-bg-color: var(--md-mermaid-label-bg-color);
  --md-mermaid-sequence-actorman-line-color: var(--md-mermaid-node-fg-color);
  --md-mermaid-sequence-box-bg-color: var(--md-mermaid-node-bg-color);
  --md-mermaid-sequence-box-fg-color: var(--md-mermaid-edge-color);
  --md-mermaid-sequence-label-bg-color: var(--md-mermaid-node-bg-color);
  --md-mermaid-sequence-label-fg-color: var(--md-mermaid-node-fg-color);
  --md-mermaid-sequence-loop-bg-color: var(--md-mermaid-node-bg-color);
  --md-mermaid-sequence-loop-fg-color: var(--md-mermaid-edge-color);
  --md-mermaid-sequence-loop-border-color: var(--md-mermaid-node-fg-color);
  --md-mermaid-sequence-message-fg-color: var(--md-mermaid-edge-color);
  --md-mermaid-sequence-message-line-color: var(--md-mermaid-edge-color);
  --md-mermaid-sequence-note-bg-color: var(--md-mermaid-label-bg-color);
  --md-mermaid-sequence-note-fg-color: var(--md-mermaid-edge-color);
  --md-mermaid-sequence-note-border-color: var(--md-mermaid-label-fg-color);
  --md-mermaid-sequence-number-bg-color: var(--md-mermaid-node-fg-color);
  --md-mermaid-sequence-number-fg-color: var(--md-primary-bg-color);

  --md-admonition-fg-color: var(--flexoki-black);
  --md-admonition-bg-color: var(--flexoki-base-50);
  --md-warning-fg-color: var(--flexoki-yellow-900);
  --md-warning-bg-color: var(--flexoki-yellow-50);

  --md-footer-fg-color: var(--flexoki-base-200);
  --md-footer-fg-color--light: var(--flexoki-base-500);
  --md-footer-fg-color--lighter: var(--flexoki-base-700);
  --md-footer-bg-color: var(--flexoki-base-950);
  --md-footer-bg-color--dark: var(--flexoki-black);

  --flexoki-admonition-note-bg: var(--flexoki-blue-50);
  --flexoki-admonition-abstract-bg: var(--flexoki-blue-100);
  --flexoki-admonition-info-bg: var(--flexoki-cyan-50);
  --flexoki-admonition-tip-bg: var(--flexoki-cyan-100);
  --flexoki-admonition-success-bg: var(--flexoki-green-100);
  --flexoki-admonition-question-bg: var(--flexoki-green-50);
  --flexoki-admonition-warning-bg: var(--flexoki-orange-50);
  --flexoki-admonition-failure-bg: var(--flexoki-red-50);
  --flexoki-admonition-danger-bg: var(--flexoki-red-100);
  --flexoki-admonition-bug-bg: var(--flexoki-magenta-50);
  --flexoki-admonition-example-bg: var(--flexoki-purple-50);
  --flexoki-admonition-quote-bg: var(--flexoki-base-50);
}

[data-md-color-scheme="slate"] {
  --md-default-fg-color: var(--flexoki-base-200);
  --md-default-fg-color--light: var(--flexoki-base-500);
  --md-default-fg-color--lighter: var(--flexoki-base-700);
  --md-default-fg-color--lightest: var(--flexoki-base-800);

  --md-default-bg-color: var(--flexoki-black);
  --md-default-bg-color--light: color-mix(in srgb, var(--flexoki-black) 72%, transparent);
  --md-default-bg-color--lighter: var(--flexoki-base-950);
  --md-default-bg-color--lightest: var(--flexoki-base-900);

  --md-primary-fg-color: var(--flexoki-paper);
  --md-primary-fg-color--light: var(--flexoki-base-50);
  --md-primary-fg-color--dark: var(--flexoki-base-100);
  --md-primary-bg-color: var(--flexoki-paper);
  --md-primary-bg-color--light: var(--flexoki-base-50);

  --md-accent-fg-color: var(--flexoki-cyan-400);
  --md-accent-fg-color--transparent: var(--flexoki-cyan-950);
  --md-accent-bg-color: var(--flexoki-black);
  --md-accent-bg-color--light: var(--flexoki-base-950);

  --md-code-fg-color: var(--flexoki-base-200);
  --md-code-bg-color: var(--flexoki-base-950);
  --md-code-bg-color--light: var(--flexoki-base-900);
  --md-code-bg-color--lighter: var(--flexoki-base-850);
  --flexoki-syntax-plain: var(--flexoki-base-200);
  --flexoki-syntax-plain-soft: var(--flexoki-base-500);
  --flexoki-syntax-comment: var(--flexoki-base-500);
  --flexoki-syntax-keyword: var(--flexoki-green-400);
  --flexoki-syntax-type: var(--flexoki-yellow-400);
  --flexoki-syntax-string: var(--flexoki-cyan-400);
  --flexoki-syntax-number: var(--flexoki-purple-400);
  --flexoki-syntax-function: var(--flexoki-orange-400);
  --flexoki-syntax-blue: var(--flexoki-blue-400);
  --flexoki-syntax-red: var(--flexoki-red-400);
  --flexoki-syntax-magenta: var(--flexoki-magenta-400);
  --md-code-hl-color: var(--flexoki-blue-400);
  --md-code-hl-color--light: var(--flexoki-blue-950);
  --md-code-hl-number-color: var(--flexoki-syntax-number);
  --md-code-hl-special-color: var(--flexoki-syntax-magenta);
  --md-code-hl-function-color: var(--flexoki-syntax-function);
  --md-code-hl-constant-color: var(--flexoki-syntax-plain);
  --md-code-hl-keyword-color: var(--flexoki-syntax-keyword);
  --md-code-hl-string-color: var(--flexoki-syntax-string);
  --md-code-hl-name-color: var(--flexoki-syntax-plain);
  --md-code-hl-operator-color: var(--flexoki-syntax-red);
  --md-code-hl-punctuation-color: var(--flexoki-syntax-plain-soft);
  --md-code-hl-comment-color: var(--flexoki-syntax-comment);
  --md-code-hl-generic-color: var(--flexoki-syntax-plain-soft);
  --md-code-hl-variable-color: var(--flexoki-syntax-plain);

  --md-typeset-color: var(--flexoki-base-200);
  --md-typeset-a-color: var(--flexoki-base-200);
  --md-typeset-del-color: var(--flexoki-red-950);
  --md-typeset-ins-color: var(--flexoki-green-950);
  --md-typeset-kbd-color: var(--flexoki-base-900);
  --md-typeset-kbd-accent-color: var(--flexoki-base-850);
  --md-typeset-kbd-border-color: var(--flexoki-base-800);
  --md-typeset-mark-color: var(--flexoki-yellow-950);
  --md-typeset-table-color: var(--flexoki-base-800);
  --md-typeset-table-color--light: var(--flexoki-base-900);
  --md-tag-icon-color: var(--md-typeset-color);
  --md-mermaid-edge-color: var(--md-default-fg-color--light);
  --md-mermaid-node-bg-color: color-mix(in srgb, var(--md-primary-fg-color) 18%, var(--md-default-bg-color));
  --md-mermaid-node-fg-color: var(--md-primary-fg-color);
  --md-mermaid-label-bg-color: var(--md-default-bg-color);
  --md-mermaid-label-fg-color: var(--md-typeset-color);
  --md-mermaid-sequence-actor-bg-color: var(--md-mermaid-label-bg-color);
  --md-mermaid-sequence-actor-fg-color: var(--md-mermaid-label-fg-color);
  --md-mermaid-sequence-actor-border-color: var(--md-mermaid-node-fg-color);
  --md-mermaid-sequence-actor-line-color: var(--md-default-fg-color--lighter);
  --md-mermaid-sequence-actorman-bg-color: var(--md-mermaid-label-bg-color);
  --md-mermaid-sequence-actorman-line-color: var(--md-mermaid-node-fg-color);
  --md-mermaid-sequence-box-bg-color: var(--md-mermaid-node-bg-color);
  --md-mermaid-sequence-box-fg-color: var(--md-mermaid-edge-color);
  --md-mermaid-sequence-label-bg-color: var(--md-mermaid-node-bg-color);
  --md-mermaid-sequence-label-fg-color: var(--md-mermaid-node-fg-color);
  --md-mermaid-sequence-loop-bg-color: var(--md-mermaid-node-bg-color);
  --md-mermaid-sequence-loop-fg-color: var(--md-mermaid-edge-color);
  --md-mermaid-sequence-loop-border-color: var(--md-mermaid-node-fg-color);
  --md-mermaid-sequence-message-fg-color: var(--md-mermaid-edge-color);
  --md-mermaid-sequence-message-line-color: var(--md-mermaid-edge-color);
  --md-mermaid-sequence-note-bg-color: var(--md-mermaid-label-bg-color);
  --md-mermaid-sequence-note-fg-color: var(--md-mermaid-edge-color);
  --md-mermaid-sequence-note-border-color: var(--md-mermaid-label-fg-color);
  --md-mermaid-sequence-number-bg-color: var(--md-mermaid-node-fg-color);
  --md-mermaid-sequence-number-fg-color: var(--md-primary-bg-color);

  --md-admonition-fg-color: var(--flexoki-base-200);
  --md-admonition-bg-color: var(--flexoki-base-950);
  --md-warning-fg-color: var(--flexoki-yellow-50);
  --md-warning-bg-color: var(--flexoki-yellow-950);

  --md-footer-fg-color: var(--flexoki-base-200);
  --md-footer-fg-color--light: var(--flexoki-base-500);
  --md-footer-fg-color--lighter: var(--flexoki-base-700);
  --md-footer-bg-color: var(--flexoki-base-950);
  --md-footer-bg-color--dark: var(--flexoki-black);

  --flexoki-admonition-note-bg: var(--flexoki-blue-950);
  --flexoki-admonition-abstract-bg: var(--flexoki-blue-900);
  --flexoki-admonition-info-bg: var(--flexoki-cyan-950);
  --flexoki-admonition-tip-bg: var(--flexoki-cyan-900);
  --flexoki-admonition-success-bg: var(--flexoki-green-900);
  --flexoki-admonition-question-bg: var(--flexoki-green-950);
  --flexoki-admonition-warning-bg: var(--flexoki-orange-950);
  --flexoki-admonition-failure-bg: var(--flexoki-red-950);
  --flexoki-admonition-danger-bg: var(--flexoki-red-900);
  --flexoki-admonition-bug-bg: var(--flexoki-magenta-950);
  --flexoki-admonition-example-bg: var(--flexoki-purple-950);
  --flexoki-admonition-quote-bg: var(--flexoki-base-950);
}

/* Bring Pygments token classes closer to the established Flexoki editor themes. */
[data-md-color-scheme] .highlight .k,
[data-md-color-scheme] .highlight .kd,
[data-md-color-scheme] .highlight .kp,
[data-md-color-scheme] .highlight .kr {
  color: var(--flexoki-syntax-keyword);
}

[data-md-color-scheme] .highlight .kc,
[data-md-color-scheme] .highlight .kt,
[data-md-color-scheme] .highlight .na,
[data-md-color-scheme] .highlight .nd,
[data-md-color-scheme] .highlight .ni,
[data-md-color-scheme] .highlight .nn {
  color: var(--flexoki-syntax-type);
}

[data-md-color-scheme] .highlight .kn,
[data-md-color-scheme] .highlight .o,
[data-md-color-scheme] .highlight .ow {
  color: var(--flexoki-syntax-red);
}

[data-md-color-scheme] .highlight .nc,
[data-md-color-scheme] .highlight .nf {
  color: var(--flexoki-syntax-function);
}

[data-md-color-scheme] .highlight .nt {
  color: var(--flexoki-syntax-blue);
}

[data-md-color-scheme] .highlight .cp,
[data-md-color-scheme] .highlight .cpf,
[data-md-color-scheme] .highlight .bp,
[data-md-color-scheme] .highlight .ne,
[data-md-color-scheme] .highlight .nl,
[data-md-color-scheme] .highlight .vg {
  color: var(--flexoki-syntax-magenta);
}

[data-md-color-scheme] .highlight .m,
[data-md-color-scheme] .highlight .mb,
[data-md-color-scheme] .highlight .mf,
[data-md-color-scheme] .highlight .mh,
[data-md-color-scheme] .highlight .mi,
[data-md-color-scheme] .highlight .mo,
[data-md-color-scheme] .highlight .il {
  color: var(--flexoki-syntax-number);
}

[data-md-color-scheme] .highlight .s,
[data-md-color-scheme] .highlight .s1,
[data-md-color-scheme] .highlight .s2,
[data-md-color-scheme] .highlight .sb,
[data-md-color-scheme] .highlight .sc,
[data-md-color-scheme] .highlight .sh,
[data-md-color-scheme] .highlight .si,
[data-md-color-scheme] .highlight .sr,
[data-md-color-scheme] .highlight .ss,
[data-md-color-scheme] .highlight .sx {
  color: var(--flexoki-syntax-string);
}

[data-md-color-scheme] .highlight .n,
[data-md-color-scheme] .highlight .nb,
[data-md-color-scheme] .highlight .no,
[data-md-color-scheme] .highlight .nv,
[data-md-color-scheme] .highlight .vc,
[data-md-color-scheme] .highlight .vi,
[data-md-color-scheme] .highlight .se {
  color: var(--flexoki-syntax-plain);
}

/* Native Flexoki primary presets. */
[data-md-color-primary="red"] {
  --flexoki-primary-300: var(--flexoki-red-300);
  --flexoki-primary-400: var(--flexoki-red-400);
  --flexoki-primary-500: var(--flexoki-red-500);
  --flexoki-primary-600: var(--flexoki-red-600);
  --flexoki-primary-700: var(--flexoki-red-700);
}

[data-md-color-primary="orange"] {
  --flexoki-primary-300: var(--flexoki-orange-300);
  --flexoki-primary-400: var(--flexoki-orange-400);
  --flexoki-primary-500: var(--flexoki-orange-500);
  --flexoki-primary-600: var(--flexoki-orange-600);
  --flexoki-primary-700: var(--flexoki-orange-700);
}

[data-md-color-primary="yellow"] {
  --flexoki-primary-300: var(--flexoki-yellow-300);
  --flexoki-primary-400: var(--flexoki-yellow-400);
  --flexoki-primary-500: var(--flexoki-yellow-500);
  --flexoki-primary-600: var(--flexoki-yellow-600);
  --flexoki-primary-700: var(--flexoki-yellow-700);
}

[data-md-color-primary="green"] {
  --flexoki-primary-300: var(--flexoki-green-300);
  --flexoki-primary-400: var(--flexoki-green-400);
  --flexoki-primary-500: var(--flexoki-green-500);
  --flexoki-primary-600: var(--flexoki-green-600);
  --flexoki-primary-700: var(--flexoki-green-700);
}

[data-md-color-primary="cyan"] {
  --flexoki-primary-300: var(--flexoki-cyan-300);
  --flexoki-primary-400: var(--flexoki-cyan-400);
  --flexoki-primary-500: var(--flexoki-cyan-500);
  --flexoki-primary-600: var(--flexoki-cyan-600);
  --flexoki-primary-700: var(--flexoki-cyan-700);
}

[data-md-color-primary="blue"] {
  --flexoki-primary-300: var(--flexoki-blue-300);
  --flexoki-primary-400: var(--flexoki-blue-400);
  --flexoki-primary-500: var(--flexoki-blue-500);
  --flexoki-primary-600: var(--flexoki-blue-600);
  --flexoki-primary-700: var(--flexoki-blue-700);
}

[data-md-color-primary="purple"] {
  --flexoki-primary-300: var(--flexoki-purple-300);
  --flexoki-primary-400: var(--flexoki-purple-400);
  --flexoki-primary-500: var(--flexoki-purple-500);
  --flexoki-primary-600: var(--flexoki-purple-600);
  --flexoki-primary-700: var(--flexoki-purple-700);
}

[data-md-color-primary="magenta"] {
  --flexoki-primary-300: var(--flexoki-magenta-300);
  --flexoki-primary-400: var(--flexoki-magenta-400);
  --flexoki-primary-500: var(--flexoki-magenta-500);
  --flexoki-primary-600: var(--flexoki-magenta-600);
  --flexoki-primary-700: var(--flexoki-magenta-700);
}

[data-md-color-scheme="default"]:is(
  [data-md-color-primary="base"],
  [data-md-color-primary="indigo"]
) {
  --md-primary-fg-color: var(--flexoki-black);
  --md-primary-fg-color--light: var(--flexoki-base-900);
  --md-primary-fg-color--dark: var(--flexoki-black);
  --md-typeset-a-color: var(--flexoki-base-900);
}

[data-md-color-scheme="default"]:is(
  [data-md-color-primary="red"],
  [data-md-color-primary="orange"],
  [data-md-color-primary="yellow"],
  [data-md-color-primary="green"],
  [data-md-color-primary="cyan"],
  [data-md-color-primary="blue"],
  [data-md-color-primary="purple"],
  [data-md-color-primary="magenta"]
) {
  --md-primary-fg-color: var(--flexoki-primary-600);
  --md-primary-fg-color--light: var(--flexoki-primary-500);
  --md-primary-fg-color--dark: var(--flexoki-primary-700);
  --md-typeset-a-color: var(--flexoki-primary-600);
}

[data-md-color-scheme="slate"]:is(
  [data-md-color-primary="base"],
  [data-md-color-primary="indigo"]
) {
  --md-primary-fg-color: var(--flexoki-paper);
  --md-primary-fg-color--light: var(--flexoki-base-50);
  --md-primary-fg-color--dark: var(--flexoki-base-100);
  --md-primary-bg-color: var(--flexoki-black);
  --md-primary-bg-color--light: var(--flexoki-base-900);
  --md-typeset-a-color: var(--flexoki-base-200);
}

[data-md-color-scheme="slate"]:is(
  [data-md-color-primary="red"],
  [data-md-color-primary="orange"],
  [data-md-color-primary="yellow"],
  [data-md-color-primary="green"],
  [data-md-color-primary="cyan"],
  [data-md-color-primary="blue"],
  [data-md-color-primary="purple"],
  [data-md-color-primary="magenta"]
) {
  --md-primary-fg-color: var(--flexoki-primary-400);
  --md-primary-fg-color--light: var(--flexoki-primary-300);
  --md-primary-fg-color--dark: var(--flexoki-primary-500);
  --md-typeset-a-color: var(--flexoki-primary-400);
}

/* Native Flexoki accent presets. */
[data-md-color-accent="red"] {
  --flexoki-accent-50: var(--flexoki-red-50);
  --flexoki-accent-400: var(--flexoki-red-400);
  --flexoki-accent-600: var(--flexoki-red-600);
  --flexoki-accent-950: var(--flexoki-red-950);
}

[data-md-color-accent="orange"] {
  --flexoki-accent-50: var(--flexoki-orange-50);
  --flexoki-accent-400: var(--flexoki-orange-400);
  --flexoki-accent-600: var(--flexoki-orange-600);
  --flexoki-accent-950: var(--flexoki-orange-950);
}

[data-md-color-accent="yellow"] {
  --flexoki-accent-50: var(--flexoki-yellow-50);
  --flexoki-accent-400: var(--flexoki-yellow-400);
  --flexoki-accent-600: var(--flexoki-yellow-600);
  --flexoki-accent-950: var(--flexoki-yellow-950);
}

[data-md-color-accent="green"] {
  --flexoki-accent-50: var(--flexoki-green-50);
  --flexoki-accent-400: var(--flexoki-green-400);
  --flexoki-accent-600: var(--flexoki-green-600);
  --flexoki-accent-950: var(--flexoki-green-950);
}

[data-md-color-accent="cyan"] {
  --flexoki-accent-50: var(--flexoki-cyan-50);
  --flexoki-accent-400: var(--flexoki-cyan-400);
  --flexoki-accent-600: var(--flexoki-cyan-600);
  --flexoki-accent-950: var(--flexoki-cyan-950);
}

[data-md-color-accent="blue"] {
  --flexoki-accent-50: var(--flexoki-blue-50);
  --flexoki-accent-400: var(--flexoki-blue-400);
  --flexoki-accent-600: var(--flexoki-blue-600);
  --flexoki-accent-950: var(--flexoki-blue-950);
}

[data-md-color-accent="purple"] {
  --flexoki-accent-50: var(--flexoki-purple-50);
  --flexoki-accent-400: var(--flexoki-purple-400);
  --flexoki-accent-600: var(--flexoki-purple-600);
  --flexoki-accent-950: var(--flexoki-purple-950);
}

[data-md-color-accent="magenta"] {
  --flexoki-accent-50: var(--flexoki-magenta-50);
  --flexoki-accent-400: var(--flexoki-magenta-400);
  --flexoki-accent-600: var(--flexoki-magenta-600);
  --flexoki-accent-950: var(--flexoki-magenta-950);
}

[data-md-color-scheme="default"][data-md-color-accent="base"] {
  --md-accent-fg-color: var(--flexoki-base-700);
  --md-accent-fg-color--transparent: var(--flexoki-base-100);
}

[data-md-color-scheme="default"][data-md-color-accent="indigo"] {
  --md-accent-fg-color: var(--flexoki-cyan-600);
  --md-accent-fg-color--transparent: var(--flexoki-cyan-50);
}

[data-md-color-scheme="default"]:is(
  [data-md-color-accent="red"],
  [data-md-color-accent="orange"],
  [data-md-color-accent="yellow"],
  [data-md-color-accent="green"],
  [data-md-color-accent="cyan"],
  [data-md-color-accent="blue"],
  [data-md-color-accent="purple"],
  [data-md-color-accent="magenta"]
) {
  --md-accent-fg-color: var(--flexoki-accent-600);
  --md-accent-fg-color--transparent: var(--flexoki-accent-50);
}

[data-md-color-scheme="slate"][data-md-color-accent="base"] {
  --md-accent-fg-color: var(--flexoki-base-300);
  --md-accent-fg-color--transparent: var(--flexoki-base-900);
}

[data-md-color-scheme="slate"][data-md-color-accent="indigo"] {
  --md-accent-fg-color: var(--flexoki-cyan-400);
  --md-accent-fg-color--transparent: var(--flexoki-cyan-950);
}

[data-md-color-scheme="slate"]:is(
  [data-md-color-accent="red"],
  [data-md-color-accent="orange"],
  [data-md-color-accent="yellow"],
  [data-md-color-accent="green"],
  [data-md-color-accent="cyan"],
  [data-md-color-accent="blue"],
  [data-md-color-accent="purple"],
  [data-md-color-accent="magenta"]
) {
  --md-accent-fg-color: var(--flexoki-accent-400);
  --md-accent-fg-color--transparent: var(--flexoki-accent-950);
}

.md-typeset :is(.admonition, details).note {
  --flexoki-admonition-accent: var(--flexoki-blue-400);
  background-color: var(--flexoki-admonition-note-bg);
}

.md-typeset :is(.admonition, details).abstract {
  --flexoki-admonition-accent: var(--flexoki-blue-300);
  background-color: var(--flexoki-admonition-abstract-bg);
}

.md-typeset :is(.admonition, details).info {
  --flexoki-admonition-accent: var(--flexoki-cyan-400);
  background-color: var(--flexoki-admonition-info-bg);
}

.md-typeset :is(.admonition, details).tip {
  --flexoki-admonition-accent: var(--flexoki-cyan-500);
  background-color: var(--flexoki-admonition-tip-bg);
}

.md-typeset :is(.admonition, details).success {
  --flexoki-admonition-accent: var(--flexoki-green-500);
  background-color: var(--flexoki-admonition-success-bg);
}

.md-typeset :is(.admonition, details).question {
  --flexoki-admonition-accent: var(--flexoki-green-400);
  background-color: var(--flexoki-admonition-question-bg);
}

.md-typeset :is(.admonition, details).warning {
  --flexoki-admonition-accent: var(--flexoki-orange-400);
  background-color: var(--flexoki-admonition-warning-bg);
}

.md-typeset :is(.admonition, details).failure {
  --flexoki-admonition-accent: var(--flexoki-red-300);
  background-color: var(--flexoki-admonition-failure-bg);
}

.md-typeset :is(.admonition, details).danger {
  --flexoki-admonition-accent: var(--flexoki-red-400);
  background-color: var(--flexoki-admonition-danger-bg);
}

.md-typeset :is(.admonition, details).bug {
  --flexoki-admonition-accent: var(--flexoki-magenta-400);
  background-color: var(--flexoki-admonition-bug-bg);
}

.md-typeset :is(.admonition, details).example {
  --flexoki-admonition-accent: var(--flexoki-purple-400);
  background-color: var(--flexoki-admonition-example-bg);
}

.md-typeset :is(.admonition, details).quote {
  --flexoki-admonition-accent: var(--md-default-fg-color--light);
  background-color: var(--flexoki-admonition-quote-bg);
}

.md-typeset :is(
  .note,
  .abstract,
  .info,
  .tip,
  .success,
  .question,
  .warning,
  .failure,
  .danger,
  .bug,
  .example,
  .quote
) > :is(.admonition-title, summary)::before {
  background-color: var(--flexoki-admonition-accent);
}

.md-typeset :is(
  .note,
  .abstract,
  .info,
  .tip,
  .success,
  .question,
  .warning,
  .failure,
  .danger,
  .bug,
  .example,
  .quote
) > :is(.admonition-title, summary)::after {
  color: var(--flexoki-admonition-accent);
}

.md-nav__container > a.md-nav__link:first-child {
  pointer-events: none;
  cursor: default;
}

.md-code__nav,
:hover > .md-code__nav {
  background-color: var(--md-code-bg-color);
}

.md-typeset .md-tag-icon::before {
  background-color: var(--md-tag-icon-color);
}

[data-md-color-scheme="slate"] :is(h1, h2, h3, h4, h5, h6),
[data-md-color-scheme="slate"] .md-header__title {
  color: var(--md-typeset-color);
}
