:root > * {
  --md-primary-fg-color: #12383b;
  --md-primary-fg-color--light: #1d5a5e;
  --md-primary-fg-color--dark: #0a2629;
  --md-accent-fg-color: #087f62;
  --md-typeset-a-color: #006b52;
  --md-default-bg-color: #f5f8f6;
  --md-default-fg-color: #193034;
  --md-default-fg-color--light: #506568;
  --md-default-fg-color--lighter: #8ca09f;
  --md-default-fg-color--lightest: #d8e5e1;
  --md-code-bg-color: #eaf3ef;
  --md-code-fg-color: #16363b;
  --md-footer-fg-color: #e4f0ec;
  --md-footer-fg-color--light: #c0d4ce;
  --md-footer-fg-color--lighter: #a7bfba;
}

[data-md-color-scheme="slate"] {
  --md-primary-fg-color: #103337;
  --md-primary-fg-color--light: #1a5357;
  --md-primary-fg-color--dark: #092326;
  --md-accent-fg-color: #70e6b8;
  --md-typeset-a-color: #7de9c1;
  --md-default-bg-color: #0b1517;
  --md-default-fg-color: #e4f0ec;
  --md-default-fg-color--light: #b7c9c5;
  --md-default-fg-color--lighter: #879e99;
  --md-default-fg-color--lightest: #2a3c3d;
  --md-code-bg-color: #101f21;
  --md-code-fg-color: #d9eee8;
  --md-footer-fg-color: #e4f0ec;
  --md-footer-fg-color--light: #c0d4ce;
  --md-footer-fg-color--lighter: #a7bfba;
}

[data-md-color-scheme="default"] .highlight .kn {
  color: #2f5eaa;
}

[data-md-color-scheme="default"] .highlight .nn {
  color: #9841a8;
}

body.api-page {
  --md-default-bg-color: #15191f;
  --md-default-fg-color: #d8dee8;
  --md-default-fg-color--light: #aab4c1;
  --md-default-fg-color--lighter: #7f8a98;
  --md-default-fg-color--lightest: #303945;
  --md-typeset-a-color: #35c5e3;
  --md-code-bg-color: #1d232c;
  --md-code-fg-color: #e2e8f0;
}

html {
  scroll-behavior: smooth;
}

/* Keep every page focused on the main content instead of the generated TOC. */
.md-sidebar--secondary,
.md-sidebar--secondary:not([hidden]) {
  display: none;
}

body {
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont,
    "Segoe UI", sans-serif;
}

code,
pre,
.md-typeset code {
  font-family: "JetBrains Mono", "SFMono-Regular", Consolas, "Liberation Mono",
    monospace;
}

.md-header {
  background: color-mix(in srgb, var(--md-primary-fg-color) 94%, transparent);
  box-shadow: 0 1px 0 color-mix(in srgb, var(--md-accent-fg-color) 18%, transparent);
}

body.api-page .md-header,
body.api-page .md-tabs {
  background: #292b2f;
}

body.api-page .md-header {
  box-shadow: 0 1px 0 #3b3e44;
}

body.api-page .md-sidebar--primary {
  background: #101215;
}

body.api-page .md-sidebar--secondary {
  background: #15191f;
}

.md-header__inner {
  box-sizing: border-box;
  max-width: 76rem;
  padding-left: 1rem;
  padding-right: 1rem;
}

.md-header__title {
  font-size: 0.95rem;
  font-weight: 700;
  letter-spacing: -0.01em;
}

.md-tabs {
  background: color-mix(in srgb, var(--md-primary-fg-color) 94%, transparent);
  border-top: 1px solid color-mix(in srgb, var(--md-accent-fg-color) 14%, transparent);
}

.md-tabs__list {
  align-items: stretch;
  box-sizing: border-box;
  display: flex;
  gap: 0.2rem;
  margin: 0 auto;
  max-width: 76rem;
  padding: 0 1rem;
}

.md-tabs__item {
  align-items: stretch;
  display: flex;
  padding: 0;
}

.md-tabs__link {
  align-items: center;
  border-bottom: 2px solid transparent;
  border-radius: 0.45rem 0.45rem 0 0;
  box-sizing: border-box;
  display: flex;
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.01em;
  line-height: 1;
  margin: 0;
  min-height: 2.4rem;
  opacity: 0.72;
  padding: 0.75rem 0.85rem;
  transition: opacity 160ms ease, color 160ms ease;
}

