/* Public site: restrained colours, readable measure, few components. */
:root, [data-md-color-scheme="default"] {
  --md-primary-fg-color: #1e293b;
  --md-primary-fg-color--light: #334155;
  --md-primary-fg-color--dark: #0f172a;
  --md-primary-bg-color: #ffffff;
  --md-accent-fg-color: #0f766e;
  --md-typeset-a-color: #0f766e;
  --mw-rule: #e2e8f0;
  --mw-muted: #475569;
  --mw-built: #15803d;
  --mw-building: #b45309;
  --mw-vision: #6d28d9;
}
[data-md-color-scheme="slate"] {
  --md-primary-fg-color: #0f172a;
  --md-primary-fg-color--light: #1e293b;
  --md-primary-fg-color--dark: #020617;
  --md-default-bg-color: #0b1120;
  --md-accent-fg-color: #5eead4;
  --md-typeset-a-color: #5eead4;
  --mw-rule: #1e293b;
  --mw-muted: #94a3b8;
  --mw-built: #4ade80;
  --mw-building: #fbbf24;
  --mw-vision: #c4b5fd;
}

/* reading width and rhythm */
@media screen and (min-width: 60em) {
  .md-content__inner { max-width: 46rem; margin-left: auto; margin-right: auto; padding-left: 1.2rem; padding-right: 1.2rem; }
}
.md-typeset { font-size: .82rem; line-height: 1.7; }
.md-typeset h1 { font-weight: 700; letter-spacing: -.015em; color: var(--md-default-fg-color); margin-bottom: .8em; }
.md-typeset h2 { font-weight: 650; letter-spacing: -.01em; margin-top: 2.2em; padding-top: .2em; }
.md-typeset h3, .md-typeset h4 { font-weight: 650; }
.md-typeset ul li { margin-bottom: .35em; }
.md-typeset table:not([class]) { font-size: .74rem; }
.md-typeset details { font-size: .78rem; }

/* header and tabs: quiet */
.md-header, .md-tabs { box-shadow: none; }
.md-tabs__link { font-size: .74rem; opacity: .85; }
.md-tabs__item--active .md-tabs__link { opacity: 1; font-weight: 600; }

/* home */
.mw-lead { font-size: 1.05rem; line-height: 1.6; color: var(--mw-muted); max-width: 40rem; }
.mw-ideas, .mw-status { display: grid; gap: 1.25rem 2rem; grid-template-columns: repeat(auto-fit, minmax(12.5rem, 1fr)); }
.mw-ideas h3, .mw-status h4 { margin: 0 0 .4em; font-size: .9rem; }
.mw-ideas p { margin: 0; color: var(--mw-muted); }
.mw-status__col { border-top: 3px solid var(--mw-rule); padding-top: .6rem; }
.mw-status__col ul { margin-left: 1em; padding: 0; }
.mw-status__col li { font-size: .78rem; }
.mw-built { border-top-color: var(--mw-built); }
.mw-building { border-top-color: var(--mw-building); }
.mw-vision { border-top-color: var(--mw-vision); }
.mw-links ul { list-style: none; margin-left: 0; }
.mw-links li { margin-left: 0; padding: .45em 0; border-bottom: 1px solid var(--mw-rule); }
.mw-more { font-weight: 600; }
.mw-footnote { margin-top: 2.5rem; font-size: .7rem; color: var(--mw-muted); }

/* discussion pages */
.mw-pager { display: block; margin-top: 1rem; font-weight: 600; }

/* search page */
.mw-search { display: flex; gap: .6rem; flex-wrap: wrap; margin: 1.2rem 0 1.6rem; }
.mw-search input {
  flex: 1 1 14rem; min-width: 0; font: inherit; font-size: .9rem; padding: .55rem .75rem;
  border: 1px solid var(--mw-rule); border-radius: .3rem; background: var(--md-default-bg-color); color: var(--md-default-fg-color);
}
.mw-search input:focus { outline: 2px solid var(--md-accent-fg-color); outline-offset: 1px; }
.mw-search .md-button { margin: 0; }

@media screen and (max-width: 44.9375em) {
  .md-typeset { font-size: .8rem; }
  .md-typeset h1 { font-size: 1.6em; }
}
