/* OnRouteMap look for the Zensical modern theme; colors mirror static/css/themes/teal.css (light) and dark.css */
[data-md-color-scheme="default"] {
  --orm-bg: #f8fafc;
  --orm-soft: #f1f6f5;
  --orm-surface: #ffffff;
  --orm-line: #dbe8e6;
  --orm-line-strong: #b9cfcb;
  --orm-heading: #0e4252;
  --orm-primary: #177167;
  --orm-footer: #0e4252;
  --orm-on-footer: #f1f6f5;

  --md-default-fg-color: #1f2937;
  --md-default-fg-color--light: #374151;
  --md-default-fg-color--lighter: #78938e;
  --md-default-fg-color--lightest: #dbe8e6;
  --md-accent-fg-color: #0f5a52;
}

[data-md-color-scheme="slate"] {
  --orm-bg: #171816;
  --orm-soft: #1f211e;
  --orm-surface: #2a2c29;
  --orm-line: #454842;
  --orm-line-strong: #555850;
  --orm-heading: #f4f0e6;
  --orm-primary: #7cb3a8;
  --orm-footer: #111210;
  --orm-on-footer: #d9d4c8;

  --md-default-fg-color: #e6e2d8;
  --md-default-fg-color--light: #b3ada1;
  --md-default-fg-color--lighter: #8f948a;
  --md-default-fg-color--lightest: #454842;
  --md-accent-fg-color: #f4f0e6;
  --md-code-hl-color: rgba(124, 179, 168, .15);
  --md-code-hl-color--light: rgba(124, 179, 168, .08);
  --md-typeset-mark-color: rgba(208, 149, 95, .35);
  --md-typeset-kbd-color: #353833;
  --md-typeset-kbd-accent-color: #171816;
  --md-typeset-kbd-border-color: #555850;
}

[data-md-color-scheme] {
  --md-text-font-family: 'Barlow', sans-serif;
  --md-default-bg-color: var(--orm-bg);
  --md-default-bg-color--light: var(--orm-bg);
  --md-default-bg-color--lighter: var(--orm-soft);
  --md-default-bg-color--lightest: var(--orm-line);
  --md-primary-fg-color: var(--orm-primary);
  --md-primary-fg-color--light: var(--orm-primary);
  --md-primary-fg-color--dark: var(--orm-primary);
  --md-primary-bg-color: #ffffff;
  --md-accent-fg-color--transparent: color-mix(in srgb, var(--orm-primary) 12%, transparent);
  --md-accent-bg-color: #ffffff;
  --md-typeset-color: var(--md-default-fg-color);
  --md-typeset-a-color: var(--orm-primary);
  --md-typeset-table-color: var(--orm-line);
  --md-typeset-table-color--light: var(--orm-soft);
  --md-code-bg-color: var(--orm-soft);
  --md-code-fg-color: var(--md-default-fg-color);
  --md-admonition-bg-color: var(--orm-surface);
  --md-admonition-fg-color: var(--md-default-fg-color);
  --md-footer-bg-color: var(--orm-footer);
  --md-footer-bg-color--dark: var(--orm-footer);
}

body { background-color: var(--orm-bg); }

/* ===== Header: text wordmark, no logo (same as the website) ===== */
.md-header {
  background-color: var(--orm-bg);
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
}
.md-header--shadow { box-shadow: 0 1px 0 var(--orm-line); }
.md-header .md-logo { display: none; }
.md-header__title { margin-left: .6rem; }
.md-header__topic:first-child {
  font-family: 'Barlow Semi Condensed', sans-serif;
  font-weight: 700;
  font-size: 1.1rem;
  letter-spacing: -.01rem;
  color: var(--orm-heading);
}
@media screen and (max-width: 29.984em) {
  .md-header__topic:first-child { font-size: .9rem; }
}
.md-header__topic + .md-header__topic { color: var(--orm-heading); font-weight: 600; }

/* ===== Tabs: muted links, current tab with a primary underline ===== */
.md-tabs {
  color: var(--md-default-fg-color--light);
  background-color: var(--orm-bg);
  border-bottom: 1px solid var(--orm-line);
}
.md-tabs__link { opacity: 1; font-size: .75rem; }
.md-tabs__link:hover, .md-tabs__link:focus { color: var(--orm-heading); }
.md-tabs__item--active { border-bottom: 2px solid var(--orm-primary); }
.md-tabs__item--active .md-tabs__link { color: var(--orm-heading); font-weight: 600; }

/* ===== Sidebar navigation ===== */
.md-nav { font-size: .75rem; }
.md-nav__title, .md-nav__item--section > .md-nav__link {
  color: var(--orm-heading);
  font-weight: 600;
}
.md-nav__link--active,
.md-nav__item .md-nav__link--active {
  color: var(--orm-heading);
  font-weight: 600;
  background: var(--md-accent-fg-color--transparent);
}

/* ===== Content ===== */
.md-typeset { font-size: .85rem; line-height: 1.6; letter-spacing: 0; }
.md-typeset h1, .md-typeset h2, .md-typeset h3, .md-typeset h4 {
  font-family: 'Barlow Semi Condensed', sans-serif;
  font-weight: 700;
  letter-spacing: -.01em;
  color: var(--orm-heading);
}
.md-typeset a { font-weight: 600; text-decoration: none; }
.md-typeset .headerlink { font-weight: 400; }
.md-typeset img { border-radius: 10px; }
/* Phone screenshots are 2x captures of a 390px viewport; show them at phone size */
.md-typeset img.phone { display: block; width: 300px; margin: 0 auto; }
.md-typeset .grid.cards > ul > li {
  background-color: var(--orm-surface);
  border-color: var(--orm-line);
  border-radius: 10px;
}

.md-typeset .admonition.note, .md-typeset .admonition.tip {
  font-size: .8rem;
  background-color: var(--orm-soft);
  border: 1px solid var(--orm-line);
  border-radius: 10px;
}
.md-typeset :is(.note, .tip) > .admonition-title { color: var(--orm-heading); font-weight: 600; }
.md-typeset :is(.note, .tip) > .admonition-title::before { background-color: var(--orm-primary); }

.md-typeset table:not([class]) {
  font-size: .8rem;
  border: 1px solid var(--orm-line);
  border-radius: 10px;
  background-color: var(--orm-surface);
}
.md-typeset table:not([class]) th { color: var(--orm-heading); font-weight: 600; }

/* ===== Focus ring: same as on the website ===== */
:focus-visible { outline: 2px solid var(--orm-primary); outline-offset: 2px; }

/* ===== Footer: dark band like the website footer ===== */
.md-footer {
  color: var(--orm-on-footer);
  background-color: var(--orm-footer);
  border-top: 0;
}
.md-footer-meta { background-color: var(--orm-footer); }
.md-footer__direction { opacity: .8; }
.md-footer :focus-visible { outline-color: var(--orm-on-footer); }
.md-copyright { color: var(--orm-on-footer); }
html .md-footer-meta.md-typeset a, html .md-footer-meta.md-typeset a:not(:focus, :hover) { color: inherit; }
