#spells .spells-filters { display: grid; grid-template-columns: minmax(0, 280px); gap: 16px; }
#spells .spells-filters .field { margin: 0; display: block; font-size: .8rem; }
#spells .spells-filters input, #spells .spells-filters select { display: block; margin-top: 7px; width: 100%; box-sizing: border-box; }
#spells .spells-categories { display: flex; gap: 8px; flex-wrap: wrap; margin: 18px 0 12px; }
#spells .spells-categories .stone-button { min-height: 34px; padding: 7px 13px; font-size: .75rem; }
#spells .spells-categories [aria-pressed="true"] { color: #ffe2a1; border-color: #ceaa62; background: linear-gradient(#305c73, #15364b); box-shadow: inset 0 0 0 1px rgba(206,170,98,.3); }
#spells .spells-status { color: #aac8db; font-size: .75rem; margin: 0 0 12px; min-height: 1.4em; }
#spells .spells-table-wrap { border-color: rgba(118,179,214,.35); max-width: 100%; box-sizing: border-box; overflow-x: auto; }
#spells .spells-table-wrap:focus-visible { outline: 2px solid #ceaa62; outline-offset: 2px; }
#spells .spells-table { width: 100%; min-width: 0; table-layout: auto; }
#spells .spells-table th { background: #143e59; color: #f4d89b; font-size: .73rem; padding: 10px 8px; white-space: nowrap; }
#spells .spells-table th:first-child { width: auto; }
#spells .spells-table th:nth-child(2), #spells .spells-table th:nth-child(3), #spells .spells-table th:nth-child(4), #spells .spells-table th:last-child { width: 1%; }
#spells .spells-table th:not(:first-child) { text-align: center; }
#spells .spells-table td { color: #d3e8f5; font-weight: 400; border-color: rgba(118,179,214,.22); padding: 11px 8px; font-size: .75rem; vertical-align: middle; white-space: nowrap; overflow-wrap: normal; word-break: normal; }
#spells .spells-table tbody tr:nth-child(even) { background: rgba(55,111,146,.1); }
#spells .spells-table tbody tr:hover { background: rgba(67,134,172,.16); }
#spells .spell-heading { display: flex; align-items: center; gap: 7px; flex-wrap: nowrap; line-height: 1.5; }
#spells .spell-heading strong { font-size: .79rem; font-weight: 700; color: #edf7ff; }
#spells .spell-type { padding: 1px 5px; font-size: .59rem; border: 1px solid rgba(118,179,214,.35); border-radius: 3px; color: #aacbdc; white-space: nowrap; }
#spells .spell-type-conjure { color: #e1cb94; border-color: rgba(206,170,98,.4); }
#spells .spell-type-rune { color: #a9d7bb; border-color: rgba(116,177,139,.4); }
#spells .spell-words, #spells .spell-vocations, #spells .spell-charges { display: block; margin-top: 5px; font-size: .69rem; line-height: 1.5; }
#spells .spell-words { color: #f2d398; font-style: italic; }
#spells .spell-vocations, #spells .spell-charges { color: #a9c4d6; }
#spells .spell-number { text-align: center; font-variant-numeric: tabular-nums; }
#spells .spell-number small { display: block; margin-top: 5px; color: #a9c4d6; font-size: .65rem; }
#spells .spells-empty { text-align: center; padding: 30px 14px; }
#spells .spells-note { margin: 14px 0 0; font-size: .71rem; line-height: 1.7; color: #abc5d7; }
#spells .spells-sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
@media (max-width: 600px) {
  #spells .spells-filters { grid-template-columns: minmax(0, 1fr); gap: 12px; }
  #spells .spells-categories { gap: 6px; }
  #spells .spells-categories .stone-button { flex: 1; padding-left: 8px; padding-right: 8px; }
}

#spells .spell-label { white-space: nowrap; }
#spells .spell-label .spell-heading { display: inline-flex; vertical-align: middle; }
#spells .spell-label .spell-words { display: inline; margin: 0 0 0 10px; vertical-align: middle; white-space: nowrap; }
