/* Bestiaire (bestiary-ui.js) : liste filtrable à gauche, fiche du monstre à droite ; sur téléphone, une vue à la fois. */
#bestiary-dialog{padding:0;border:0;background:transparent;max-width:none;max-height:none;overflow:visible}
#bestiary-dialog::backdrop{background:#0d0a0599;backdrop-filter:blur(2px)}
#bestiary-dialog .bs-window{width:min(980px,calc(100vw - 24px));height:min(680px,calc(100dvh - 24px))}
#bestiary-dialog header .bs-count{font:700 11.5px var(--font-ui,sans-serif);opacity:.75;margin-right:6px;white-space:nowrap}
#bestiary-dialog .bs-body{flex:1;min-height:0;display:grid;grid-template-columns:300px 1fr}
#bestiary-dialog .bs-side{display:flex;flex-direction:column;min-height:0;border-right:1px solid #0002;background:#0000000a}
#bestiary-dialog .bs-filters{display:grid;gap:6px;padding:10px;border-bottom:1px solid #0002}
#bestiary-dialog .bs-search,#bestiary-dialog .bs-zone{width:100%;min-height:34px;padding:0 10px;border:1px solid #9c916f;border-radius:8px;background:#fffaf0;color:#2f2a1e;font:600 13px var(--font-ui,sans-serif);box-sizing:border-box}
#bestiary-dialog .bs-search:focus,#bestiary-dialog .bs-zone:focus{outline:2px solid var(--qa-orange,#e8780c);outline-offset:0}
#bestiary-dialog .bs-levels{display:flex;gap:3px;padding:3px;border-radius:9px;background:#00000014}
#bestiary-dialog .bs-levels button{flex:1;min-height:26px;padding:0 4px;border:0;border-radius:7px;background:transparent;color:inherit;font:800 11px var(--font-ui,sans-serif);cursor:pointer;white-space:nowrap}
#bestiary-dialog .bs-levels button[aria-pressed=true]{background:var(--qa-orange,#e8780c);color:#fff;box-shadow:0 1px 3px #0004}
#bestiary-dialog .bs-list{flex:1;min-height:0;overflow:auto;list-style:none;margin:0;padding:6px;display:grid;align-content:start;gap:3px}
#bestiary-dialog .bs-list button{width:100%;display:grid;grid-template-columns:44px 1fr;gap:8px;align-items:center;padding:4px 8px 4px 4px;border:1px solid transparent;border-radius:9px;background:transparent;color:inherit;text-align:left;cursor:pointer}
#bestiary-dialog .bs-list button:hover{background:#fff7e0aa;border-color:#c9b98a}
#bestiary-dialog .bs-list button[aria-pressed=true]{background:#fff3d6;border-color:var(--qa-orange,#e8780c);box-shadow:inset 3px 0 0 var(--qa-orange,#e8780c)}
#bestiary-dialog .bs-list img{width:44px;height:44px;object-fit:contain;border-radius:8px;background:radial-gradient(circle at 50% 60%,#fff8,#0000 70%)}
#bestiary-dialog .bs-list b{display:block;font:800 13px var(--font-ui,sans-serif);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#bestiary-dialog .bs-list small{font-size:11.5px;color:#6d6248}
#bestiary-dialog .bs-empty{padding:18px;text-align:center;color:#6d6248}
#bestiary-dialog .bs-boss{font-style:normal;font-weight:800;color:#a3250f}
#bestiary-dialog .bs-detail{min-height:0;overflow:auto;padding:14px 16px 18px}
#bestiary-dialog .bs-placeholder{height:100%;display:grid;place-content:center;justify-items:center;gap:10px;text-align:center;color:#6d6248}
#bestiary-dialog .bs-placeholder img{width:56px;opacity:.45}
#bestiary-dialog .bs-back{display:none}
#bestiary-dialog .bs-hero{display:grid;grid-template-columns:112px 1fr;gap:14px;align-items:center;padding:12px;border-radius:14px;background:radial-gradient(ellipse at 20% 40%,#4d6b3a,#1b2614);color:#f3ecd2;box-shadow:inset 0 0 0 1px #ffffff1f,0 4px 14px #0003}
#bestiary-dialog .bs-portrait{width:112px;height:112px;display:grid;place-items:center;border-radius:50%;background:radial-gradient(circle at 50% 62%,#f4e9c4 0,#c9b98a 55%,#7d6a3f 100%);box-shadow:inset 0 2px 8px #0006,0 0 0 3px #d9b45a}
#bestiary-dialog .bs-portrait img{width:96px;height:96px;object-fit:contain;filter:drop-shadow(0 3px 3px #0006)}
#bestiary-dialog .bs-hero h3{margin:0;font:800 22px/1.1 var(--font-title,var(--font-ui,serif));color:#ffe9b0;text-shadow:0 2px 0 #0007}
#bestiary-dialog .bs-hero p{margin:4px 0 8px;font-size:12.5px;opacity:.9}
#bestiary-dialog .bs-hero .bs-boss{color:#ffb39a}
#bestiary-dialog .bs-grades{display:flex;flex-wrap:wrap;gap:4px}
#bestiary-dialog .bs-grades button{min-width:54px;padding:4px 9px;gap:1px;border:1px solid #ffffff40;border-radius:8px;background:#00000040;color:#f3ecd2;font:800 14px/1.1 var(--font-ui,sans-serif);cursor:pointer;display:grid;justify-items:center}
#bestiary-dialog .bs-grades button small{font:600 10px/1.1 var(--font-ui,sans-serif);opacity:.85;white-space:nowrap}
#bestiary-dialog .bs-grades button[aria-selected=true]{background:var(--qa-orange,#e8780c);border-color:#ffd08a;color:#fff}
#bestiary-dialog .bs-block{margin-top:14px}
#bestiary-dialog .bs-block h4{display:flex;align-items:center;gap:8px;margin:0 0 7px;font:800 12px var(--font-ui,sans-serif);letter-spacing:.06em;text-transform:uppercase;color:#7a5520}
#bestiary-dialog .bs-block h4 small{text-transform:none;letter-spacing:0;font-weight:600;color:#6d6248}
#bestiary-dialog .bs-map{margin-left:auto;min-height:28px;padding:0 12px;border:1px solid #6e3a05;border-radius:999px;background:var(--qa-orange,#e8780c);color:#fff;font:800 12px var(--font-ui,sans-serif);text-transform:none;letter-spacing:0;cursor:pointer;box-shadow:0 1px 3px #0004}
#bestiary-dialog .bs-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
#bestiary-dialog .bs-stat{display:grid;grid-template-columns:22px 1fr auto;align-items:center;gap:6px;padding:6px 9px;border-radius:9px;background:#fffaf0;border:1px solid #e0d3a8}
#bestiary-dialog .bs-stat img{width:20px;height:20px}
#bestiary-dialog .bs-stat span{font-size:12px;color:#6d6248}
#bestiary-dialog .bs-stat b{font:800 14px var(--font-ui,sans-serif)}
#bestiary-dialog .bs-res{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;margin-top:6px}
#bestiary-dialog .bs-elem{display:grid;justify-items:center;gap:1px;padding:6px 2px;border-radius:9px;background:#fffaf0;border:1px solid #e0d3a8}
#bestiary-dialog .bs-elem img{width:20px;height:20px}
#bestiary-dialog .bs-elem b{font:800 13px var(--font-ui,sans-serif)}
#bestiary-dialog .bs-elem small{font-size:10px;color:#6d6248}
#bestiary-dialog .bs-elem.is-weak{background:#e9f6e4;border-color:#8fc27a}
#bestiary-dialog .bs-elem.is-weak b{color:#2f7a1e}
#bestiary-dialog .bs-elem.is-strong{background:#fbe6e1;border-color:#d99886}
#bestiary-dialog .bs-elem.is-strong b{color:#a3250f}
#bestiary-dialog .bs-zones{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:5px}
#bestiary-dialog .bs-zones li{display:grid;padding:6px 10px;border-radius:9px;background:#fffaf0;border:1px solid #e0d3a8;border-left:3px solid #6b9a30}
#bestiary-dialog .bs-zones li.bs-dj{border-left-color:#8a3fc4}
#bestiary-dialog .bs-zones b{font-size:12.5px}
#bestiary-dialog .bs-zones small{font-size:11px;color:#6d6248}
#bestiary-dialog .bs-drops{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:5px}
#bestiary-dialog .bs-drops li{display:grid;grid-template-columns:30px 1fr auto auto;align-items:center;gap:7px;padding:4px 9px 4px 4px;border-radius:9px;background:#fffaf0;border:1px solid #e0d3a8}
#bestiary-dialog .bs-drops img{width:30px;height:30px;object-fit:contain}
#bestiary-dialog .bs-drops span{font-size:12.5px;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#bestiary-dialog .bs-drops b{font:800 12px var(--font-ui,sans-serif);color:#5b2a8c}
#bestiary-dialog .bs-drops i{font-style:normal;color:#c48a14}
#bestiary-dialog .bs-muted{margin:0;color:#6d6248;font-size:12.5px}
@media (max-width:700px){
 #bestiary-dialog .bs-window{width:100vw;height:100dvh;border-radius:0}
 #bestiary-dialog .bs-body{grid-template-columns:1fr}
 #bestiary-dialog .bs-side{border-right:0}
 #bestiary-dialog .bs-detail{display:none}
 #bestiary-dialog.show-detail .bs-side{display:none}
 #bestiary-dialog.show-detail .bs-detail{display:block}
 #bestiary-dialog .bs-back{display:inline-flex;margin:0 0 8px;min-height:32px;padding:0 12px;border:1px solid #9c916f;border-radius:8px;background:#fffaf0;color:#2f2a1e;font:800 12.5px var(--font-ui,sans-serif);cursor:pointer;align-items:center}
 #bestiary-dialog .bs-hero{grid-template-columns:84px 1fr;gap:10px}
 #bestiary-dialog .bs-portrait{width:84px;height:84px}#bestiary-dialog .bs-portrait img{width:72px;height:72px}
 #bestiary-dialog .bs-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
 #bestiary-dialog .bs-res{grid-template-columns:repeat(4,minmax(0,1fr))}
 #bestiary-dialog header .bs-count{display:none}
}
#bestiary-dialog .bs-archi{font-style:normal;font-weight:800;color:#8a3fc4}
#bestiary-dialog .bs-archi-of{margin:0 0 8px;font-size:12px;color:#e8d6ff}
#bestiary-dialog .bs-archi-of button{white-space:nowrap;display:inline;min-height:0!important;height:auto!important;line-height:1.5;padding:0 6px!important;border:1px solid #c9a6f0;border-radius:6px;background:#3a2266;color:#f3e6ff;font:800 12px var(--font-ui,sans-serif);cursor:pointer}
#bestiary-dialog .bs-off{font-style:normal;font-weight:700;color:#7d7262}
#bestiary-dialog .bs-hero .bs-off{color:#d8cfb6}
#bestiary-dialog .bs-race{width:100%;min-height:34px;padding:0 10px;border:1px solid #9c916f;border-radius:8px;background:#fffaf0;color:#2f2a1e;font:600 13px var(--font-ui,sans-serif);box-sizing:border-box}
#bestiary-dialog .bs-zones li.bs-offzone{border-left-color:#9c916f}
#bestiary-dialog .bs-noicon{width:30px;height:30px;border-radius:6px;background:#e9dfc0}
#bestiary-dialog .bs-drops span small{display:block;font-size:10.5px;font-weight:600;color:#7d7262}
#bestiary-dialog .bs-pp{font-style:normal;font-weight:800;color:#b35a00}
#bestiary-dialog .bs-soon{margin-top:12px}
#bestiary-dialog .bs-drops.is-soon li{opacity:.72;background:#f3eedf;border-style:dashed}
#bestiary-dialog .bs-drops.is-soon b{color:#7d7262}
#bestiary-dialog .bs-archi-of button{display:inline-block!important;width:auto!important;max-width:none!important;overflow:visible!important;vertical-align:baseline}
#bestiary-dialog .bs-zones li[data-bs-zonemap],#bestiary-dialog .bs-zones li[data-bs-djmap]{cursor:pointer;position:relative;padding-right:28px;transition:background .12s,box-shadow .12s}
#bestiary-dialog .bs-zones li[data-bs-zonemap]::after,#bestiary-dialog .bs-zones li[data-bs-djmap]::after{content:"🗺";position:absolute;right:8px;top:50%;transform:translateY(-50%);font-size:13px;opacity:.55}
#bestiary-dialog .bs-zones li[data-bs-zonemap]:hover,#bestiary-dialog .bs-zones li[data-bs-djmap]:hover,#bestiary-dialog .bs-zones li:focus-visible{background:#fff3d6;box-shadow:0 0 0 1px var(--qa-orange,#e8780c);outline:none}
#bestiary-dialog .bs-zones li:hover::after{opacity:1}
/* onglets (18/10/2026) : ruban principal façon intercalaires (Tous, Monde, Donjons, Temples, Archi-monstres, Boss) dans le prolongement
   de la barre de titre, puis grandes catégories du bestiaire officiel en pastilles ; chaque ruban défile à l'horizontale s'il déborde. */
