﻿[data-md-color-scheme="catppuccin-mocha"] {
  --ctp-base:     #1e1e2e;
  --ctp-mantle:   #181825;
  --ctp-crust:    #11111b;
  --ctp-surface0: #313244;
  --ctp-surface1: #45475a;
  --ctp-surface2: #585b70;
  --ctp-overlay0: #6c7086;
  --ctp-overlay1: #7f849c;
  --ctp-overlay2: #9399b2;
  --ctp-subtext0: #a6adc8;
  --ctp-subtext1: #bac2de;
  --ctp-text:     #cdd6f4;
  --ctp-lavender: #b4befe;
  --ctp-blue:     #89b4fa;
  --ctp-teal:     #94e2d5;
  --ctp-green:    #a6e3a1;
  --ctp-yellow:   #f9e2af;
  --ctp-peach:    #fab387;
  --ctp-red:      #f38ba8;
  --ctp-mauve:    #cba6f7;
  --ctp-pink:     #f5c2e7;
  --ctp-sky:      #89dceb;

  --md-primary-fg-color:           var(--ctp-mauve);
  --md-primary-fg-color--light:    var(--ctp-lavender);
  --md-primary-fg-color--dark:     var(--ctp-blue);
  --md-primary-bg-color:           var(--ctp-base);
  --md-accent-fg-color:            var(--ctp-teal);

  --md-default-fg-color:           var(--ctp-text);
  --md-default-fg-color--light:    var(--ctp-subtext1);
  --md-default-fg-color--lighter:  var(--ctp-subtext0);
  --md-default-fg-color--lightest: var(--ctp-overlay2);
  --md-default-bg-color:           var(--ctp-base);
  --md-default-bg-color--light:    var(--ctp-mantle);
  --md-default-bg-color--lighter:  var(--ctp-crust);

  --md-code-fg-color:              var(--ctp-text);
  --md-code-bg-color:              var(--ctp-mantle);

  --md-typeset-a-color:            var(--ctp-blue);

  --md-footer-bg-color:            var(--ctp-crust);
  --md-footer-bg-color--dark:      var(--ctp-mantle);
}

/* Layout - widen the grid so wide displays don't waste space.
   Material defaults to 61rem (~976px); 90rem (~1440px) gives the content
   and both sidebars more breathing room without sacrificing readability. */
.md-grid {
  max-width: 90rem;
}

/* Hide redundant primary-nav site title on desktop (header already shows it).
   The drawer breakpoint is 76.25em; below that the title is needed for the
   mobile drawer header, so leave it visible there. */
@media screen and (min-width: 76.25em) {
  .md-nav--primary > .md-nav__title {
    display: none;
  }
}

[data-md-color-scheme="catppuccin-mocha"] .md-typeset {
  color: var(--ctp-text);
}

/* Headings - Catppuccin cool-tone hierarchy */
[data-md-color-scheme="catppuccin-mocha"] .md-typeset h1 {
  color: var(--ctp-mauve);
  font-weight: 700;
  border-bottom: 1px solid var(--ctp-surface0);
  padding-bottom: 0.3em;
}

[data-md-color-scheme="catppuccin-mocha"] .md-typeset h2 {
  color: var(--ctp-lavender);
  font-weight: 600;
  border-bottom: 1px solid var(--ctp-surface0);
  padding-bottom: 0.2em;
}

[data-md-color-scheme="catppuccin-mocha"] .md-typeset h3 {
  color: var(--ctp-blue);
  font-weight: 600;
}

[data-md-color-scheme="catppuccin-mocha"] .md-typeset h4 {
  color: var(--ctp-sky);
  font-weight: 600;
}

[data-md-color-scheme="catppuccin-mocha"] .md-typeset h5 {
  color: var(--ctp-teal);
  font-weight: 600;
}

