:root {
  --vic3-surface: color-mix(in srgb, var(--md-primary-fg-color) 7%, transparent);
}

.economy-dependencies {
  --vic3-owner-economy: #dcecff;
  --vic3-owner-context: #daf2df;
  --vic3-owner-market: #eadfff;
  --vic3-owner-pop: #ffe5cc;
  --vic3-owner-state: #fff2bd;
  --vic3-owner-variable: #e8eaed;
  --vic3-owner-text: var(--md-default-fg-color);
  --vic3-owner-border: var(--md-default-fg-color--light);
  --vic3-owner-edge: var(--md-default-fg-color--light);
}

[data-md-color-scheme="slate"] .economy-dependencies {
  --vic3-owner-economy: #203e63;
  --vic3-owner-context: #214a36;
  --vic3-owner-market: #493163;
  --vic3-owner-pop: #613e24;
  --vic3-owner-state: #51491f;
  --vic3-owner-variable: #363b46;
}

.economy-dependencies .mermaid {
  max-width: 100%;
  overflow-x: auto;
}

.economy-dependencies .dependency-legend {
  list-style: none;
  margin-left: 0;
}

.economy-dependencies .dependency-owner {
  border-radius: 0.2rem;
  color: var(--vic3-owner-text);
  display: inline-block;
  font-weight: 700;
  margin-right: 0.35rem;
  min-width: 1.5rem;
  padding: 0.1rem 0.3rem;
  text-align: center;
}

.economy-dependencies .owner-economy { background: var(--vic3-owner-economy); }
.economy-dependencies .owner-context { background: var(--vic3-owner-context); }
.economy-dependencies .owner-market { background: var(--vic3-owner-market); }
.economy-dependencies .owner-pop { background: var(--vic3-owner-pop); }
.economy-dependencies .owner-state { background: var(--vic3-owner-state); }
.economy-dependencies .owner-variable { background: var(--vic3-owner-variable); }

.md-typeset h1 {
  font-weight: 700;
  letter-spacing: -0.025em;
}

.md-typeset .grid.cards > ul > li,
.md-typeset .grid.cards > ol > li {
  border-radius: 0.65rem;
}

.md-typeset .table-preview,
.md-typeset__table {
  display: block;
  max-width: 100%;
  overflow-x: auto;
}

.md-typeset .table-preview table {
  min-width: 42rem;
  white-space: nowrap;
}

.artifact-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  margin: 0.75rem 0 1.25rem;
}

.figure-gallery {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 19rem), 1fr));
  gap: 1rem;
  margin: 1rem 0;
}

.figure-card {
  background: var(--vic3-surface);
  border: 0.05rem solid var(--md-default-fg-color--lightest);
  border-radius: 0.65rem;
  display: flex;
  flex-direction: column;
  margin: 0;
  overflow: hidden;
}

.figure-card img {
  background: var(--md-default-bg-color);
  height: 15rem;
  object-fit: contain;
  padding: 0.5rem;
  width: 100%;
}

.figure-card figcaption {
  font-size: 0.72rem;
  padding: 0.65rem 0.8rem;
}

@media screen and (max-width: 44.984375em) {
  .md-typeset .table-preview table {
    min-width: 36rem;
  }
}
