/* 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)}:where(html[data-theme="nuit"]) #bestiary-dialog::backdrop{background:#06080c99}
#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:48px;padding:3px 8px;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 9.5px var(--font-ui,sans-serif);opacity:.8}
#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}