.md-tabs .md-tabs__link {
  height: 2.4rem;
  min-height: 2.4rem;
}

.md-tabs__link--active,
.md-tabs__link:hover {
  border-bottom-color: var(--md-accent-fg-color);
  color: var(--md-accent-fg-color);
  opacity: 1;
}

.landing-home .md-header,
.landing-home .md-tabs {
  display: none;
}

.md-typeset a:not(.md-button) {
  text-decoration: underline;
  text-decoration-color: color-mix(in srgb, currentColor 42%, transparent);
  text-decoration-thickness: 0.08em;
  text-underline-offset: 0.16em;
}

.md-typeset a:not(.md-button):hover {
  text-decoration-color: currentColor;
}

.md-typeset .md-button {
  border-radius: 0.65rem;
  font-weight: 700;
  min-height: 2.7rem;
  padding: 0.7rem 1.15rem;
  transition: border-color 160ms ease, background-color 160ms ease,
    box-shadow 160ms ease, transform 160ms ease;
}

.md-typeset .md-button:hover {
  box-shadow: 0 8px 18px color-mix(in srgb, var(--md-primary-fg-color) 16%, transparent);
  transform: translateY(-1px);
}

.md-typeset .md-button--primary {
  background: var(--md-accent-fg-color);
  border-color: var(--md-accent-fg-color);
  color: #06261d;
}

.md-typeset .md-button:not(.md-button--primary) {
  border-color: color-mix(in srgb, var(--md-accent-fg-color) 56%, var(--md-default-fg-color));
  color: var(--md-typeset-a-color);
}

body.api-page .md-typeset h1 {
  font-size: clamp(1.95rem, 3.2vw, 2.8rem);
  font-weight: 750;
  letter-spacing: -0.04em;
}

body.api-page .md-typeset h2 {
  border-bottom: 1px solid var(--md-default-fg-color--lightest);
  font-size: clamp(1.55rem, 2.5vw, 2rem);
  margin-top: 3.4rem;
  padding-bottom: 0.55rem;
}

body.api-page .md-typeset h3.doc-heading {
  color: var(--md-default-fg-color);
  font-family: "JetBrains Mono", "SFMono-Regular", Consolas, monospace;
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: 0;
  margin-top: 2.25rem;
}

body.api-page .doc.doc-object {
  margin: 2.5rem 0;
}

body.api-page .doc-signature,
body.api-page .doc-overloads {
  background: #1d232c;
  border: 1px solid #353f4c;
  border-radius: 0.45rem;
  box-shadow: none;
}

body.api-page .doc-signature {
  margin: 0.75rem 0 1rem;
  padding: 1rem 1.1rem;
}

body.api-page .doc-overloads {
  margin: 0.75rem 0;
  padding: 0.2rem 1.1rem;
}

body.api-page .doc-contents > p:first-child {
  font-size: 1.05rem;
}

body.api-page .doc-contents .field-list {
  border-left: 3px solid #35c5e3;
  margin: 1rem 0 1.5rem;
  padding: 0.8rem 1rem;
}

body.api-page .doc-contents .field-list dt {
  color: var(--md-default-fg-color);
  font-weight: 700;
}

body.api-page .doc-contents .field-list dd {
  margin-left: 0;
}

body.api-page .md-typeset table:not([class]) {
  background: #1b2027;
  border-color: #353f4c;
}

body.api-page .md-typeset table:not([class]) th {
  background: #29313c;
  color: var(--md-default-fg-color);
}

body.api-page .highlight .kn,
body.api-page .highlight .k {
  color: #8fc7ff;
}

body.api-page .highlight .nn,
body.api-page .highlight .nf {
  color: #f0b6f2;
}

body.api-page .highlight .s2 {
  color: #75e0a6;
}

body.api-page .highlight .mf,
body.api-page .highlight .mi {
  color: #ff9b9b;
}

body.api-page .highlight .nb {
  color: #b8a9ff;
}

.md-main__inner {
  margin-top: 0.75rem;
}

.md-typeset h1,
.md-typeset h2,
.md-typeset h3 {
  letter-spacing: -0.025em;
}

.landing-page .md-main__inner {
  max-width: 76rem;
}