[data-md-color-scheme="catppuccin-mocha"] .md-typeset h6 {
  color: var(--ctp-subtext0);
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

/* Header anchor link (the # that appears on hover) */
[data-md-color-scheme="catppuccin-mocha"] .md-typeset .headerlink {
  color: var(--ctp-overlay0);
}

[data-md-color-scheme="catppuccin-mocha"] .md-typeset .headerlink:hover,
[data-md-color-scheme="catppuccin-mocha"] .md-typeset :target > .headerlink {
  color: var(--ctp-mauve);
}

[data-md-color-scheme="catppuccin-mocha"] .md-nav__item .md-nav__link {
  color: var(--ctp-subtext1);
}

[data-md-color-scheme="catppuccin-mocha"] .md-nav__item .md-nav__link--active {
  color: var(--ctp-mauve);
}

/* Top-level section colors - rotate Catppuccin palette per section.
   Each top-level nav item gets a --nav-section-color via :nth-child rotation.
   Children inherit it for active/hover states. */
[data-md-color-scheme="catppuccin-mocha"] .md-nav--primary > .md-nav__list > .md-nav__item:nth-child(7n+1) { --nav-section-color: var(--ctp-mauve); }
[data-md-color-scheme="catppuccin-mocha"] .md-nav--primary > .md-nav__list > .md-nav__item:nth-child(7n+2) { --nav-section-color: var(--ctp-blue); }
[data-md-color-scheme="catppuccin-mocha"] .md-nav--primary > .md-nav__list > .md-nav__item:nth-child(7n+3) { --nav-section-color: var(--ctp-green); }
[data-md-color-scheme="catppuccin-mocha"] .md-nav--primary > .md-nav__list > .md-nav__item:nth-child(7n+4) { --nav-section-color: var(--ctp-peach); }
[data-md-color-scheme="catppuccin-mocha"] .md-nav--primary > .md-nav__list > .md-nav__item:nth-child(7n+5) { --nav-section-color: var(--ctp-teal); }
[data-md-color-scheme="catppuccin-mocha"] .md-nav--primary > .md-nav__list > .md-nav__item:nth-child(7n+6) { --nav-section-color: var(--ctp-pink); }
[data-md-color-scheme="catppuccin-mocha"] .md-nav--primary > .md-nav__list > .md-nav__item:nth-child(7n) { --nav-section-color: var(--ctp-yellow); }

/* Apply section color to the section's label */
[data-md-color-scheme="catppuccin-mocha"] .md-nav--primary > .md-nav__list > .md-nav__item > .md-nav__link,
[data-md-color-scheme="catppuccin-mocha"] .md-nav--primary > .md-nav__list > .md-nav__item > label {
  color: var(--nav-section-color);
  font-weight: 500;
}

/* Folder icons - all nested sections (top-level + descendants) inherit the
   section color. --nav-section-color is set on the top-level <li> and cascades
   down via CSS custom property inheritance. */
[data-md-color-scheme="catppuccin-mocha"] .md-nav--primary .md-nav__item--nested > .md-nav__link .md-nav__icon {
  color: var(--nav-section-color);
}

/* Active item within a section adopts the section's color */
[data-md-color-scheme="catppuccin-mocha"] .md-nav--primary > .md-nav__list > .md-nav__item .md-nav__link--active {
  color: var(--nav-section-color);
  font-weight: 600;
}

/* Hovering a child lifts it toward the section color */
[data-md-color-scheme="catppuccin-mocha"] .md-nav--primary > .md-nav__list > .md-nav__item .md-nav .md-nav__link:hover {
  color: var(--nav-section-color);
}

/* Replace nested-section chevron with folder / folder-open icon (Material Design Icons).
   The icon inherits its color from the section color rotation above. */
[data-md-color-scheme="catppuccin-mocha"] .md-nav--primary .md-nav__item--nested .md-nav__icon {
  transform: none !important;
}

/* Move the folder icon to the left of the section label */
[data-md-color-scheme="catppuccin-mocha"] .md-nav--primary .md-nav__item--nested > .md-nav__link .md-nav__icon {
  order: -1;
  margin-left: 0;
  margin-right: 0.4em;
}

[data-md-color-scheme="catppuccin-mocha"] .md-nav--primary .md-nav__item--nested > .md-nav__link .md-nav__icon::after {
  -webkit-mask-image: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M10,4H4C2.89,4 2,4.89 2,6V18C2,19.1 2.89,20 4,20H20C21.1,20 22,19.1 22,18V8C22,6.89 21.1,6 20,6H12L10,4Z"/></svg>') !important;
          mask-image: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M10,4H4C2.89,4 2,4.89 2,6V18C2,19.1 2.89,20 4,20H20C21.1,20 22,19.1 22,18V8C22,6.89 21.1,6 20,6H12L10,4Z"/></svg>') !important;
}

[data-md-color-scheme="catppuccin-mocha"] .md-nav--primary .md-nav__item--nested > .md-nav__toggle:checked ~ .md-nav__link .md-nav__icon::after {
  -webkit-mask-image: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19,20H4C2.89,20 2,19.1 2,18V6C2,4.89 2.89,4 4,4H10L12,6H20A2,2 0 0,1 22,8H21L4,8V18L6.14,10H23.21L20.93,18.5C20.7,19.37 19.92,20 19,20Z"/></svg>') !important;
          mask-image: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19,20H4C2.89,20 2,19.1 2,18V6C2,4.89 2.89,4 4,4H10L12,6H20A2,2 0 0,1 22,8H21L4,8V18L6.14,10H23.21L20.93,18.5C20.7,19.37 19.92,20 19,20Z"/></svg>') !important;
}

[data-md-color-scheme="catppuccin-mocha"] .md-header {
  background-color: var(--ctp-crust);
}

/* Catppuccin Mocha syntax highlighting */
[data-md-color-scheme="catppuccin-mocha"] .highlight .k,
[data-md-color-scheme="catppuccin-mocha"] .highlight .kd,
[data-md-color-scheme="catppuccin-mocha"] .highlight .kn,
[data-md-color-scheme="catppuccin-mocha"] .highlight .kr  { color: var(--ctp-mauve); }
[data-md-color-scheme="catppuccin-mocha"] .highlight .s,
[data-md-color-scheme="catppuccin-mocha"] .highlight .s1,
[data-md-color-scheme="catppuccin-mocha"] .highlight .s2,
[data-md-color-scheme="catppuccin-mocha"] .highlight .sb,
[data-md-color-scheme="catppuccin-mocha"] .highlight .sd  { color: var(--ctp-green); }
[data-md-color-scheme="catppuccin-mocha"] .highlight .nf,
[data-md-color-scheme="catppuccin-mocha"] .highlight .fm  { color: var(--ctp-blue); }
[data-md-color-scheme="catppuccin-mocha"] .highlight .nb,
[data-md-color-scheme="catppuccin-mocha"] .highlight .bp  { color: var(--ctp-red); }
[data-md-color-scheme="catppuccin-mocha"] .highlight .mi,
[data-md-color-scheme="catppuccin-mocha"] .highlight .mf,
[data-md-color-scheme="catppuccin-mocha"] .highlight .m   { color: var(--ctp-peach); }
[data-md-color-scheme="catppuccin-mocha"] .highlight .c,
[data-md-color-scheme="catppuccin-mocha"] .highlight .c1,
[data-md-color-scheme="catppuccin-mocha"] .highlight .cm,
[data-md-color-scheme="catppuccin-mocha"] .highlight .cs  { color: var(--ctp-overlay1); font-style: italic; }
[data-md-color-scheme="catppuccin-mocha"] .highlight .o,
[data-md-color-scheme="catppuccin-mocha"] .highlight .ow  { color: var(--ctp-sky); }
[data-md-color-scheme="catppuccin-mocha"] .highlight .nv,
[data-md-color-scheme="catppuccin-mocha"] .highlight .vi,
[data-md-color-scheme="catppuccin-mocha"] .highlight .vc  { color: var(--ctp-text); }
[data-md-color-scheme="catppuccin-mocha"] .highlight .na  { color: var(--ctp-yellow); }
[data-md-color-scheme="catppuccin-mocha"] .highlight .nt  { color: var(--ctp-blue); }
[data-md-color-scheme="catppuccin-mocha"] .highlight .nc  { color: var(--ctp-yellow); }
[data-md-color-scheme="catppuccin-mocha"] .highlight .nd  { color: var(--ctp-peach); }

/* Admonition theming - Catppuccin Mocha */
[data-md-color-scheme="catppuccin-mocha"] .md-typeset .admonition,
[data-md-color-scheme="catppuccin-mocha"] .md-typeset details {
  background-color: var(--ctp-mantle);
  border-color: var(--ctp-surface1);
  color: var(--ctp-text);
}

[data-md-color-scheme="catppuccin-mocha"] .md-typeset .admonition-title,
[data-md-color-scheme="catppuccin-mocha"] .md-typeset summary {
  background-color: var(--ctp-surface0);
  color: var(--ctp-text);
}

/* Tip / Hint */
[data-md-color-scheme="catppuccin-mocha"] .md-typeset .admonition.tip,
[data-md-color-scheme="catppuccin-mocha"] .md-typeset .admonition.hint,
[data-md-color-scheme="catppuccin-mocha"] .md-typeset details.tip,
[data-md-color-scheme="catppuccin-mocha"] .md-typeset details.hint {
  border-color: var(--ctp-teal);
}
[data-md-color-scheme="catppuccin-mocha"] .md-typeset .tip > .admonition-title,
[data-md-color-scheme="catppuccin-mocha"] .md-typeset .hint > .admonition-title,
[data-md-color-scheme="catppuccin-mocha"] .md-typeset .tip > summary,
[data-md-color-scheme="catppuccin-mocha"] .md-typeset .hint > summary {
  background-color: rgba(148, 226, 213, 0.1);
}
[data-md-color-scheme="catppuccin-mocha"] .md-typeset .tip > .admonition-title::before,
[data-md-color-scheme="catppuccin-mocha"] .md-typeset .hint > .admonition-title::before {
  background-color: var(--ctp-teal);
}

/* Warning / Caution */
[data-md-color-scheme="catppuccin-mocha"] .md-typeset .admonition.warning,
[data-md-color-scheme="catppuccin-mocha"] .md-typeset .admonition.caution,
[data-md-color-scheme="catppuccin-mocha"] .md-typeset details.warning,
[data-md-color-scheme="catppuccin-mocha"] .md-typeset details.caution {
  border-color: var(--ctp-peach);
}
[data-md-color-scheme="catppuccin-mocha"] .md-typeset .warning > .admonition-title,
[data-md-color-scheme="catppuccin-mocha"] .md-typeset .caution > .admonition-title,
[data-md-color-scheme="catppuccin-mocha"] .md-typeset .warning > summary,
[data-md-color-scheme="catppuccin-mocha"] .md-typeset .caution > summary {
  background-color: rgba(250, 179, 135, 0.1);
}
[data-md-color-scheme="catppuccin-mocha"] .md-typeset .warning > .admonition-title::before,
[data-md-color-scheme="catppuccin-mocha"] .md-typeset .caution > .admonition-title::before {
  background-color: var(--ctp-peach);
}

/* Danger / Error / Bug */
[data-md-color-scheme="catppuccin-mocha"] .md-typeset .admonition.danger,
[data-md-color-scheme="catppuccin-mocha"] .md-typeset .admonition.error,
[data-md-color-scheme="catppuccin-mocha"] .md-typeset .admonition.bug,
[data-md-color-scheme="catppuccin-mocha"] .md-typeset details.danger,
[data-md-color-scheme="catppuccin-mocha"] .md-typeset details.error,
[data-md-color-scheme="catppuccin-mocha"] .md-typeset details.bug {
  border-color: var(--ctp-red);
}
[data-md-color-scheme="catppuccin-mocha"] .md-typeset .danger > .admonition-title,
[data-md-color-scheme="catppuccin-mocha"] .md-typeset .error > .admonition-title,
[data-md-color-scheme="catppuccin-mocha"] .md-typeset .bug > .admonition-title,
[data-md-color-scheme="catppuccin-mocha"] .md-typeset .danger > summary,
[data-md-color-scheme="catppuccin-mocha"] .md-typeset .error > summary,
[data-md-color-scheme="catppuccin-mocha"] .md-typeset .bug > summary {
  background-color: rgba(243, 139, 168, 0.1);
}
[data-md-color-scheme="catppuccin-mocha"] .md-typeset .danger > .admonition-title::before,
[data-md-color-scheme="catppuccin-mocha"] .md-typeset .error > .admonition-title::before,
[data-md-color-scheme="catppuccin-mocha"] .md-typeset .bug > .admonition-title::before {
  background-color: var(--ctp-red);
}

/* Info / Note / Todo */
[data-md-color-scheme="catppuccin-mocha"] .md-typeset .admonition.note,
[data-md-color-scheme="catppuccin-mocha"] .md-typeset .admonition.info,
[data-md-color-scheme="catppuccin-mocha"] .md-typeset .admonition.todo,
[data-md-color-scheme="catppuccin-mocha"] .md-typeset details.note,
[data-md-color-scheme="catppuccin-mocha"] .md-typeset details.info,
[data-md-color-scheme="catppuccin-mocha"] .md-typeset details.todo {
  border-color: var(--ctp-sky);
}
[data-md-color-scheme="catppuccin-mocha"] .md-typeset .note > .admonition-title,
[data-md-color-scheme="catppuccin-mocha"] .md-typeset .info > .admonition-title,
[data-md-color-scheme="catppuccin-mocha"] .md-typeset .todo > .admonition-title,
[data-md-color-scheme="catppuccin-mocha"] .md-typeset .note > summary,
[data-md-color-scheme="catppuccin-mocha"] .md-typeset .info > summary,
[data-md-color-scheme="catppuccin-mocha"] .md-typeset .todo > summary {
  background-color: rgba(137, 220, 235, 0.1);
}
[data-md-color-scheme="catppuccin-mocha"] .md-typeset .note > .admonition-title::before,
[data-md-color-scheme="catppuccin-mocha"] .md-typeset .info > .admonition-title::before,
[data-md-color-scheme="catppuccin-mocha"] .md-typeset .todo > .admonition-title::before {
  background-color: var(--ctp-sky);
}

/* Success / Check / Done */
[data-md-color-scheme="catppuccin-mocha"] .md-typeset .admonition.success,
[data-md-color-scheme="catppuccin-mocha"] .md-typeset .admonition.check,
[data-md-color-scheme="catppuccin-mocha"] .md-typeset .admonition.done,
[data-md-color-scheme="catppuccin-mocha"] .md-typeset details.success,
[data-md-color-scheme="catppuccin-mocha"] .md-typeset details.check,
[data-md-color-scheme="catppuccin-mocha"] .md-typeset details.done {
  border-color: var(--ctp-green);
}
[data-md-color-scheme="catppuccin-mocha"] .md-typeset .success > .admonition-title,
[data-md-color-scheme="catppuccin-mocha"] .md-typeset .check > .admonition-title,
[data-md-color-scheme="catppuccin-mocha"] .md-typeset .done > .admonition-title,
[data-md-color-scheme="catppuccin-mocha"] .md-typeset .success > summary,
[data-md-color-scheme="catppuccin-mocha"] .md-typeset .check > summary,
[data-md-color-scheme="catppuccin-mocha"] .md-typeset .done > summary {
  background-color: rgba(166, 227, 161, 0.1);
}
[data-md-color-scheme="catppuccin-mocha"] .md-typeset .success > .admonition-title::before,
[data-md-color-scheme="catppuccin-mocha"] .md-typeset .check > .admonition-title::before,
[data-md-color-scheme="catppuccin-mocha"] .md-typeset .done > .admonition-title::before {
  background-color: var(--ctp-green);
}

/* Question / Help / FAQ */
[data-md-color-scheme="catppuccin-mocha"] .md-typeset .admonition.question,
[data-md-color-scheme="catppuccin-mocha"] .md-typeset .admonition.help,
[data-md-color-scheme="catppuccin-mocha"] .md-typeset .admonition.faq,
[data-md-color-scheme="catppuccin-mocha"] .md-typeset details.question,
[data-md-color-scheme="catppuccin-mocha"] .md-typeset details.help,
[data-md-color-scheme="catppuccin-mocha"] .md-typeset details.faq {
  border-color: var(--ctp-yellow);
}
[data-md-color-scheme="catppuccin-mocha"] .md-typeset .question > .admonition-title,
[data-md-color-scheme="catppuccin-mocha"] .md-typeset .help > .admonition-title,
[data-md-color-scheme="catppuccin-mocha"] .md-typeset .faq > .admonition-title,
[data-md-color-scheme="catppuccin-mocha"] .md-typeset .question > summary,
[data-md-color-scheme="catppuccin-mocha"] .md-typeset .help > summary,
[data-md-color-scheme="catppuccin-mocha"] .md-typeset .faq > summary {
  background-color: rgba(249, 226, 175, 0.1);
}
[data-md-color-scheme="catppuccin-mocha"] .md-typeset .question > .admonition-title::before,
[data-md-color-scheme="catppuccin-mocha"] .md-typeset .help > .admonition-title::before,
[data-md-color-scheme="catppuccin-mocha"] .md-typeset .faq > .admonition-title::before {
  background-color: var(--ctp-yellow);
}

/* Abstract / Summary / TLDR */
[data-md-color-scheme="catppuccin-mocha"] .md-typeset .admonition.abstract,
[data-md-color-scheme="catppuccin-mocha"] .md-typeset .admonition.summary,
[data-md-color-scheme="catppuccin-mocha"] .md-typeset .admonition.tldr,
[data-md-color-scheme="catppuccin-mocha"] .md-typeset details.abstract,
[data-md-color-scheme="catppuccin-mocha"] .md-typeset details.summary,
[data-md-color-scheme="catppuccin-mocha"] .md-typeset details.tldr {
  border-color: var(--ctp-lavender);
}
[data-md-color-scheme="catppuccin-mocha"] .md-typeset .abstract > .admonition-title,
[data-md-color-scheme="catppuccin-mocha"] .md-typeset .summary > .admonition-title,
[data-md-color-scheme="catppuccin-mocha"] .md-typeset .tldr > .admonition-title,
[data-md-color-scheme="catppuccin-mocha"] .md-typeset .abstract > summary,
[data-md-color-scheme="catppuccin-mocha"] .md-typeset .summary > summary,
[data-md-color-scheme="catppuccin-mocha"] .md-typeset .tldr > summary {
  background-color: rgba(180, 190, 254, 0.1);
}
[data-md-color-scheme="catppuccin-mocha"] .md-typeset .abstract > .admonition-title::before,
[data-md-color-scheme="catppuccin-mocha"] .md-typeset .summary > .admonition-title::before,
[data-md-color-scheme="catppuccin-mocha"] .md-typeset .tldr > .admonition-title::before {
  background-color: var(--ctp-lavender);
}

/* Example */
[data-md-color-scheme="catppuccin-mocha"] .md-typeset .admonition.example,
[data-md-color-scheme="catppuccin-mocha"] .md-typeset details.example {
  border-color: var(--ctp-mauve);
}
[data-md-color-scheme="catppuccin-mocha"] .md-typeset .example > .admonition-title,
[data-md-color-scheme="catppuccin-mocha"] .md-typeset .example > summary {
  background-color: rgba(203, 166, 247, 0.1);
}
[data-md-color-scheme="catppuccin-mocha"] .md-typeset .example > .admonition-title::before,
[data-md-color-scheme="catppuccin-mocha"] .md-typeset .example > summary::before {
  background-color: var(--ctp-mauve);
}

/* Quote / Cite */
[data-md-color-scheme="catppuccin-mocha"] .md-typeset .admonition.quote,
[data-md-color-scheme="catppuccin-mocha"] .md-typeset .admonition.cite,
[data-md-color-scheme="catppuccin-mocha"] .md-typeset details.quote,
[data-md-color-scheme="catppuccin-mocha"] .md-typeset details.cite {
  border-color: var(--ctp-overlay2);
}
[data-md-color-scheme="catppuccin-mocha"] .md-typeset .quote > .admonition-title,
[data-md-color-scheme="catppuccin-mocha"] .md-typeset .cite > .admonition-title,
[data-md-color-scheme="catppuccin-mocha"] .md-typeset .quote > summary,
[data-md-color-scheme="catppuccin-mocha"] .md-typeset .cite > summary {
  background-color: rgba(147, 153, 178, 0.1);
}
[data-md-color-scheme="catppuccin-mocha"] .md-typeset .quote > .admonition-title::before,
[data-md-color-scheme="catppuccin-mocha"] .md-typeset .cite > .admonition-title::before {
  background-color: var(--ctp-overlay2);
}

/* Default code text - brighter base color for unstyled tokens */
[data-md-color-scheme="catppuccin-mocha"] .highlight pre code,
[data-md-color-scheme="catppuccin-mocha"] .highlight .n,
[data-md-color-scheme="catppuccin-mocha"] .highlight .nx,
[data-md-color-scheme="catppuccin-mocha"] .highlight .p,
[data-md-color-scheme="catppuccin-mocha"] .highlight .w {
  color: var(--ctp-text);
}

/* Copy button - Catppuccin styled */
[data-md-color-scheme="catppuccin-mocha"] .md-clipboard {
  color: var(--ctp-overlay1);
}
[data-md-color-scheme="catppuccin-mocha"] .md-clipboard:hover {
  color: var(--ctp-mauve);
}
[data-md-color-scheme="catppuccin-mocha"] .md-clipboard::after {
  background-color: currentColor;
}

/* Code block container - cleaner border */
[data-md-color-scheme="catppuccin-mocha"] .highlight {
  background-color: var(--ctp-mantle);
  border: 1px solid var(--ctp-surface0);
  border-radius: 6px;
}

/* Restore spacing between consecutive code blocks (Material collapses by default) */
[data-md-color-scheme="catppuccin-mocha"] .md-typeset .highlight + .highlight,
[data-md-color-scheme="catppuccin-mocha"] .md-typeset .highlighttable + .highlighttable,
[data-md-color-scheme="catppuccin-mocha"] .md-typeset .highlight + .highlighttable,
[data-md-color-scheme="catppuccin-mocha"] .md-typeset .highlighttable + .highlight {
  margin-top: 1em;
}

/* Always wrap code - no horizontal scroll. Wraps at whitespace where possible,
   breaks long unbreakable tokens (URLs, base64) anywhere they fit. */
[data-md-color-scheme="catppuccin-mocha"] .md-typeset pre > code,
[data-md-color-scheme="catppuccin-mocha"] .md-typeset .highlight pre,
[data-md-color-scheme="catppuccin-mocha"] .md-typeset .highlight code {
  white-space: pre-wrap;
  word-break: break-word;
  overflow-wrap: anywhere;
}

[data-md-color-scheme="catppuccin-mocha"] .md-typeset pre,
[data-md-color-scheme="catppuccin-mocha"] .md-typeset .highlight {
  overflow-x: visible;
}

/* Linenos column subtle separation */
[data-md-color-scheme="catppuccin-mocha"] .highlight .linenos,
[data-md-color-scheme="catppuccin-mocha"] .highlight .linenodiv {
  color: var(--ctp-overlay0);
  background-color: var(--ctp-crust);
  border-right: 1px solid var(--ctp-surface0);
}

/* Task list checkboxes - Catppuccin styled */
[data-md-color-scheme="catppuccin-mocha"] .md-typeset .task-list-indicator::before {
  background-color: var(--ctp-surface1);
  border: 1px solid var(--ctp-overlay0);
}

[data-md-color-scheme="catppuccin-mocha"] .md-typeset [type="checkbox"]:checked + .task-list-indicator::before {
  background-color: var(--ctp-green);
  border-color: var(--ctp-green);
}

/* Copy code button - full Catppuccin restyle */
[data-md-color-scheme="catppuccin-mocha"] .md-clipboard {
  color: var(--ctp-overlay0);
  transition: color 0.15s ease, background-color 0.15s ease;
  border-radius: 4px;
}

[data-md-color-scheme="catppuccin-mocha"] .md-clipboard::after {
  background-color: currentColor;
  transition: background-color 0.15s ease;
}

[data-md-color-scheme="catppuccin-mocha"] .md-clipboard:hover {
  color: var(--ctp-mauve);
  background-color: var(--ctp-surface0);
}

[data-md-color-scheme="catppuccin-mocha"] .md-clipboard:focus,
[data-md-color-scheme="catppuccin-mocha"] .md-clipboard:active {
  color: var(--ctp-teal);
}

/* "Copied!" tooltip styling */
[data-md-color-scheme="catppuccin-mocha"] .md-tooltip,
[data-md-color-scheme="catppuccin-mocha"] .md-tooltip2 {
  background-color: var(--ctp-surface0);
  color: var(--ctp-text);
  border: 1px solid var(--ctp-surface1);
  border-radius: 4px;
}

/* "Copied to clipboard" toast dialog */
[data-md-color-scheme="catppuccin-mocha"] .md-dialog {
  background-color: var(--ctp-surface0);
  color: var(--ctp-text);
  border: 1px solid var(--ctp-surface1);
  border-radius: 6px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.4);
}

