.entete-page{position:relative;padding:64px 0 0;overflow:hidden}
.entete-page::before{content:"";position:absolute;inset:0;background:radial-gradient(800px 380px at 50% 0%,rgba(120,150,200,.13),transparent 65%);pointer-events:none}
.fil{font-size:13px;color:var(--texte-3)}.fil a:hover{color:var(--laiton)}
.entete-page h1{font-size:clamp(40px,5.4vw,64px);margin:14px 0 12px}
.entete-page .intro{font-size:18px;color:var(--texte-2);max-width:640px}
.sommaire{position:sticky;top:72px;z-index:15;margin-top:40px;background:rgba(11,15,22,.85);backdrop-filter:blur(12px);border-block:1px solid var(--trait)}
.sommaire .conteneur{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none}
.sommaire a{flex:none;padding:16px 14px;font-size:14px;font-weight:600;color:var(--texte-2);border-bottom:2px solid transparent}
.sommaire a.on,.sommaire a:hover{color:var(--laiton-clair);border-color:var(--laiton)}
.chapitre{padding:88px 0;scroll-margin-top:130px}
.chapitre+.chapitre{border-top:1px solid var(--trait)}

/* Classes détaillées */
.classe-ligne{display:grid;grid-template-columns:220px 1fr 1fr;gap:28px;align-items:center;padding:28px;border-radius:var(--rayon);background:linear-gradient(90deg,var(--carte-2),var(--carte));border:1px solid var(--trait);position:relative;overflow:hidden}
.classe-ligne+.classe-ligne{margin-top:16px}
.classe-ligne::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--teinte)}
.classe-ligne .tete-classe{display:flex;align-items:center;gap:16px}
.classe-ligne .arme{width:84px;height:84px;padding:10px;border-radius:14px;background:radial-gradient(var(--teinte-fond),rgba(0,0,0,.35));border:1px solid var(--trait)}
.classe-ligne h3{font-size:24px}
.classe-ligne .role{font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--teinte-texte)}
.classe-ligne p{color:var(--texte-2);font-size:15px}
.jauges{display:grid;gap:10px}
.jauge{display:grid;grid-template-columns:90px 1fr;gap:12px;align-items:center;font-size:13px;color:var(--texte-2)}
.jauge .barre-j{display:flex;gap:4px}
.jauge .barre-j i{flex:1;height:7px;border-radius:3px;background:rgba(255,255,255,.08)}
.jauge .barre-j i.ok{background:var(--teinte)}
.pastilles{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.pastilles span{padding:5px 10px;border-radius:999px;border:1px solid var(--trait);font-size:12px;color:var(--texte-2)}
.encart{margin-top:28px;display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.encart div{padding:20px 22px;border-radius:12px;border:1px dashed var(--trait-fort);background:rgba(214,178,98,.04)}
.encart b{display:block;font-family:Cinzel;font-size:17px;color:var(--laiton-clair);margin-bottom:4px}
.encart p{font-size:14px;color:var(--texte-2)}

/* Ton île */
.ile{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center}
.ile .image-ile{border-radius:var(--rayon);overflow:hidden;border:1px solid var(--trait);background:#1e2226}
.ile ul{list-style:none;display:grid;gap:14px;margin-top:24px}
.ile li{display:flex;gap:14px;align-items:flex-start;padding:16px 18px;border-radius:12px;background:var(--carte);border:1px solid var(--trait)}
.ile li img{width:52px;height:52px;flex:none;object-fit:contain}
.ile li b{display:block;font-size:16px}
.ile li span{font-size:14px;color:var(--texte-2)}

/* Îles de chasse */
.iles{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.ile-carte{border-radius:var(--rayon);overflow:hidden;border:1px solid var(--trait);background:linear-gradient(180deg,var(--carte-2),var(--carte));transition:.25s}
.ile-carte:hover{border-color:var(--trait-fort);transform:translateY(-3px)}
.ile-carte .scene{height:210px;display:flex;align-items:flex-end;justify-content:center;gap:0;background:radial-gradient(240px 140px at 50% 80%,var(--halo),transparent 70%);padding-bottom:10px}
.ile-carte .scene img{height:150px;width:auto;filter:drop-shadow(0 14px 18px rgba(0,0,0,.45))}
.ile-carte .scene img.pt{height:110px;margin-left:-26px}
.ile-carte .scene img.pix{height:110px}
.ile-carte .corps{padding:20px 22px 24px;border-top:1px solid var(--trait)}
.ile-carte h3{font-size:21px;margin:8px 0 6px}
.ile-carte p{font-size:14px;color:var(--texte-2)}
.ile-carte .faits{display:flex;gap:16px;margin-top:14px;font-size:12px;color:var(--texte-3)}
.ile-carte .faits b{color:var(--texte);font-size:15px;display:block}

/* Donjons */
.donjon{display:grid;grid-template-columns:1.1fr 1fr;gap:18px}
.donjon-grand{position:relative;padding:32px;border-radius:var(--rayon);border:1px solid var(--trait);background:radial-gradient(400px 260px at 80% 60%,rgba(123,196,127,.14),transparent 70%),linear-gradient(180deg,var(--carte-2),var(--carte));overflow:hidden;min-height:360px}
.donjon-grand img{position:absolute;right:-10px;bottom:-10px;width:300px;filter:drop-shadow(0 18px 24px rgba(0,0,0,.5))}
.donjon-grand h3{font-size:28px;margin:12px 0 10px;max-width:60%}
.donjon-grand p{color:var(--texte-2);max-width:55%}
.difficultes{display:flex;gap:8px;margin-top:22px;flex-wrap:wrap;max-width:60%}
.difficultes span{padding:6px 12px;border-radius:8px;font-size:12px;font-weight:700;border:1px solid}
.d1{color:#9bd99e;border-color:rgba(123,196,127,.35)}.d2{color:#a9bdf0;border-color:rgba(120,150,220,.35)}.d3{color:#f0c27a;border-color:rgba(240,194,122,.35)}.d4{color:#f09a8b;border-color:rgba(216,106,90,.4)}
.world{position:relative;border-radius:var(--rayon);overflow:hidden;border:1px solid var(--trait);min-height:360px;display:flex;align-items:flex-end}
.world img.fond{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.55}
.world::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(11,15,22,.95) 25%,transparent 75%)}
.world .corps{position:relative;z-index:1;padding:28px}
.world h3{font-size:26px;margin:10px 0 8px}
.world p{color:var(--texte-2);font-size:15px}
.world .trio-boss{display:flex;gap:6px;margin-top:16px}
.world .trio-boss img{width:70px;height:70px;border-radius:10px;background:rgba(0,0,0,.4);border:1px solid var(--trait)}

/* Métiers */
.metiers{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.metier{display:flex;gap:14px;align-items:center;padding:18px;border-radius:12px;background:var(--carte);border:1px solid var(--trait);transition:.2s}
.metier:hover{border-color:var(--trait-fort);background:var(--carte-2)}
.metier img{width:44px;height:44px;flex:none}
.metier .ico{display:grid;place-items:center;width:44px;height:44px;flex:none;border-radius:10px;border:1px solid var(--trait);font-family:Cinzel;color:var(--laiton)}
.metier b{display:block;font-size:15px}
.metier span{font-size:12px;color:var(--texte-3);text-transform:uppercase;letter-spacing:.1em}

/* Progression */
.progression{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.prog{padding:26px;border-radius:var(--rayon);border:1px solid var(--trait);background:var(--carte)}
.prog .gros{font-family:Cinzel;font-size:40px;color:var(--laiton-clair);line-height:1}
.prog h3{font-size:19px;margin:12px 0 6px}
.prog p{font-size:14px;color:var(--texte-2)}

@media (max-width:1000px){
  .classe-ligne{grid-template-columns:1fr}
  .ile,.donjon{grid-template-columns:1fr}
  .iles,.progression{grid-template-columns:1fr 1fr}
  .metiers{grid-template-columns:1fr 1fr}
  .encart{grid-template-columns:1fr}
}
@media (max-width:620px){
  .iles,.progression,.metiers{grid-template-columns:1fr}
  .chapitre{padding:60px 0}
  .donjon-grand img{position:static;width:200px;margin:10px auto 0}
  .donjon-grand h3,.donjon-grand p,.difficultes{max-width:none}
}
