:root {
  --fl-background: #0d0c12;
  --fl-panel: #14131e;
  --fl-text: #deddeb;
  --fl-muted: #a5a3bb;
  --fl-violet: #ad86ff;
  --fl-green: #64efaa;
  --md-primary-fg-color: var(--fl-background);
  --md-accent-fg-color: var(--fl-green);
}
[data-md-color-scheme="slate"] {
  --md-default-bg-color: var(--fl-background);
  --md-default-fg-color: var(--fl-text);
  --md-default-fg-color--light: var(--fl-muted);
  --md-code-bg-color: var(--fl-panel);
  --md-typeset-a-color: var(--fl-violet);
}
.md-header {
  background: linear-gradient(100deg, #0c0b10, #21162f 65%, #14251f);
  border-bottom: 1px solid #ad86ff40;
}
.md-header__button.md-logo img { width: 6.4rem; height: 1.6rem; object-fit: contain; }
.md-typeset h1 { color: #f2f1fa; font-weight: 700; }
.md-typeset h2, .md-typeset h3 { color: var(--fl-green); }
.md-typeset a:hover, .md-typeset a:focus-visible { color: var(--fl-green); }
.md-typeset .admonition.info { border-color: var(--fl-violet); }
.md-typeset .grid.cards > ul > li { border-color: #ad86ff38; background: #14131e88; }
.md-typeset .grid.cards > ul > li:hover { border-color: var(--fl-green); }
:focus-visible { outline: 2px solid var(--fl-green); outline-offset: 3px; }
.fl-brand-lockup { display: block; width: min(100%, 32rem); margin-bottom: 2rem; }
.fl-project-art { display: block; width: 100%; height: auto; border-radius: 0.6rem; margin: 0 0 1.5rem; }
.fl-fallback { color: var(--fl-text); background: var(--fl-background); font-family: system-ui, sans-serif; }
.fl-fallback main { max-width: 48rem; margin: 8vh auto; padding: 2rem; background: var(--fl-panel); border: 1px solid #ad86ff55; border-radius: 1rem; }
.fl-fallback a { color: var(--fl-violet); }
.fl-fallback h1 { color: var(--fl-green); }
.fl-fallback nav { display: flex; flex-wrap: wrap; gap: 1.5rem; margin-top: 2rem; }
@media (max-width: 36rem) { .fl-brand-lockup { width: 100%; } .fl-fallback main { margin: 1rem; padding: 1.5rem; } }
/* Keep review state visible, with the explanation available on demand. */
.fl-translation-notice {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 0.3rem 0.65rem;
  margin: 0 0 1rem;
  padding: 0.35rem 0.6rem;
  color: var(--fl-muted);
  font-size: 0.7rem;
  border-left: 2px solid var(--fl-violet);
}
.fl-translation-notice details { border: 0; margin: 0; box-shadow: none; font-size: inherit; }
.fl-translation-notice summary { cursor: pointer; background: transparent; padding: 0; }
.fl-translation-notice details p { margin: 0.4rem 0 0; }
.md-nav--primary .md-nav__item--nested > .md-nav__link { font-weight: 600; }