[data-md-color-scheme="catppuccin-mocha"] .md-dialog__inner {
  color: var(--ctp-text);
}

/* Copy button - aggressive override */
[data-md-color-scheme="catppuccin-mocha"] .md-clipboard.md-icon {
  background: transparent !important;
  background-color: transparent !important;
  color: var(--ctp-overlay0) !important;
  opacity: 0.6;
  transition: opacity 0.15s ease, color 0.15s ease, background-color 0.15s ease;
}

[data-md-color-scheme="catppuccin-mocha"] .md-clipboard.md-icon::after {
  background-color: currentColor !important;
}

[data-md-color-scheme="catppuccin-mocha"] .md-clipboard.md-icon:hover {
  background-color: var(--ctp-surface0) !important;
  color: var(--ctp-mauve) !important;
  opacity: 1;
}

[data-md-color-scheme="catppuccin-mocha"] .md-clipboard.md-icon:focus,
[data-md-color-scheme="catppuccin-mocha"] .md-clipboard.md-icon:active {
  color: var(--ctp-teal) !important;
}

/* Show button only on code block hover for a cleaner look */
[data-md-color-scheme="catppuccin-mocha"] .highlight .md-clipboard {
  opacity: 0;
}
[data-md-color-scheme="catppuccin-mocha"] .highlight:hover .md-clipboard {
  opacity: 0.6;
}
[data-md-color-scheme="catppuccin-mocha"] .highlight:hover .md-clipboard:hover {
  opacity: 1;
}

