@import url('https://fonts.googleapis.com/css2?family=Cinzel:wght@400;600&family=Crimson+Text:ital,wght@0,400;0,600;1,400&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Bitter:ital,wght@0,400;0,600;1,400&family=Alegreya:ital,wght@0,400;0,700;1,400&family=Alegreya+SC:wght@400;700&family=Lexend:wght@300;400;500;600&display=swap');

[data-md-color-scheme="terrun"] {
  --md-hue: 30;
  --md-default-bg-color: #101a17;
  --md-default-fg-color: #c4d1c6;
  --md-default-fg-color--light: #7f9389;
  --md-default-fg-color--lighter: #4a5c55;
  --md-primary-fg-color: #a9dcc8;
  --md-primary-bg-color: #0a1210;
  --md-accent-fg-color: #5fb59a;
  --md-typeset-a-color: #5fb59a;
  --md-typeset-color: #c4d1c6;
  --md-code-bg-color: #0d1613;
  --md-code-fg-color: #c4d1c6;
  --md-footer-bg-color: #0a1210;
  --md-footer-fg-color: #4a5c55;
}

[data-md-color-scheme="terrun"] .md-header {
  background-color: #0a1210;
  border-bottom: 2px solid #2f6b5e;
}

[data-md-color-scheme="terrun"] .md-nav--primary > .md-nav__title {
  font-size: 1.4rem;
  letter-spacing: 2px;
}
[data-md-color-scheme="terrun"] .md-nav--primary .md-nav__item--section > .md-nav__link {
  font-size: 0.9rem;
  letter-spacing: 1px;
}

[data-md-color-scheme="terrun"] .md-nav--secondary > .md-nav__title {
  font-size: 1.1rem;
  letter-spacing: 1px;
}

[data-md-color-scheme="terrun"] .md-sidebar {
  background-color: #0d1613;
}

[data-md-color-scheme="terrun"] .md-nav__title {
  font-family: 'Alegreya SC', serif;
  letter-spacing: 1px;
  color: #2f6b5e !important;
}

[data-md-color-scheme="terrun"] .md-nav__link--active {
  color: #a9dcc8 !important;
  border-left: 2px solid #a0643e;
}

[data-md-color-scheme="terrun"] .md-typeset {
  font-family: 'Bitter', serif;
  font-size: 0.9rem;
  font-weight: 400;
  line-height: 1.6;
}

[data-md-color-scheme="terrun"] .md-admonition {
  border-left-color: #a0643e;
  background-color: #0f1d1a;
}

[data-md-color-scheme="terrun"] hr {
  border-color: #26403a;
}

[data-md-color-scheme="terrun"] h1,
[data-md-color-scheme="terrun"] h2 {
  font-family: 'Alegreya SC', serif;
  color: #a9dcc8;
}

[data-md-color-scheme="terrun"] h1 {
  border-bottom: 1px solid #26403a;
}

[data-md-color-scheme="terrun"] h2 {
  color: #5fb59a;
}

[data-md-color-scheme="terrun"] h3,
[data-md-color-scheme="terrun"] h4 {
  font-family: 'Alegreya', serif;
  color: #5fb59a;
}

[data-md-color-scheme="terrun"] .md-content h1 {
  font-size: 2.5rem;
}



[data-md-color-scheme="terrun"] .md-typeset .admonition.example,
[data-md-color-scheme="terrun"] .md-typeset details.example {
  border-color: #5a3e24;
  background-color: #101a17;
}

[data-md-color-scheme="terrun"] .md-typeset .example > .admonition-title,
[data-md-color-scheme="terrun"] .md-typeset .example > summary {
  background-color: #221810;
  color: #6f8f84;
  font-family: 'Alegreya SC', serif;
  letter-spacing: 1px;
}

[data-md-color-scheme="terrun"] .md-typeset .example > .admonition-title::before {
  background-color: #5a3e24;
}

[data-md-color-scheme="terrun"] .md-typeset .admonition.example p,
[data-md-color-scheme="terrun"] .md-typeset .admonition.example li,
[data-md-color-scheme="terrun"] .md-typeset .admonition.example {
  color: #6f8f84;
}



[data-md-color-scheme="terrun"] .md-typeset .admonition.warning,
[data-md-color-scheme="terrun"] .md-typeset details.warning {
  border-color: #5fb59a;
  background-color: #1e1608 !important;
}

[data-md-color-scheme="terrun"] .md-typeset .warning > .admonition-title,
[data-md-color-scheme="terrun"] .md-typeset .warning > summary {
  background-color: #261c08;
  color: #a9dcc8;
  font-family: 'Alegreya SC', serif;
  letter-spacing: 1px;
}

[data-md-color-scheme="terrun"] .md-typeset .warning > .admonition-title::before {
  background-color: #5fb59a;
}

[data-md-color-scheme="terrun"] .md-typeset .admonition.warning p,
[data-md-color-scheme="terrun"] .md-typeset .admonition.warning li,
[data-md-color-scheme="terrun"] .md-typeset .admonition.warning {
  color: #d4a84b;
}


