:root {
  --tm-get: #1b8a3a;
  --tm-post: #1565c0;
  --tm-put: #b26a00;
  --tm-delete: #c62828;
  --tm-diagram-stroke: #5f6368;
  --tm-diagram-fill: #fff7f2;
  --tm-diagram-accent: #ff5722;
  --tm-diagram-store: #eef3fb;
  --tm-diagram-text: #202124;
  --tm-diagram-muted: #6b7280;
}

[data-md-color-scheme="slate"] {
  --tm-get: #4caf50;
  --tm-post: #64b5f6;
  --tm-put: #ffb74d;
  --tm-delete: #ef5350;
  --tm-diagram-stroke: #9aa0a6;
  --tm-diagram-fill: #2a2522;
  --tm-diagram-accent: #ff8a65;
  --tm-diagram-store: #1f2633;
  --tm-diagram-text: #e8eaed;
  --tm-diagram-muted: #9aa0a6;
}

.md-grid {
  max-width: 76rem;
}

.md-typeset .admonition.danger,
.md-typeset details.danger {
  border-left-width: 0.4rem;
}

.md-typeset .method {
  display: inline-block;
  min-width: 4.2em;
  padding: 0.1em 0.5em;
  border-radius: 0.2rem;
  color: #fff;
  font-family: var(--md-code-font-family);
  font-size: 0.75em;
  font-weight: 700;
  letter-spacing: 0.03em;
  text-align: center;
  vertical-align: middle;
}

.md-typeset .method.get {
  background-color: var(--tm-get);
}

.md-typeset .method.post {
  background-color: var(--tm-post);
}

.md-typeset .method.put {
  background-color: var(--tm-put);
}

.md-typeset .method.delete {
  background-color: var(--tm-delete);
}

.md-typeset .endpoint {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.6em;
  margin: 1em 0;
  padding: 0.6em 0.8em;
  border-left: 0.25rem solid var(--md-accent-fg-color);
  border-radius: 0.2rem;
  background-color: var(--md-code-bg-color);
  font-family: var(--md-code-font-family);
  font-size: 0.85em;
  overflow-wrap: anywhere;
}

.md-typeset .endpoint .auth {
  margin-left: auto;
  color: var(--md-default-fg-color--light);
  font-family: var(--md-text-font-family);
  font-size: 0.8em;
}

.md-typeset .status {
  display: inline-block;
  padding: 0 0.45em;
  border-radius: 0.2rem;
  font-family: var(--md-code-font-family);
  font-size: 0.85em;
  font-weight: 700;
  color: #fff;
  background-color: var(--md-default-fg-color--light);
}

.md-typeset .status.s2 {
  background-color: var(--tm-get);
}

.md-typeset .status.s4 {
  background-color: var(--tm-put);
}

.md-typeset .status.s5 {
  background-color: var(--tm-delete);
}

.md-typeset .hero {
  margin: 0 0 1.5em;
}

.md-typeset .hero p.lead {
  font-size: 1.15em;
  line-height: 1.6;
}

.md-typeset figure.diagram,
.md-typeset .diagram {
  display: block;
  width: 100%;
  max-width: none;
  margin: 1.5em 0;
  text-align: center;
}

.md-typeset .diagram svg {
  width: 100%;
  max-width: 60rem;
  height: auto;
}

.md-typeset .diagram figcaption {
  margin-top: 0.5em;
  color: var(--md-default-fg-color--light);
  font-size: 0.8em;
}

.tm-svg .box {
  fill: var(--tm-diagram-fill);
  stroke: var(--tm-diagram-stroke);
  stroke-width: 1.5;
}

.tm-svg .store {
  fill: var(--tm-diagram-store);
  stroke: var(--tm-diagram-stroke);
  stroke-width: 1.5;
}

.tm-svg .accent-box {
  fill: var(--tm-diagram-fill);
  stroke: var(--tm-diagram-accent);
  stroke-width: 2.5;
}

.tm-svg .wire {
  fill: none;
  stroke: var(--tm-diagram-stroke);
  stroke-width: 1.5;
  stroke-dasharray: 5 4;
}

.tm-svg .wire-solid {
  fill: none;
  stroke: var(--tm-diagram-stroke);
  stroke-width: 1.5;
}

.tm-svg text {
  fill: var(--tm-diagram-text);
  font-family: var(--md-text-font-family);
  font-size: 13px;
}

.tm-svg text.title {
  font-size: 15px;
  font-weight: 700;
}

.tm-svg text.small {
  fill: var(--tm-diagram-muted);
  font-size: 11px;
}

.tm-svg text.mono {
  font-family: var(--md-code-font-family);
  font-size: 11px;
}

.tm-svg .dot {
  fill: var(--tm-diagram-accent);
}

.tm-svg .dot.alt {
  fill: var(--tm-post);
}

.tm-svg .dot.ok {
  fill: var(--tm-get);
}

@media (prefers-reduced-motion: no-preference) {
  .tm-svg .wire {
    animation: tm-march 1.2s linear infinite;
  }
}

@media (prefers-reduced-motion: reduce) {
  .tm-svg .dot {
    display: none;
  }
}

@keyframes tm-march {
  to {
    stroke-dashoffset: -18;
  }
}

.md-typeset .vegalite {
  width: 100%;
}

.md-typeset .member {
  display: inline-block;
  min-width: 5.2em;
  padding: 0.1em 0.5em;
  border-radius: 0.2rem;
  color: #fff;
  font-family: var(--md-code-font-family);
  font-size: 0.75em;
  font-weight: 700;
  letter-spacing: 0.03em;
  text-align: center;
  vertical-align: middle;
  white-space: nowrap;
}

.md-typeset .member.property {
  background-color: var(--tm-get);
}

.md-typeset .member.method {
  background-color: var(--tm-post);
}

.md-typeset .member.writes {
  background-color: var(--tm-delete);
}

.md-typeset .member.class {
  background-color: var(--tm-diagram-stroke);
}

.md-typeset .member.function {
  background-color: var(--tm-put);
}

.md-typeset .endpoint .route {
  margin-left: auto;
  font-size: 0.85em;
}