/* Code block nav (modern Material - md-code__button) */
[data-md-color-scheme="catppuccin-mocha"] .md-code__nav {
  background: transparent !important;
}

[data-md-color-scheme="catppuccin-mocha"] .md-code__button {
  background: transparent !important;
  background-color: transparent !important;
  color: var(--ctp-overlay0) !important;
  border-radius: 4px;
  opacity: 0;
  transition: opacity 0.15s ease, color 0.15s ease, background-color 0.15s ease;
}

[data-md-color-scheme="catppuccin-mocha"] .md-code__button::before,
[data-md-color-scheme="catppuccin-mocha"] .md-code__button::after {
  background-color: currentColor !important;
}

[data-md-color-scheme="catppuccin-mocha"] .highlight:hover .md-code__button,
[data-md-color-scheme="catppuccin-mocha"] .md-code:hover .md-code__button {
  opacity: 0.6;
}

[data-md-color-scheme="catppuccin-mocha"] .md-code__button:hover {
  background-color: var(--ctp-surface0) !important;
  color: var(--ctp-mauve) !important;
  opacity: 1 !important;
}

[data-md-color-scheme="catppuccin-mocha"] .md-code__button:focus,
[data-md-color-scheme="catppuccin-mocha"] .md-code__button:active {
  color: var(--ctp-teal) !important;
  opacity: 1 !important;
}