[data-md-color-scheme="terrun"] .md-typeset .admonition.danger,
[data-md-color-scheme="terrun"] .md-typeset details.danger {
  border-color: #a0643e;
  background-color: #1e0c0c;
}

[data-md-color-scheme="terrun"] .md-typeset .danger > .admonition-title,
[data-md-color-scheme="terrun"] .md-typeset .danger > summary {
  background-color: #261010;
  color: #e05050;
  font-family: 'Alegreya SC', serif;
  letter-spacing: 1px;
}

[data-md-color-scheme="terrun"] .md-typeset .danger > .admonition-title::before {
  background-color: #a0643e;
}

[data-md-color-scheme="terrun"] .md-typeset .admonition.danger p,
[data-md-color-scheme="terrun"] .md-typeset .admonition.danger li,
[data-md-color-scheme="terrun"] .md-typeset .admonition.danger {
  color: #e05050;
}


[data-md-color-scheme="terrun"] .md-typeset .admonition.tip,
[data-md-color-scheme="terrun"] .md-typeset details.tip {
  border-color: #2e3d2e;
  background-color: #111610;
}

[data-md-color-scheme="terrun"] .md-typeset .tip > .admonition-title,
[data-md-color-scheme="terrun"] .md-typeset .tip > summary {
  background-color: #161c14;
  color: #567856;
  font-family: 'Alegreya SC', serif;
  letter-spacing: 1px;
}

[data-md-color-scheme="terrun"] .md-typeset .tip > .admonition-title::before {
  background-color: #2e3d2e;
}

[data-md-color-scheme="terrun"] .md-typeset .admonition.tip p,
[data-md-color-scheme="terrun"] .md-typeset .admonition.tip li,
[data-md-color-scheme="terrun"] .md-typeset .admonition.tip {
  color: #567856;
}


[data-md-color-scheme="terrun"] .md-typeset .admonition.note,
[data-md-color-scheme="terrun"] .md-typeset details.note {
  border-color: #2e3040;
  background-color: #111214;
}

[data-md-color-scheme="terrun"] .md-typeset .note > .admonition-title,
[data-md-color-scheme="terrun"] .md-typeset .note > summary {
  background-color: #161820;
  color: #6a72a0;
  font-family: 'Alegreya SC', serif;
  letter-spacing: 1px;
}

[data-md-color-scheme="terrun"] .md-typeset .note > .admonition-title::before {
  background-color: #2e3040;
}

[data-md-color-scheme="terrun"] .md-typeset .admonition.note p,
[data-md-color-scheme="terrun"] .md-typeset .admonition.note li,
[data-md-color-scheme="terrun"] .md-typeset .admonition.note {
  color: #6a72a0;
}

/* Tables inside note admonitions (e.g. the generated "Quality variants" boxes)
   otherwise fall back to a near-black default that is unreadable on the dark
   note background. These boxes are now `.lore-table` (colgroup-driven), so the
   recolor must match that class too — `:not([class])` alone would miss them and
   leave the text black. */
[data-md-color-scheme="terrun"] .md-typeset .admonition.note table th,
[data-md-color-scheme="terrun"] .md-typeset details.note table th {
  color: #e8eaf4;
  background-color: #161820;
  border-bottom: 1px solid #3a3d52;
  font-family: 'Alegreya SC', serif;
  font-weight: 400;
}

[data-md-color-scheme="terrun"] .md-typeset .admonition.note table td,
[data-md-color-scheme="terrun"] .md-typeset details.note table td {
  color: #d0d4ec;
  border-top: 1px solid #20222e;
}


:root {
  --md-admonition-icon--formula: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12.42 5.29c-1.1-.1-2.07.71-2.17 1.82L10 10h2.82v2H9.8l-.78 8.07c-.22 2.19-2.19 3.79-4.38 3.57-1.06-.1-1.98-.6-2.64-1.32l1.42-1.42c.32.38.78.64 1.32.69.61.06 1.15-.38 1.21-.99L6.72 12H4.01v-2H6.9l.27-2.89c.19-2.2 2.16-3.8 4.35-3.61 1.06.1 1.98.6 2.64 1.32l-1.42 1.42c-.32-.38-.78-.64-1.32-.69M22 13.65l-1.41-1.41-2.83 2.83-2.83-2.83-1.42 1.41 2.83 2.83-2.83 2.83 1.42 1.42 2.83-2.83 2.83 2.83L22 19.31l-2.83-2.83z"/></svg>');
}

[data-md-color-scheme="terrun"] .md-typeset .admonition.formula,
[data-md-color-scheme="terrun"] .md-typeset details.formula {
  border-color: #3a2d60 !important;
  background-color: #110e1a !important;
}

[data-md-color-scheme="terrun"] .md-typeset .formula > .admonition-title,
[data-md-color-scheme="terrun"] .md-typeset .formula > summary,
[data-md-color-scheme="terrun"] .md-typeset .formula > .admonition-title p,
[data-md-color-scheme="terrun"] .md-typeset .formula > summary p {
  background-color: #171428 !important;
  color: #8070b8 !important;
  font-family: 'Alegreya SC', serif !important;
}

