/* ═══ DIAGRAMMES DU RAPPORT (theorie) ═══ */

.dg-wrap{margin:30px 0}
.dg-title{font-family:Amiri,serif;color:#c9a227;text-align:center;font-size:1.35em;margin:35px 0 5px;letter-spacing:1px}
.dg-title:first-child{margin-top:0}
.dg-principle{text-align:center;color:#7a7885;font-size:.85em;font-style:italic;margin-bottom:20px}

/* D1 : la memoire qui deborde */
.dg-eras{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;gap:8px;align-items:stretch}
.dg-era{background:#0d0d1a;border:1px solid #1e1e35;border-radius:14px;padding:16px}
.dg-era.hl{border-color:#8a7222;background:rgba(201,162,39,.05)}
.dg-era .dg-sub{color:#c9a227;font-size:.7em;text-transform:uppercase;letter-spacing:1px;margin-bottom:6px}
.dg-era h5{color:#e8e6e3;font-size:.95em;margin-bottom:6px;font-weight:600}
.dg-era p{color:#7a7885;font-size:.76em;margin:4px 0;line-height:1.5}
.dg-era .dg-alert{color:#d8a03a;font-size:.76em;font-weight:600}
.dg-arrow-h{color:#8a7222;font-size:1.5em;display:flex;align-items:center;justify-content:center}
.dg-varrow{text-align:center;color:#8a7222;font-size:1.5em;margin:10px 0;line-height:1}
.dg-card{background:rgba(201,162,39,.06);border:1px solid #8a7222;border-radius:14px;padding:16px 20px;text-align:center;max-width:620px;margin:0 auto}
.dg-card h5{color:#c9a227;font-size:1em;margin-bottom:5px}
.dg-card p{color:#bbb;font-size:.83em;line-height:1.5}
.dg-badges5{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin:12px 0}
.dg-badge{background:#0d0d1a;border:1px solid #8a7222;border-radius:12px;padding:10px;text-align:center}
.dg-badge .b{font-family:Amiri,serif;font-size:1.7em;color:#c9a227;display:block;line-height:1.4}
.dg-badge .n{font-size:.68em;color:#7a7885}
.dg-rays{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}
.dg-ray{background:#0d0d1a;border:1px solid #1e1e35;border-top:3px solid #c9a227;border-radius:12px;padding:12px}
.dg-ray h6{color:#c9a227;font-size:.78em;margin-bottom:8px;min-height:2.6em;font-weight:600}
.dg-ray ul{list-style:none;margin:0;padding:0}
.dg-ray li{font-size:.72em;color:#bbb;padding:4px 0;border-bottom:1px dashed #1e1e35;line-height:1.4}
.dg-ray li:last-child{border-bottom:none}
.dg-ray li.late{color:#8a7222;font-style:italic}
.dg-note{background:rgba(201,162,39,.08);border-radius:10px;padding:12px 16px;font-size:.8em;color:#ccc;text-align:center;margin-top:15px;line-height:1.6}

/* D2 : le choix des lettres */
.dg-alpha{background:#0d0d1a;border:1px solid #1e1e35;border-radius:14px;padding:18px;margin:14px 0}
.dg-alpha h5{color:#e8e6e3;text-align:center;font-size:.95em;margin-bottom:12px}
.dg-alpha h5 strong{color:#c9a227}
.dg-lset{border-radius:12px;padding:12px;margin:10px 0}
.dg-lset.in{background:rgba(201,162,39,.07);border:1px solid #8a7222}
.dg-lset.out{background:rgba(255,255,255,.02);border:1px dashed #2a2a45}
.dg-lset .lbl{font-size:.72em;text-transform:uppercase;letter-spacing:1px;margin-bottom:8px;color:#7a7885}
.dg-lset.in .lbl{color:#c9a227}
.dg-letters{display:flex;flex-wrap:wrap;gap:6px;justify-content:center}
.dg-l{font-family:Amiri,serif;font-size:1.35em;width:42px;height:42px;display:flex;align-items:center;justify-content:center;border-radius:8px}
.dg-l.in{background:rgba(201,162,39,.16);color:#c9a227;border:1px solid #8a7222}
.dg-l.out{background:rgba(255,255,255,.03);color:#5a5a75;border:1px solid #1e1e35;opacity:.6}
.dg-reasons{display:grid;grid-template-columns:repeat(2,1fr);gap:6px;margin-top:10px}
.dg-reasons div{font-size:.72em;color:#7a7885;padding:6px 10px;background:rgba(255,255,255,.02);border-radius:8px}
.dg-half{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px}
.dg-half div{background:rgba(201,162,39,.08);border-radius:10px;padding:10px 14px;text-align:center;font-size:.8em;color:#e8d9a0}
.dg-trees{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:14px}
.dg-tree{background:#0d0d1a;border:1px solid #1e1e35;border-radius:12px;padding:12px}
.dg-tree .base{color:#c9a227;font-size:.8em;font-weight:600;border-bottom:1px solid #1e1e35;padding-bottom:8px;margin-bottom:8px;line-height:1.5}
.dg-tree .base small{display:block;color:#7a7885;font-weight:400;font-size:.85em}
.dg-branch{display:flex;align-items:center;gap:8px;padding:5px 0}
.dg-branch .ar{font-family:Amiri,serif;color:#c9a227;font-size:1.1em;min-width:52px}
.dg-branch .eq{color:#555;font-size:.7em}
.dg-branch .use{color:#7a7885;font-size:.7em;line-height:1.4}
.dg-why{background:rgba(201,162,39,.05);border:1px solid #8a7222;border-radius:12px;padding:14px 18px;margin-top:14px}
.dg-why h6{color:#c9a227;font-size:.8em;text-transform:uppercase;letter-spacing:1px;margin-bottom:10px}
.dg-why ul{list-style:none;margin:0;padding:0}
.dg-why li{font-size:.78em;color:#bbb;padding:6px 0;border-bottom:1px dashed #1e1e35;line-height:1.55}
.dg-why li:last-child{border-bottom:none}
.dg-why li strong{color:#e0be4a}

/* D3 : les 13 ouvertures en cartes */
.dg-badges13{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px}
.dg-b13{display:flex;align-items:center;gap:14px;background:#0d0d1a;border:1px solid #1e1e35;border-radius:12px;padding:12px 14px;transition:border-color .2s}
.dg-b13:hover{border-color:#8a7222}
.dg-b13 .b{font-family:Amiri,serif;font-size:1.8em;color:#c9a227;min-width:74px;text-align:center}
.dg-b13 .t{font-size:.74em;color:#e8e6e3;font-weight:600;letter-spacing:.5px}
.dg-b13 .m{font-size:.72em;color:#7a7885;margin-top:3px}

/* D4 : glossaire des lettres */
.dg-gloss{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:8px}
.dg-g{background:#0d0d1a;border:1px solid #1e1e35;border-radius:10px;padding:10px 14px;display:flex;align-items:baseline;gap:10px}
.dg-g .k{color:#c9a227;font-weight:600;font-size:.8em;min-width:46px}
.dg-g .v{color:#7a7885;font-size:.76em;line-height:1.5}

/* D5 : table 29 ouvertures */
.dg-table{width:100%;border-collapse:collapse;margin:18px 0;font-size:.8em}
.dg-table thead th{background:rgba(201,162,39,.14);color:#c9a227;text-align:left;padding:10px 12px;border:1px solid #8a7222;font-weight:600;font-size:.9em}
.dg-table tbody td{padding:7px 12px;border:1px solid #1e1e35;color:#c8c6c2}
.dg-table tbody tr:nth-child(odd){background:rgba(255,255,255,.02)}
.dg-table tbody tr:hover{background:rgba(201,162,39,.07)}
.dg-table .ar{font-family:Amiri,serif;font-size:1.25em;color:#c9a227}
.dg-table .rank{color:#8a7222;font-weight:600}

/* D6 : vue par familles */
.dg-fam{background:#0d0d1a;border:1px solid #1e1e35;border-radius:14px;padding:16px;margin:12px 0}
.dg-fam>h5{color:#c9a227;font-size:.95em;padding-bottom:8px;border-bottom:1px solid #1e1e35;margin-bottom:10px}
.dg-fam>h5 .ar{font-family:Amiri,serif;font-size:1.2em}
.dg-frow{display:flex;flex-wrap:wrap;gap:8px}
.dg-fitem{background:rgba(255,255,255,.02);border:1px solid #1e1e35;border-radius:10px;padding:8px 12px;font-size:.75em;color:#bbb;flex:1;min-width:180px}
.dg-fitem .ar{font-family:Amiri,serif;color:#c9a227;font-size:1.3em;margin-right:6px}
.dg-fitem .cnt{color:#8a7222;font-weight:600}
.dg-fitem .th{color:#7a7885}

/* D7 : comptage barres */
.dg-chart{background:#0d0d1a;border:1px solid #1e1e35;border-radius:14px;padding:20px;margin:14px 0}
.dg-bar-row{display:flex;align-items:center;gap:12px;margin:6px 0}
.dg-bar-label{font-family:Amiri,serif;font-size:1.3em;color:#c9a227;width:32px;text-align:center}
.dg-bar-track{flex-grow:1;background:#0a0a16;border-radius:4px;height:18px;overflow:hidden}
.dg-bar-fill{height:100%;background:linear-gradient(90deg,#8a7222,#c9a227);border-radius:4px;min-width:6px}
.dg-bar-count{color:#e8e6e3;font-size:.75em;min-width:56px}
.dg-bar-note{color:#7a7885;font-size:.72em}

/* D8 : ce qui s'est passe ensuite */
.dg-hist{display:flex;flex-direction:column;align-items:center}
.dg-hcard{background:#0d0d1a;border:1px solid #1e1e35;border-left:3px solid #c9a227;border-radius:14px;padding:18px 22px;width:100%;max-width:680px}
.dg-hcard h5{color:#c9a227;font-size:.95em;margin-bottom:8px}
.dg-hcard h5 .when{color:#7a7885;font-weight:400;font-size:.85em}
.dg-hcard ul{list-style:none;margin:0;padding:0}
.dg-hcard li{font-size:.8em;color:#bbb;padding:4px 0;line-height:1.55}
.dg-hcard li strong{color:#e0be4a}
.dg-wit{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:10px 0}
.dg-wit div{background:rgba(255,255,255,.02);border:1px solid #1e1e35;border-radius:10px;padding:10px;text-align:center;font-size:.75em;color:#bbb}
.dg-wit div b{display:block;color:#c9a227;font-size:1.1em;margin-bottom:3px}
.dg-wit .scar{margin-top:10px;background:rgba(201,162,39,.07);border:1px dashed #8a7222;border-radius:10px;padding:10px;text-align:center;font-size:.78em;color:#e8d9a0;font-style:italic}

/* CYCLE LUNAIRE (chronologie) */
.moon-legend{display:flex;justify-content:center;gap:30px;margin:15px 0 25px;flex-wrap:wrap}
.moon-legend div{text-align:center}
.moon-legend .v{font-size:1.6em;color:#c9a227;font-weight:800}
.moon-legend .l{font-size:.65rem;color:#7a7885;text-transform:uppercase;letter-spacing:1px}
.moon{display:flex;justify-content:center;align-items:center;gap:7px;flex-wrap:wrap;margin:25px 0}
.mp{width:58px;height:58px;border-radius:50%;background:radial-gradient(circle at 35% 35%,rgba(201,162,39,.28),rgba(201,162,39,.1));border:1px solid #8a7222;display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;transition:all .3s}
.mp:hover{border-color:#c9a227;transform:scale(1.18);box-shadow:0 0 18px rgba(201,162,39,.35)}
.mp .b{font-family:Amiri,serif;color:#c9a227;font-size:.95em;line-height:1.2}
.mp .d{font-size:.55em;color:#8a7222}
.mp.first{border-color:#c9a227;border-width:2px}
.mp.last{border-color:#c9a227;border-width:2px;background:radial-gradient(circle at 35% 35%,rgba(201,162,39,.45),rgba(201,162,39,.12))}
.moon-note{padding:14px 18px;background:rgba(201,162,39,.08);border-radius:12px;font-size:.82em;color:#ccc;line-height:1.6;max-width:760px;margin:20px auto 0;text-align:center}

/* ═══ ARBRE DES PROPHETES ═══ */
.tree-wrap{background:radial-gradient(ellipse at 50% 20%,#111126 0%,#0a0a16 70%);border:1px solid #1e1e35;border-radius:20px;padding:20px;margin:30px 0;overflow:hidden}
.tree-wrap svg{width:100%;height:auto;display:block;max-width:1060px;margin:0 auto}
.prophet-node{cursor:pointer;transition:filter .25s,opacity .25s}
.prophet-node:hover{filter:drop-shadow(0 0 14px rgba(201,162,39,.85)) brightness(1.12)}
.prophet-node:active{filter:drop-shadow(0 0 20px rgba(243,144,63,.9))}
.tree-hint{text-align:center;color:#7a7885;font-size:.85em;font-style:italic;margin-bottom:25px}
.pr-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:10px;margin-top:25px}
.pr-card{position:relative;background:#0d0d1a;border:1px solid #1e1e35;border-radius:14px;padding:18px 12px;text-align:center;cursor:pointer;transition:all .25s}
.pr-card:hover{border-color:#c9a227;transform:translateY(-3px);box-shadow:0 8px 22px rgba(201,162,39,.15)}
.pr-card .pr-n{position:absolute;top:8px;left:10px;font-size:.7em;color:#8a7222;font-weight:700}
.pr-card .pr-ar{font-family:Amiri,serif;font-size:1.7em;color:#c9a227;display:block;margin-bottom:6px;line-height:1.4}
.pr-card .pr-name{color:#e8e6e3;font-size:.95em;font-weight:600;margin-bottom:4px}
.pr-card .pr-title{color:#7a7885;font-size:.7em;line-height:1.4}

@media(max-width:768px){
.dg-eras,.dg-badges5,.dg-rays,.dg-trees,.dg-half,.dg-reasons{grid-template-columns:1fr}
.dg-arrow-h{transform:rotate(90deg);padding:4px 0}
.dg-table{font-size:.68em}
.dg-table thead th,.dg-table tbody td{padding:5px 7px}
.dg-wit{grid-template-columns:1fr}
.dg-b13 .b{min-width:56px;font-size:1.5em}
.moon{gap:5px}
.mp{width:48px;height:48px}
.tree-wrap{padding:8px;border-radius:12px}
.pr-grid{grid-template-columns:repeat(auto-fill,minmax(130px,1fr))}
}
