/* The brand (brand/README.md) on Material: ink and paper, hairlines, one accent. Only the
   colors of the tokens, no mixes.
   Colors: assets/brand/tokens.css (a copy of brand/tokens.css, kept equal by a test).
   Fonts: served from this site (assets/fonts, SIL OFL 1.1), no requests to Google Fonts. */

/* key tables: keep the key in one line */
.md-typeset table td:first-child code { white-space: nowrap; }

@font-face { font-family: 'JetBrains Mono'; font-weight: 400; font-display: swap; unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
  src: url(../assets/fonts/jetbrains-mono-latin-400-normal.woff2) format('woff2'); }
@font-face { font-family: 'JetBrains Mono'; font-weight: 400; font-display: swap; unicode-range: U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF;
  src: url(../assets/fonts/jetbrains-mono-greek-400-normal.woff2) format('woff2'); }
@font-face { font-family: 'JetBrains Mono'; font-weight: 500; font-display: swap; unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
  src: url(../assets/fonts/jetbrains-mono-latin-500-normal.woff2) format('woff2'); }
@font-face { font-family: 'JetBrains Mono'; font-weight: 500; font-display: swap; unicode-range: U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF;
  src: url(../assets/fonts/jetbrains-mono-greek-500-normal.woff2) format('woff2'); }
@font-face { font-family: 'JetBrains Mono'; font-weight: 700; font-display: swap; unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
  src: url(../assets/fonts/jetbrains-mono-latin-700-normal.woff2) format('woff2'); }
@font-face { font-family: 'JetBrains Mono'; font-weight: 700; font-display: swap; unicode-range: U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF;
  src: url(../assets/fonts/jetbrains-mono-greek-700-normal.woff2) format('woff2'); }
@font-face { font-family: Inter; font-weight: 400; font-style: normal; font-display: swap; unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
  src: url(../assets/fonts/inter-latin-400-normal.woff2) format('woff2'); }
@font-face { font-family: Inter; font-weight: 400; font-style: italic; font-display: swap; unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
  src: url(../assets/fonts/inter-latin-400-italic.woff2) format('woff2'); }
@font-face { font-family: Inter; font-weight: 600; font-style: normal; font-display: swap; unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
  src: url(../assets/fonts/inter-latin-600-normal.woff2) format('woff2'); }
@font-face { font-family: Inter; font-weight: 700; font-style: normal; font-display: swap; unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
  src: url(../assets/fonts/inter-latin-700-normal.woff2) format('woff2'); }

:root {
  --md-text-font: Inter;
  --md-code-font: "JetBrains Mono";
}

/* light (scheme default): paper, ink text, ink links; the header is ink like a terminal */
[data-md-color-scheme="default"] {
  --md-default-bg-color: var(--fd-paper);
  --md-default-fg-color: var(--fd-ink);
  --md-default-fg-color--light: var(--fd-graphite);
  --md-default-fg-color--lighter: var(--fd-muted);
  --md-default-fg-color--lightest: var(--fd-soft);
  --md-primary-fg-color: var(--fd-ink);
  --md-primary-fg-color--light: var(--fd-rule);
  --md-primary-fg-color--dark: var(--fd-ink);
  --md-primary-bg-color: var(--fd-paper);
  --md-primary-bg-color--light: var(--fd-soft);
  --md-accent-fg-color: var(--fd-ink);
  --md-accent-fg-color--transparent: var(--fd-soft);
  --md-typeset-a-color: var(--fd-ink);
  --md-code-bg-color: var(--fd-paper);  /* code: a hairline, no tinted area */
  --fd-code-line: var(--fd-soft);
  --md-code-fg-color: var(--fd-ink);
  --md-footer-bg-color: var(--fd-ink);
  --md-footer-bg-color--dark: var(--fd-ink);
  --md-footer-fg-color: var(--fd-paper);
  --md-footer-fg-color--light: var(--fd-soft);
  --md-footer-fg-color--lighter: var(--fd-muted);
}

/* dark (scheme slate): ink, paper text; the cursor color only for what is live (hover, focus) */
[data-md-color-scheme="slate"] {
  --md-hue: 60;
  --md-default-bg-color: var(--fd-ink);
  --md-default-fg-color: var(--fd-paper);
  --md-default-fg-color--light: var(--fd-soft);
  --md-default-fg-color--lighter: var(--fd-muted);
  --md-default-fg-color--lightest: var(--fd-rule);
  --md-primary-fg-color: var(--fd-ink);
  --md-primary-fg-color--light: var(--fd-rule);
  --md-primary-fg-color--dark: var(--fd-ink);
  --md-primary-bg-color: var(--fd-paper);
  --md-primary-bg-color--light: var(--fd-soft);
  --md-accent-fg-color: var(--fd-cursor);
  --md-accent-fg-color--transparent: var(--fd-rule);
  --md-typeset-a-color: var(--fd-paper);
  --md-code-bg-color: var(--fd-ink);
  --fd-code-line: var(--fd-rule);
  --md-code-fg-color: var(--fd-paper);
  --md-footer-bg-color: var(--fd-ink);
  --md-footer-bg-color--dark: var(--fd-ink);
  --md-footer-fg-color: var(--fd-paper);
  --md-footer-fg-color--light: var(--fd-soft);
  --md-footer-fg-color--lighter: var(--fd-muted);
}