/* "Copied" success state */
[data-md-color-scheme="catppuccin-mocha"] .md-code__button[data-md-copied] {
  color: var(--ctp-green) !important;
  opacity: 1 !important;
}

/* Header text - readable on crust background */
[data-md-color-scheme="catppuccin-mocha"] .md-header__title,
[data-md-color-scheme="catppuccin-mocha"] .md-header__topic,
[data-md-color-scheme="catppuccin-mocha"] .md-header__title .md-ellipsis,
[data-md-color-scheme="catppuccin-mocha"] .md-header__topic .md-ellipsis {
  color: var(--ctp-text);
  opacity: 1;
}

[data-md-color-scheme="catppuccin-mocha"] .md-header__button {
  color: var(--ctp-text);
}

[data-md-color-scheme="catppuccin-mocha"] .md-header__button:hover {
  color: var(--ctp-mauve);
}

/* Search bar styling to match */
[data-md-color-scheme="catppuccin-mocha"] .md-search__form {
  background-color: var(--ctp-surface0);
}

[data-md-color-scheme="catppuccin-mocha"] .md-search__form:hover {
  background-color: var(--ctp-surface1);
}

[data-md-color-scheme="catppuccin-mocha"] .md-search__input {
  color: var(--ctp-text);
}

[data-md-color-scheme="catppuccin-mocha"] .md-search__input::placeholder {
  color: var(--ctp-overlay1);
}

