.expansion-shell { max-width: 1200px; margin: 32px auto; padding: 0 24px 48px; color: var(--text, #dfdfcf); }
.expansion-shell h1 { font-size: clamp(30px, 4vw, 46px); margin: 8px 0 12px; }
.expansion-shell h2, .reference-card h3 { margin-top: 0; }
.expansion-shell a:not(.btn), .boss-history a { color: var(--accent, #ef8d43); text-underline-offset: 3px; }
.reference-card img { min-height: 120px; }
.expansion-lead { max-width: 78ch; line-height: 1.65; }
.expansion-eyebrow { color: var(--accent, #ef8d43); font-size: 12px; letter-spacing: .15em; font-weight: bold; text-transform: uppercase; }
.expansion-toolbar, .expansion-actions { display: flex; align-items: end; flex-wrap: wrap; gap: 12px; margin: 20px 0; }
.expansion-toolbar label { display: grid; gap: 7px; }
.expansion-toolbar .check-label { display: flex; align-items: center; min-height: 42px; }
.expansion-shell input:not([type=checkbox]), .expansion-shell select, .expansion-shell textarea, .boss-history input, .boss-history select { background: var(--surface, #20231c); color: inherit; border: 1px solid #777966; border-radius: 4px; padding: 10px 12px; max-width: 100%; font: inherit; }
.expansion-shell textarea { width: 100%; min-height: 120px; box-sizing: border-box; }
.expansion-shell .btn, .boss-history .btn, .cultist-pins .btn { display: inline-flex; align-items: center; justify-content: center; text-align: center; white-space: normal; min-height: 42px; height: auto; padding: 9px 14px; line-height: 1.35; }
.reference-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.reference-card, .expansion-panel, .cultist-pins { background: var(--surface, #1b1e17); border: 1px solid #6d705e; border-radius: 6px; padding: 20px; min-width: 0; }
.reference-card { scroll-margin-top: 100px; }
.reference-card:target, .reference-card.is-selected { outline: 2px solid var(--accent, #ef8d43); }
.reference-card p { line-height: 1.6; overflow-wrap: anywhere; }
.reference-card h3 { font-size: 23px; line-height: 1.25; }
.reference-card img, #location-detail img { width: 100%; max-height: 280px; object-fit: contain; background: #111; border-radius: 4px; }
.reference-card figure { margin: 16px 0; }
.reference-card figcaption, .expansion-note { font-size: 13px; line-height: 1.6; opacity: .85; }
.reference-description { white-space: pre-line; }
.reference-connections { display: grid; gap: 8px; margin-top: 12px; }
.reference-links { display: flex; gap: 12px; flex-wrap: wrap; margin-top: 16px; }
.expansion-panel { margin: 20px 0; }
.location-layout { display: grid; grid-template-columns: minmax(230px, .8fr) minmax(0, 1.6fr); gap: 24px; align-items: start; }
#location-list { max-height: 660px; overflow: auto; display: grid; gap: 8px; }
#location-list button { justify-content: flex-start; text-align: left; display: grid; gap: 4px; }
#location-list button[aria-pressed=true] { border-color: var(--accent, #ef8d43); }
.location-form { display: grid; gap: 12px; }
.location-form label { display: grid; gap: 8px; }
.report-entry { border-top: 1px solid #656752; margin-top: 20px; padding-top: 16px; overflow-wrap: anywhere; }
.report-entry blockquote { white-space: pre-wrap; margin: 14px 0; }
.boss-history { margin: 24px 0; padding: 24px; border: 1px solid #737661; border-radius: 6px; background: var(--surface, #1b1e17); text-align: left; }
.boss-history h2 { margin-top: 0; }
.boss-history .table-scroll { overflow: auto; max-height: 480px; }
.boss-history table { border-collapse: collapse; width: 100%; min-width: 520px; }
.boss-history th, .boss-history td { padding: 12px 14px; border-bottom: 1px solid #555946; text-align: left; }
.boss-history th { background: var(--surface, #20231c); position: sticky; top: 0; }
.boss-change { border-top: 1px solid #555946; padding: 14px 0; line-height: 1.6; }
.boss-change strong { display: block; }
.cultist-pins { margin-bottom: 24px; }
#cultist-pin-results { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 8px; margin: 12px 0; }
.cultist-pin-row { display: flex; align-items: center; justify-content: space-between; gap: 12px; border-top: 1px solid #555946; padding: 10px 0; }
.cultist-pins p { line-height: 1.6; }
@media(max-width: 980px) { .reference-grid { grid-template-columns: repeat(2, minmax(0,1fr)); } }
@media(max-width: 620px) { .reference-grid, .location-layout { grid-template-columns: 1fr; } .expansion-shell { padding: 0 14px 30px; margin-top: 22px; } .reference-card, .expansion-panel, .boss-history { padding: 16px; } .expansion-toolbar > label { width: 100%; } #location-list { max-height: 240px; } #cultist-pin-results { grid-template-columns: 1fr; } }

/* Boss mode controls belong to the existing portrait grid. */
.boss-mode-toolbar { display: flex; align-items: center; flex-wrap: wrap; gap: 16px; margin: 20px 0 10px; }
.boss-mode-toolbar .mode-select { display: flex; gap: 4px; }
.boss-mode-toolbar .mode-select-btn { min-width: 78px; min-height: 42px; }
