:root{color-scheme:dark;font:16px/1.5 system-ui,sans-serif;color:#e9e4d7;background:#101a1d}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 15% 0,#293e3b,transparent 60%)}header,main{max-width:1540px;margin:auto;padding:28px 40px}header{padding-bottom:0}a{color:#e0c188}.eyebrow{font-size:12px;letter-spacing:.24em;color:#c3a776;margin-top:34px}h1{font:48px Georgia,serif;margin:0}header>p{max-width:850px}.note{font-size:13px;color:#aaa99d}form{display:flex;gap:14px;flex-wrap:wrap;align-items:end;padding:20px;background:#19272bc9;border:1px solid #4d5147;border-radius:8px}label{display:grid;gap:6px;font-size:12px;color:#c9c9bb}.recherche{flex:1;min-width:220px}input,select,form button{padding:10px;background:#101b20;color:#f5f0e3;border:1px solid #68746a;border-radius:4px;font:14px system-ui}button{cursor:pointer}button:focus-visible,a:focus-visible{outline:3px solid #e4bb70;outline-offset:5px}.grille{display:grid;grid-template-columns:repeat(auto-fill,minmax(205px,1fr));gap:28px 20px}.fiche{border:0;background:none;padding:0;text-align:left;color:inherit;transition:transform .15s}.fiche:hover{transform:translateY(-5px)}.carte{--accent:#c2a577;position:relative;aspect-ratio:5/7;background:#263036 url('cadres-impression/reliquaire-humains-vierge.svg') center/100% 100%;border-radius:10px;overflow:hidden;box-shadow:0 6px 16px #0007;font-size:clamp(12px,1vw,15px);isolation:isolate}.carte[data-faction=Sylves]{--accent:#b6c897;background-color:#263b2c;background-image:url('cadres-impression/reliquaire-palette-sylve-vierge.svg')}.carte[data-faction=Mémocrons]{--accent:#9dc1de}.carte[data-faction=Oubliés]{--accent:#d09b8e}.nom{position:absolute;top:6%;left:23%;right:8%;font:600 .92em/1.12 Georgia,serif;color:#efe6cd;max-height:12%;overflow:hidden}.cout{position:absolute;top:4.1%;left:5.1%;width:16%;height:11.5%;display:grid;place-items:center;font:bold 1.45em Georgia;color:#fff1c8}.illustration{position:absolute;top:20%;left:10%;right:10%;height:31%;display:grid;place-items:center;color:var(--accent);letter-spacing:.08em;background:radial-gradient(ellipse,#ffffff0c,transparent 70%);font:italic 1.1em Georgia}.type{position:absolute;top:52.5%;left:10%;right:10%;font-size:.77em;color:var(--accent)}.texte{position:absolute;top:58%;left:10%;right:10%;height:25%;margin:0;font-size:.76em;line-height:1.35;overflow:hidden;white-space:pre-line;color:#e6e3d7}.stats{position:absolute;right:7%;bottom:5%;font:bold 1.25em Georgia}.statut{display:block;margin:9px 2px 0;font-size:11px;letter-spacing:.1em;color:#b1b7ad}dialog{position:fixed;border:1px solid #7e775d;border-radius:12px;background:#142329;color:#eee8db;width:min(920px,95vw);max-height:90vh;padding:35px;overflow:auto}dialog[open]{display:grid;grid-template-columns:minmax(230px,330px) 1fr;gap:28px}dialog::backdrop{background:#000a;backdrop-filter:blur(4px)}#fermer{position:absolute;right:9px;top:8px;background:none;border:0;color:#fff;font-size:21px}#grande-carte .carte{font-size:19px}#texte-complet{white-space:pre-line;font-size:15px}h2{font:28px Georgia}@media(max-width:650px){header,main{padding:20px}.grille{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 10px}.carte{font-size:12px}dialog[open]{display:block}#grande-carte{max-width:280px;margin:auto}h1{font-size:36px}}@media(prefers-reduced-motion:reduce){.fiche{transition:none}}
/* Positions sur les cartouches du cadre d’impression, à ratio 5:7. */
.nom{top:8%;left:27%;right:15%;height:6.8%;max-height:none;display:flex;align-items:center;color:#293942;font-size:.77em;line-height:1.05}
.cout{top:6.8%;left:10.2%;width:14.5%;height:10.5%;font-size:1.3em}
.illustration{top:20%;left:17%;right:17%;height:32%;color:#596d65}
.type{top:57.8%;left:15%;right:15%;height:6.2%;display:flex;align-items:center;justify-content:center;color:#263036;font-size:.7em;line-height:1.1;text-align:center}
.texte{top:66.5%;left:15%;right:15%;height:17%;color:#283439;font-size:.74em;line-height:1.28}
.stats{right:9%;bottom:6.8%;font-size:1.12em}
/* Deux cellules centrées de part et d'autre du séparateur déjà dessiné dans le SVG. */
.stats-combat{left:63.309%;top:85%;right:auto;bottom:auto;width:28.777%;height:9.55%;display:grid;grid-template-columns:1fr 1fr;align-items:center;text-align:center;line-height:1;font-variant-numeric:lining-nums tabular-nums}
.stats-combat>span{min-width:0}
/* Repérage du catalogue : le cadre reste inchangé, les légendes restent lisibles. */
.vues{display:flex;gap:8px;margin-bottom:16px;flex-wrap:wrap}
.vues button{font:600 15px system-ui;padding:12px 18px;border:1px solid #68746a;border-radius:6px;background:#19272b;color:#e9e4d7}
.vues button[aria-pressed=true]{background:#dfc18a;color:#172428;border-color:#dfc18a}
#filtres{gap:12px}
#filtres label{font-size:14px}
#filtres-secondaires{flex-basis:100%;order:2}
#filtres-secondaires summary{cursor:pointer;color:#dfc18a;padding:8px 0;font-size:14px}
#filtres-actifs{color:#c9c9bb;font-size:13px}
.filtres-secondaires{display:flex;gap:14px;flex-wrap:wrap;padding-top:8px}
.fiche{align-self:start;min-width:0}
.fiche-nom{display:block;font:600 16px/1.35 Georgia,serif;margin:12px 0 5px;overflow-wrap:anywhere}
.fiche-meta{display:block;font:13px/1.5 system-ui;color:#d5d7ca}
.statut{margin:5px 0 0;font-size:12px;letter-spacing:.03em;color:#c3c9bd}
#fermer{min-width:40px;min-height:40px}
#lien-carte{display:inline-block;margin-top:12px;overflow-wrap:anywhere}
input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #e4bb70;outline-offset:3px}
@media(max-width:650px){header{padding:16px 20px 0}.eyebrow{margin:12px 0 4px}header>p{margin:8px 0}.note{line-height:1.4}main{padding-top:16px}#filtres{padding:12px;gap:10px}.recherche{flex-basis:100%;min-width:0}#filtres>label:not(.recherche){flex:1;min-width:0}select{max-width:100%;width:100%}#filtres>button{order:3;padding:8px 10px}.filtres-secondaires>label{flex:1 1 135px}.vues{flex-wrap:nowrap;gap:6px}.vues button{flex:1;padding:10px 8px;font-size:14px}.fiche-nom{font-size:15px}.fiche-meta{font-size:12px}}
@media(min-width:901px){#filtres-secondaires[open],#filtres-secondaires[open] .filtres-secondaires{display:contents}#filtres-secondaires>summary{display:none}header{padding-top:20px}.eyebrow{margin-top:18px}header>p{margin-bottom:10px}main{padding-top:20px}.recherche{min-width:180px}.vues{margin-bottom:12px}}
@media(min-width:901px){#filtres-secondaires[open]{display:block;flex:0 1 auto;order:0}#filtres-secondaires[open] .filtres-secondaires{display:flex;padding:0;gap:12px}}
