/* === DnD Fantasy Theme for MkDocs Material === */

/* Using default MkDocs Material fonts (Roboto) */

/* === Color Variables === */
:root {
  /* Parchment palette */
  --dnd-parchment-bg: #f4e4bc;
  --dnd-parchment-light: #faf3e3;
  --dnd-ink: #2c1810;
  --dnd-ink-faded: #5c4a3d;
  --dnd-gold: #c9a227;
  --dnd-gold-dark: #8b6914;
  --dnd-burgundy: #722f37;
  --dnd-leather: #8b4513;

  /* Dungeon palette (dark mode) */
  --dnd-dungeon-bg: #1a1a1a;
  --dnd-dungeon-surface: #2d2d2d;
  --dnd-torch-glow: #ff9933;
  --dnd-stone: #4a4a4a;
}

/* === Light Mode (Parchment) === */
[data-md-color-scheme="default"] {
  --md-default-fg-color: var(--dnd-ink);
  --md-default-bg-color: var(--dnd-parchment-bg);
  --md-primary-fg-color: var(--dnd-burgundy);
  --md-accent-fg-color: var(--dnd-gold);
  --md-typeset-a-color: var(--dnd-burgundy);
}

[data-md-color-scheme="default"] .md-header,
[data-md-color-scheme="default"] .md-tabs {
  background: var(--dnd-burgundy);
}

[data-md-color-scheme="default"] .md-main {
  background:
    linear-gradient(135deg, rgba(244, 228, 188, 0.3) 25%, transparent 25%),
    linear-gradient(225deg, rgba(244, 228, 188, 0.3) 25%, transparent 25%),
    linear-gradient(45deg, rgba(244, 228, 188, 0.3) 25%, transparent 25%),
    linear-gradient(315deg, rgba(244, 228, 188, 0.3) 25%, var(--dnd-parchment-bg) 25%);
  background-size: 20px 20px;
  background-color: var(--dnd-parchment-bg);
}

/* === Dark Mode (Dungeon) === */
[data-md-color-scheme="slate"] {
  --md-default-fg-color: #e0d6c2;
  --md-default-bg-color: var(--dnd-dungeon-bg);
  --md-primary-fg-color: var(--dnd-torch-glow);
  --md-accent-fg-color: var(--dnd-gold);
  --md-typeset-a-color: var(--dnd-torch-glow);
}

[data-md-color-scheme="slate"] .md-header,
[data-md-color-scheme="slate"] .md-tabs {
  background: #0d0d0d;
  border-bottom: 2px solid var(--dnd-gold-dark);
}

/* === Typography - using default Roboto === */
.md-typeset {
  font-size: 1rem;
  line-height: 1.75;
}

.md-typeset h1,
.md-typeset h2,
.md-typeset h3,
.md-typeset h4,
.md-typeset h5 {
  font-weight: 500;
}

[data-md-color-scheme="default"] .md-typeset h1,
[data-md-color-scheme="default"] .md-typeset h2,
[data-md-color-scheme="default"] .md-typeset h3 {
  color: var(--dnd-burgundy);
  border-bottom: 2px solid var(--dnd-gold);
  padding-bottom: 0.3em;
}

[data-md-color-scheme="slate"] .md-typeset h1,
[data-md-color-scheme="slate"] .md-typeset h2,
[data-md-color-scheme="slate"] .md-typeset h3 {
  color: var(--dnd-torch-glow);
  border-bottom: 2px solid var(--dnd-gold-dark);
  padding-bottom: 0.3em;
}

/* === Navigation === */

.md-nav__link--active {
  font-weight: 700;
}

/* === Tables === */
.md-typeset table {
  border: 2px solid var(--dnd-leather);
  border-radius: 6px;
  overflow: hidden;
}

.md-typeset table th {
  background: var(--dnd-burgundy) !important;
  color: var(--dnd-parchment-light) !important;
  text-transform: uppercase;
  font-size: 0.85em;
  letter-spacing: 0.05em;
}

[data-md-color-scheme="slate"] .md-typeset table th {
  background: var(--dnd-stone) !important;
}

.md-typeset table td {
  border-color: var(--dnd-leather);
}

/* === Admonitions === */
.md-typeset .admonition {
  border-left: 4px solid var(--dnd-gold);
  border-radius: 4px;
}

.md-typeset .admonition.note {
  border-left-color: var(--dnd-gold);
}

.md-typeset .admonition.warning {
  border-left-color: var(--dnd-torch-glow);
}

.md-typeset .admonition.danger {
  border-left-color: var(--dnd-burgundy);
}

/* === Images === */
.md-typeset img {
  border-radius: 6px;
  box-shadow: 3px 3px 8px rgba(0,0,0,0.25);
}

.npc-portrait {
  float: right;
  max-width: 220px;
  margin: 0 0 1em 1.5em;
  border: 3px solid var(--dnd-leather);
  border-radius: 8px;
}

.location-map {
  width: 100%;
  max-width: 800px;
  border: 3px solid var(--dnd-leather);
  border-radius: 8px;
  margin: 1em 0;
}

/* === Status Badges === */
.status-badge {
  display: inline-block;
  padding: 0.2em 0.6em;
  border-radius: 4px;
  font-size: 0.8em;
  font-weight: 700;
  text-transform: uppercase;
}

.status-alive { background: #2e7d32; color: white; }
.status-dead { background: #c62828; color: white; }
.status-missing { background: #f57c00; color: white; }
.status-unknown { background: #757575; color: white; }

.status-active { background: var(--dnd-gold); color: var(--dnd-ink); }
.status-completed { background: #2e7d32; color: white; }
.status-failed { background: #c62828; color: white; }

/* === Search === */

/* === Footer === */
.md-footer {
  background: var(--dnd-burgundy);
}

[data-md-color-scheme="slate"] .md-footer {
  background: #0d0d0d;
  border-top: 2px solid var(--dnd-gold-dark);
}

/* === Code blocks === */
.md-typeset code {
  background: rgba(139, 69, 19, 0.1);
  border: 1px solid var(--dnd-leather);
  border-radius: 3px;
}

[data-md-color-scheme="slate"] .md-typeset code {
  background: rgba(255, 153, 51, 0.1);
  border-color: var(--dnd-gold-dark);
}

/* === Scrollbar (webkit) === */
::-webkit-scrollbar {
  width: 12px;
}

::-webkit-scrollbar-track {
  background: var(--dnd-parchment-bg);
}

::-webkit-scrollbar-thumb {
  background: var(--dnd-leather);
  border-radius: 6px;
}

[data-md-color-scheme="slate"] ::-webkit-scrollbar-track {
  background: var(--dnd-dungeon-bg);
}

[data-md-color-scheme="slate"] ::-webkit-scrollbar-thumb {
  background: var(--dnd-stone);
}
