/*!
 * HedeQuest — FORGE-tema (smedet guld på revnet sten) · SCOPED
 * ---------------------------------------------------------------
 * Toggle-venlig version. Inkluderes EFTER style.css:
 *     <link rel="stylesheet" href="/css/style.css">
 *     <link rel="stylesheet" href="/css/theme-forge-scoped.css">
 *
 * Alt er scopet under html[data-theme="forge"], så det GAMLE tema
 * er default og aldrig røres. Toggle slår temaet til/fra med:
 *     document.documentElement.dataset.theme = 'forge';   // nyt
 *     delete document.documentElement.dataset.theme;       // gammelt
 * (gem evt. valget i localStorage og sæt det på load)
 *
 * Re-temaer både --rf-* tokens, fundamentet (style.css) OG de
 * bespoke komponenter med egen inline-<style> (boss, questline, GM).
 * Layout røres ikke.
 */

@import url('https://fonts.googleapis.com/css2?family=Cinzel:wght@500;600;700;900&family=EB+Garamond:ital,wght@0,400;0,500;0,600;1,400;1,500&display=swap');

/* ===== Tokens + sten-baggrund (scopet) ===== */
html[data-theme="forge"] {
  /* ===== Smedet palette ===== */
  --rf-primary:        #e9c468;   /* lyst guld          */
  --rf-primary-2:      #c79a3e;   /* mid-guld (gradient) */
  --rf-primary-soft:   rgba(233, 196, 104, 0.14);
  --rf-primary-glow:   rgba(233, 196, 104, 0.35);

  --rf-secondary:      #d9731e;   /* fakkel-ember       */
  --rf-secondary-2:    #b3471a;
  --rf-secondary-soft: rgba(217, 115, 30, 0.14);

  --rf-cream:          #efe3c4;

  --rf-info:           #5b86b8;
  --rf-info-2:         #436a96;
  --rf-info-soft:      rgba(91, 134, 184, 0.15);

  --rf-success:        #8aa24e;   /* mosgrøn-guld       */
  --rf-success-2:      #6f8a3e;
  --rf-success-soft:   rgba(138, 162, 78, 0.15);

  --rf-warning:        #e9c468;
  --rf-warning-2:      #c79a3e;

  --rf-danger:         #c0461e;
  --rf-danger-2:       #93351a;
  --rf-danger-soft:    rgba(192, 70, 30, 0.14);

  --rf-teal:           #4e9a86;
  --rf-teal-2:         #3c7d6b;
  --rf-purple:         #8a6db0;
  --rf-purple-2:       #6f4f96;

  /* ===== Sten & overflader ===== */
  --rf-bg-1:           #100e0a;
  --rf-bg-2:           #070604;
  --rf-surface:        rgba(16, 13, 9, 0.74);
  --rf-surface-2:      rgba(233, 196, 104, 0.05);
  --rf-border:         rgba(233, 196, 104, 0.28);
  --rf-border-2:       rgba(233, 196, 104, 0.48);

  /* ===== Tekst (løftet til sollys-læsbarhed) ===== */
  --rf-text:           #e7dcc0;
  --rf-text-muted:     rgba(231, 220, 192, 0.72);
  --rf-text-faint:     rgba(231, 220, 192, 0.46);
  --rf-on-primary:     #2a1e0a;

  /* ===== Form & rytme — smedet er skarpt, ikke afrundet ===== */
  --rf-radius-sm:   2px;
  --rf-radius:      3px;
  --rf-radius-lg:   4px;
  --rf-radius-pill: 3px;

  /* Skygger: hård guldkant + dyb mørk, ingen blød glød */
  --rf-shadow-sm:   0 2px 0 rgba(0,0,0,0.5);
  --rf-shadow:      0 4px 14px rgba(0,0,0,0.5);
  --rf-shadow-lg:   0 12px 30px rgba(0,0,0,0.55), inset 0 0 0 1px rgba(233,196,104,0.22);

  /* Skrift */
  --rf-font-display:3.4rem;
  --rf-weight:      400;
  --rf-weight-bold: 700;

  --rf-ease:        cubic-bezier(0.25, 0, 0.3, 1);
  --rf-transition:  150ms var(--rf-ease);

  /* Egne forge-tokens (bruges af overrides nedenfor) */
  --forge-font-body:    'EB Garamond', Georgia, serif;
  --forge-font-display: 'Cinzel', Georgia, serif;
  --forge-gold-grad:    linear-gradient(180deg, #e9c468 0%, #b3852f 52%, #8a6526 100%);
  --forge-gold-edge:    #f0d489;
  --forge-gold-deep:    #8a6526;
  --forge-text-shadow:  0 2px 4px rgba(0,0,0,0.6);

  background: var(--rf-bg-2);
}

/* ============================================================
   BASIS-OVERSKRIVNINGER — neutraliser glas/glød fra style.css
   ============================================================ */

html[data-theme="forge"] body {
  font-family: var(--forge-font-body);
  font-size: 1.06rem;
  color: var(--rf-text);
  /* revnet sten via lag-gradienter (læg evt. en rigtig sten-tekstur
     ind: background-image: url('/img/stone.jpg'); background-size:cover; ) */
  background:
    radial-gradient(120% 70% at 50% 116%, rgba(217,115,30,0.14), transparent 60%),
    radial-gradient(60% 40% at 18% 12%, rgba(80,60,32,0.18), transparent 55%),
    url('assets/stone.png');
  background-size: auto, auto, cover;
  background-position: center, center, center;
  background-repeat: no-repeat, no-repeat, no-repeat;
  background-color: #0c0a07;
  background-attachment: fixed;
}

html[data-theme="forge"] h1,
html[data-theme="forge"] h2,
html[data-theme="forge"] h3 {
  font-family: var(--forge-font-display);
  font-weight: 700;
  color: var(--rf-cream);
  letter-spacing: 0.02em;
  text-shadow: var(--forge-text-shadow);
}

html[data-theme="forge"] .label,
html[data-theme="forge"] .points-label {
  font-family: var(--forge-font-display);
  text-transform: uppercase;
  letter-spacing: 0.2em;
  color: var(--rf-primary-2);
  opacity: 1;
}

/* ---- Kort: smedet panel, ingen blur, ædelsten-hjørner ---- */
html[data-theme="forge"] .card {
  position: relative;
  background: var(--rf-surface);
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  border: 2px solid var(--forge-gold-deep);
  border-radius: var(--rf-radius-lg);
  padding: 1.7rem 1.5rem 1.55rem;
  margin-bottom: 1.6rem;
  box-shadow:
    inset 0 0 0 1px rgba(233,196,104,0.30),
    inset 0 0 26px rgba(0,0,0,0.6),
    0 10px 24px rgba(0,0,0,0.5);
}
/* ædelsten i ALLE fire hjørner — ét overlay med fire baggrunde */
html[data-theme="forge"] .card::before {
  content: '';
  position: absolute;
  inset: -11px;
  background-image: url('assets/gem-round.png'), url('assets/gem-round.png'), url('assets/gem-round.png'), url('assets/gem-round.png');
  background-position: top left, top right, bottom left, bottom right;
  background-repeat: no-repeat;
  background-size: 22px 22px;
  pointer-events: none;
  z-index: 2;
}

/* ---- Spillernavn: massivt guld, ikke gradient-clip ---- */
html[data-theme="forge"] .player-name {
  font-family: var(--forge-font-display);
  font-weight: 700;
  letter-spacing: 0.02em;
  background: none;
  -webkit-text-fill-color: currentColor;
  color: var(--rf-cream);
  text-shadow: var(--forge-text-shadow);
}

/* ---- Point-tal: smedet guld med prægeskygge, ingen neon ---- */
html[data-theme="forge"] .points-number {
  font-family: var(--forge-font-display);
  font-weight: 900;
  color: var(--rf-primary);
  text-shadow:
    0 0 22px rgba(233,196,104,0.32),
    0 2px 0 #5a3d12,
    0 3px 6px rgba(0,0,0,0.7);
}

/* ---- Mærker / badges: rektangulær guldkant-tag ---- */
html[data-theme="forge"] .team-badge {
  font-family: var(--forge-font-display);
  font-size: 0.8rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  white-space: nowrap;
  background: var(--rf-primary-soft);
  color: var(--rf-primary);
  border: 1px solid var(--forge-gold-deep);
  border-radius: var(--rf-radius);
  box-shadow: inset 0 0 0 1px rgba(233,196,104,0.18);
}

/* ---- Transaktioner ---- */
html[data-theme="forge"] .transactions {
  background: rgba(16,13,9,0.6);
  border: 1px solid var(--rf-border);
  border-radius: var(--rf-radius);
}
html[data-theme="forge"] .tx { background: rgba(233,196,104,0.04); border-radius: var(--rf-radius); }
html[data-theme="forge"] .tx-points { color: var(--rf-success); font-family: var(--forge-font-display); }
html[data-theme="forge"] .tx-points.negative { color: var(--rf-secondary); }

/* ---- Knapper: smedet guld ---- */
html[data-theme="forge"] .btn {
  font-family: var(--forge-font-display);
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  background: var(--forge-gold-grad);
  color: var(--rf-on-primary);
  border: 1px solid var(--forge-gold-edge);
  border-radius: var(--rf-radius);
  text-shadow: 0 1px 0 rgba(255,235,180,0.5);
  box-shadow: 0 3px 0 #4a3416, 0 6px 12px rgba(0,0,0,0.45);
}
html[data-theme="forge"] .btn:hover { background: linear-gradient(180deg, #f0d489 0%, #c79a3e 52%, #8a6526 100%); }
html[data-theme="forge"] .btn:active { transform: translateY(2px); box-shadow: 0 1px 0 #4a3416, 0 3px 8px rgba(0,0,0,0.4); }

html[data-theme="forge"] .btn-secondary {
  background: transparent;
  color: var(--rf-primary);
  border: 1.5px solid var(--forge-gold-deep);
  text-shadow: none;
  box-shadow: none;
}
html[data-theme="forge"] .btn-secondary:hover { background: var(--rf-primary-soft); }

html[data-theme="forge"] .btn-danger {
  background: linear-gradient(180deg, #d9731e, #93351a);
  color: #fff3e6;
  border-color: #e9924a;
}
html[data-theme="forge"] .btn-danger:hover { background: linear-gradient(180deg, #e0822e, #a23c1e); }

/* ---- Formularfelter ---- */
html[data-theme="forge"] input,
html[data-theme="forge"] select,
html[data-theme="forge"] textarea {
  background: rgba(8,7,5,0.7);
  border: 1.5px solid var(--forge-gold-deep);
  border-radius: var(--rf-radius);
  color: var(--rf-cream);
  font-family: var(--forge-font-body);
}
html[data-theme="forge"] input:focus,
html[data-theme="forge"] select:focus,
html[data-theme="forge"] textarea:focus {
  border-color: var(--rf-primary);
  box-shadow: 0 0 0 1px rgba(233,196,104,0.4), 0 0 14px rgba(233,196,104,0.18);
}
html[data-theme="forge"] select option { background-color: #14110b; color: var(--rf-cream); }
html[data-theme="forge"] label { color: var(--rf-text-muted); }

/* ---- Rangliste ---- */
html[data-theme="forge"] .lb-row {
  background: rgba(16,13,9,0.65);
  border: 1.5px solid rgba(233,196,104,0.16);
  border-radius: var(--rf-radius);
}
html[data-theme="forge"] .lb-row.first {
  background: linear-gradient(180deg, rgba(233,196,104,0.14), rgba(40,28,12,0.4));
  border-color: var(--rf-border-2);
  box-shadow: inset 0 0 0 1px rgba(233,196,104,0.35);
}
html[data-theme="forge"] .lb-row.second { background: rgba(233,196,104,0.06); }
html[data-theme="forge"] .lb-row.third  { background: rgba(217,115,30,0.06); }
html[data-theme="forge"] .lb-rank   { font-family: var(--forge-font-display); color: var(--rf-primary-2); }
html[data-theme="forge"] .lb-row.first .lb-rank { color: var(--rf-primary); }
html[data-theme="forge"] .lb-name   { font-family: var(--forge-font-display); font-weight: 600; color: var(--rf-cream); }
html[data-theme="forge"] .lb-team   { color: var(--rf-text-muted); }
html[data-theme="forge"] .lb-points { font-family: var(--forge-font-display); color: var(--rf-primary); }

/* ---- Nav ---- */
html[data-theme="forge"] .nav a { color: var(--rf-primary); }
html[data-theme="forge"] .nav a:hover { color: var(--forge-gold-edge); }

/* ---- Hededam-footer ---- */
html[data-theme="forge"] .hededam-footer__text { color: var(--rf-text); }

/* ============================================================
   BESPOKE KOMPONENTER (index.html m.fl.) — smedet over
   ============================================================ */

/* ---- Boss raids ---- */
html[data-theme="forge"] .boss-card {
  background: linear-gradient(180deg, rgba(16,13,9,0.78), rgba(8,7,5,0.85));
  border: 2px solid var(--forge-gold-deep);
  border-radius: var(--rf-radius-lg);
  box-shadow: inset 0 0 0 1px rgba(233,196,104,0.28), inset 0 0 22px rgba(0,0,0,0.6);
}
html[data-theme="forge"] .boss-name { font-family: var(--forge-font-display); color: var(--rf-cream); text-shadow: var(--forge-text-shadow); }
html[data-theme="forge"] .boss-status-pill { font-family: var(--forge-font-display); border-radius: var(--rf-radius); }
html[data-theme="forge"] .boss-status-pill.status-active { background: rgba(217,115,30,0.22); color: var(--rf-secondary); }
html[data-theme="forge"] .boss-hp-bar { border: 2px solid var(--forge-gold-deep); border-radius: var(--rf-radius); background: rgba(8,7,5,0.7); }
html[data-theme="forge"] .boss-hp-fill { background: repeating-linear-gradient(45deg, #d9731e 0 7px, #93351a 7px 14px) !important; border-radius: 0; }
html[data-theme="forge"] .boss-hp-label { font-family: var(--forge-font-display); color: var(--rf-cream); }
html[data-theme="forge"] .boss-meta-item strong { color: var(--rf-primary); }
html[data-theme="forge"] .boss-narrative { font-family: var(--forge-font-body); border-left: 3px solid var(--forge-gold-deep); background: rgba(233,196,104,0.05); border-radius: 0; color: var(--rf-text); }

/* ---- Questline-spor ---- */
html[data-theme="forge"] .ql-trail { background: rgba(16,13,9,0.6); border: 1.5px solid var(--rf-border); border-radius: var(--rf-radius); }
html[data-theme="forge"] .ql-trail--main { border-color: var(--rf-border-2); box-shadow: inset 0 0 0 1px rgba(233,196,104,0.25); }
html[data-theme="forge"] .ql-trail-title { font-family: var(--forge-font-display); color: var(--rf-cream); }
html[data-theme="forge"] .ql-trail-tag { font-family: var(--forge-font-display); background: rgba(217,115,30,0.2); color: var(--rf-secondary); border-radius: var(--rf-radius); }
html[data-theme="forge"] .ql-trail-steps { border-left: 2px solid var(--forge-gold-deep); }
html[data-theme="forge"] .ql-step-name { font-family: var(--forge-font-display); color: var(--rf-text); }
html[data-theme="forge"] .ql-step--done .ql-step-mark { color: var(--rf-success); }
html[data-theme="forge"] .ql-step--current { background: rgba(233,196,104,0.1); border: 1px solid var(--rf-border-2); border-radius: var(--rf-radius); }
html[data-theme="forge"] .ql-step--current .ql-step-mark { color: var(--rf-primary); }
html[data-theme="forge"] .ql-step--current .ql-step-name { color: var(--rf-primary); }

/* ---- GM-beskeder ---- */
html[data-theme="forge"] .broadcasts-panel { background: rgba(217,115,30,0.06); border: 1.5px solid var(--rf-border); border-radius: var(--rf-radius); }
html[data-theme="forge"] .broadcasts-panel-title { font-family: var(--forge-font-display); color: var(--rf-cream); }
html[data-theme="forge"] .bcast-item { border-radius: var(--rf-radius); border-left-width: 3px; color: var(--rf-text); }
html[data-theme="forge"] .bcast-item.story { background: rgba(138,109,176,0.10); border-left-color: var(--rf-purple); }
html[data-theme="forge"] .bcast-item.announcement { background: rgba(91,134,184,0.10); border-left-color: var(--rf-info); }
html[data-theme="forge"] .bcast-item.warning { background: rgba(217,115,30,0.10); border-left-color: var(--rf-secondary); }
html[data-theme="forge"] .bcast-item.celebration { background: rgba(138,162,78,0.10); border-left-color: var(--rf-success); }

/* ---- Diverse ---- */
html[data-theme="forge"] .class-badge { font-family: var(--forge-font-display); }
html[data-theme="forge"] .quests-browse-link { border: 1px dashed var(--forge-gold-deep); color: var(--rf-primary); border-radius: var(--rf-radius); }
html[data-theme="forge"] .questline-row-checkin { border-color: var(--rf-success); color: var(--rf-success); border-radius: var(--rf-radius); }


/* ============================================================
   SIDE-SPECIFIKKE KOMPONENTER — smedet over (battle, quiz,
   treasure, om, info, wanted, chat, bounty, signup, submit-quiz)
   ============================================================ */

/* ---- battle.html ---- */
html[data-theme="forge"] .battle-card { background: linear-gradient(180deg, rgba(16,13,9,0.78), rgba(8,7,5,0.85)); border: 2px solid var(--forge-gold-deep); border-radius: var(--rf-radius-lg); box-shadow: inset 0 0 0 1px rgba(233,196,104,0.28), inset 0 0 22px rgba(0,0,0,0.6); }
html[data-theme="forge"] .question-text { font-family: var(--forge-font-body); color: var(--rf-cream); }
html[data-theme="forge"] .answer-btn { background: rgba(16,13,9,0.7); border: 1.5px solid var(--forge-gold-deep); border-radius: var(--rf-radius); color: var(--rf-cream); font-family: var(--forge-font-display); letter-spacing: 0.03em; }
html[data-theme="forge"] .answer-btn:hover { background: rgba(233,196,104,0.08); }
html[data-theme="forge"] .answer-btn.selected { background: rgba(233,196,104,0.18); border-color: var(--rf-primary); color: var(--rf-primary); }
html[data-theme="forge"] .answer-btn.correct { background: rgba(138,162,78,0.22); border-color: var(--rf-success); }
html[data-theme="forge"] .answer-btn.wrong { background: rgba(192,70,30,0.2); border-color: var(--rf-danger); }
html[data-theme="forge"] .countdown-ring { font-family: var(--forge-font-display); color: var(--rf-primary); text-shadow: 0 2px 0 #5a3d12; }
html[data-theme="forge"] .countdown-ring.urgent { color: var(--rf-secondary); }
html[data-theme="forge"] .rps-btn { background: rgba(16,13,9,0.7); border: 2px solid var(--forge-gold-deep); border-radius: var(--rf-radius); color: var(--rf-cream); }
html[data-theme="forge"] .rps-btn:hover { background: rgba(233,196,104,0.08); border-color: var(--rf-border-2); }
html[data-theme="forge"] .rps-btn.selected { background: rgba(233,196,104,0.18); border-color: var(--rf-primary); }
html[data-theme="forge"] .round-result-row { background: rgba(233,196,104,0.05); border-radius: var(--rf-radius); }
html[data-theme="forge"] .score-dot.win  { background: var(--rf-success); border-color: var(--rf-success-2); }
html[data-theme="forge"] .score-dot.loss { background: var(--rf-danger); border-color: var(--rf-danger-2); }
html[data-theme="forge"] .score-dot.draw { background: var(--rf-primary); border-color: var(--rf-primary-2); }

/* ---- quiz.html ---- */
html[data-theme="forge"] .quiz-card { background: var(--rf-surface); border: 2px solid var(--forge-gold-deep); border-radius: var(--rf-radius-lg); box-shadow: inset 0 0 0 1px rgba(233,196,104,0.28), inset 0 0 22px rgba(0,0,0,0.6); }
html[data-theme="forge"] .quiz-card-title { font-family: var(--forge-font-display); color: var(--rf-cream); }
html[data-theme="forge"] .quiz-time-badge { font-family: var(--forge-font-display); background: rgba(217,115,30,0.2); color: var(--rf-secondary); border-radius: var(--rf-radius); }
html[data-theme="forge"] .quiz-start-btn { font-family: var(--forge-font-display); letter-spacing: 0.1em; text-transform: uppercase; background: var(--forge-gold-grad); color: var(--rf-on-primary); border: 1px solid var(--forge-gold-edge); border-radius: var(--rf-radius); text-shadow: 0 1px 0 rgba(255,235,180,0.5); box-shadow: 0 3px 0 #4a3416, 0 6px 12px rgba(0,0,0,0.45); }
html[data-theme="forge"] .quiz-my-score { background: rgba(233,196,104,0.08); border: 1px solid var(--rf-border); border-radius: var(--rf-radius); }
html[data-theme="forge"] .progress-dot.done { background: var(--rf-primary); }
html[data-theme="forge"] .progress-dot.current { background: var(--rf-primary); box-shadow: 0 0 8px rgba(233,196,104,0.5); }
html[data-theme="forge"] .question-number { font-family: var(--forge-font-display); color: var(--rf-primary-2); letter-spacing: 0.1em; }
html[data-theme="forge"] .option-btn { background: rgba(16,13,9,0.7); border: 1.5px solid var(--forge-gold-deep); border-radius: var(--rf-radius); color: var(--rf-cream); font-family: var(--forge-font-body); }
html[data-theme="forge"] .option-btn.selected { border-color: var(--rf-primary); background: rgba(233,196,104,0.12); }
html[data-theme="forge"] .option-btn.correct { border-color: var(--rf-success); background: rgba(138,162,78,0.14); }
html[data-theme="forge"] .option-btn.wrong { border-color: var(--rf-danger); background: rgba(192,70,30,0.12); }
html[data-theme="forge"] .option-letter { background: rgba(233,196,104,0.12); font-family: var(--forge-font-display); color: var(--rf-cream); }
html[data-theme="forge"] .option-btn.selected .option-letter { background: var(--rf-primary); color: var(--rf-on-primary); }
html[data-theme="forge"] .option-btn.correct .option-letter { background: var(--rf-success); color: var(--rf-on-primary); }
html[data-theme="forge"] .option-btn.wrong .option-letter { background: var(--rf-danger); color: #fff; }
html[data-theme="forge"] .result-score { font-family: var(--forge-font-display); color: var(--rf-primary); text-shadow: 0 2px 0 #5a3d12; }
html[data-theme="forge"] .result-score-label { font-family: var(--forge-font-display); }
html[data-theme="forge"] .result-points-box { background: rgba(138,162,78,0.12); border: 1px solid rgba(138,162,78,0.3); border-radius: var(--rf-radius); }
html[data-theme="forge"] .result-points-big { font-family: var(--forge-font-display); color: var(--rf-success); }
html[data-theme="forge"] .answer-row.correct-row { background: rgba(138,162,78,0.1); }
html[data-theme="forge"] .answer-row.wrong-row { background: rgba(192,70,30,0.1); }
html[data-theme="forge"] .quiz-lb-row { background: rgba(233,196,104,0.04); border-radius: var(--rf-radius); }
html[data-theme="forge"] .quiz-lb-row.is-me { background: rgba(233,196,104,0.1); border: 1px solid var(--rf-border-2); }
html[data-theme="forge"] .quiz-lb-row.gold { background: rgba(233,196,104,0.15); }
html[data-theme="forge"] .quiz-lb-row.gold .lb-rank-cell { color: var(--rf-primary); }
html[data-theme="forge"] .lb-rank-cell { font-family: var(--forge-font-display); }
html[data-theme="forge"] .lb-points-cell { font-family: var(--forge-font-display); color: var(--rf-primary); }
html[data-theme="forge"] .countdown-bar { font-family: var(--forge-font-display); color: var(--rf-primary); }
html[data-theme="forge"] .live-label { color: var(--rf-secondary); font-family: var(--forge-font-display); }
html[data-theme="forge"] .live-label::before { background: var(--rf-secondary); }
html[data-theme="forge"] .tax-badge { background: rgba(233,196,104,0.1); border: 1px solid var(--rf-border); color: var(--rf-primary); border-radius: var(--rf-radius); }
html[data-theme="forge"] .filter-chip.active { background: rgba(233,196,104,0.14); border-color: var(--rf-border-2); color: var(--rf-primary); }
html[data-theme="forge"] .section-label { font-family: var(--forge-font-display); letter-spacing: 0.16em; color: var(--rf-primary-2); opacity: 1; }

/* ---- treasure.html ---- */
html[data-theme="forge"] .treasure-title, html[data-theme="forge"] .unlock-title { background: none !important; -webkit-text-fill-color: var(--rf-cream) !important; color: var(--rf-cream) !important; font-family: var(--forge-font-display); text-shadow: var(--forge-text-shadow); }
html[data-theme="forge"] .treasure-description { border-left: 3px solid var(--forge-gold-deep); background: rgba(233,196,104,0.06); border-radius: 0; }
html[data-theme="forge"] .unlock-description { border-left-color: var(--rf-purple); background: rgba(138,109,176,0.1); }
html[data-theme="forge"] .treasure-points { font-family: var(--forge-font-display); color: var(--rf-primary); text-shadow: 0 0 26px rgba(233,196,104,0.32), 0 2px 0 #5a3d12; }
html[data-theme="forge"] .treasure-points.negative { color: var(--rf-secondary); }
html[data-theme="forge"] .first-finder-badge { background: var(--forge-gold-grad); color: var(--rf-on-primary); border-radius: var(--rf-radius); font-family: var(--forge-font-display); box-shadow: 0 3px 0 #4a3416; }
html[data-theme="forge"] .card-front { border-color: var(--forge-gold-deep); background: linear-gradient(160deg, #16110a, #0a0806); }
html[data-theme="forge"] .card-points { font-family: var(--forge-font-display); color: var(--rf-primary); }
html[data-theme="forge"] .card-name { font-family: var(--forge-font-display); color: var(--rf-cream); }
html[data-theme="forge"] .feature-unlocked-banner { background: rgba(138,109,176,0.14); border: 1px solid rgba(138,109,176,0.4); border-radius: var(--rf-radius); }

/* ---- om.html ---- */
html[data-theme="forge"] .om-name { background: none !important; -webkit-text-fill-color: var(--rf-cream) !important; color: var(--rf-cream) !important; font-family: var(--forge-font-display); text-shadow: var(--forge-text-shadow); }
html[data-theme="forge"] .om-tagline { font-family: var(--forge-font-display); color: var(--rf-primary-2); }
html[data-theme="forge"] .om-fact { background: rgba(233,196,104,0.05); border: 1px solid var(--rf-border); border-radius: var(--rf-radius); }
html[data-theme="forge"] .om-fact-value { font-family: var(--forge-font-display); color: var(--rf-cream); }
html[data-theme="forge"] .om-tech-tag { background: rgba(233,196,104,0.1); border: 1px solid var(--rf-border); color: var(--rf-primary); border-radius: var(--rf-radius); }
html[data-theme="forge"] .om-quote { background: rgba(233,196,104,0.06); border-left: 3px solid var(--forge-gold-deep); border-radius: 0; font-family: var(--forge-font-body); }

/* ---- info.html ---- */
html[data-theme="forge"] .welcome-card { background: rgba(91,134,184,0.08); border: 1px solid rgba(91,134,184,0.3); border-radius: var(--rf-radius); }
html[data-theme="forge"] .guide-list li { border-left: 3px solid var(--forge-gold-deep); background: rgba(233,196,104,0.04); border-radius: 0; }
html[data-theme="forge"] .guide-list li strong { color: var(--rf-primary); }
html[data-theme="forge"] .nfc-card { background: rgba(233,196,104,0.04); border: 1px solid var(--rf-border); border-radius: var(--rf-radius); }
html[data-theme="forge"] .nfc-card-text strong { color: var(--rf-primary); }
html[data-theme="forge"] .alliance-row { background: rgba(233,196,104,0.04); border-radius: var(--rf-radius); }
html[data-theme="forge"] .alliance-name { font-family: var(--forge-font-display); color: var(--rf-cream); }
html[data-theme="forge"] .bcast-card { background: rgba(233,196,104,0.04); border-radius: var(--rf-radius); }
html[data-theme="forge"] .bcast-card.announcement { border-left-color: var(--rf-secondary); }
html[data-theme="forge"] .bcast-card.warning { border-left-color: var(--rf-danger); }
html[data-theme="forge"] .bcast-card.celebration { border-left-color: var(--rf-success); }
html[data-theme="forge"] .noedblus-cat { background: rgba(233,196,104,0.04); border: 1px solid var(--rf-border); border-radius: var(--rf-radius); }
html[data-theme="forge"] .noedblus-cat.selected { background: rgba(192,70,30,0.15); border-color: var(--rf-danger); }
html[data-theme="forge"] .noedblus-sent { background: rgba(192,70,30,0.1); border: 1px solid rgba(192,70,30,0.3); border-radius: var(--rf-radius); }

/* ---- wanted.html ---- */
html[data-theme="forge"] .wanted-intro { background: rgba(192,70,30,0.08); border: 1px solid rgba(192,70,30,0.3); border-radius: var(--rf-radius); }
html[data-theme="forge"] .wanted-row { background: rgba(16,13,9,0.65); border: 1.5px solid rgba(192,70,30,0.25); border-radius: var(--rf-radius); }
html[data-theme="forge"] .wanted-row.top { background: linear-gradient(135deg, rgba(192,70,30,0.2), rgba(16,13,9,0.6)); border-color: rgba(192,70,30,0.55); }
html[data-theme="forge"] .wanted-name { font-family: var(--forge-font-display); color: var(--rf-cream); }
html[data-theme="forge"] .wanted-streak { background: rgba(192,70,30,0.25); color: var(--rf-secondary); border-radius: var(--rf-radius); font-family: var(--forge-font-display); }
html[data-theme="forge"] .wanted-payout { background: rgba(138,162,78,0.14); color: var(--rf-success); border-radius: var(--rf-radius); font-family: var(--forge-font-display); }

/* ---- chat.html ---- */
html[data-theme="forge"] .chat-msgs { background: rgba(16,13,9,0.5); border: 1px solid var(--rf-border); border-radius: var(--rf-radius); }
html[data-theme="forge"] .chat-msg { background: rgba(233,196,104,0.05); border-radius: var(--rf-radius); }
html[data-theme="forge"] .chat-msg.mine { background: rgba(233,196,104,0.12); }
html[data-theme="forge"] .chat-msg-sender { font-family: var(--forge-font-display); color: var(--rf-primary-2); opacity: 1; }
html[data-theme="forge"] .chat-closed-note { background: rgba(192,70,30,0.1); border: 1px solid rgba(192,70,30,0.3); border-radius: var(--rf-radius); }

/* ---- bounty-board.html ---- */
html[data-theme="forge"] .filter-btn { background: rgba(233,196,104,0.05); border: 1px solid var(--rf-border); border-radius: var(--rf-radius); color: var(--rf-text); font-family: var(--forge-font-display); }
html[data-theme="forge"] .filter-btn.active { background: rgba(233,196,104,0.16); border-color: var(--rf-border-2); color: var(--rf-primary); }
html[data-theme="forge"] .bounty-row { background: rgba(16,13,9,0.65); border: 1.5px solid var(--rf-border); border-radius: var(--rf-radius); }
html[data-theme="forge"] .bounty-target { font-family: var(--forge-font-display); color: var(--rf-cream); }
html[data-theme="forge"] .claim-btn { background: var(--forge-gold-grad); color: var(--rf-on-primary); border: 1px solid var(--forge-gold-edge); border-radius: var(--rf-radius); font-family: var(--forge-font-display); box-shadow: 0 3px 0 #4a3416; }

/* ---- signup.html ---- */
html[data-theme="forge"] .step-input { background: rgba(8,7,5,0.7); border: 1.5px solid var(--forge-gold-deep); border-radius: var(--rf-radius); color: var(--rf-cream); }
html[data-theme="forge"] .step-label { font-family: var(--forge-font-display); color: var(--rf-text-muted); }
html[data-theme="forge"] .primary-btn { background: var(--forge-gold-grad); color: var(--rf-on-primary); border: 1px solid var(--forge-gold-edge); border-radius: var(--rf-radius); font-family: var(--forge-font-display); letter-spacing: 0.08em; box-shadow: 0 3px 0 #4a3416, 0 6px 12px rgba(0,0,0,0.45); }
html[data-theme="forge"] .secondary-btn { background: transparent; color: var(--rf-primary); border: 1.5px solid var(--forge-gold-deep); border-radius: var(--rf-radius); font-family: var(--forge-font-display); }
html[data-theme="forge"] .nfc-status { background: rgba(233,196,104,0.06); border: 1px solid var(--rf-border); border-radius: var(--rf-radius); }
html[data-theme="forge"] .qr-container { background: rgba(233,196,104,0.05); border: 1px solid var(--rf-border); border-radius: var(--rf-radius); }

/* ---- submit-quiz.html ---- */
html[data-theme="forge"] .q-card { background: rgba(16,13,9,0.6) !important; border: 1.5px solid var(--rf-border) !important; border-radius: var(--rf-radius); }
html[data-theme="forge"] .q-num { font-family: var(--forge-font-display); color: var(--rf-primary-2); }
html[data-theme="forge"] .pill { border-radius: var(--rf-radius); font-family: var(--forge-font-display); }
