.factions-page { display: grid; gap: 1.25rem; min-width: 0; }
.factions-page .card, .factions-page .card-body { min-width: 0; }
.factions-page h2 { font-size: 1.15rem; }
.factions-page h3 { font-size: 1rem; margin-top: 1rem; }
.factions-page p, .factions-page dd { overflow-wrap: anywhere; }
.faction-search > div, .faction-paging { display: flex; flex-wrap: wrap; gap: .75rem; align-items: center; margin: .75rem 0; }
.faction-search input { flex: 1 1 16rem; min-width: 0; width: auto; }
.faction-metadata { display: grid; grid-template-columns: minmax(8rem, 1fr) 3fr; gap: .5rem 1rem; }
.faction-metadata dd { margin: 0; }
.faction-description { white-space: pre-wrap; }
.faction-event { border-top: 1px solid var(--border-color, #8884); padding: .75rem 0; }
.factions-page .dash-scroll:focus-visible { outline: 2px solid currentColor; outline-offset: 2px; }
.standing-scale { width: clamp(8rem, 22vw, 15rem); font-variant-numeric: tabular-nums; }
.standing-value { display: block; text-align: center; font-size: .85rem; line-height: 1.2; }
.standing-track { display: block; width: 100%; height: auto; overflow: visible; }
.standing-negative { fill: #c65363; }
.standing-positive { fill: #238578; }
.standing-zero { stroke: var(--text); stroke-width: 1; }
.standing-marker { fill: var(--text); stroke: var(--bg-surface); stroke-width: 2; }
.standing-labels { display: flex; justify-content: space-between; padding: 0 3.7%; font-size: .7rem; color: var(--text-secondary); }
.standing-labels span { flex: 1; }
.standing-labels span:nth-child(2) { text-align: center; }
.standing-labels span:last-child { text-align: right; }
@media (forced-colors: active) {
  .standing-negative, .standing-positive { fill: Canvas; stroke: CanvasText; }
  .standing-zero { stroke: CanvasText; }
  .standing-marker { fill: Highlight; stroke: CanvasText; }
}
@media (max-width: 600px) { .faction-metadata { grid-template-columns: 1fr; } .faction-metadata dd { margin-bottom: .75rem; } }
