/* Dolmenwood campaign colors. All rules are scoped to the Dolmenwood body hook. */

body[data-campaign-theme="dolmenwood"] {
  --campaign-bg-panel: rgba(16, 33, 27, 0.84);
  --campaign-bg-panel-soft: rgba(35, 60, 45, 0.62);
  --campaign-bg-control: rgba(238, 246, 220, 0.1);
  --campaign-border: rgba(165, 196, 117, 0.42);
  --campaign-border-strong: rgba(229, 214, 132, 0.68);
  --campaign-text: #edf3d7;
  --campaign-text-muted: #c8d5a8;
  --campaign-heading: #fff5bc;
  --campaign-link: #c8ec9c;
  --campaign-link-hover: #ffe8a0;
  --campaign-accent: #d7a6df;
  --campaign-accent-2: #74b79a;
  --campaign-gold: #e5d684;
  --campaign-shadow: rgba(4, 12, 8, 0.82);
  --campaign-glow: rgba(180, 226, 121, 0.24);
  --campaign-thorn: #86b66e;
  --campaign-faerie: #d7a6df;

  color: var(--campaign-text);
}

body[data-campaign-theme="dolmenwood"]::before {
  background:
    radial-gradient(ellipse at 16% 10%, rgba(215, 166, 223, 0.13), transparent 28%),
    radial-gradient(ellipse at 78% 18%, rgba(200, 236, 156, 0.11), transparent 34%),
    linear-gradient(140deg, rgba(116, 183, 154, 0.08), transparent 42%, rgba(229, 214, 132, 0.06) 76%, transparent 100%),
    rgba(2, 11, 6, 0.34);
}

body[data-campaign-theme="dolmenwood"]::after {
  background:
    linear-gradient(to bottom, rgba(215, 166, 223, 0.045), rgba(2, 9, 5, 0.48)),
    radial-gradient(ellipse at center, rgba(42, 75, 51, 0.06) 0%, rgba(1, 8, 4, 0.56) 100%);
}

body[data-campaign-theme="dolmenwood"] #inner-wrapper {
  background:
    linear-gradient(180deg, rgba(20, 38, 30, 0.86), rgba(7, 16, 10, 0.92));
  border-color: var(--campaign-border);
  color: var(--campaign-text);
  backdrop-filter: blur(3px);
  box-shadow:
    0 24px 54px var(--campaign-shadow),
    0 0 30px rgba(200, 236, 156, 0.1);
}

body[data-campaign-theme="dolmenwood"] .content-shell {
  background:
    linear-gradient(180deg, rgba(26, 49, 36, 0.56), rgba(8, 18, 11, 0.72)),
    linear-gradient(135deg, rgba(215, 166, 223, 0.055), transparent 44%, rgba(116, 183, 154, 0.07));
}

body[data-campaign-theme="dolmenwood"] #top {
  background:
    linear-gradient(180deg, rgba(33, 57, 41, 0.74), rgba(8, 18, 11, 0.88));
  border-bottom: 1px solid var(--campaign-border);
}

body[data-campaign-theme="dolmenwood"] nav#primary {
  background:
    linear-gradient(90deg, rgba(4, 12, 7, 0.9), rgba(25, 45, 32, 0.92), rgba(4, 12, 7, 0.9));
  border-top-color: var(--campaign-border);
  border-bottom-color: var(--campaign-border);
}

body[data-campaign-theme="dolmenwood"] nav#primary ul.main-menu a::after,
body[data-campaign-theme="dolmenwood"] nav#primary ul.main-menu .nav-tool-button::after {
  background: linear-gradient(90deg, var(--campaign-thorn), var(--campaign-gold), var(--campaign-faerie));
  box-shadow: 0 0 12px var(--campaign-glow);
}

body[data-campaign-theme="dolmenwood"] .tavern-logo a,
body[data-campaign-theme="dolmenwood"] h1,
body[data-campaign-theme="dolmenwood"] h2,
body[data-campaign-theme="dolmenwood"] h3,
body[data-campaign-theme="dolmenwood"] .markdown-body h1,
body[data-campaign-theme="dolmenwood"] .markdown-body h2,
body[data-campaign-theme="dolmenwood"] .markdown-body h3,
body[data-campaign-theme="dolmenwood"] .markdown-body h4,
body[data-campaign-theme="dolmenwood"] .page-heading h2,
body[data-campaign-theme="dolmenwood"] .campaign-hero-copy h2,
body[data-campaign-theme="dolmenwood"] .roster-hero h2 {
  color: var(--campaign-heading);
  text-shadow: 0 0 14px rgba(215, 166, 223, 0.24), 0 2px 10px rgba(0, 0, 0, 0.82);
}

body[data-campaign-theme="dolmenwood"] .tagline,
body[data-campaign-theme="dolmenwood"] p,
body[data-campaign-theme="dolmenwood"] .markdown-body,
body[data-campaign-theme="dolmenwood"] .campaign-role,
body[data-campaign-theme="dolmenwood"] .sheet-muted {
  color: var(--campaign-text);
}

