:root {
  --academic-navy: #1e3a5f;
  --academic-blue: #2f5d8a;
  --academic-blue-light: #dce8f3;
  --academic-teal: #0f766e;
  --academic-ink: #23313f;
  --md-primary-fg-color: var(--academic-navy);
  --md-primary-fg-color--light: var(--academic-blue);
  --md-primary-fg-color--dark: #142b47;
  --md-accent-fg-color: var(--academic-teal);
  --md-text-font: "Noto Sans CJK SC", "Microsoft YaHei", "PingFang SC", sans-serif;
  --md-code-font: "Cascadia Code", "JetBrains Mono", Consolas, monospace;
}

[data-md-color-scheme="default"] {
  --md-default-bg-color: #fbfcfe;
  --md-default-fg-color: var(--academic-ink);
  --md-typeset-a-color: var(--academic-teal);
  --md-code-bg-color: #f1f5f9;
}

[data-md-color-scheme="slate"] {
  --md-primary-fg-color: #203a59;
  --md-primary-fg-color--light: #315879;
  --md-primary-fg-color--dark: #14283f;
  --md-accent-fg-color: #5eead4;
  --md-typeset-a-color: #5eead4;
  --md-hue: 212;
}

.md-header {
  background: linear-gradient(110deg, #142b47, var(--academic-navy) 55%, var(--academic-blue));
  box-shadow: 0 0.2rem 0.7rem rgba(20, 43, 71, 0.2);
}

.md-tabs {
  background-color: #183451;
}

.md-typeset h1 {
  color: var(--academic-ink);
  font-weight: 750;
  letter-spacing: -0.025em;
}

[data-md-color-scheme="slate"] .md-typeset h1 {
  color: #f7f2ea;
}

.md-typeset h2 {
  border-bottom: 1px solid color-mix(in srgb, var(--academic-blue) 28%, transparent);
  padding-bottom: 0.35rem;
  font-weight: 700;
}

.md-typeset a:not(.headerlink) {
  text-underline-offset: 0.16em;
}

.md-typeset .grid.cards > ul > li {
  border: 1px solid color-mix(in srgb, var(--academic-teal) 22%, transparent);
  border-radius: 0.85rem;
  box-shadow: 0 0.25rem 1rem rgba(30, 58, 95, 0.07);
  transition: border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}

.md-typeset .grid.cards > ul > li:hover {
  border-color: var(--academic-teal);
  box-shadow: 0 0.55rem 1.4rem rgba(30, 58, 95, 0.14);
  transform: translateY(-2px);
}

.md-typeset table:not([class]) {
  border-radius: 0.65rem;
  box-shadow: 0 0.2rem 0.8rem rgba(30, 58, 95, 0.07);
  overflow: hidden;
}

.md-typeset table:not([class]) th {
  background-color: var(--academic-blue-light);
  color: var(--academic-ink);
}

[data-md-color-scheme="slate"] .md-typeset table:not([class]) th {
  background-color: #294866;
  color: #f2f7f6;
}

.md-typeset blockquote {
  border-left-color: var(--academic-blue);
}

@media screen and (min-width: 76.25em) {
  .md-grid {
    max-width: 90rem;
  }
}

@media print {
  .md-header,
  .md-tabs,
  .md-sidebar,
  .md-footer {
    display: none !important;
  }
}
