/* Edit these tokens to change the developer docs theme. */
[data-md-color-scheme="default"] {
  --theia-color-bg: #ffffff;
  --theia-color-surface: #ffffff;
  --theia-color-surface-muted: #f7fafc;
  --theia-color-surface-preview: #f8fafc;
  --theia-color-surface-raised: #edf2f7;
  --theia-color-text: #1a202c;
  --theia-color-text-muted: #4a5568;
  --theia-color-brand: #0d9488;
  --theia-color-brand-solid: #009688;
  --theia-color-brand-on-solid: #ffffff;
  --theia-color-link: #3182ce;
  --theia-color-link-hover: #0d9488;
  --theia-color-success: #38a169;
  --theia-color-warning: #c05621;
  --theia-color-danger: #e53e3e;
  --theia-color-border: #e2e8f0;
  --theia-color-border-subtle: #edf2f7;
  --theia-color-focus-ring: #0d9488;
  --theia-color-icon-muted: #718096;
  --theia-color-interactive-bg-hover: rgba(0, 150, 136, 0.08);
  --theia-color-interactive-bg-active: rgba(0, 150, 136, 0.14);
  --theia-color-brand-soft-bg: rgba(0, 150, 136, 0.12);
  --theia-color-brand-soft-border: rgba(0, 150, 136, 0.28);
  --theia-color-header-hover-bg: rgba(255, 255, 255, 0.12);
  --theia-color-header-active-bg: rgba(255, 255, 255, 0.18);
  --theia-color-header-search-bg: rgba(0, 105, 92, 0.72);
  --theia-color-header-search-bg-hover: rgba(0, 105, 92, 0.88);
  --theia-color-header-search-border: rgba(255, 255, 255, 0.16);
  --theia-color-header-search-border-hover: rgba(255, 255, 255, 0.30);
  --theia-color-overlay: #ffffff;
  --theia-color-overlay-muted: #f7fafc;
  --theia-color-scrollbar-track: #f7fafc;
  --theia-color-scrollbar-thumb: #cbd5e0;
  --theia-color-scrollbar-thumb-hover: #718096;
  --theia-color-mark-bg: rgba(0, 150, 136, 0.14);
  --theia-color-code-text: #1a202c;
  --theia-color-code-bg: #f7fafc;
  --theia-color-shadow: rgba(15, 23, 42, 0.08);
  --theia-color-header-shadow: rgba(15, 23, 42, 0.18);
  --theia-color-sidebar-active-bg: rgba(0, 150, 136, 0.12);
  --theia-color-sidebar-hover-bg: rgba(74, 85, 104, 0.08);
}

[data-md-color-scheme="slate"] {
  --theia-color-bg: #171923;
  --theia-color-surface: #1a202c;
  --theia-color-surface-muted: #2d3748;
  --theia-color-surface-preview: #1a202c;
  --theia-color-surface-raised: #4a5568;
  --theia-color-text: #f7fafc;
  --theia-color-text-muted: #cbd5e0;
  --theia-color-brand: #81e6d9;
  --theia-color-brand-solid: #0d9488;
  --theia-color-brand-on-solid: #ffffff;
  --theia-color-link: #63b3ed;
  --theia-color-link-hover: #81e6d9;
  --theia-color-success: #68d391;
  --theia-color-warning: #fbd38d;
  --theia-color-danger: #fc8181;
  --theia-color-border: #4a5568;
  --theia-color-border-subtle: #2d3748;
  --theia-color-focus-ring: #81e6d9;
  --theia-color-icon-muted: #a0aec0;
  --theia-color-interactive-bg-hover: rgba(129, 230, 217, 0.10);
  --theia-color-interactive-bg-active: rgba(129, 230, 217, 0.16);
  --theia-color-brand-soft-bg: rgba(129, 230, 217, 0.14);
  --theia-color-brand-soft-border: rgba(129, 230, 217, 0.32);
  --theia-color-header-hover-bg: rgba(255, 255, 255, 0.12);
  --theia-color-header-active-bg: rgba(255, 255, 255, 0.18);
  --theia-color-header-search-bg: rgba(12, 74, 71, 0.76);
  --theia-color-header-search-bg-hover: rgba(12, 74, 71, 0.92);
  --theia-color-header-search-border: rgba(255, 255, 255, 0.16);
  --theia-color-header-search-border-hover: rgba(255, 255, 255, 0.30);
  --theia-color-overlay: #1a202c;
  --theia-color-overlay-muted: #171923;
  --theia-color-scrollbar-track: #171923;
  --theia-color-scrollbar-thumb: #4a5568;
  --theia-color-scrollbar-thumb-hover: #a0aec0;
  --theia-color-mark-bg: rgba(129, 230, 217, 0.18);
  --theia-color-code-text: #edf2f7;
  --theia-color-code-bg: #111827;
  --theia-color-shadow: rgba(0, 0, 0, 0.34);
  --theia-color-header-shadow: rgba(0, 0, 0, 0.42);
  --theia-color-sidebar-active-bg: rgba(129, 230, 217, 0.14);
  --theia-color-sidebar-hover-bg: rgba(203, 213, 224, 0.08);
}