.landing-home .md-main__inner {
  margin-top: 0;
}

.landing-page .md-content__inner {
  margin: 0 auto;
  padding: 0 1rem 3rem;
}

.landing-page .md-content__inner::before {
  display: none;
}

.landing-home .md-content__inner {
  padding-top: 0.75rem;
}

.landing-hero {
  align-items: center;
  background:
    radial-gradient(circle at 82% 12%, color-mix(in srgb, var(--md-accent-fg-color) 18%, transparent), transparent 25rem),
    linear-gradient(135deg, color-mix(in srgb, var(--md-primary-fg-color) 9%, transparent), transparent 62%);
  border: 1px solid color-mix(in srgb, var(--md-accent-fg-color) 22%, var(--md-default-fg-color--lightest));
  border-radius: 1.3rem;
  display: grid;
  gap: 2.5rem;
  grid-template-columns: minmax(0, 1.05fr) minmax(20rem, 0.95fr);
  margin: 0.25rem 0 3.5rem;
  overflow: hidden;
  padding: clamp(2rem, 5vw, 4.5rem);
  position: relative;
}

.landing-hero::after {
  background: var(--md-accent-fg-color);
  content: "";
  height: 6.5rem;
  opacity: 0.76;
  position: absolute;
  right: -3.25rem;
  top: -3.25rem;
  transform: rotate(45deg);
  width: 6.5rem;
}

.hero-copy {
  min-width: 0;
  position: relative;
  z-index: 1;
}

.eyebrow,
.section-kicker {
  color: var(--md-accent-fg-color);
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.16em;
  margin: 0 0 0.8rem;
  text-transform: uppercase;
}

.hero-copy h1 {
  font-size: clamp(2.8rem, 6vw, 5.6rem);
  line-height: 0.98;
  margin: 0;
  max-width: 10ch;
}

.hero-copy h1 span {
  color: var(--md-accent-fg-color);
  display: block;
}

.hero-copy .lead {
  color: var(--md-default-fg-color--light);
  font-size: clamp(1.05rem, 1.8vw, 1.32rem);
  line-height: 1.55;
  margin: 1.4rem 0 1.6rem;
  max-width: 34rem;
}

.hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem;
}

.hero-actions > p {
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem;
  margin: 0;
}

.hero-actions .md-button {
  box-sizing: border-box;
}

.install-chip {
  align-items: center;
  background: color-mix(in srgb, var(--md-default-bg-color) 68%, var(--md-primary-fg-color));
  border: 1px solid color-mix(in srgb, var(--md-accent-fg-color) 28%, var(--md-default-fg-color--lightest));
  border-radius: 0.7rem;
  display: inline-flex;
  gap: 0.7rem;
  margin-top: 1.45rem;
  max-width: 100%;
  padding: 0.65rem 0.85rem;
}

.install-chip::before {
  color: var(--md-accent-fg-color);
  content: ">_";
  font-weight: 900;
}