body[data-campaign-theme="dolmenwood"] .eyebrow,
body[data-campaign-theme="dolmenwood"] .campaign-kicker,
body[data-campaign-theme="dolmenwood"] .markdown-body li::marker,
body[data-campaign-theme="dolmenwood"] .reader-toc strong,
body[data-campaign-theme="dolmenwood"] .vault-file-row-type {
  color: var(--campaign-gold);
}

body[data-campaign-theme="dolmenwood"] a,
body[data-campaign-theme="dolmenwood"] .markdown-body a {
  color: var(--campaign-link);
}

body[data-campaign-theme="dolmenwood"] a:hover,
body[data-campaign-theme="dolmenwood"] .markdown-body a:hover {
  color: var(--campaign-link-hover);
}

body[data-campaign-theme="dolmenwood"] .main-menu .dropdown-menu,
body[data-campaign-theme="dolmenwood"] .site-search,
body[data-campaign-theme="dolmenwood"] .auth-panel,
body[data-campaign-theme="dolmenwood"] .markdown-panel,
body[data-campaign-theme="dolmenwood"] .metadata-list,
body[data-campaign-theme="dolmenwood"] .reader-toc,
body[data-campaign-theme="dolmenwood"] .campaign-card,
body[data-campaign-theme="dolmenwood"] .campaign-section-card,
body[data-campaign-theme="dolmenwood"] .campaign-section-card-main,
body[data-campaign-theme="dolmenwood"] .focus-card,
body[data-campaign-theme="dolmenwood"] .battle-control-card,
body[data-campaign-theme="dolmenwood"] .battle-card,
body[data-campaign-theme="dolmenwood"] .prep-panel,
body[data-campaign-theme="dolmenwood"] .adventure-preview-block,
body[data-campaign-theme="dolmenwood"] .character-sheet-panel,
body[data-campaign-theme="dolmenwood"] .vault-card,
body[data-campaign-theme="dolmenwood"] .search-panel,
body[data-campaign-theme="dolmenwood"] .search-result-card,
body[data-campaign-theme="dolmenwood"] .sheet-panel,
body[data-campaign-theme="dolmenwood"] .item-detail-header,
body[data-campaign-theme="dolmenwood"] .item-detail-image,
body[data-campaign-theme="dolmenwood"] .bestiary-detail-header,
body[data-campaign-theme="dolmenwood"] .compact-bestiary-facts,
body[data-campaign-theme="dolmenwood"] .compact-bestiary-panel,
body[data-campaign-theme="dolmenwood"] .book-reader-header,
body[data-campaign-theme="dolmenwood"] .book-reader-nav,
body[data-campaign-theme="dolmenwood"] .book-reader-page,
body[data-campaign-theme="dolmenwood"] .library-door-card,
body[data-campaign-theme="dolmenwood"] .vault-search-result,
body[data-campaign-theme="dolmenwood"] .campaign-hub-header,
body[data-campaign-theme="dolmenwood"] .campaign-hub-run-session,
body[data-campaign-theme="dolmenwood"] .campaign-hub-panel,
body[data-campaign-theme="dolmenwood"] .campaign-hub-side > section,
body[data-campaign-theme="dolmenwood"] .player-table-header,
body[data-campaign-theme="dolmenwood"] .player-table-panel,
body[data-campaign-theme="dolmenwood"] .roster-hero,
body[data-campaign-theme="dolmenwood"] .dolmenwood-character-panel,
body[data-campaign-theme="dolmenwood"] .link-preview-popover {
  background:
    linear-gradient(180deg, rgba(30, 57, 40, 0.78), rgba(8, 19, 11, 0.9));
  border-color: var(--campaign-border);
  color: var(--campaign-text);
  box-shadow: 0 14px 32px rgba(3, 10, 6, 0.44), inset 0 1px 0 rgba(229, 214, 132, 0.045);
}

body[data-campaign-theme="dolmenwood"] .campaign-card:hover,
body[data-campaign-theme="dolmenwood"] .campaign-section-card:hover,
body[data-campaign-theme="dolmenwood"] .focus-card:hover,
body[data-campaign-theme="dolmenwood"] .vault-card:hover,
body[data-campaign-theme="dolmenwood"] .search-result-card:hover,
body[data-campaign-theme="dolmenwood"] .library-door-card:hover,
body[data-campaign-theme="dolmenwood"] .vault-search-result:hover {
  border-color: var(--campaign-border-strong);
  box-shadow: 0 18px 34px rgba(3, 10, 6, 0.54), 0 0 24px var(--campaign-glow);
}

body[data-campaign-theme="dolmenwood"] .campaign-hero,
body[data-campaign-theme="dolmenwood"] .campaign-hero-fallback {
  border-bottom-color: var(--campaign-border);
  background:
    linear-gradient(180deg, rgba(200, 236, 156, 0.05), rgba(6, 14, 8, 0.38)),
    linear-gradient(135deg, rgba(30, 58, 39, 0.38), rgba(10, 21, 12, 0.5) 64%, rgba(84, 51, 94, 0.26));
}

