/* ============================================================
   Fiche de personnage — « la vitrine du héros » (v2 : showcase + onglets)
   Isolé sous le préfixe .pf- / .tab / .panel (aucune dépendance à
   parchemin.css, édité en parallèle). Réutilise seulement les variables :root.
   ============================================================ */

/* Neutralise le panneau parchemin du layout pour laisser la scène respirer
   (même procédé que l'accueil / les pages de compte). :has() => repli gracieux. */
.parchemin:has(.pf){ background:none; border:0; box-shadow:none; padding:18px 0; }

.pf{ display:flex; flex-direction:column; gap:18px; }

/* ============================================================
   A. EN-TÊTE SHOWCASE ANIMÉ
   ============================================================ */
.pf-hero{ position:relative; overflow:hidden; border-radius:22px; padding:32px 34px; color:#f4e8c8;
  background:
    radial-gradient(130% 150% at 82% -30%, rgba(216,178,94,.30), transparent 60%),
    linear-gradient(135deg,#2b2114 0%, #1b1510 55%, #251c10 100%);
  border:1px solid var(--or-fonce); box-shadow:0 26px 64px rgba(0,0,0,.5), inset 0 1px 0 rgba(255,255,255,.07);
  animation:heroIn .7s ease both; }

/* Scène animée derrière le contenu (aura, rayons, particules, filigrane) */
.pf-scene{ position:absolute; inset:0; overflow:hidden; pointer-events:none; z-index:0; }
/* Aura pulsante — teintes pilotées par les custom props --aura-1/--aura-2 (posées inline sur .pf-hero) */
.pf-aura{ position:absolute; left:8%; top:50%; width:min(560px,72%); aspect-ratio:1; transform:translateY(-50%);
  border-radius:50%; filter:blur(6px);
  background:radial-gradient(circle, var(--aura-1,rgba(150,90,200,.55)), var(--aura-2,rgba(60,150,90,.20)), transparent 70%); }
/* Rayons tournants, masqués en radial */
.pf-rays{ position:absolute; left:8%; top:50%; width:min(520px,68%); aspect-ratio:1; transform:translate(-4%,-50%);
  background:repeating-conic-gradient(from 0deg, rgba(240,214,126,.10) 0deg 6deg, transparent 6deg 20deg);
  border-radius:50%; opacity:.7;
  -webkit-mask:radial-gradient(circle, #000 20%, transparent 62%); mask:radial-gradient(circle, #000 20%, transparent 62%); }
/* Particules d'âmes : 6 motes, violet/vert alterné */
.mote{ position:absolute; bottom:-10px; width:7px; height:7px; border-radius:50%; opacity:0;
  background:radial-gradient(circle, rgba(190,140,235,.95), rgba(150,90,200,.25)); box-shadow:0 0 10px rgba(170,110,215,.7); }
.mote:nth-child(4){ left:14%; } .mote:nth-child(5){ left:30%; width:5px; height:5px; }
.mote:nth-child(6){ left:44%; } .mote:nth-child(7){ left:58%; width:6px; height:6px; }
.mote:nth-child(8){ left:72%; width:4px; height:4px; } .mote:nth-child(9){ left:86%; }
/* motes vertes (les impaires du groupe) */
.mote:nth-child(5), .mote:nth-child(7), .mote:nth-child(9){
  background:radial-gradient(circle, rgba(120,210,150,.95), rgba(60,150,90,.25)); box-shadow:0 0 10px rgba(90,190,120,.7); }
/* Filigrane crânien */
.pf-filigrane{ position:absolute; right:-6px; bottom:-64px; font-size:250px; line-height:1; opacity:.05; }
/* Sheen : brillance qui glisse en travers du hero */
.pf-sheen{ position:absolute; inset:0; z-index:1; pointer-events:none; overflow:hidden; border-radius:22px; }
.pf-sheen::before{ content:''; position:absolute; top:0; bottom:0; width:45%; left:-70%;
  background:linear-gradient(105deg, transparent, rgba(255,255,255,.14), transparent); transform:skewX(-18deg); }

.pf-hero-inner{ position:relative; z-index:2; display:flex; gap:28px; align-items:center; flex-wrap:wrap; }

/* Médaillon portrait : anneau conique or + studs + cœur avatar */
.pf-med{ position:relative; flex:0 0 auto; }
.pf-med-rim{ position:relative; display:flex; align-items:center; justify-content:center; padding:9px; border-radius:50%;
  background:conic-gradient(from 210deg,#8a6d2f,#f0d67e 12%,#c9a24a 26%,#f5db85 40%,#a8842f 54%,#f0d67e 70%,#8a6d2f 84%,#e9c869 100%);
  box-shadow:0 6px 18px rgba(0,0,0,.5), inset 0 2px 3px rgba(255,255,255,.6), inset 0 -3px 6px rgba(0,0,0,.4),
    0 0 34px var(--aura-halo,rgba(170,110,215,.45)); }
.pf-med-rim::after{ content:''; position:absolute; inset:6px; border-radius:50%; border:1.5px solid rgba(42,29,14,.28); pointer-events:none; }
.pf-med-stud{ position:absolute; width:9px; height:9px; border-radius:50%; z-index:3;
  background:radial-gradient(circle at 35% 30%,#fff2c4,#c9a24a); box-shadow:0 1px 2px rgba(0,0,0,.5); }
.pf-med-stud.tl{ top:6px; left:6px; } .pf-med-stud.tr{ top:6px; right:6px; }
.pf-med-stud.bl{ bottom:6px; left:6px; } .pf-med-stud.br{ bottom:6px; right:6px; }

.pf-portrait{ position:relative; border:0; background:none; padding:0; cursor:default; }
button.pf-portrait{ cursor:pointer; }
.pf-ava{ display:flex; align-items:center; justify-content:center; width:158px; height:158px; border-radius:50%;
  overflow:hidden; font-size:78px; color:#3a2c12; background:radial-gradient(circle at 30% 25%,#fff3cf,#caa24f);
  box-shadow:inset 0 3px 8px rgba(0,0,0,.55); }
.pf-ava img{ width:100%; height:100%; object-fit:cover; }
.pf-portrait-voile{ position:absolute; inset:0; border-radius:50%; display:flex; align-items:center; justify-content:center;
  font-size:34px; background:rgba(20,14,6,.55); color:#fff; opacity:0; transition:opacity .18s; }
button.pf-portrait:hover .pf-portrait-voile{ opacity:1; }

.pf-id{ flex:1 1 280px; min-width:0; }
/* Blason de voie */
.pf-crest{ display:inline-flex; align-items:center; gap:6px; font-family:var(--serif); font-weight:700; font-size:12px;
  letter-spacing:1.4px; text-transform:uppercase; color:#f0dcff; padding:5px 13px; border-radius:999px; margin:0 0 9px;
  background:linear-gradient(180deg,rgba(120,70,170,.55),rgba(70,40,110,.5)); border:1px solid rgba(190,150,230,.55);
  box-shadow:0 3px 10px rgba(90,50,150,.35); }
.pf-titre{ display:flex; align-items:center; gap:7px; font-family:var(--serif); font-weight:700; font-size:12px;
  letter-spacing:2.5px; text-transform:uppercase; color:#e9c876; margin:0 0 5px; }
.pf-id h1{ font-family:var(--serif); font-weight:700; font-size:clamp(28px,4.4vw,42px); line-height:1.04; margin:0;
  color:#fff8ea; text-shadow:0 0 20px var(--aura-halo,rgba(170,110,215,.45)), 0 2px 5px rgba(0,0,0,.55); }
.pf-prestige-rang{ margin:8px 0 0; }
.pf-meta{ color:#dbcaa0; font-size:15px; margin:7px 0 0; }
.pf-lieu{ font-size:13.5px; margin:5px 0 0; color:#cdb88c; } .pf-lieu a{ color:#e9c876; text-decoration:none; }
.pf-lieu a:hover{ text-decoration:underline; }

.pf-stats{ display:flex; gap:10px; flex-wrap:wrap; margin:18px 0 0; }
.pf-medaille{ min-width:76px; text-align:center; padding:10px 14px; border-radius:14px;
  background:linear-gradient(180deg,rgba(255,255,255,.09),rgba(0,0,0,.20)); border:1px solid rgba(216,178,94,.4); }
.pf-medaille .n{ font-family:var(--serif); font-weight:700; font-size:22px; line-height:1; color:#fff8ea; }
.pf-medaille .l{ font-size:10px; text-transform:uppercase; letter-spacing:.5px; color:#c9b58a; margin-top:4px; }
.pf-medaille.is-gloire{ background:linear-gradient(180deg,#f6de9c,#e3b757); border-color:var(--or); box-shadow:0 6px 18px rgba(216,178,94,.35); }
.pf-medaille.is-gloire .n{ color:#3a2c12; } .pf-medaille.is-gloire .l{ color:#6a4f1c; }
.pf-medaille.is-energie .n{ font-size:18px; }

.pf-vitals{ display:flex; gap:10px; flex-wrap:wrap; margin:14px 0 0; }
.pf-vital{ display:inline-flex; align-items:center; gap:6px; font-size:13px; color:#e6d4a6;
  padding:5px 12px; border-radius:999px; background:rgba(0,0,0,.25); border:1px solid rgba(216,178,94,.3); }
.pf-vital b{ color:#fff8ea; }

.pf-prog{ max-width:440px; margin:16px 0 0; }
.pf-prog-tete{ display:flex; justify-content:space-between; font-size:11px; font-weight:700; text-transform:uppercase;
  letter-spacing:.4px; color:#cdb88c; }
.pf-prog-barre{ height:8px; margin-top:5px; border-radius:5px; overflow:hidden; background:rgba(0,0,0,.4); border:1px solid rgba(216,178,94,.3); }
.pf-prog-barre i{ display:block; height:100%; background:linear-gradient(90deg,#e3c172,#f3dd97); }

.pf-cta{ margin:18px 0 0; }
.attaque-bloquee .raison{ font-size:12.5px; color:#e0b9a8; }

/* ============================================================
   RAMPE D'ACCÈS (tuiles de jeu)
   ============================================================ */
.pf-rampe{ display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap:12px; }
.pf-tuile{ display:flex; flex-direction:column; align-items:center; gap:8px; padding:16px 12px; border-radius:14px;
  text-decoration:none; color:var(--encre); font-family:var(--serif); font-weight:700; font-size:14px;
  background:linear-gradient(180deg,#fbf3da,#f1e4c0); border:1px solid var(--bord);
  transition:transform .15s, box-shadow .15s, border-color .15s; }
.pf-tuile:hover{ transform:translateY(-3px); box-shadow:0 14px 28px rgba(0,0,0,.18); border-color:var(--or); }
.pf-tuile-ic{ font-size:28px; line-height:1; }

/* ============================================================
   ONGLETS (barre + panneaux)
   ============================================================ */
.tabbar{ display:flex; gap:6px; flex-wrap:wrap; }
.tab{ display:inline-flex; align-items:center; gap:6px; font-family:var(--serif); font-weight:700; font-size:14px;
  padding:10px 20px; border-radius:12px 12px 0 0; cursor:pointer; color:#7a5f2c;
  background:#f0e2bf; border:1px solid var(--bord); border-bottom:0; transition:background .15s, color .15s; }
.tab:hover{ background:#f6ecd0; }
.tab.on{ background:linear-gradient(180deg,#fbf6e6,#f3e7c6); color:var(--encre);
  box-shadow:0 0 0 1px var(--or) inset; border-color:var(--or-fonce); }
.tab:focus-visible{ outline:2px solid var(--or); outline-offset:2px; }

.panel{ animation:panelIn .3s ease both; }
/* Fallback sans-JS : tous les panneaux visibles (empilés). Le masquage n'entre en jeu
   que si le module a posé .js sur .pf ; alors [hidden] est honoré par le navigateur.
   On force donc l'affichage des panneaux TANT que .js n'est pas là, même avec [hidden]. */
.pf:not(.js) .panel[hidden]{ display:block; }
.pf.js .panel{ display:none; }
.pf.js .panel.on{ display:block; }

/* ============================================================
   Panneaux vitrine (cartes parchemin) — inchangés
   ============================================================ */
.pf-grid{ display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.pf-panel{ background:linear-gradient(180deg,#fbf6e6,#f3e7c6); border:1px solid var(--or-fonce); border-radius:16px;
  padding:20px 22px; box-shadow:0 12px 28px rgba(0,0,0,.12); }
.pf-panel.span2{ grid-column:1 / -1; }
.pf-panel > h2{ display:flex; align-items:center; gap:9px; font-family:var(--serif); font-weight:700; font-size:17px;
  margin:0 0 14px; padding:0 0 9px; border-bottom:2px solid rgba(216,178,94,.45); color:var(--encre); }
.pf-aff-titre{ font-family:var(--serif); font-weight:700; font-size:13px; text-transform:uppercase; letter-spacing:.4px;
  color:#8a6a28; margin:16px 0 9px; }
.pf-aff-titre:first-of-type{ margin-top:4px; }
.pf-sub{ font-size:13.5px; color:#5a431f; margin:10px 0 0; }

/* Rappels d'action (config) */
.pf-rappel{ margin:0 0 14px; padding:.6rem .9rem; border:1px solid #c9a24a; background:#fbf3dd; border-radius:8px; color:#5a4413; }
.pf-rappel a{ color:var(--lien); }

/* Traits innés (trait de race + signature de classe en clair) */
.pf-traits{ list-style:none; margin:0; padding:0; }
.pf-traits li{ display:flex; gap:9px; align-items:flex-start; padding:6px 0; border-bottom:1px dashed rgba(138,109,47,.25); font-size:14px; color:#3f2f14; }
.pf-traits li:last-child{ border-bottom:0; }
.pf-traits .ic{ flex:none; }

/* Attributs */
.pf-attrs{ display:grid; grid-template-columns:repeat(5,1fr); gap:10px; }
.pf-attr{ text-align:center; padding:12px 6px; border-radius:12px; background:linear-gradient(180deg,#fff,#f1e4c0); border:1px solid var(--bord); }
.pf-attr .n{ font-family:var(--serif); font-weight:700; font-size:24px; line-height:1; color:var(--encre); }
.pf-attr .l{ font-size:10.5px; text-transform:uppercase; letter-spacing:.4px; color:#6a5526; margin-top:5px; }
/* Voile « forces secrètes » (visiteur) */
.pf-secret{ position:relative; }
.pf-flou{ filter:blur(5px); opacity:.55; user-select:none; pointer-events:none; }
.pf-voile{ position:absolute; inset:0; display:flex; flex-direction:column; align-items:center; justify-content:center;
  text-align:center; gap:3px; }
.pf-voile .cad{ font-size:26px; } .pf-voile .t{ font-family:var(--serif); font-weight:700; }
.pf-voile .d{ font-size:12.5px; color:#5a431f; max-width:320px; }

/* Affinités */
.pf-affs{ display:flex; flex-wrap:wrap; gap:8px; }
.pf-chip{ display:inline-flex; align-items:center; gap:5px; padding:6px 11px; border-radius:999px; font-size:13px; font-weight:600; border:1px solid; }
.pf-chip b{ font-weight:800; }
.pf-chip.res{ background:rgba(46,156,62,.12); border-color:#7bbf86; color:#1f6b2e; }
.pf-chip.vul{ background:rgba(176,80,60,.13); border-color:#c08a7c; color:#8a2e1a; }

/* Cartes de faits (combats / communauté) */
.pf-cards{ display:flex; gap:10px; flex-wrap:wrap; }
.pf-fact{ flex:1 1 86px; text-align:center; padding:12px 8px; border-radius:12px; background:linear-gradient(180deg,#fff,#f3e7c6); border:1px solid var(--bord); }
.pf-fact .ic{ font-size:20px; } .pf-fact .n{ font-family:var(--serif); font-weight:700; font-size:22px; color:var(--encre); line-height:1.1; }
.pf-fact .l{ font-size:11px; text-transform:uppercase; letter-spacing:.3px; color:#6a5526; }

/* Trophées de boss */
.pf-trophies{ display:flex; flex-wrap:wrap; gap:8px; }
.pf-trophy{ display:inline-flex; align-items:center; gap:7px; padding:7px 12px; border-radius:12px; font-size:13px; font-weight:700;
  background:linear-gradient(180deg,#fbeec0,#f0d894); border:1px solid var(--or); color:var(--encre); }
.pf-trophy .lv{ color:#8a6a28; font-weight:600; }

/* Listes (combats, quêtes) */
.pf-log{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:6px; }
.pf-log li{ display:flex; align-items:center; gap:8px; flex-wrap:wrap; font-size:14px; padding:7px 10px; border-radius:9px; background:rgba(255,255,255,.45); }
.pf-log a{ color:var(--lien); text-decoration:none; } .pf-log a:hover{ text-decoration:underline; }
.pf-log .meta{ color:#8a6a28; font-size:12.5px; }
.pf-issue{ font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.3px; padding:2px 8px; border-radius:999px; }
.pf-issue.victoire{ background:rgba(46,156,62,.16); color:#1f6b2e; }
.pf-issue.defaite{ background:rgba(176,80,60,.16); color:#8a2e1a; }
.pf-issue.nul{ background:rgba(120,120,120,.18); color:#555; }
.pf-voir{ margin-left:auto; font-size:12.5px; }
.pf-pill{ margin-left:auto; font-size:11px; font-weight:700; padding:2px 9px; border-radius:999px; }
.pf-pill.cours{ background:rgba(216,178,94,.2); color:#7a5a16; } .pf-pill.ferme{ background:rgba(120,120,120,.18); color:#555; }
.pf-pill.ok{ background:rgba(46,156,62,.16); color:#1f6b2e; }

/* Présentation RP */
.pf-presentation .pf-quote{ font-family:var(--plume); font-size:16.5px; line-height:1.65; color:#4a3a1d; position:relative; padding-left:18px; }
.pf-presentation .pf-quote::before{ content:"“"; position:absolute; left:-6px; top:-10px; font-family:var(--serif); font-size:48px; color:rgba(216,178,94,.5); }

/* ---------- Tuiles de configuration (atelier) ---------- */
.pf-atelier{ display:grid; grid-template-columns:repeat(auto-fit,minmax(140px,1fr)); gap:12px; margin-bottom:18px; }
.pf-act{ position:relative; display:flex; flex-direction:column; align-items:center; gap:8px; padding:16px 12px;
  border-radius:14px; text-decoration:none; color:var(--encre); font-family:var(--serif); font-weight:700; font-size:14px;
  background:linear-gradient(180deg,#fbf3da,#f1e4c0); border:1px solid var(--bord);
  transition:transform .15s, box-shadow .15s, border-color .15s; }
.pf-act:hover{ transform:translateY(-3px); box-shadow:0 14px 28px rgba(0,0,0,.18); border-color:var(--or); }
.pf-act-ic{ font-size:30px; line-height:1; }
.pf-act.is-feature{ background:linear-gradient(180deg,#fbeec0,#f3dd97); border-color:var(--or); box-shadow:0 0 0 1px var(--or) inset, 0 8px 22px rgba(216,178,94,.28); }
.pf-badge{ position:absolute; top:8px; right:10px; min-width:20px; height:20px; padding:0 5px; border-radius:10px;
  background:#b5402f; color:#fff; font-size:12px; line-height:20px; text-align:center; box-shadow:0 2px 6px rgba(0,0,0,.3); }

/* Édition repliée */
.pf-edit{ background:linear-gradient(180deg,#fbf6e6,#f3e7c6); border:1px solid var(--or-fonce); border-radius:16px; padding:0 22px; box-shadow:0 12px 28px rgba(0,0,0,.12); margin-bottom:18px; }
.pf-edit > summary{ cursor:pointer; list-style:none; display:flex; align-items:center; gap:9px; padding:16px 0;
  font-family:var(--serif); font-weight:700; font-size:16px; color:var(--encre); }
.pf-edit > summary::-webkit-details-marker{ display:none; }
.pf-edit[open] > summary{ border-bottom:2px solid rgba(216,178,94,.45); margin-bottom:14px; }
.pf-edit textarea, .pf-edit input[type=url]{ width:100%; }
.pf-edit label{ font-weight:700; color:#5a431f; }
.pf-edit .bouton{ margin-top:4px; }
.pf-edit > form{ padding-bottom:20px; }

/* ============================================================
   Responsive
   ============================================================ */
@media (max-width:820px){
  .pf-grid{ grid-template-columns:1fr; }
  .pf-hero{ padding:26px 22px; }
  .pf-hero-inner{ justify-content:center; text-align:center; }
  .pf-crest, .pf-titre, .pf-prestige-rang, .pf-stats, .pf-vitals, .pf-prog-tete{ justify-content:center; }
  .pf-stats, .pf-vitals{ justify-content:center; } .pf-prog{ margin-left:auto; margin-right:auto; }
  /* onglets scrollables horizontalement plutôt que de casser la ligne */
  .tabbar{ flex-wrap:nowrap; overflow-x:auto; -webkit-overflow-scrolling:touch; padding-bottom:2px; }
  .tab{ flex:0 0 auto; }
}
@media (max-width:560px){
  .pf-attrs{ grid-template-columns:repeat(3,1fr); }
  .pf-ava{ width:120px; height:120px; font-size:56px; }
  .pf-med-rim{ padding:7px; }
  .pf-filigrane{ font-size:170px; }
}

/* ============================================================
   Animations (désactivées si l'utilisateur préfère)
   ============================================================ */
@keyframes heroIn{ from{ opacity:0; transform:translateY(18px); } to{ opacity:1; transform:none; } }
@keyframes panelIn{ from{ opacity:0; transform:translateY(8px); } to{ opacity:1; transform:none; } }
@keyframes auraPulse{ 0%,100%{ transform:translateY(-50%) scale(1); opacity:.85; } 50%{ transform:translateY(-50%) scale(1.08); opacity:1; } }
@keyframes spin2{ to{ transform:translate(-4%,-50%) rotate(360deg); } }
@keyframes ringGlow{ 0%,100%{ box-shadow:0 6px 18px rgba(0,0,0,.5), inset 0 2px 3px rgba(255,255,255,.6), inset 0 -3px 6px rgba(0,0,0,.4), 0 0 24px var(--aura-halo,rgba(170,110,215,.35)); }
  50%{ box-shadow:0 6px 18px rgba(0,0,0,.5), inset 0 2px 3px rgba(255,255,255,.6), inset 0 -3px 6px rgba(0,0,0,.4), 0 0 46px var(--aura-halo,rgba(170,110,215,.6)); } }
@keyframes floatMote{ 0%{ opacity:0; transform:translateY(0) scale(1); } 15%{ opacity:.95; } 100%{ opacity:0; transform:translateY(-170px) scale(.35); } }
@keyframes heroSheen{ 0%{ left:-70%; } 45%,100%{ left:150%; } }

@media (prefers-reduced-motion: no-preference){
  .pf-aura{ animation:auraPulse 4.2s ease-in-out infinite; }
  .pf-rays{ animation:spin2 24s linear infinite; }
  .pf-med-rim{ animation:ringGlow 4.2s ease-in-out infinite; }
  .mote{ animation:floatMote 6s ease-in infinite; }
  .mote:nth-child(5){ animation-duration:7s; animation-delay:1.1s; }
  .mote:nth-child(6){ animation-duration:5.4s; animation-delay:.6s; }
  .mote:nth-child(7){ animation-duration:6.6s; animation-delay:2s; }
  .mote:nth-child(8){ animation-duration:5.8s; animation-delay:2.7s; }
  .mote:nth-child(9){ animation-duration:6.2s; animation-delay:1.6s; }
  .pf-sheen::before{ animation:heroSheen 5.5s ease-in-out 1.2s infinite; }
  .pf-tuile{ animation:panelIn .5s cubic-bezier(.2,.7,.2,1) both; }
  .pf-act{ animation:panelIn .5s cubic-bezier(.2,.7,.2,1) both; }
}
@media (prefers-reduced-motion: reduce){
  .pf-hero, .panel{ animation:none; }
  .pf-aura, .pf-rays, .pf-med-rim, .mote, .pf-sheen::before{ animation:none !important; }
  .mote{ opacity:0; } /* particules invisibles au repos → on les cache en reduced-motion */
}

/* ===== Onglet Monnaies (V3 — Les Quatre Bourses) ===== */
.pf-monnaies{ display:grid; grid-template-columns:repeat(auto-fill,minmax(150px,1fr)); gap:12px; }
.pf-monnaie{ text-align:center; padding:14px 12px; border-radius:14px;
  background:rgba(255,255,255,.5); border:1px solid #dcc893; border-top:4px solid var(--m-teinte,#d9a441); }
.pf-monnaie-ic{ font-size:30px; line-height:1; display:block; filter:drop-shadow(0 2px 2px rgba(0,0,0,.2)); }
.pf-monnaie-n{ font-family:var(--serif,Georgia,serif); font-weight:700; font-size:24px; color:#2a1d0e; margin-top:4px; }
.pf-monnaie-l{ font-size:12px; color:#6a5320; text-transform:uppercase; letter-spacing:.4px; margin-bottom:10px; }
.pf-monnaie-dep{ display:inline-block; font-size:13px; padding:5px 12px; }

/* Or & Énergie en tuiles sous les attributs (Aperçu) */
.pf-ressources{ margin-top:8px; grid-template-columns:repeat(auto-fit,minmax(120px,1fr)); }
.pf-ressources .pf-attr.is-or{ border-top:3px solid #d9a441; }
.pf-ressources .pf-attr.is-energie{ border-top:3px solid #c98a3a; }
.pf-ressources .pf-attr .n{ font-size:20px; }