[data-md-color-scheme="catppuccin-mocha"] .md-search__icon {
  color: var(--ctp-overlay1);
}

/* Hide redundant page topic in header - keep only site title */
[data-md-color-scheme="catppuccin-mocha"] .md-header__topic + .md-header__topic {
  display: none;
}

/* Ensure site title stays visible and readable */
[data-md-color-scheme="catppuccin-mocha"] .md-header__topic:first-child {
  opacity: 1;
  transform: none !important;
}

/* Search dropdown - Catppuccin theming */
[data-md-color-scheme="catppuccin-mocha"] .md-search__output {
  background-color: var(--ctp-base);
  border: 1px solid var(--ctp-surface0);
  border-radius: 6px;
}

[data-md-color-scheme="catppuccin-mocha"] .md-search__scrollwrap {
  background-color: var(--ctp-base);
}

/* "X matching documents" header */
[data-md-color-scheme="catppuccin-mocha"] .md-search-result__meta {
  background-color: var(--ctp-mantle);
  color: var(--ctp-subtext0);
  border-bottom: 1px solid var(--ctp-surface0);
}

/* Each search result item */
[data-md-color-scheme="catppuccin-mocha"] .md-search-result__item {
  border-bottom: 1px solid var(--ctp-surface0);
}

[data-md-color-scheme="catppuccin-mocha"] .md-search-result__link {
  background-color: transparent;
  color: var(--ctp-text);
  transition: background-color 0.1s ease;
}

