.database-intro { padding: 2.5rem clamp(1.2rem, 4vw, 3rem); border: 1px solid #52616a;
  background: linear-gradient(105deg, #0b151dec, #13222ad9),
    url("/static/img/rf-warrior-bg.jpg") center 38% / cover;
  box-shadow: 0 26px 52px #0006; }
.database-intro .eyebrow { margin: 0 0 .8rem; }
.database-intro h1 { margin: 0; font: 500 clamp(2.4rem, 5vw, 4.6rem)/1 "Arial Narrow", Bahnschrift, sans-serif;
  text-transform: uppercase; letter-spacing: .07em; }
.database-intro > p:last-child { max-width: 38rem; margin: 1rem 0 0; color: #d0d9d9; }
.database-source { display: flex; gap: .7rem 1rem; flex-wrap: wrap; align-items: baseline;
  margin: 1rem 0 1.6rem; padding: .9rem 1.1rem; border-left: 3px solid var(--gold);
  background: #17232bd9; color: #becbce; font-size: .87rem; }
.database-source strong { color: var(--gold-2); text-transform: uppercase; letter-spacing: .13em; }
.database-categories { display: flex; flex-wrap: wrap; gap: .55rem; margin-bottom: 1.3rem; }
.database-category { display: flex; gap: .9rem; align-items: baseline; padding: .65rem .9rem;
  border: 1px solid #485862; background: #101c24e6; color: #e1e9e8;
  font: 700 .83rem/1.2 "Arial Narrow", Bahnschrift, sans-serif;
  letter-spacing: .07em; text-decoration: none; text-transform: uppercase; }
.database-category small { color: #9eafb4; font: 500 .75rem/1 system-ui, sans-serif; }
.database-category:hover, .database-category[aria-current="page"] { border-color: var(--gold);
  background: #273039; color: var(--gold-2); }
.database-workspace { display: grid; grid-template-columns: minmax(18rem, 23rem) minmax(0, 1fr);
  gap: 1.15rem; align-items: start; }
.database-list-panel, .database-detail { min-width: 0; border: 1px solid #42535c;
  background: linear-gradient(150deg, #14222bef, #0f1a21f5); box-shadow: 0 18px 40px #0005; }
.database-list-panel { position: sticky; top: 1rem; }
.database-search-box { padding: 1.2rem; border-bottom: 1px solid #3b4b54; }
.database-search-box > label { display: block; margin-bottom: .55rem; color: var(--gold-2);
  font: 700 .79rem/1.3 "Arial Narrow", Bahnschrift, sans-serif;
  text-transform: uppercase; letter-spacing: .16em; }
.database-search-box input, .database-search-box select { width: 100%; min-width: 0; padding: .65rem .75rem;
  border: 1px solid #55636b; border-radius: 0; background: #0a151c; color: var(--text); font: inherit; }
.database-filters { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .65rem; margin-top: .75rem; }
.database-filters label { color: #a8b5b9; font-size: .77rem; }
.database-filters select { display: block; margin-top: .25rem; font-size: .83rem; }
.database-filters label[hidden] { display: none; }
.database-filters:has(label[hidden]) { grid-template-columns: minmax(0, 1fr); }
.database-count { margin: .8rem 0 0; color: #adbbc0; font-size: .8rem; }
.database-results { max-height: min(60vh, 43rem); overflow: auto; scrollbar-color: #65737a #111c23; }
.database-result { display: flex; gap: .8rem; justify-content: space-between; align-items: center;
  padding: .75rem 1rem; border-bottom: 1px solid #2e3e47; color: var(--text); text-decoration: none; }
.database-result:hover, .database-result[aria-current="true"] { background: #263640; }
.database-result[aria-current="true"] { box-shadow: inset 3px 0 var(--gold); }
.database-result-words { display: grid; gap: .18rem; min-width: 0; }
.database-result strong { font-size: .91rem; font-weight: 650; line-height: 1.25; }
.database-result small { color: #aebbc0; font-size: .72rem; }
.database-result code { color: #bd9c75; font-size: .69rem; white-space: nowrap; }
.database-more { display: block; width: 100%; padding: .8rem; border: 0; border-top: 1px solid #465760;
  background: #1a2932; color: var(--gold-2); font: 700 .85rem/1 system-ui, sans-serif; cursor: pointer; }
.database-more[hidden] { display: none; }
.database-more:hover { background: #2b3a42; }
.database-detail { min-height: 28rem; padding: clamp(1.2rem, 2.8vw, 2rem); }
.database-detail-header { padding-bottom: 1.1rem; border-bottom: 1px solid #53616a; }
.database-detail-header .eyebrow { margin: 0 0 .5rem; }
.database-detail-header h2 { margin: 0 0 .3rem; text-transform: uppercase; }
.database-detail-header code { color: #bdab91; font-size: .84rem; }
.database-facts { display: grid; grid-template-columns: minmax(9rem, 1fr) minmax(0, 1.2fr);
  gap: 0 1rem; margin: 1rem 0; }
.database-facts dt, .database-facts dd { margin: 0; padding: .55rem 0; border-bottom: 1px solid #344650; }
.database-facts dt { color: #a9bac0; font-size: .87rem; }
.database-facts dd { overflow-wrap: anywhere; font-weight: 600; }
.database-detail-section { margin-top: 2rem; }
.database-detail-section h3 { margin: 0 0 .7rem; color: #f7c487; font: 600 1.18rem/1.3 "Arial Narrow", Bahnschrift, sans-serif;
  text-transform: uppercase; letter-spacing: .07em; }
.database-help, .database-empty { color: #b9c8cc; font-size: .87rem; }
.database-empty { padding: 1rem 0; }
.database-expand { margin: .45rem 0; border: 1px solid #3e4f58; background: #101d25; }
.database-expand summary { padding: .72rem .85rem; color: #e1e9e8; cursor: pointer; }
.database-expand summary:hover { background: #283842; }
.database-expand[open] summary { border-bottom: 1px solid #3e4f58; }
.database-inactive summary { color: #a7b5b8; }
.database-chips { display: flex; flex-wrap: wrap; gap: .45rem; padding: .8rem; }
.database-data-link, .database-chips > span { display: inline-block; padding: .24rem .52rem;
  border: 1px solid #53616a; background: #1c2c35; color: #ffd19a;
  font-size: .79rem; line-height: 1.4; text-decoration: none; }
.database-data-link:hover { border-color: var(--gold); background: #35414a; }
.database-compact-list { margin: .6rem 1.1rem 1rem; padding-left: 1.3rem; color: #c4d1d2; font-size: .83rem; }
.database-compact-list li + li { margin-top: .3rem; }
.database-source-list { max-height: 23rem; overflow: auto; border: 1px solid #3e4f58; }
.database-source-row { display: flex; justify-content: space-between; gap: .8rem; align-items: baseline;
  padding: .48rem .65rem; border-bottom: 1px solid #33454e; font-size: .86rem; }
.database-source-row:last-child { border-bottom: 0; }
.database-source-row > span:last-child { color: #adbdc1; text-align: right; }
.database-slot { color: #b8c5c7; min-width: 5rem; text-transform: capitalize; }
.database-objective { padding: .55rem 0; border-bottom: 1px solid #33454e; }
.database-objective code { color: #c9b293; }
.database-quest-text { margin: .6rem 0 0; padding: 1rem 1.1rem; border-left: 3px solid #a87a46;
  background: #101d25; color: #d6e0df; line-height: 1.6; white-space: pre-line; }
@media (max-width: 900px) {
  .database-workspace { grid-template-columns: 1fr; }
  .database-list-panel { position: static; }
  .database-results { max-height: 25rem; }
}
@media (max-width: 520px) {
  .database-intro { padding: 1.6rem 1.2rem; }
  .database-category { padding: .55rem .7rem; }
  .database-detail { padding: 1.2rem; }
  .database-facts { grid-template-columns: minmax(7rem, .9fr) minmax(0, 1.1fr); }
}
