.bestiary-heading { max-width: 48rem; }
.bestiary-preview { margin: 1.5rem 0; padding: 1rem; border: 1px solid var(--gold); border-radius: 12px; background: var(--bg-2); }
.bestiary-preview p { margin: 0 0 .75rem; }
.bestiary-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin: 1.5rem 0; }
.bestiary-toolbar p, .bestiary-note, .bestiary-count { color: var(--ink-dim); font-size: 0.9rem; }
.bestiary-toolbar p { margin: 0; }
.bestiary-toolbar button { flex: none; cursor: pointer; }
.bestiary-toolbar button:disabled { opacity: .6; cursor: wait; }
.bestiary-controls { margin: 1rem 0; }
.bestiary-controls label { display: block; font-family: var(--font-display); color: var(--ink); margin-bottom: .4rem; }
.bestiary-controls input { width: min(100%, 35rem); padding: .75rem 1rem; border: 1px solid var(--line); border-radius: 8px; background: var(--bg-2); color: var(--ink); font: inherit; }
.bestiary-controls input:focus { outline: 2px solid var(--gold); outline-offset: 2px; }
.bestiary-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; margin-top: 1.2rem; }
.monster-card { display: flex; align-items: center; gap: .6rem; padding: .75rem; border: 1px solid var(--line); border-radius: 12px; background: var(--bg-2); text-decoration: none; }
.monster-card:hover, .monster-card:focus-visible { border-color: var(--gold); background: var(--bg-3); }
.monster-portrait { display: block; width: 128px; height: 128px; flex: 0 0 128px; background-image: url("/assets/img/bestiary/portraits-20261019.png"); background-repeat: no-repeat; image-rendering: pixelated; }
.monster-copy { display: flex; flex-direction: column; gap: .4rem; min-width: 0; }
.monster-copy strong { font-family: var(--font-display); font-size: 1.3rem; color: var(--gold-bright); }
.monster-places { color: var(--ink-dim); font-size: .85rem; line-height: 1.5; }
.monster-drop-count { color: var(--ink); font-size: .85rem; }
.monster-detail-heading { display: flex; align-items: center; gap: 1rem; }
.monster-detail-heading h2 { font-size: 2rem; }
.monster-detail-heading p { color: var(--ink-dim); }
#bestiary-content { scroll-margin-top: 90px; }
.drop-table { border: 1px solid var(--line); border-radius: 12px; background: var(--bg-2); }
.drop-table table { min-width: 780px; }
.drop-table caption { text-align: left; padding: 1rem .8rem; color: var(--gold-bright); font-family: var(--font-display); font-weight: bold; }
.drop-table td { font-variant-numeric: tabular-nums; white-space: nowrap; }
.drop-table th[scope="row"] { min-width: 14rem; }
.drop-item { display: inline-flex; align-items: center; gap: .6rem; color: var(--ink); text-decoration: none; }
.drop-item:hover, .drop-item:focus-visible { color: var(--ink); text-decoration: underline; text-decoration-color: var(--gold); }
.drop-item:focus-visible { outline: 2px solid var(--gold); outline-offset: 2px; border-radius: 4px; }
.drop-item .item-icon { flex: none; }
.item-tooltip { position: fixed; z-index: 1000; width: min(22rem, calc(100vw - 1.5rem)); padding: .8rem .9rem; border: 1px solid var(--line); border-radius: 10px; background: var(--bg-2); color: var(--ink); box-shadow: 0 12px 32px rgba(0, 0, 0, .45); pointer-events: none; font-size: .85rem; }
.item-tooltip[hidden] { display: none; }
.item-tooltip-head { display: flex; align-items: center; gap: .65rem; }
.item-tooltip-head strong { display: block; font-family: var(--font-display); font-size: 1.05rem; color: var(--gold-bright); font-weight: normal; }
.item-tooltip-type { display: block; color: var(--ink-dim); font-size: .78rem; }
.item-tooltip-props { list-style: none; margin: .55rem 0 0; padding: 0; }
.item-tooltip-props li { margin: .2rem 0; }
.item-tooltip-line { margin: .5rem 0 0; }
.item-tooltip-meta { margin: .5rem 0 0; color: var(--ink-dim); font-size: .78rem; }
.drop-table tbody tr:last-child > * { border-bottom: 0; }
.drop-table th[scope="row"] > span { display: inline-flex; align-items: center; flex-wrap: wrap; gap: .2rem .6rem; }
.drop-tag { display: inline-block; padding: .1rem .45rem; border: 1px solid var(--gold); border-radius: 999px; color: var(--gold-bright); font-size: .72rem; font-weight: bold; letter-spacing: .03em; text-transform: uppercase; vertical-align: middle; white-space: nowrap; }
.drop-table tr.drop-second > * { background: rgba(212, 175, 55, .06); }
.bestiary-note { max-width: 54rem; }
@media (max-width: 760px) { .bestiary-grid { grid-template-columns: 1fr; } }
@media (max-width: 480px) {
  .bestiary-toolbar { align-items: flex-start; flex-direction: column; }
  .monster-card { padding: .5rem; gap: .25rem; }
  .monster-detail-heading { align-items: flex-start; flex-direction: column; gap: .25rem; }
}
.monster-portrait-abaddon-incomplete- { background-position: 0px 0px; }
.monster-portrait-ancient-temple-knight { background-position: -128px 0px; }
.monster-portrait-ant { background-position: -256px 0px; }
.monster-portrait-armored-battle-steed { background-position: -384px 0px; }
.monster-portrait-arrow-guard-tower { background-position: -512px 0px; }
.monster-portrait-battle-golem { background-position: -640px 0px; }
.monster-portrait-beholder { background-position: -768px 0px; }
.monster-portrait-bunny { background-position: -896px 0px; }
.monster-portrait-cannibal-plant { background-position: 0px -128px; }
.monster-portrait-cannon-guard-tower { background-position: -128px -128px; }
.monster-portrait-cat { background-position: -256px -128px; }
.monster-portrait-centaurus { background-position: -384px -128px; }
.monster-portrait-claw-turtle { background-position: -512px -128px; }
.monster-portrait-clay-golem { background-position: -640px -128px; }
.monster-portrait-cyclops { background-position: -768px -128px; }
.monster-portrait-dark-elf { background-position: -896px -128px; }
.monster-portrait-dark-shadow-knight { background-position: 0px -256px; }
.monster-portrait-demon { background-position: -128px -256px; }
.monster-portrait-detector { background-position: -256px -256px; }
.monster-portrait-dire-boar { background-position: -384px -256px; }
.monster-portrait-dragon { background-position: -512px -256px; }
.monster-portrait-dummy { background-position: -640px -256px; }
.monster-portrait-elf-master { background-position: -768px -256px; }
.monster-portrait-ettin { background-position: -896px -256px; }
.monster-portrait-fire-wyvern { background-position: 0px -384px; }
.monster-portrait-frost { background-position: -128px -384px; }
.monster-portrait-gail { background-position: -256px -384px; }
.monster-portrait-gandlf { background-position: -384px -384px; }
.monster-portrait-gargoyle { background-position: -512px -384px; }
.monster-portrait-giant-cray-fish { background-position: -640px -384px; }
.monster-portrait-giant-frog { background-position: -768px -384px; }
.monster-portrait-giant-lizard { background-position: -896px -384px; }
.monster-portrait-giant-tree { background-position: 0px -512px; }
.monster-portrait-god-s-hand-knight { background-position: -128px -512px; }
.monster-portrait-god-s-hand-knight-on-armored-battle-steed { background-position: -256px -512px; }
.monster-portrait-guard { background-position: -384px -512px; }
.monster-portrait-hellclaw { background-position: -512px -512px; }
.monster-portrait-hellhound { background-position: -640px -512px; }
.monster-portrait-howard { background-position: -768px -512px; }
.monster-portrait-ice-golem { background-position: -896px -512px; }
.monster-portrait-lich { background-position: 0px -640px; }
.monster-portrait-light-war-beetle { background-position: -128px -640px; }
.monster-portrait-master-mage-orc { background-position: -256px -640px; }
.monster-portrait-minotaur { background-position: -384px -640px; }
.monster-portrait-morgan { background-position: -512px -640px; }
.monster-portrait-mountain-giant { background-position: -640px -640px; }
.monster-portrait-nizie { background-position: -768px -640px; }
.monster-portrait-ogre { background-position: -896px -640px; }
.monster-portrait-orc { background-position: 0px -768px; }
.monster-portrait-orc-mage { background-position: -128px -768px; }
.monster-portrait-rudolph { background-position: -256px -768px; }
.monster-portrait-scorpion { background-position: -384px -768px; }
.monster-portrait-shopkeeper-w { background-position: -512px -768px; }
.monster-portrait-skeleton { background-position: -640px -768px; }
.monster-portrait-slime { background-position: -768px -768px; }
.monster-portrait-snake { background-position: -896px -768px; }
.monster-portrait-sorceress { background-position: 0px -896px; }
.monster-portrait-stalker { background-position: -128px -896px; }
.monster-portrait-stone-golem { background-position: -256px -896px; }
.monster-portrait-temple-knight { background-position: -384px -896px; }
.monster-portrait-tentocle { background-position: -512px -896px; }
.monster-portrait-tigerworm { background-position: -640px -896px; }
.monster-portrait-tom { background-position: -768px -896px; }
.monster-portrait-troll { background-position: -896px -896px; }
.monster-portrait-unicorn { background-position: 0px -1024px; }
.monster-portrait-werewolf { background-position: -128px -1024px; }
.monster-portrait-william { background-position: -256px -1024px; }
.monster-portrait-wyvern { background-position: -384px -1024px; }
.monster-portrait-zombie { background-position: -512px -1024px; }
