/* Color Hunt palette — only these four hues site-wide */
:root {
  --kh-deep: #1B262C;
  --kh-mid: #0F4C75;
  --kh-accent: #3282B8;
  --kh-light: #BBE1FA;

  --md-primary-fg-color: var(--kh-deep);
  --md-primary-fg-color--light: var(--kh-mid);
  --md-primary-fg-color--dark: var(--kh-deep);
  --md-accent-fg-color: var(--kh-accent);
  --md-default-bg-color: var(--kh-deep);
  --md-default-bg-color--light: var(--kh-mid);
  --md-default-bg-color--lighter: var(--kh-mid);
  --md-default-bg-color--lightest: var(--kh-mid);
  --md-default-fg-color: var(--kh-light);
  --md-default-fg-color--light: rgba(187, 225, 250, 0.72);
  --md-default-fg-color--lighter: rgba(187, 225, 250, 0.48);
  --md-code-bg-color: var(--kh-mid);
  --md-code-fg-color: var(--kh-light);
  --md-typeset-color: var(--kh-light);
  --md-typeset-a-color: var(--kh-accent);
}

[data-md-color-scheme="slate"] {
  --md-primary-fg-color: var(--kh-deep);
  --md-accent-fg-color: var(--kh-accent);
}

[data-md-color-scheme="default"] {
  --md-primary-fg-color: var(--kh-mid);
  --md-accent-fg-color: var(--kh-accent);
  --md-default-bg-color: var(--kh-light);
  --md-default-fg-color: var(--kh-deep);
  --md-default-fg-color--light: rgba(27, 38, 44, 0.72);
  --md-code-bg-color: rgba(15, 76, 117, 0.12);
  --md-code-fg-color: var(--kh-mid);
}

.md-header {
  background-color: rgba(27, 38, 44, 0.94);
  backdrop-filter: blur(12px);
}

.md-header__inner {
  padding-left: 0.35rem;
}

.md-header__button.md-logo {
  margin-left: 0;
  margin-right: 0.35rem;
  padding: 0;
  order: -1;
}

.md-header__button.md-logo img,
.md-header__button.md-logo svg {
  height: 2.1rem;
  width: 2.1rem;
  border-radius: 6px;
  display: block;
}

.md-header__title {
  margin-left: 0;
}

.md-typeset a {
  color: var(--kh-accent);
}

.md-typeset a:hover {
  color: var(--kh-light);
}

.md-typeset .admonition {
  border-color: var(--kh-accent);
}

.md-typeset .admonition.tip,
.md-typeset .admonition.note {
  border-color: var(--kh-accent);
  background-color: rgba(50, 130, 184, 0.12);
}

.md-typeset .admonition.warning,
.md-typeset .admonition.danger {
  border-color: var(--kh-mid);
  background-color: rgba(15, 76, 117, 0.35);
}

.md-nav__link--active,
.md-nav__item .md-nav__link--active {
  color: var(--kh-light);
}

.md-tabs {
  background-color: var(--kh-mid);
}

.md-footer {
  display: none;
}

/* Sidebar nav must scroll — CSS fallback when Material JS blocked by CSP */
@media screen and (min-width: 76.25em) {
  .md-sidebar--primary {
    top: 3.6rem;
    height: calc(100vh - 3.6rem);
  }

  .md-sidebar--primary .md-sidebar__scrollwrap {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    height: auto !important;
    max-height: 100%;
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
    padding-bottom: 1rem;
    box-sizing: border-box;
  }
}

.md-sidebar--primary .md-sidebar__scrollwrap {
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
}

@media screen and (max-width: 76.234375em) {
  .md-nav--primary .md-nav__title ~ .md-nav__list {
    padding-bottom: 2.4rem;
    max-height: calc(100vh - 5.6rem - 2.4rem);
    overflow-y: auto;
    min-height: 0;
  }
}