[data-md-color-scheme="terrun"] .md-typeset .formula > .admonition-title::before {
  background-color: #8070b8;
  -webkit-mask-image: var(--md-admonition-icon--formula);
  mask-image: var(--md-admonition-icon--formula);
}

[data-md-color-scheme="terrun"] .md-typeset .admonition.formula p,
[data-md-color-scheme="terrun"] .md-typeset .admonition.formula li,
[data-md-color-scheme="terrun"] .md-typeset .admonition.formula code {
  color: #a898d8 !important;
  font-family: 'Fira Code', monospace;
}

/* Only the colgroup-driven lore-table needs fixed full-width layout; plain
   tables (baseline weapon/armor stat blocks, generated quality boxes) should
   size to their content instead of stretching narrow columns across the page. */
[data-md-color-scheme="terrun"] .md-typeset .lore-table {
  table-layout: fixed;
  width: 100%;
}

[data-md-color-scheme="terrun"] .md-typeset table:not([class]) {
  width: auto;
}

[data-md-color-scheme="terrun"] .md-typeset table:not([class]) th,
[data-md-color-scheme="terrun"] .md-typeset table:not([class]) td {
  padding: 2px 10px;
  line-height: 1.35;
}

/* Kill the default paragraph margins Material adds inside cells, which add
   extra vertical gap between rows. */
[data-md-color-scheme="terrun"] .md-typeset table:not([class]) td p,
[data-md-color-scheme="terrun"] .md-typeset table:not([class]) th p {
  margin: 0;
}

[data-md-color-scheme="terrun"] .md-typeset .lore-table th {
  border-bottom: 2px solid #2f6b5e;
  background-color: #141f1c;
  color: #a9dcc8;
  font-family: 'Alegreya SC', serif;
  font-weight: 400;
  font-size: 0.8rem;
  letter-spacing: 0.5px;
  padding: 4px 8px;
  text-align: left;
  vertical-align: bottom;
  word-wrap: break-word;
  overflow-wrap: break-word;
}

[data-md-color-scheme="terrun"] .md-typeset .lore-table td {
  border-bottom: 1px solid #2a1f14;
  padding: 3px 8px;
  vertical-align: top;
  text-align: left;
  word-wrap: break-word;
  overflow-wrap: break-word;
  line-height: 1.4;
  font-size: 0.9rem;
}

[data-md-color-scheme="terrun"] .md-typeset .lore-table tr:last-child td {
  border-bottom: none;
}

/* Material shrinks plain markdown tables to a cramped 0.64rem. Bump every
   classless table (spell stat blocks, hand-authored rules tables, etc.) up to
   the weapon/armor stat-table size. Classed tables (.lore-table) set their own. */
[data-md-color-scheme="terrun"] .md-typeset table:not([class]),
[data-md-color-scheme="terrun"] .md-typeset table:not([class]) th,
[data-md-color-scheme="terrun"] .md-typeset table:not([class]) td {
  font-size: 0.9rem;
}

/* Rubric summary page — spell short-list rendered by spell_index() as a
   two-column grid of cards. Each whole card is a link to the full spell page:

/* Card grids — used in place of layout tables (e.g. Damage Types) */
[data-md-color-scheme="terrun"] .md-typeset .grid.cards > ul > li {
  border: 1px solid #26403a;
  background-color: #141f1c;
  border-radius: 2px;
}

[data-md-color-scheme="terrun"] .md-typeset .grid.cards > ul > li:hover {
  border-color: #2f6b5e;
  box-shadow: none;
}

[data-md-color-scheme="terrun"] .md-typeset .grid.cards > ul > li > hr {
  border-color: #26403a;
}

[data-md-color-scheme="terrun"] .md-typeset .grid.cards > ul > li > p:first-child {
  font-family: 'Alegreya SC', serif;
  color: #a9dcc8;
  font-size: 1rem;
  letter-spacing: 0.5px;
}

[data-md-color-scheme="terrun"] .md-typeset .grid.cards > ul > li > p:first-child em {
  color: #7f9389;
  font-size: 0.85rem;
}

[data-md-color-scheme="terrun"] .md-typeset .grid.cards > ul > li li {
  font-size: 0.9rem;
}

[data-md-color-scheme="terrun"] .md-typeset .grid.cards > ul > li li strong {
  color: #5fb59a;
}

/* Per-page feedback footer (link injected by hooks.py:_feedback_footer). */
[data-md-color-scheme="terrun"] .md-typeset .page-feedback {
  margin-top: 3rem;
  padding-top: 1rem;
  border-top: 1px solid #26403a;
  font-size: 0.8rem;
}

[data-md-color-scheme="terrun"] .md-typeset .page-feedback a {
  color: #7f9389;
  text-decoration: none;
}

[data-md-color-scheme="terrun"] .md-typeset .page-feedback a:hover {
  color: #a9dcc8;
}

