.faction-public,.faction-admin{width:100%;max-width:760px;margin:24px auto;min-width:0;letter-spacing:0}
.faction-public header{margin-bottom:24px}.faction-public h1,.faction-admin h1{font-size:24px;margin:8px 0}
.faction-public h2{font-size:17px}.faction-public h3,.faction-admin h3{font-size:14px}
.faction-public form,.faction-admin form{display:grid;gap:16px;min-width:0}
.faction-public label,.faction-admin label{display:grid;gap:6px;min-width:0}
.faction-public input,.faction-public select,.faction-public textarea,.faction-admin input,.faction-admin select,.faction-admin textarea{min-width:0;max-width:100%;width:100%;box-sizing:border-box}
.faction-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.faction-coords{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;border:0;padding:0;margin:0}
.faction-coords legend{margin-bottom:8px}.faction-public input[type=color]{height:36px;padding:3px;width:64px}
.faction-members{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}
.faction-member{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--border,#49515a);padding:5px 8px;border-radius:6px;max-width:100%;overflow-wrap:anywhere}
.faction-member img,.faction-result img{width:28px;height:28px;image-rendering:pixelated;border-radius:4px}
.faction-avatar{position:relative;display:inline-grid;place-items:center;width:28px;height:28px;flex:none;border-radius:4px;background:var(--surface,#30353b)}.faction-avatar img{position:absolute;inset:0}.faction-avatar.loaded{font-size:0}
.faction-member button{border:0;background:transparent;color:inherit;min-width:30px;min-height:30px;cursor:pointer;font-size:20px}
.faction-result{display:flex;align-items:center;gap:10px;width:100%;text-align:left;padding:8px;border:0;border-bottom:1px solid var(--border,#49515a);background:transparent;color:inherit;cursor:pointer;min-height:44px}
.faction-result:hover,.faction-result:focus-visible{background:var(--surface,#30353b)}
.faction-public details,.faction-admin details{padding:16px 0;border-top:1px solid var(--border,#49515a)}
.faction-public summary,.faction-admin summary{cursor:pointer;margin-bottom:12px}.faction-row summary{display:flex;justify-content:space-between;gap:12px}
.faction-public .faction-check{display:flex;align-items:flex-start;gap:8px}.faction-check input[type=checkbox]{width:18px;height:18px;flex:none;margin:2px 0}
.faction-public .btn,.faction-admin .btn{justify-self:start;width:auto}.faction-admin>form{grid-template-columns:minmax(0,1fr) auto;align-items:end;margin:18px 0}
.faction-public p,.faction-admin p{overflow-wrap:anywhere}.faction-public small{display:block;margin-top:8px}
@media(max-width:560px){.faction-grid{grid-template-columns:minmax(0,1fr)}.faction-public,.faction-admin{margin:12px auto}.faction-coords{gap:8px}.faction-row summary{flex-wrap:wrap}}