#bestiary-dialog .bs-window{height:min(760px,calc(100dvh - 24px))}
#bestiary-dialog .bs-tabs{flex:none;display:grid;min-width:0;background:var(--window-chrome,#3d3628);border-bottom:1px solid #0003}
#bestiary-dialog .bs-tabs-main,#bestiary-dialog .bs-tabs-cats{display:flex;min-width:0;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;overscroll-behavior-x:contain;scroll-behavior:smooth;-webkit-overflow-scrolling:touch}
#bestiary-dialog .bs-tabs-main::-webkit-scrollbar,#bestiary-dialog .bs-tabs-cats::-webkit-scrollbar{display:none}
#bestiary-dialog .bs-tabs-main{gap:4px;padding:2px 10px 0;align-items:flex-end}
#bestiary-dialog .bs-tabs-main [data-bs-tab]{position:relative;flex:0 0 auto;display:inline-flex;align-items:center;gap:7px;min-height:40px;padding:0 14px 0 12px;border:1px solid #ffffff1c;border-bottom:0;border-radius:10px 10px 0 0;background:linear-gradient(#ffffff14,#ffffff05);color:var(--window-text,#fff8e2);font:800 13px var(--font-ui,sans-serif);letter-spacing:.01em;white-space:nowrap;cursor:pointer;opacity:.86;transition:background .15s,opacity .15s,color .15s}
#bestiary-dialog .bs-tabs-main [data-bs-tab]:hover{opacity:1;background:linear-gradient(#ffffff26,#ffffff0d)}
#bestiary-dialog .bs-tabs-main [data-bs-tab][aria-selected=true]{opacity:1;background:var(--window-paper,#ddd6b4);color:var(--window-ink,#2f2a1e);border-color:#0000;box-shadow:inset 0 3px 0 var(--qa-orange,#e8780c),0 -2px 8px #0003}
#bestiary-dialog .bs-tabs-main [data-bs-tab][aria-selected=true]::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--window-paper,#ddd6b4)}
#bestiary-dialog .bs-tab-ic{font-size:15px;line-height:1;filter:drop-shadow(0 1px 1px #0006)}
#bestiary-dialog .bs-tab-n{min-width:20px;padding:1px 6px;border-radius:999px;background:#00000045;color:#ffe2a8;font:800 10.5px/1.5 var(--font-ui,sans-serif);text-align:center;box-sizing:border-box}
#bestiary-dialog .bs-tabs-main [aria-selected=true] .bs-tab-n{background:var(--qa-orange,#e8780c);color:#fff}
#bestiary-dialog [data-bs-tab].is-empty{opacity:.45}
#bestiary-dialog [data-bs-tab]:focus-visible{outline:2px solid #ffd08a;outline-offset:-3px}
#bestiary-dialog .bs-tabs-catwrap{display:flex;align-items:center;gap:8px;min-width:0;padding:7px 10px;background:linear-gradient(#0000000f,#00000005),var(--window-paper,#ddd6b4);border-bottom:1px solid #0002}
#bestiary-dialog .bs-tabs-catwrap[hidden]{display:none}
#bestiary-dialog .bs-tabs-cap{flex:0 0 auto;font:800 10px var(--font-ui,sans-serif);letter-spacing:.08em;text-transform:uppercase;color:#7a5520;white-space:nowrap}
#bestiary-dialog .bs-tabs-cats{flex:1;gap:5px;-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 28px),#0000);mask-image:linear-gradient(90deg,#000 calc(100% - 28px),#0000);padding-right:24px}
#bestiary-dialog .bs-tabs-cats [data-bs-tab]{flex:0 0 auto;display:inline-flex;align-items:center;gap:5px;min-height:30px;padding:0 6px 0 10px;border:1px solid #c9b98a;border-radius:999px;background:#fffaf0;color:#4a3c22;font:700 12px var(--font-ui,sans-serif);white-space:nowrap;cursor:pointer;transition:background .15s,border-color .15s,box-shadow .15s}
#bestiary-dialog .bs-tabs-cats [data-bs-tab]:hover{border-color:var(--qa-orange,#e8780c);background:#fff3d6}
#bestiary-dialog .bs-tabs-cats [data-bs-tab][aria-selected=true]{background:linear-gradient(#f39a3c,var(--qa-orange,#e8780c));border-color:#9a4c08;color:#fff;box-shadow:0 2px 6px #b3590a55}
#bestiary-dialog .bs-tabs-cats .bs-tab-ic{font-size:13px;filter:none}
#bestiary-dialog .bs-tabs-cats .bs-tab-n{background:#0000001a;color:inherit;font-size:10px}
#bestiary-dialog .bs-tabs-cats [aria-selected=true] .bs-tab-n{background:#ffffff38;color:#fff}
#bestiary-dialog .bs-tabs-cats [data-bs-tab]:focus-visible{outline:2px solid var(--qa-orange,#e8780c);outline-offset:1px}
/* sous-groupes : titre collant, compteur vus / total, barre de progression ; un clic replie la section */
#bestiary-dialog .bs-list{padding-top:0}
#bestiary-dialog .bs-list li.bs-sec{position:sticky;top:0;z-index:2;margin:0 -6px;padding:6px 6px 3px;background:linear-gradient(var(--window-paper,#ddd6b4) 82%,#0000)}
#bestiary-dialog .bs-list li.bs-sec+li.bs-sec{margin-top:0}
#bestiary-dialog .bs-list .bs-sec button{display:grid;grid-template-columns:14px minmax(0,1fr) auto;grid-template-rows:auto 3px;column-gap:7px;row-gap:5px;align-items:center;padding:7px 10px 6px 8px;border:1px solid #b9a774;border-radius:9px;background:linear-gradient(#f7eed4,#ecdfb8);box-shadow:0 1px 2px #0002,inset 0 1px 0 #fff9;cursor:pointer}
#bestiary-dialog .bs-list .bs-sec button:hover{background:linear-gradient(#fff5dc,#f1e4bd);border-color:var(--qa-orange,#e8780c)}
#bestiary-dialog .bs-sec-t{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:800 12.5px var(--font-ui,sans-serif);color:#5a3b10;letter-spacing:.01em}
#bestiary-dialog .bs-sec-t small{font-weight:700;font-size:10.5px;color:#8a7650}
#bestiary-dialog .bs-sec-n{font:700 11px var(--font-ui,sans-serif);color:#6d6248;white-space:nowrap}
#bestiary-dialog .bs-sec-n b{display:inline;font:800 12px var(--font-ui,sans-serif);color:#2f7a1e}
#bestiary-dialog .bs-sec-bar{grid-column:2/4;height:3px;border-radius:2px;background:#0000001a;overflow:hidden}
#bestiary-dialog .bs-sec-bar i{display:block;height:100%;border-radius:2px;background:linear-gradient(90deg,#6b9a30,#9ccc4a)}
#bestiary-dialog .bs-sec.is-done .bs-sec-bar i{background:linear-gradient(90deg,#d9a21b,#ffd36a)}
#bestiary-dialog .bs-chev{grid-row:1;width:8px;height:8px;margin-left:2px;border-right:2px solid #7a5520;border-bottom:2px solid #7a5520;transform:rotate(45deg) translate(-2px,-2px);transition:transform .15s}
#bestiary-dialog .bs-sec button[aria-expanded=false] .bs-chev{transform:rotate(-45deg)}
#bestiary-dialog .bs-list li.bs-sec+li:not(.bs-sec){margin-top:2px}
/* vignette : coche « déjà rencontré en combat » */
#bestiary-dialog .bs-pic{position:relative;width:44px;height:44px}
#bestiary-dialog .bs-seen{position:absolute;right:-3px;bottom:-2px;width:16px;height:16px;display:grid;place-items:center;border-radius:50%;background:#3f8a24;color:#fff;font:900 10px/1 var(--font-ui,sans-serif);font-style:normal;box-shadow:0 0 0 2px var(--window-paper,#ddd6b4)}
@media (max-width:700px){
 #bestiary-dialog .bs-tabs-main{padding:4px 8px 0;-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 24px),#0000);mask-image:linear-gradient(90deg,#000 calc(100% - 24px),#0000);padding-right:22px;scroll-snap-type:x proximity}
 #bestiary-dialog .bs-tabs-main [data-bs-tab]{min-height:38px;padding:0 11px 0 10px;gap:6px;font-size:12.5px;scroll-snap-align:start}
 #bestiary-dialog .bs-tabs-catwrap{padding:6px 8px}
 #bestiary-dialog .bs-tabs-cap{display:none}
 #bestiary-dialog .bs-tabs-cats{scroll-snap-type:x proximity}
 #bestiary-dialog .bs-tabs-cats [data-bs-tab]{scroll-snap-align:start}
 #bestiary-dialog.show-detail .bs-tabs{display:none}
}
/* Conseil contre les coups fatals (19/10/2026) */
.bs-tip{display:flex;align-items:flex-start;gap:7px;margin:6px 0 0;padding:6px 10px;border-radius:9px;border:1px solid #e0a44066;background:linear-gradient(180deg,#fff3d6,#ffe9bd);color:#4a3412;font-size:12.5px;line-height:1.4}
.bs-tip b{color:#8b3a0e}