:root {
  --theia-docs-radius-sm: 6px;
  --theia-docs-radius-md: 8px;
  --theia-docs-header-height: 3rem;
  --theia-docs-shadow-raised: 0 12px 36px var(--theia-color-shadow);
  --md-primary-fg-color: var(--theia-color-brand-solid);
  --md-primary-fg-color--light: var(--theia-color-brand);
  --md-primary-fg-color--dark: var(--theia-color-brand-solid);
  --md-primary-bg-color: var(--theia-color-brand-on-solid);
  --md-accent-fg-color: var(--theia-color-brand);
  --md-default-bg-color: var(--theia-color-bg);
  --md-default-fg-color: var(--theia-color-text);
  --md-default-fg-color--light: var(--theia-color-text-muted);
  --md-default-fg-color--lighter: var(--theia-color-text-muted);
  --md-default-fg-color--lightest: var(--theia-color-border-subtle);
  --md-code-bg-color: var(--theia-color-code-bg);
  --md-code-fg-color: var(--theia-color-code-text);
  --md-typeset-a-color: var(--theia-color-link);
  --md-footer-bg-color: var(--theia-color-surface-muted);
  --md-footer-bg-color--dark: var(--theia-color-surface);
}

[data-md-color-scheme="default"],
[data-md-color-scheme="slate"] {
  --md-accent-fg-color: var(--theia-color-brand);
  --md-accent-fg-color--transparent: var(--theia-color-interactive-bg-hover);
  --md-typeset-a-color: var(--theia-color-link);
}

html,
body,
* {
  scrollbar-color: var(--theia-color-scrollbar-thumb) var(--theia-color-scrollbar-track);
  scrollbar-width: thin;
}

*::-webkit-scrollbar {
  width: 0.75rem;
  height: 0.75rem;
}

*::-webkit-scrollbar-track {
  background: var(--theia-color-scrollbar-track);
}

*::-webkit-scrollbar-thumb {
  border: 0.18rem solid var(--theia-color-scrollbar-track);
  border-radius: 999px;
  background: var(--theia-color-scrollbar-thumb);
}

*::-webkit-scrollbar-thumb:hover {
  background: var(--theia-color-scrollbar-thumb-hover);
}

::selection {
  color: var(--theia-color-text);
  background: var(--theia-color-mark-bg);
}

:where(a, button, label, input, summary, [tabindex]):focus-visible {
  outline: 2px solid var(--theia-color-focus-ring);
  outline-offset: 2px;
}

.md-header {
  background: var(--theia-color-brand-solid);
  box-shadow: 0 2px 14px var(--theia-color-header-shadow);
}

.md-header__button,
.md-header__topic,
.md-header__title {
  color: var(--theia-color-brand-on-solid);
}

.md-header__button,
.md-header__option label,
.md-source,
.md-top,
.md-clipboard,
.md-content__button,
.md-nav__link,
.md-tabs__link,
.md-search-result__link,
.md-typeset a {
  transition: color 120ms ease, background-color 120ms ease, border-color 120ms ease, opacity 120ms ease;
}

.md-header__button:is(:hover, :focus-visible),
.md-header__option label:not([hidden]):is(:hover, :focus-visible),
.md-source:is(:hover, :focus-visible) {
  border-radius: var(--theia-docs-radius-sm);
  color: var(--theia-color-brand-on-solid);
  background: var(--theia-color-header-hover-bg);
}

.md-header__button:active,
.md-header__option label:not([hidden]):active,
.md-source:active {
  background: var(--theia-color-header-active-bg);
}

.md-search__form {
  border: 1px solid var(--theia-color-header-search-border);
  background: var(--theia-color-header-search-bg);
}

.md-search__form:is(:hover, :focus-within) {
  border-color: var(--theia-color-header-search-border-hover);
  background: var(--theia-color-header-search-bg-hover);
}

.md-search__input,
.md-search__icon {
  color: var(--theia-color-brand-on-solid);
}

.md-search__input::placeholder {
  color: color-mix(in srgb, var(--theia-color-brand-on-solid) 72%, transparent);
}

.md-search__output,
.md-search__scrollwrap {
  color: var(--theia-color-text);
  background: var(--theia-color-overlay);
}

