:root {
  --tc-green-950: #062e2b;
  --tc-green-900: #0b403b;
  --tc-green-800: #14544c;
  --tc-cream: #f4f0e8;
  --tc-cream-strong: #fffdf7;
  --tc-amber: #e9a34b;
  --tc-caramel: #b9652b;
  --tc-ink: #173c37;
  --md-primary-fg-color: var(--tc-green-900);
  --md-accent-fg-color: var(--tc-caramel);
  --md-text-font: "Satoshi", "Avenir Next", Avenir, sans-serif;
  --md-code-font: "SFMono-Regular", Consolas, monospace;
}

html { background: var(--tc-green-950); }
body {
  min-width: 320px;
  color: var(--tc-ink);
  background: var(--tc-green-950);
  background-image:
    linear-gradient(135deg, rgba(233, 163, 75, .06) 25%, transparent 25%),
    linear-gradient(315deg, rgba(233, 163, 75, .06) 25%, transparent 25%);
  background-size: 34px 34px;
}
.md-header {
  background: rgba(6, 46, 43, .93);
  box-shadow: 0 12px 30px rgba(0, 0, 0, .16);
  backdrop-filter: blur(16px);
}
.md-header__button, .md-header__title { color: var(--tc-cream); }
.md-header__title { font-weight: 800; letter-spacing: -.035em; }
.md-logo img { width: 1.65rem; height: 1.65rem; }
.md-main { background: transparent; }
.md-main__inner { align-items: stretch; padding-top: 1.6rem; }
.md-sidebar--primary, .md-sidebar--secondary {
  padding-top: 1.1rem;
  border-color: rgba(244, 240, 232, .14);
}
.md-sidebar .md-nav__title {
  color: var(--tc-cream);
  background: transparent;
  box-shadow: none;
  font-weight: 800;
}
.md-nav__link { color: rgba(244, 240, 232, .78); border-radius: .45rem; }
.md-sidebar--primary .md-nav__item--section > .md-nav__link[for] {
  color: rgba(255, 253, 247, .9);
  font-weight: 800;
}
.md-nav__link:focus, .md-nav__link:hover { color: var(--tc-amber); background: rgba(233, 163, 75, .12); }
.md-nav__item .md-nav__link--active { color: var(--tc-amber); font-weight: 800; }
.md-sidebar--secondary .md-nav__title {
  margin-bottom: .35rem;
  padding-bottom: .65rem;
  border-bottom: 1px solid rgba(244, 240, 232, .16);
}
.md-sidebar--secondary .md-nav__link { color: rgba(244, 240, 232, .76); font-size: .76rem; }
.md-sidebar--secondary .md-nav__link:focus,
.md-sidebar--secondary .md-nav__link:hover { color: var(--tc-cream-strong); background: rgba(233, 163, 75, .12); }
.md-sidebar--secondary .md-nav__link--active { color: var(--tc-amber); }
.md-content { min-width: 0; }
.md-content__inner {
  max-width: 880px;
  margin: 0 auto 3rem;
  padding: clamp(1.35rem, 3vw, 3.3rem) clamp(1.25rem, 4vw, 4.5rem) 4rem;
  border: 1px solid rgba(23, 60, 55, .12);
  background: var(--tc-cream-strong);
  box-shadow: 0 30px 90px rgba(0, 0, 0, .15);
}
.md-typeset h1 { color: var(--tc-green-950); font-size: clamp(2.3rem, 5vw, 4.4rem); font-weight: 850; letter-spacing: -.075em; line-height: .94; }
.md-typeset h2 { color: var(--tc-green-800); margin-top: 2.6em; font-size: clamp(1.55rem, 3vw, 2.35rem); font-weight: 800; letter-spacing: -.055em; }
.md-typeset h3 { color: var(--tc-caramel); font-weight: 800; }
.md-typeset a { color: #9c4f25; text-decoration-thickness: .08em; text-underline-offset: .16em; }
.md-typeset a:hover { color: var(--tc-green-900); }
.md-typeset code { color: var(--tc-green-950); background: #eee8dc; }
.md-typeset pre {
  border: 1px solid rgba(233, 163, 75, .28);
  border-radius: .7rem;
  background: var(--tc-green-950);
  box-shadow: 0 14px 32px rgba(6, 46, 43, .16);
}
.md-typeset pre > code { color: #f8f0e4; background: transparent; }
.md-typeset pre.shiki {
  box-sizing: border-box;
  max-width: 100%;
  padding: .95rem 1rem;
  overflow-x: auto;
  background: var(--tc-green-950) !important;
  color: #f8f0e4 !important;
}
.md-typeset pre.shiki code { display: block; min-width: 0; }
.md-typeset pre.shiki .line { display: inline-block; min-width: 100%; }
.md-typeset pre.shiki .md-clipboard { color: var(--tc-cream); }
.md-typeset pre.shiki .md-clipboard:hover { color: var(--tc-amber); }
.md-typeset blockquote { border-left-color: var(--tc-amber); background: #f7f1e5; }
.md-typeset table:not([class]) { border: 1px solid rgba(23, 60, 55, .16); }
.md-typeset table:not([class]) th { color: var(--tc-cream-strong); background: var(--tc-green-800); }
.md-typeset table:not([class]) tr:nth-child(2n) { background: #f7f1e5; }
.md-typeset .admonition { border-color: var(--tc-amber); background: #fbf4e7; }
.md-typeset .admonition-title { background: rgba(233, 163, 75, .18); }
.md-footer { background: var(--tc-green-950); }
.topplecat-doc-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin: 0 0 1.6rem;
  padding: .75rem .9rem;
  border: 1px solid rgba(23, 60, 55, .14);
  border-radius: .7rem;
  color: #5b665e;
  background: #f6f0e4;
  font-size: .76rem;
  font-weight: 750;
}
.topplecat-doc-language, .topplecat-doc-actions { display: flex; align-items: center; gap: .45rem; flex-wrap: wrap; }
.topplecat-doc-actions { margin-inline-start: auto; }
.topplecat-doc-language__current { color: var(--tc-green-800); }
.topplecat-doc-language a, .topplecat-markdown-link { color: var(--tc-caramel); }
.topplecat-copy-button {
  min-height: 2.2rem;
  padding: .35rem .75rem;
  border: 1px solid var(--tc-caramel);
  border-radius: 999px;
  color: var(--tc-green-950);
  background: var(--tc-amber);
  font-weight: 850;
  cursor: pointer;
  transition: transform 160ms ease, background 220ms ease, box-shadow 220ms ease;
}
.topplecat-copy-button:hover { transform: translateY(-1px); box-shadow: 0 6px 16px rgba(185, 101, 43, .22); }
.topplecat-copy-button:active { transform: scale(.97); }
.topplecat-copy-button:focus-visible, .topplecat-doc-toolbar a:focus-visible, .md-nav__link:focus-visible, .md-header__button:focus-visible { outline: 3px solid var(--tc-amber); outline-offset: 3px; }
.topplecat-copy-status {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
  border: 0;
}
.md-typeset .headerlink { color: rgba(156, 79, 37, .5); }
.md-typeset .headerlink:hover { color: var(--tc-caramel); }
@media (min-width: 1220px) {
  .md-main__inner { grid-template-columns: minmax(12rem, 15rem) minmax(0, 1fr) minmax(11rem, 14rem); }
  .md-content__inner { margin-inline: auto; }
}
@media (min-width: 761px) {
  .md-sidebar__scrollwrap {
    margin-inline: .35rem;
    padding: .85rem .8rem 1rem;
    border: 1px solid rgba(244, 240, 232, .14);
    border-radius: .8rem;
    background: rgba(6, 46, 43, .82);
    box-shadow: inset 0 1px 0 rgba(255, 253, 247, .05);
  }
}
@media (max-width: 1219px) { .md-content__inner { margin-inline: 1rem; } }
@media (max-width: 760px) {
  .md-header__title,
  .md-header__ellipsis { min-width: 0; overflow: hidden; }
  .md-main__inner { display: flex; flex-direction: column; padding: 0; }
  .md-sidebar--primary { order: -2; }
  .md-sidebar--secondary { display: block !important; order: -1; position: static; width: 100%; min-width: 0; max-width: 100%; padding: .55rem 1rem 0; overflow: hidden; box-sizing: border-box; }
  .md-sidebar--secondary .md-sidebar__scrollwrap,
  .md-sidebar--secondary .md-sidebar__inner { position: static; width: 100%; min-width: 0; max-width: 100%; max-height: none; padding: 0; }
  .md-sidebar--secondary > .md-sidebar__scrollwrap > .md-sidebar__inner > .md-nav { width: 100%; min-width: 0; max-width: 100%; padding: .55rem .75rem; border: 1px solid rgba(244, 240, 232, .17); border-radius: .7rem; background: rgba(6, 46, 43, .74); box-sizing: border-box; }
  .md-sidebar--secondary .md-nav__title { margin: 0; padding: 0 0 .35rem; }
  .md-sidebar--secondary [data-md-component="toc"] {
    display: flex;
    gap: .85rem;
    width: 100%;
    min-width: 0;
    max-width: 100%;
    margin: 0;
    padding: .25rem 0 .35rem;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    scrollbar-width: thin;
  }
  .md-sidebar--secondary [data-md-component="toc"] > .md-nav__item { flex: 0 0 auto; padding: 0; }
  .md-sidebar--secondary [data-md-component="toc"] > .md-nav__item > .md-nav__link { margin: 0; white-space: nowrap; }
  .md-sidebar--secondary [data-md-component="toc"] .md-nav { display: none; }
  .md-sidebar--primary,
  .md-sidebar--primary .md-sidebar__scrollwrap,
  .md-sidebar--primary .md-nav,
  .md-sidebar--primary .md-nav__list { background: var(--tc-green-950) !important; }
  .md-sidebar--primary .md-nav__title { background: var(--tc-green-900); }
  .md-sidebar--primary .md-nav--primary > .md-nav__title[for="__drawer"] {
    color: var(--tc-cream);
    background: var(--tc-green-900);
  }
  .md-sidebar--primary .md-nav__link--active { color: var(--tc-amber) !important; }
  .md-content { order: 0; }
  .md-content__inner { margin: .9rem 1rem 2rem; padding: 1.3rem 1.15rem 3rem; }
  .topplecat-doc-toolbar { align-items: flex-start; flex-direction: column; }
  .topplecat-doc-actions { width: 100%; justify-content: space-between; }
  .topplecat-copy-button { flex: 1; }
  .md-typeset h1 { font-size: clamp(2.25rem, 12vw, 3.6rem); }
  .md-typeset h2 { margin-top: 2.1em; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .001ms !important; animation-iteration-count: 1 !important; transition-duration: .001ms !important; }
  .topplecat-copy-button:hover { transform: none; }
}
