.faction-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:22px}
.faction-summary>a,.faction-summary>div{display:flex;flex-direction:column;gap:5px;border:1px solid #deded8;border-radius:9px;background:#fff;padding:18px;color:#252a30;text-decoration:none}
.faction-summary strong{font-size:1.7rem;line-height:1.2;color:#252a30}
.faction-summary span{font-size:.76rem;color:#667078}
.faction-summary>a:hover{border-color:#c0954c;background:#fffcf6}
.faction-section{background:white;border:1px solid #deded8;border-radius:9px;margin-bottom:18px;scroll-margin-top:16px}
.faction-section>summary{cursor:pointer;padding:18px 22px;font-size:1rem;font-weight:650;color:#283139}
.faction-section>summary:focus-visible{outline:2px solid #c0954c;outline-offset:2px}
.faction-section-body{padding:0 20px 4px}
.faction-section-body>.card{border:0;box-shadow:none;padding:10px 0;margin-bottom:12px}
.faction-notice{border-top:1px solid #e4e5e2;padding:18px 0}
.faction-notice h3{margin-bottom:6px}.faction-notice .muted{font-size:.8rem}
.faction-notice>summary{cursor:pointer;font-weight:650;font-size:1rem;margin-bottom:10px}
.faction-notice>summary:focus-visible{outline:2px solid #c0954c;outline-offset:3px}
.faction-notice .preserve{overflow-wrap:anywhere}
.faction-roster-search{display:flex;align-items:end;gap:10px;flex-wrap:wrap;margin-bottom:18px}
.faction-roster-search label{flex:1;min-width:160px;font-size:.8rem}
.faction-roster-search input{margin-top:6px}
@media(max-width:680px){.faction-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.faction-summary>a,.faction-summary>div{padding:14px}.faction-section-body{padding:0 12px 4px}.faction-section>summary{padding:16px 12px}}