/* header and tabs: ink in both schemes, a hairline below */
.md-header, .md-tabs { background-color: var(--fd-ink); color: var(--fd-paper); }
.md-header { box-shadow: none; border-bottom: var(--fd-hairline) solid var(--fd-rule); }
.md-header--shadow { box-shadow: none; }
.md-header__button.md-logo { padding: 0.2rem; margin: 0 0.2rem 0 0; }
.md-header__button.md-logo img { height: 1.9rem; width: auto; }  /* the lockup with its clear space */
.md-header__topic:first-child { display: none; }  /* the site name: the lockup says it */
.md-search__form { background-color: var(--fd-rule); border-radius: 0; }
.md-search__form:hover { background-color: var(--fd-graphite); }

/* links: underlined in the text color, not a second color */
.md-typeset a { text-decoration: underline; text-decoration-color: var(--md-default-fg-color--lighter);
  text-underline-offset: 0.15em; }
.md-typeset a:hover, .md-typeset a:focus { text-decoration-color: currentColor; }
.md-typeset .headerlink, .md-typeset .md-button { text-decoration: none; }
.md-typeset .md-button { border-radius: 0; }

/* headings: JetBrains Mono, lower weight, tight like the word mark */
.md-typeset h1, .md-typeset h2, .md-typeset h3, .md-typeset h4 {
  font-family: var(--fd-font-mono); font-weight: 500; letter-spacing: -0.02em; color: var(--md-default-fg-color);
}
.md-typeset h1 { letter-spacing: -0.04em; }

/* hairlines, square corners */
.md-typeset code, .md-typeset pre > code, .md-typeset .admonition, .md-typeset details,
.md-typeset .tabbed-set, .md-typeset table:not([class]), .md-search__output, .md-clipboard { border-radius: 0; }
.md-typeset table:not([class]) { box-shadow: none; border: var(--fd-hairline) solid var(--md-default-fg-color--lightest); }
.md-typeset img { border-radius: 0; }

/* code: on the ground, framed by a hairline (the tokens have no second surface) */
.md-typeset pre > code { border: var(--fd-hairline) solid var(--fd-code-line); }
.md-typeset :not(pre) > code { box-shadow: inset 0 0 0 var(--fd-hairline) var(--fd-code-line); }

/* labels of the navigation: lower case is the brand; the content keeps its case */
.md-nav__title { font-family: var(--fd-font-mono); font-weight: 500; }

/* sidebar: every page sits in a section. The section label is a path in mono (slash, lower
   case, muted), its pages are indented behind a hairline, sections are parted by space. */
@media screen and (min-width: 76.25em) {
  .md-nav--primary > .md-nav__list > .md-nav__item--section { margin: 1.4em 0 0; }
  .md-nav--primary > .md-nav__list > .md-nav__item--section:first-child { margin-top: 0.4em; }
  .md-nav--primary .md-nav__item--section > .md-nav__link {
    font-family: var(--fd-font-mono); font-weight: 500; font-size: 0.62rem;
    text-transform: lowercase; letter-spacing: 0; color: var(--md-default-fg-color--lighter);
    margin-bottom: 0.3em; justify-content: flex-start; gap: 0;
  }
  .md-nav--primary .md-nav__item--section > .md-nav__link::before {
    content: "/"; color: var(--md-default-fg-color--lighter); margin-right: 0.1em;
  }
  .md-nav--primary .md-nav__item--section > .md-nav {
    margin-left: 0.15em; padding-left: 0.6em;
    border-left: var(--fd-hairline) solid var(--md-default-fg-color--lightest);
  }
  .md-nav--primary .md-nav__item--section > .md-nav .md-nav__link { margin-top: 0.4em; }
  /* the current page: the cursor marker on the hairline */
  .md-nav--primary .md-nav__item--section > .md-nav .md-nav__link--active {
    font-weight: 600; color: var(--md-default-fg-color);
    border-left: 2px solid var(--md-accent-fg-color);
    margin-left: calc(-0.6em - 1.5px); padding-left: calc(0.6em - 0.5px);
  }
}