[data-md-color-scheme="catppuccin-mocha"] .md-search-result__link:hover,
[data-md-color-scheme="catppuccin-mocha"] .md-search-result__link[data-md-state="active"],
[data-md-color-scheme="catppuccin-mocha"] .md-search-result__link:focus {
  background-color: var(--ctp-surface0);
  color: var(--ctp-text);
}

/* Page title in result */
[data-md-color-scheme="catppuccin-mocha"] .md-search-result__article--document .md-search-result__title {
  color: var(--ctp-mauve);
  font-weight: 600;
}

/* Section title within a page result */
[data-md-color-scheme="catppuccin-mocha"] .md-search-result__title {
  color: var(--ctp-blue);
  font-weight: 600;
}

/* Result body text */
[data-md-color-scheme="catppuccin-mocha"] .md-search-result__teaser {
  color: var(--ctp-subtext0);
}

/* Highlighted matched terms - readable on hover background */
[data-md-color-scheme="catppuccin-mocha"] .md-search-result__teaser mark,
[data-md-color-scheme="catppuccin-mocha"] .md-search-result__terms mark,
[data-md-color-scheme="catppuccin-mocha"] .md-search-result mark {
  background-color: transparent;
  color: var(--ctp-yellow);
  font-weight: 600;
  text-decoration: underline;
  text-decoration-color: var(--ctp-yellow);
  text-underline-offset: 2px;
}

