.bestiary-hero { background: radial-gradient(circle at 84% 18%, rgb(151 52 37 / 18%), transparent 25rem), linear-gradient(140deg, #271b15, #110e0c); }
.bestiary-controls { grid-template-columns: minmax(240px, 1fr) repeat(2, minmax(160px, .32fr)) auto; }
.bestiary-controls select { min-height: 40px; padding: 9px 12px; border: 1px solid var(--line-bright); border-radius: 6px; color: var(--ink); background: #100d0b; font: inherit; font-size: .68rem; }
.bestiary-rules { display: grid; grid-template-columns: repeat(4, 1fr); gap: 9px; margin-bottom: 24px; }
.bestiary-rules article { display: grid; grid-template-columns: 42px 1fr; gap: 11px; min-height: 105px; align-items: center; padding: 16px; border: 1px solid var(--line); border-radius: 8px; background: rgb(255 255 255 / 1.1%); }
.bestiary-rules article > span { color: var(--gold-bright); font-size: 1.2rem; text-align: center; }
.bestiary-rules b { color: var(--gold-bright); font: 600 .7rem Cinzel, Georgia, serif; }
.bestiary-rules p { margin-top: 5px; color: var(--muted); font-size: .56rem; }
.enemy-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.enemy-card { min-width: 0; overflow: hidden; border: 1px solid var(--line); border-radius: 11px; background: radial-gradient(circle at 100% 0, rgb(197 155 82 / 6%), transparent 17rem), linear-gradient(145deg, #1d1712, #100d0b); box-shadow: 0 14px 38px rgb(0 0 0 / 13%); }
.enemy-card[hidden] { display: none; }
.enemy-card__header { display: grid; grid-template-columns: 44px minmax(0, 1fr) auto; gap: 11px; align-items: center; padding: 16px; border-bottom: 1px solid var(--line); }
.enemy-card__icon { display: grid; width: 42px; height: 42px; place-items: center; border: 1px solid #705235; border-radius: 50%; color: var(--gold-bright); font-size: 1.1rem; }
.enemy-card__header small { color: var(--gold); font-size: .49rem; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; }
.enemy-card__header h2 { margin-top: 2px; overflow-wrap: anywhere; font-size: .9rem; }
.enemy-card__role { padding: 5px 7px; border: 1px solid var(--line); border-radius: 100px; color: var(--muted); font-size: .48rem; }
.enemy-card__role--Boss { color: #e2a193; border-color: #7f4036; }
.enemy-card__role--Elite { color: var(--gold-bright); border-color: #765936; }
.enemy-card__stats { display: grid; grid-template-columns: repeat(5, 1fr); border-bottom: 1px solid var(--line); }
.enemy-card__stats div { min-width: 0; padding: 10px 5px; border-left: 1px solid var(--line); text-align: center; }
.enemy-card__stats div:first-child { border-left: 0; }
.enemy-card__stats dt { color: var(--muted); font-size: .44rem; text-transform: uppercase; }
.enemy-card__stats dd { margin-top: 3px; color: var(--ink); font-size: .61rem; font-weight: 700; }
.enemy-card__body { display: grid; gap: 9px; padding: 15px 16px 17px; }
.enemy-card__line { display: grid; grid-template-columns: 82px minmax(0, 1fr); gap: 9px; }
.enemy-card__line b { color: var(--gold); font-size: .5rem; text-transform: uppercase; letter-spacing: .05em; }
.enemy-card__line span, .enemy-card__line p { color: var(--muted); font-size: .57rem; }
.enemy-card__ability { margin-top: 2px; padding: 10px 11px; border-left: 2px solid var(--gold); background: rgb(197 155 82 / 4%); }
.enemy-card__ability b { display: block; color: var(--gold-bright); font: 600 .61rem Cinzel, Georgia, serif; }
.enemy-card__ability p { margin-top: 4px; color: var(--ink-soft); font-size: .56rem; }
.enemy-card__tactic { padding-top: 9px; border-top: 1px solid var(--line); color: var(--muted); font-size: .55rem; }
.enemy-card__tactic b { color: var(--ink-soft); }
.empty-state { padding: 50px 20px; border: 1px dashed var(--line); color: var(--muted); text-align: center; }
@media (max-width: 1180px) { .enemy-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .bestiary-rules { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 760px) {
    .bestiary-controls { grid-template-columns: 1fr; }
    .bestiary-controls output { display: none; }
    .bestiary-rules, .enemy-grid { grid-template-columns: 1fr; }
    .bestiary-rules article { min-height: auto; }
    .enemy-card__header { grid-template-columns: 40px minmax(0, 1fr); }
    .enemy-card__role { grid-column: 2; justify-self: start; }
    .enemy-card__stats { grid-template-columns: repeat(3, 1fr); }
    .enemy-card__stats div { border-top: 1px solid var(--line); }
    .enemy-card__stats div:nth-child(-n+3) { border-top: 0; }
    .enemy-card__stats div:nth-child(4) { border-left: 0; }
}
@media (max-width: 390px) { .enemy-card__line { grid-template-columns: 1fr; gap: 3px; } }