.md-search-result__meta {
  color: var(--theia-color-text-muted);
  background: var(--theia-color-overlay-muted);
}

.md-search-result__link:is(:hover, :focus) {
  color: var(--theia-color-brand);
  background: var(--theia-color-interactive-bg-hover);
}

.md-search-result mark {
  color: var(--theia-color-brand);
  background: var(--theia-color-mark-bg);
}

.md-tabs {
  background: color-mix(in srgb, var(--theia-color-brand-solid) 92%, #000000);
}

.md-sidebar__scrollwrap,
.md-nav,
.md-nav__title {
  background: var(--theia-color-bg);
}

.md-nav__link {
  border-radius: var(--theia-docs-radius-sm);
  color: var(--theia-color-text);
}

.md-nav__link:is(:hover, :focus-visible),
.md-nav__link--active,
.md-nav__item .md-nav__link--active {
  color: var(--theia-color-brand);
}

.md-nav__link:is(:hover, :focus-visible) {
  background: var(--theia-color-interactive-bg-hover);
}

.md-nav__button,
.md-nav__icon,
.md-nav__link svg {
  color: var(--theia-color-icon-muted);
}

.md-nav__button:is(:hover, :focus-visible),
.md-nav__icon:is(:hover, :focus-visible) {
  color: var(--theia-color-brand);
  background: var(--theia-color-interactive-bg-hover);
}

.md-tabs__link {
  border-radius: var(--theia-docs-radius-sm);
  color: color-mix(in srgb, var(--theia-color-brand-on-solid) 82%, transparent);
}

.md-tabs__link:is(:hover, :focus),
.md-tabs__link--active {
  color: var(--theia-color-brand-on-solid);
  background: var(--theia-color-header-hover-bg);
}

.md-typeset a:not(.headerlink) {
  color: var(--theia-color-link);
}

.md-typeset a:not(.headerlink):hover {
  color: var(--theia-color-link-hover);
  text-decoration-color: currentColor;
}

.md-typeset .headerlink {
  color: var(--theia-color-brand);
}

.md-typeset :is(h1, h2, h3, h4, h5, h6):hover .headerlink,
.md-typeset .headerlink:is(:hover, :focus-visible) {
  color: var(--theia-color-brand);
}

.md-content__button,
.md-clipboard {
  border-radius: var(--theia-docs-radius-sm);
  color: var(--theia-color-icon-muted);
}

.md-content__button:is(:hover, :focus-visible),
.md-clipboard:is(:hover, :focus-visible),
.highlight:hover .md-clipboard {
  color: var(--theia-color-brand);
  background: var(--theia-color-interactive-bg-hover);
}

.md-typeset code,
.md-typeset pre > code {
  border-radius: var(--theia-docs-radius-sm);
}

.md-typeset .md-button {
  border-color: var(--theia-color-brand-soft-border);
  color: var(--theia-color-brand);
  background: transparent;
}

.md-typeset .md-button:is(:hover, :focus-visible) {
  border-color: var(--theia-color-brand);
  color: var(--theia-color-brand-on-solid);
  background: var(--theia-color-brand-solid);
}

.md-typeset .tabbed-labels > label {
  color: var(--theia-color-text-muted);
}

.md-typeset .tabbed-labels > label:is(:hover, :focus-visible),
.md-typeset .tabbed-set > input:checked + label {
  color: var(--theia-color-brand);
}

.md-typeset .tabbed-block,
.md-typeset .tabbed-labels {
  border-color: var(--theia-color-border-subtle);
}

.md-typeset .admonition,
.md-typeset details {
  border-color: var(--theia-color-border-subtle);
  background: var(--theia-color-surface);
}

.md-typeset blockquote {
  color: var(--theia-color-text-muted);
  border-color: var(--theia-color-brand-soft-border);
}

.md-typeset table:not([class]) {
  border-color: var(--theia-color-border);
}

.md-typeset table:not([class]) th {
  color: var(--theia-color-text);
  background: var(--theia-color-surface-muted);
}

.md-typeset table:not([class]) tr:hover {
  background: var(--theia-color-interactive-bg-hover);
}

.md-top {
  border: 1px solid var(--theia-color-border-subtle);
  color: var(--theia-color-text-muted);
  background: var(--theia-color-surface);
  box-shadow: var(--theia-docs-shadow-raised);
}

.md-top:is(:hover, :focus-visible) {
  border-color: var(--theia-color-brand-soft-border);
  color: var(--theia-color-brand);
  background: var(--theia-color-interactive-bg-hover);
}

.md-footer,
.md-footer-meta {
  color: var(--theia-color-text-muted);
  background: var(--theia-color-surface-muted);
}

.md-footer a:is(:hover, :focus-visible) {
  color: var(--theia-color-brand);
}