/* Search result icons */
[data-md-color-scheme="catppuccin-mocha"] .md-search-result__icon {
  color: var(--ctp-overlay2);
}

/* Tag pills (in search results and on pages) - Catppuccin theming */
[data-md-color-scheme="catppuccin-mocha"] .md-tag {
  background-color: var(--ctp-surface0);
  color: var(--ctp-subtext1);
  border: 1px solid var(--ctp-surface1);
}

[data-md-color-scheme="catppuccin-mocha"] a.md-tag:hover,
[data-md-color-scheme="catppuccin-mocha"] a.md-tag:focus {
  background-color: var(--ctp-surface1);
  color: var(--ctp-text);
}

/* Matched search terms inside tag pills - readable on dark pill */
[data-md-color-scheme="catppuccin-mocha"] .md-tag mark {
  background-color: transparent;
  color: var(--ctp-yellow);
  font-weight: 600;
  text-decoration: underline;
  text-decoration-color: var(--ctp-yellow);
  text-underline-offset: 2px;
}

/* Empty state / no results */
[data-md-color-scheme="catppuccin-mocha"] .md-search-result__meta:only-child {
  color: var(--ctp-subtext1);
}

/* Search overlay backdrop */
[data-md-color-scheme="catppuccin-mocha"] .md-search__overlay {
  background-color: var(--ctp-crust);
  opacity: 0.85;
}

/* Tables - Catppuccin theming */
[data-md-color-scheme="catppuccin-mocha"] .md-typeset table:not([class]) {
  background-color: var(--ctp-mantle);
  border: 1px solid var(--ctp-surface0);
  border-radius: 6px;
  overflow: hidden;
}

/* Table header row */
[data-md-color-scheme="catppuccin-mocha"] .md-typeset table:not([class]) th {
  background-color: var(--ctp-surface0);
  color: var(--ctp-mauve);
  font-weight: 600;
  border-bottom: 2px solid var(--ctp-surface1);
}

/* Table cells */
[data-md-color-scheme="catppuccin-mocha"] .md-typeset table:not([class]) td {
  color: var(--ctp-text);
  border-top: 1px solid var(--ctp-surface0);
}

/* Alternating row stripes */
[data-md-color-scheme="catppuccin-mocha"] .md-typeset table:not([class]) tr:nth-child(even) {
  background-color: var(--ctp-base);
}

[data-md-color-scheme="catppuccin-mocha"] .md-typeset table:not([class]) tr:nth-child(odd) td {
  background-color: var(--ctp-mantle);
}

/* Hover effect on rows */
[data-md-color-scheme="catppuccin-mocha"] .md-typeset table:not([class]) tbody tr:hover td {
  background-color: var(--ctp-surface0);
  transition: background-color 0.15s ease;
}

/* Search highlight on table cells - keep yellow underline style */
[data-md-color-scheme="catppuccin-mocha"] .md-typeset table:not([class]) mark {
  background-color: transparent;
  color: var(--ctp-yellow);
  font-weight: 600;
  text-decoration: underline;
  text-decoration-color: var(--ctp-yellow);
  text-underline-offset: 2px;
}

/* Images - Catppuccin polish */
[data-md-color-scheme="catppuccin-mocha"] .md-typeset img,
[data-md-color-scheme="catppuccin-mocha"] .md-typeset svg {
  border-radius: 6px;
  border: 1px solid var(--ctp-surface0);
  max-width: 100%;
  height: auto;
}

/* Don't add border to inline icons (emojis, status icons) */
[data-md-color-scheme="catppuccin-mocha"] .md-typeset .twemoji svg,
[data-md-color-scheme="catppuccin-mocha"] .md-typeset .emojione,
[data-md-color-scheme="catppuccin-mocha"] .md-typeset a img.emojione,
[data-md-color-scheme="catppuccin-mocha"] .md-typeset .admonition svg {
  border: none;
  border-radius: 0;
}

/* Glightbox overlay - match Catppuccin */
[data-md-color-scheme="catppuccin-mocha"] .gslide-description {
  background-color: var(--ctp-mantle) !important;
  color: var(--ctp-text) !important;
}

[data-md-color-scheme="catppuccin-mocha"] .gdesc-inner {
  color: var(--ctp-text) !important;
}
