/* ═══════════════════════════════════════════════════════
 *  Thème A — Forge Obsidienne (sombre, or forgé)
 *  Appliqué via body[data-theme="obsidian"]
 * ═══════════════════════════════════════════════════════ */

body[data-theme="obsidian"] {
  background:
    radial-gradient(ellipse 80% 50% at 50% -8%, rgba(196,30,58,0.16), transparent 62%),
    radial-gradient(ellipse 60% 60% at 100% 108%, rgba(106,159,212,0.05), transparent 55%),
    linear-gradient(180deg, #0a0b0f 0%, #0d0e13 100%);
  color: #e8eaed;
  /* ── Tokens v2 (consommés par components.css et les nouvelles vues) ── */
  --bg-app:    #0d0e13;
  --bg-panel:  #121419;
  --bg-raised: #14161d;
  --ink-high:  #e8eaed;
  --ink-mid:   #a8b0bc;
  --ink-low:   #8890a0;
  --line:        #242833;
  --line-strong: #2c313d;
  /* ── Alias legacy ── */
  --bg:           #0d0e13;
  --bg-card:      #16191f;
  --bg-elevated:  #1c2029;
  --border-mid:   #2c313d;
  --border-dim:   #242833;
  --text:         #e8eaed;
  --text-muted:   #a8b0bc;
  --text-dim:     #8890a0;
  --red:          #c41e3a;
  --red-light:    #e8354f;
  --gold:         #e8b84b;
  --gold-light:   #f5d98a;
  --blue:         #6a9fd4;
  --blue-light:   #8ab8e0;
  --purple:       #b39be8;
  --purple-light: #c8b8f0;
  --green:        #5abf7a;
  --green-light:  #7ad494;
}

/* Texture d'étincelles */
body[data-theme="obsidian"]::before {
  content: '';
  position: fixed; inset: 0; z-index: -1; pointer-events: none;
  background-image:
    radial-gradient(circle at 12% 18%, rgba(232,184,75,0.05) 0, transparent 2px),
    radial-gradient(circle at 78% 32%, rgba(196,30,58,0.06) 0, transparent 2px),
    radial-gradient(circle at 42% 78%, rgba(232,184,75,0.04) 0, transparent 2px);
  background-size: 220px 220px, 280px 280px, 200px 200px;
}

/* Header */
body[data-theme="obsidian"] header {
  background:
    radial-gradient(ellipse 80% 130% at 50% -25%, rgba(196,30,58,0.26), transparent 60%),
    linear-gradient(180deg, #070709, #0a0b0f) !important;
  border-bottom: 1px solid transparent !important;
  border-image: linear-gradient(90deg, transparent, rgba(232,184,75,0.4), #c41e3a, rgba(232,184,75,0.4), transparent) 1 !important;
}

/* Forge bar */
body[data-theme="obsidian"] #forge-bar {
  background: #0c0d12 !important;
  border-bottom: 1px solid #20242e !important;
}

/* Nav : plus d'override de thème — la nav « intercalaires » (forge.css) est
   100 % tokens et flippe seule (or sur l'actif, plus de rouge ni de !important). */

/* Cards */
body[data-theme="obsidian"] .card,
body[data-theme="obsidian"] .grim-vital-card,
body[data-theme="obsidian"] .grim-stats-card,
body[data-theme="obsidian"] .grim-identity {
  background: linear-gradient(180deg, #16191f, #111319) !important;
  border: 1px solid #2c313d !important;
  border-radius: 9px !important;
  box-shadow: 0 6px 26px rgba(0,0,0,0.5), inset 0 1px 0 rgba(255,255,255,0.03) !important;
  position: relative !important;
}
/* Filigrane doré en haut */
body[data-theme="obsidian"] .card::before,
body[data-theme="obsidian"] .grim-vital-card::before,
body[data-theme="obsidian"] .grim-stats-card::before,
body[data-theme="obsidian"] .grim-identity::before {
  content: '' !important;
  position: absolute !important; top: 0 !important; left: 14px !important; right: 14px !important; height: 2px !important;
  background: linear-gradient(90deg, transparent, rgba(232,184,75,0.6) 30%, rgba(232,184,75,0.85) 50%, rgba(232,184,75,0.6) 70%, transparent) !important;
  border-radius: 2px !important;
}
/* Cadres dorés aux coins */
body[data-theme="obsidian"] .grim-identity::after,
body[data-theme="obsidian"] .grim-stats-card::after {
  content: '' !important;
  position: absolute !important; inset: 6px !important; border-radius: 6px !important; pointer-events: none !important;
  background:
    linear-gradient(#e8b84b,#e8b84b) left top, linear-gradient(#e8b84b,#e8b84b) left top,
    linear-gradient(#e8b84b,#e8b84b) right top, linear-gradient(#e8b84b,#e8b84b) right top,
    linear-gradient(#e8b84b,#e8b84b) left bottom, linear-gradient(#e8b84b,#e8b84b) left bottom,
    linear-gradient(#e8b84b,#e8b84b) right bottom, linear-gradient(#e8b84b,#e8b84b) right bottom !important;
  background-repeat: no-repeat !important;
  background-size: 14px 1.5px, 1.5px 14px !important;
  opacity: 0.45 !important;
}

/* Avatar / portrait */
body[data-theme="obsidian"] .avatar-wrap {
  background: radial-gradient(ellipse at 50% 30%, #20242e, #0d0f14) !important;
  border: 1px solid #2c313d !important;
  box-shadow: inset 0 0 0 3px rgba(232,184,75,0.18), inset 0 0 40px rgba(0,0,0,0.6) !important;
}

/* Nom du personnage */
body[data-theme="obsidian"] .char-name-input { color: #f3ede0 !important; border-bottom: 1px solid #2c313d !important; }
body[data-theme="obsidian"] .char-sub select { background: #1c2029 !important; border: 1px solid #2e333f !important; color: #d4d9e2 !important; }

/* Méta (niveau/maîtrise/inspiration) */
body[data-theme="obsidian"] .grim-meta-row { border-top: 1px solid #2c313d !important; border-bottom: 1px solid #2c313d !important; }
body[data-theme="obsidian"] .grim-meta-label { color: #8890a0 !important; }
body[data-theme="obsidian"] .grim-meta-value { color: #f3ede0 !important; }

/* XP */
body[data-theme="obsidian"] .xp-label { color: #e8354f !important; }
body[data-theme="obsidian"] .xp-bar-wrap { background: #1c2029 !important; border: 1px solid #2e333f !important; }
body[data-theme="obsidian"] .xp-bar-fill { background: linear-gradient(90deg, #c41e3a, #e8b84b) !important; }

/* HP */
body[data-theme="obsidian"] .grim-hp-card { background: linear-gradient(180deg, #16191f, #111319) !important; border-top: 2px solid #c41e3a !important; }
body[data-theme="obsidian"] #hpCurrent { color: #e8354f !important; text-shadow: 0 0 22px rgba(232,53,79,0.35) !important; }
body[data-theme="obsidian"] .grim-hp-max-label,
body[data-theme="obsidian"] #hpMax { color: #8890a0 !important; }
body[data-theme="obsidian"] .grim-hp-heart { color: #c41e3a !important; opacity: 0.8 !important; }
body[data-theme="obsidian"] .grim-hp-bar { background: #1c2029 !important; }
body[data-theme="obsidian"] .grim-hp-bar-fill { background: linear-gradient(90deg, #8a1428, #e8454a) !important; }

/* Cartes vitals CA/Init/Speed */
body[data-theme="obsidian"] .grim-vital-card.accent-blue { border-top: 2px solid #6a9fd4 !important; }
body[data-theme="obsidian"] .grim-vital-card.accent-gold { border-top: 2px solid #e8b84b !important; }
body[data-theme="obsidian"] .grim-vital-card.accent-purple { border-top: 2px solid #b39be8 !important; }
body[data-theme="obsidian"] .grim-vital-label { color: #8890a0 !important; }
body[data-theme="obsidian"] .grim-vital-value { color: #f3ede0 !important; }
body[data-theme="obsidian"] .grim-vital-badge { background: radial-gradient(circle, #1c2029, #0e1014) !important; }
body[data-theme="obsidian"] .grim-vital-badge.blue   { color: #6a9fd4 !important; box-shadow: inset 0 0 0 1px rgba(106,159,212,0.3), 0 0 18px rgba(106,159,212,0.18) !important; }
body[data-theme="obsidian"] .grim-vital-badge.gold   { color: #e8b84b !important; box-shadow: inset 0 0 0 1px rgba(232,184,75,0.3), 0 0 18px rgba(232,184,75,0.18) !important; }
body[data-theme="obsidian"] .grim-vital-badge.purple { color: #b39be8 !important; box-shadow: inset 0 0 0 1px rgba(179,155,232,0.3), 0 0 18px rgba(179,155,232,0.18) !important; }
body[data-theme="obsidian"] .grim-vital-card.accent-blue .grim-vital-value { color: #6a9fd4 !important; }
body[data-theme="obsidian"] .grim-vital-card.accent-gold .grim-vital-value { color: #e8b84b !important; }
body[data-theme="obsidian"] .grim-vital-card.accent-purple .grim-vital-value { color: #b39be8 !important; }

/* Grille stats */
body[data-theme="obsidian"] .grim-stats-title { color: #e8354f !important; }
body[data-theme="obsidian"] .grim-stat-name { color: #8890a0 !important; }
body[data-theme="obsidian"] .grim-stat-mod  { color: #f3ede0 !important; }
body[data-theme="obsidian"] .grim-stat-score { color: #e8b84b !important; }
body[data-theme="obsidian"] .grim-stat-save { border-top: 1px solid #242833 !important; color: #8890a0 !important; }
body[data-theme="obsidian"] .grim-stat-save-dot { border: 1px solid #4a5260 !important; background: transparent !important; }
body[data-theme="obsidian"] .grim-stat-save-dot.proficient { background: #e8b84b !important; border-color: #e8b84b !important; box-shadow: 0 0 5px rgba(232,184,75,0.6) !important; }
body[data-theme="obsidian"] .grim-stat-save-val.proficient { color: #f5d98a !important; }
