/* Regional browsing and character records. Existing artwork and base styling remain intact. */
#character-regions{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:9px;margin:0 0 16px}
.character-region-button{min-width:0;min-height:78px;padding:10px 7px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;border:1px solid #544039;background:#111114;box-shadow:inset 0 0 0 3px #090a0c;color:#d3c6b6;position:relative}
.character-region-button:hover{border-color:#b37757;background:#211615}
.character-region-button.is-active,.character-region-button[aria-pressed="true"]{background:#49221c;border-color:#c07751;color:#fff0d9;box-shadow:inset 0 0 0 3px #261715}
.character-region-button.is-active:after{content:"";height:3px;position:absolute;left:18px;right:18px;bottom:0;background:#b95038}
.region-browse-label{font:600 20px/1.5 var(--serif);white-space:nowrap;letter-spacing:-.035em}
.region-browse-count{font:400 15px/1.5 var(--sans);color:#c39c7e}
.character-region-button.is-active .region-browse-count{color:#edc09b}
#character-region-note{font-size:15px;line-height:1.85;color:#c7baab;margin:0 0 25px;min-height:28px}
#view-characters .category-tabs{min-height:72px}
#view-characters .category-tab{font-size:23px;min-height:64px;padding-top:14px;padding-bottom:13px}
#view-characters .catalog-search-row:has(#character-faction){display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;align-items:stretch}
#view-characters .catalog-search-row:has(#character-faction) .search-field{grid-column:1/-1}
#view-characters .catalog-search-row:has(#character-faction) .select-field{width:100%;min-width:0}
#view-characters .catalog-search-row:has(#character-faction) select{min-width:0}
.character-meta .card-region{color:#d2b38d}
.character-meta .card-role{font-size:14px;color:#d6c9ba;margin-top:6px;line-height:1.65}
.character-meta .card-summary{font-size:14px;line-height:1.8;color:#b8b0a7;margin-top:8px;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}
.home-faces .card-role{font-size:12px;line-height:1.6;margin-top:4px}
.home-region h3{display:flex;align-items:baseline;gap:11px;flex-wrap:wrap}
.home-region-count{font:400 14px/1.5 var(--sans);color:#cfb298}
.home-region p{font-size:13px;line-height:1.8}
.regional-story .region-visitor-hook{border-left:2px solid #8e4936;margin-top:16px;padding:11px 14px;background:#171214}
.regional-story .region-entry-link{font-size:14px;margin-top:10px;min-height:44px}
.regional-count{font:400 14px/1.5 var(--sans);color:#c99b78;margin-left:8px}
.region-people{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px 11px}
.region-person{display:block;min-width:0;padding:0;background:none;color:inherit;text-align:left}
.region-person img{width:100%;aspect-ratio:624/780;object-fit:cover;object-position:center top;border:1px solid #534039}
.region-person strong{display:block;font-size:14px;line-height:1.65;margin-top:7px;font-weight:600;word-break:keep-all}
.region-person>span{display:block;font-size:12px;line-height:1.6;color:#bdab97;margin-top:3px}
.region-person:hover img{border-color:#c3875e}
.region-roster-link{margin-top:21px;font-size:14px!important}
.regional-factions article{padding:13px 0;border-top:1px solid #373032}
.regional-factions h4{font-size:17px;line-height:1.7;color:#e5c6a6;font-weight:600}
.regional-factions p{font-size:14px!important;line-height:1.9!important;margin-top:6px}
.record-copy .record-summary{font-size:18px;line-height:1.95;color:#f1deca;margin:21px 0 0;word-break:keep-all;overflow-wrap:break-word}
.profile-facts{margin:23px 0 0;padding:17px 0;border-top:1px solid #554033;border-bottom:1px solid #554033;display:grid;gap:14px}
.profile-facts>div{display:grid;grid-template-columns:105px minmax(0,1fr);gap:13px;align-items:baseline}
.profile-facts dt{font-size:14px;color:#af9984;line-height:1.8}
.profile-facts dd{margin:0;font-size:16px;line-height:1.85;color:#ded1bf;word-break:keep-all;overflow-wrap:break-word}
.inline-region-link{display:inline-flex;align-items:center;gap:5px;min-height:35px;padding:0;background:none;color:#e5b58e;border-bottom:1px solid #6d4936;text-align:left;font-size:inherit;line-height:inherit}
.inline-region-link:hover{color:#fff0d7;border-color:#c18a62}
.secondary-regions{display:flex;gap:9px 15px;flex-wrap:wrap}
.first-encounter .encounter-place{font-size:15px;color:#dcac87;margin-bottom:13px}
.encounter-hook{margin-top:18px;padding:17px 19px;background:#1a1414;border-left:2px solid #a5563b}
.encounter-hook>strong{display:block;font-size:15px;color:#e1b58e;font-weight:600;margin-bottom:8px}
.encounter-hook p{font-size:16px!important;line-height:1.95!important}
.relationship-list{display:grid;gap:12px}
.relationship-card{display:grid;grid-template-columns:66px minmax(0,1fr) 18px;gap:14px;align-items:start;width:100%;padding:14px;background:#131214;border:1px solid #4a3530;color:var(--text);text-align:left}
.relationship-card:hover{border-color:#a46a4d;background:#211716}
.relationship-card>img{width:66px;aspect-ratio:624/912;object-fit:cover;object-position:center top;border:1px solid #5b4438}
.relationship-copy{min-width:0}
.relationship-copy>strong{font:600 18px/1.7 var(--serif);color:#f1dbc1}
.relationship-label{display:block;font-size:14px;line-height:1.7;color:#ce9b78;margin:2px 0 7px}
.relationship-copy>p{font-size:15px;line-height:1.85;color:#c7baac;margin:0;word-break:keep-all;overflow-wrap:break-word}
.relationship-arrow{color:#c3875f;font-size:18px;line-height:1.7}
.appearance-record{border:1px solid #4c3932;margin-top:27px;background:#101113}
.appearance-record>summary{font-size:17px;line-height:1.8;color:#d8c4ac;cursor:pointer;padding:14px 18px;min-height:55px}
.appearance-record>summary:focus-visible{outline:2px solid #f2b39c;outline-offset:3px}
.appearance-record[open]>summary{border-bottom:1px solid #4c3932}
.appearance-record>div{padding:16px 18px 20px}
.appearance-record p{font-size:15px;line-height:1.95;color:#c3b8aa}
.record-navigation-wrap{margin-top:30px}
.record-list-label{font-size:14px;color:#bfaa94;line-height:1.8;margin:0}
.record-navigation-wrap .record-nav{margin-top:12px}
.record-navigation-wrap .record-nav>span{font-size:14px}
.record-scope-note{margin:20px 0 0;padding:11px 14px;border-left:2px solid #8d533d;background:#191414;font-size:14px;line-height:1.85;color:#d2bba2}
#record-title:focus{outline:none}
@media(min-width:761px){.character-record.has-world-profile .record-art{position:sticky;top:0;align-self:start}.character-record.has-world-profile .record-art button{min-height:0;height:auto}.character-record.has-world-profile .record-art img{height:auto;max-height:calc(100dvh - 60px);object-fit:contain}}
@media(max-width:1250px){#character-regions{gap:7px}.region-browse-label{font-size:18px}.region-browse-count{font-size:14px}.character-region-button{padding:10px 4px;min-height:76px}}
@media(min-width:1100px){#view-characters .catalog-search-row:has(#character-faction){grid-template-columns:minmax(260px,1fr) minmax(170px,.68fr) minmax(170px,.68fr) auto}#view-characters .catalog-search-row:has(#character-faction) .search-field{grid-column:auto}}
@media(max-width:760px){#character-regions{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.character-region-button{min-height:84px;padding:12px 8px}.region-browse-label{font-size:18px}.region-browse-count{font-size:15px}#character-region-note{font-size:14px;margin-bottom:21px}#view-characters .category-tab{font-size:22px}#view-characters .catalog-search-row:has(#character-faction){grid-template-columns:minmax(0,1fr) minmax(0,1fr)}#view-characters .catalog-search-row:has(#character-faction) .reset-button{grid-column:1/-1;justify-self:end;min-width:85px}.character-meta .card-role{font-size:14px}.character-meta .card-summary{font-size:14px}.home-faces .card-role{font-size:11px}.home-region p{font-size:12px}.record-copy .record-summary{font-size:17px}.profile-facts>div{grid-template-columns:95px minmax(0,1fr);gap:12px}.profile-facts dd{font-size:16px}.inline-region-link{min-height:40px}.relationship-card{grid-template-columns:58px minmax(0,1fr) 14px;gap:12px;padding:12px}.relationship-card>img{width:58px}.relationship-copy>strong{font-size:17px}.relationship-copy>p{font-size:15px}.relationship-label{font-size:14px}.region-people{gap:17px 13px}.region-person strong{font-size:15px}.region-person>span{font-size:13px}.record-nav button{min-height:46px}.record-navigation-wrap .record-nav>span{font-size:13px}}
@media(max-width:500px){#view-characters .catalog-search-row:has(#character-faction) .select-field{grid-column:1/-1;height:48px}#view-characters .catalog-search-row:has(#character-faction) .select-field select{font-size:15px}.relationship-card{grid-template-columns:56px minmax(0,1fr);gap:12px}.relationship-card>img{width:56px}.relationship-arrow{display:none}.profile-facts>div{grid-template-columns:1fr;gap:3px}.profile-facts{gap:16px}.profile-facts dt{font-size:14px}}
@media(max-width:760px){#character-regions{grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.character-region-button{min-height:70px;padding:7px 4px;gap:3px}.region-browse-label{font-size:18px;line-height:1.4}.region-browse-count{font-size:14px;line-height:1.4}}
@media(max-width:380px){#character-regions{grid-template-columns:repeat(4,minmax(0,1fr))}.character-region-button{min-height:68px;padding:7px 4px}.region-browse-label{font-size:17px}.character-region-button:first-child .region-browse-label{letter-spacing:-.08em}.region-people{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* On small screens the roster comes first; the extra filters stay available on demand. */
#character-more-filters{display:none}
#character-extra-filters{display:contents}
@media(max-width:760px){
  #view-characters>.folio-bar{display:none}
  #view-characters>.page-heading{margin:18px 0}
  #view-characters>.page-heading p,#view-characters>.page-heading .chapter-stamp{display:none}
  #character-region-note{min-height:0;line-height:1.7;margin-bottom:12px}
  #view-characters>.results-line{margin:12px 0 10px;min-height:24px}
  #view-characters>.results-line>span{display:none}
  #character-controls{padding:11px 12px}
  #character-controls:not(.is-expanded) #character-tabs{display:none}
  #character-controls:not(.is-expanded) #character-extra-filters{display:none}
  #view-characters #character-controls .catalog-search-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:stretch}
  #view-characters #character-controls .catalog-search-row .search-field{grid-column:auto;min-width:0;height:48px;padding:0 11px;gap:8px}
  #view-characters #character-controls .search-field input{min-width:0;font-size:14px}
  #character-more-filters{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-width:103px;min-height:48px;padding:9px 10px;background:#211715;color:#eed8bf;border:1px solid #805039;font-size:14px;line-height:1.6;white-space:nowrap}
  #character-more-filters[aria-expanded="true"]{background:#402219;border-color:#bb7754}
  #character-more-filters>span[aria-hidden="true"]{font-size:17px;color:#d49c70}
  #character-controls.is-expanded #character-tabs{display:flex;margin-bottom:15px}
  #character-controls.is-expanded #character-extra-filters{display:grid;grid-template-columns:minmax(0,1fr);grid-column:1/-1;gap:10px;padding-top:12px;border-top:1px solid #3b302b}
  #view-characters #character-extra-filters .select-field{grid-column:1/-1;min-width:0;width:100%;height:48px}
  #view-characters #character-extra-filters .reset-button{grid-column:1/-1;justify-self:end;min-width:85px}
}