body[data-campaign-theme="dolmenwood"] .campaign-hero img {
  filter: brightness(0.86) contrast(1.06) saturate(1.05);
}

body[data-campaign-theme="dolmenwood"] .buttonsubmit,
body[data-campaign-theme="dolmenwood"] button,
body[data-campaign-theme="dolmenwood"] .btn,
body[data-campaign-theme="dolmenwood"] .button-primary,
body[data-campaign-theme="dolmenwood"] .campaign-active-map-link,
body[data-campaign-theme="dolmenwood"] .battle-actions summary,
body[data-campaign-theme="dolmenwood"] .reader-actions a,
body[data-campaign-theme="dolmenwood"] .reader-actions button {
  border-color: rgba(229, 214, 132, 0.58);
  background: linear-gradient(180deg, rgba(63, 94, 54, 0.96), rgba(25, 49, 31, 0.98));
  color: #fff7c8;
  box-shadow: 0 4px 12px rgba(3, 10, 6, 0.34);
}

body[data-campaign-theme="dolmenwood"] .buttonsubmit:hover,
body[data-campaign-theme="dolmenwood"] button:hover,
body[data-campaign-theme="dolmenwood"] .btn:hover,
body[data-campaign-theme="dolmenwood"] .button-primary:hover,
body[data-campaign-theme="dolmenwood"] .campaign-active-map-link:hover,
body[data-campaign-theme="dolmenwood"] .battle-actions summary:hover,
body[data-campaign-theme="dolmenwood"] .reader-actions a:hover,
body[data-campaign-theme="dolmenwood"] .reader-actions button:hover {
  border-color: var(--campaign-faerie);
  background: linear-gradient(180deg, rgba(81, 112, 68, 0.98), rgba(33, 61, 39, 0.98));
  color: #fffbe0;
  box-shadow: 0 0 16px rgba(215, 166, 223, 0.2);
}

body[data-campaign-theme="dolmenwood"] input,
body[data-campaign-theme="dolmenwood"] textarea,
body[data-campaign-theme="dolmenwood"] select {
  background-color: #f8f4dc;
  border-color: var(--campaign-border);
  color: #18210e;
  color-scheme: light;
  text-shadow: none;
}

body[data-campaign-theme="dolmenwood"] select,
body[data-campaign-theme="dolmenwood"] select option {
  background-color: #f8f4dc;
  color: #18210e;
}

body[data-campaign-theme="dolmenwood"] input:focus,
body[data-campaign-theme="dolmenwood"] textarea:focus,
body[data-campaign-theme="dolmenwood"] select:focus {
  background-color: #eee7be;
  color: #18210e;
  border-color: var(--campaign-faerie);
  box-shadow: 0 0 12px rgba(215, 166, 223, 0.2);
}

body[data-campaign-theme="dolmenwood"] .markdown-body h1,
body[data-campaign-theme="dolmenwood"] .markdown-body h2 {
  border-bottom-color: var(--campaign-border);
}

body[data-campaign-theme="dolmenwood"] .markdown-body h2 {
  color: #f4eeb8;
}

body[data-campaign-theme="dolmenwood"] .markdown-body h3::before {
  border-color: rgba(229, 214, 132, 0.78);
  background: rgba(215, 166, 223, 0.18);
  box-shadow: 0 0 10px rgba(200, 236, 156, 0.22);
}

body[data-campaign-theme="dolmenwood"] .markdown-body blockquote {
  border-left-color: var(--campaign-faerie);
  background: rgba(215, 166, 223, 0.08);
  color: var(--campaign-text);
}

body[data-campaign-theme="dolmenwood"] .markdown-body code,
body[data-campaign-theme="dolmenwood"] .markdown-body pre {
  border-color: var(--campaign-border);
  background: rgba(2, 10, 5, 0.54);
  color: #f6ffd9;
}

body[data-campaign-theme="dolmenwood"] table,
body[data-campaign-theme="dolmenwood"] .markdown-body table {
  border-color: var(--campaign-border);
}

body[data-campaign-theme="dolmenwood"] th,
body[data-campaign-theme="dolmenwood"] .markdown-body th {
  background: rgba(48, 78, 48, 0.78);
  color: var(--campaign-heading);
}

body[data-campaign-theme="dolmenwood"] td,
body[data-campaign-theme="dolmenwood"] .markdown-body td {
  border-color: rgba(165, 196, 117, 0.24);
}

body[data-campaign-theme="dolmenwood"] .flash-message {
  border-color: var(--campaign-border);
  background: rgba(25, 48, 33, 0.88);
  color: var(--campaign-text);
}

body[data-campaign-theme="dolmenwood"] .vault-breadcrumbs,
body[data-campaign-theme="dolmenwood"] .vault-card-meta,
body[data-campaign-theme="dolmenwood"] .campaign-section-meta,
body[data-campaign-theme="dolmenwood"] .campaign-hub-subtitle,
body[data-campaign-theme="dolmenwood"] .player-table-subtitle {
  color: var(--campaign-text-muted);
}

body[data-campaign-theme="dolmenwood"] footer {
  color: var(--campaign-text-muted);
}