.install-chip code {
  background: transparent;
  color: var(--md-default-fg-color);
  font-size: 0.82rem;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.terminal-card {
  background: #0b1517;
  border: 1px solid #2a4848;
  border-radius: 0.95rem;
  box-shadow: 0 1.2rem 2.5rem color-mix(in srgb, #061011 34%, transparent);
  color: #dff8ed;
  overflow: hidden;
  position: relative;
  min-width: 0;
  z-index: 1;
}

.terminal-bar {
  align-items: center;
  background: #112326;
  border-bottom: 1px solid #2a4848;
  display: flex;
  gap: 0.42rem;
  padding: 0.75rem 0.9rem;
}

.terminal-dot {
  background: #ef8f8f;
  border-radius: 50%;
  height: 0.58rem;
  width: 0.58rem;
}

.terminal-dot:nth-child(2) {
  background: #e8c77b;
}

.terminal-dot:nth-child(3) {
  background: #70ddb0;
}

.terminal-title {
  color: #89a9a4;
  font-size: 0.72rem;
  margin-left: auto;
  margin-right: auto;
}

.terminal-body {
  font-family: "JetBrains Mono", "SFMono-Regular", Consolas, monospace;
  font-size: clamp(0.72rem, 1.2vw, 0.88rem);
  line-height: 1.85;
  padding: 1.3rem 1.2rem 1.5rem;
}

.terminal-prompt {
  color: #70ddb0;
}

.terminal-command {
  color: #f3d98b;
}

.terminal-muted {
  color: #789792;
}

.terminal-success {
  color: #9af0c8;
}

.metric-row {
  display: flex;
  flex-wrap: wrap;
  gap: 0.55rem;
  margin-top: 1.3rem;
}

.metric {
  border: 1px solid var(--md-default-fg-color--lightest);
  border-radius: 99rem;
  color: var(--md-default-fg-color--light);
  font-size: 0.78rem;
  padding: 0.35rem 0.7rem;
}

.metric strong {
  color: var(--md-default-fg-color);
}

.landing-section {
  margin: 3.5rem 0;
}

.landing-section > h2 {
  font-size: clamp(1.7rem, 3vw, 2.4rem);
  margin-top: 0;
}

.md-typeset .grid.cards > ul > li,
.md-typeset .grid.cards > ol > li {
  background: color-mix(in srgb, var(--md-default-bg-color) 84%, var(--md-primary-fg-color));
  border: 1px solid var(--md-default-fg-color--lightest);
  border-radius: 0.85rem;
  box-shadow: none;
  transition: border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}

.md-typeset .grid.cards > ul > li:hover,
.md-typeset .grid.cards > ol > li:hover {
  border-color: color-mix(in srgb, var(--md-accent-fg-color) 58%, var(--md-default-fg-color--lightest));
  box-shadow: 0 1rem 2.4rem color-mix(in srgb, var(--md-primary-fg-color) 10%, transparent);
  transform: translateY(-3px);
}

.md-typeset .grid.cards .lg {
  color: var(--md-accent-fg-color);
  font-size: 1.5rem;
}

.md-typeset .grid.cards hr {
  border-bottom-color: var(--md-default-fg-color--lightest);
}

.md-typeset .grid.cards a {
  font-weight: 700;
}

.md-typeset .tabbed-set {
  border: 1px solid var(--md-default-fg-color--lightest);
  border-radius: 0.8rem;
  overflow: hidden;
}

.md-typeset .tabbed-labels {
  background: color-mix(in srgb, var(--md-primary-fg-color) 7%, var(--md-default-bg-color));
}

.md-typeset .tabbed-content {
  background: var(--md-code-bg-color);
}

.md-typeset .tabbed-content > .tabbed-block {
  padding: 0 1rem 1rem;
}

.md-typeset .tabbed-content pre {
  margin-bottom: 0;
}

.md-typeset table:not([class]) {
  border: 1px solid var(--md-default-fg-color--lightest);
  border-radius: 0.7rem;
  display: table;
  overflow: hidden;
}

.md-typeset table:not([class]) th {
  background: color-mix(in srgb, var(--md-primary-fg-color) 8%, var(--md-default-bg-color));
}

.md-footer-meta {
  background: color-mix(in srgb, var(--md-primary-fg-color) 94%, transparent);
}

@media screen and (max-width: 76.1875em) {
  .landing-hero {
    grid-template-columns: 1fr;
  }

  .hero-copy h1 {
    max-width: 12ch;
  }
}

@media screen and (max-width: 600px) {
  .md-main__inner {
    margin-top: 0.8rem;
  }

  .landing-page .md-content__inner {
    padding: 0 0.75rem 2rem;
  }

  .landing-home .md-content__inner {
    padding-top: 0.75rem;
  }

  .landing-hero {
    border-radius: 1rem;
    gap: 1.8rem;
    margin: 0.15rem 0 2.4rem;
    padding: 1.35rem;
  }

  .hero-copy h1 {
    font-size: clamp(2.7rem, 14vw, 4rem);
  }

  .hero-copy .lead {
    font-size: 1rem;
  }

  .hero-actions {
    align-items: stretch;
    flex-direction: column;
  }

  .hero-actions > p {
    flex-direction: column;
    width: 100%;
  }

  .hero-actions .md-button {
    text-align: center;
    width: 100%;
  }

  .md-header__source {
    display: block;
  }

  .md-header__source .md-source__repository {
    display: none;
  }

  .md-header__source .md-source {
    padding: 0.4rem;
  }

  .install-chip {
    width: 100%;
  }

  .terminal-body {
    font-size: 0.7rem;
    overflow-x: auto;
  }

  .landing-section {
    margin: 2.5rem 0;
  }
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
  }
}
