.faction-public,.faction-admin{width:100%;max-width:760px;margin:24px auto;min-width:0;letter-spacing:0}
.territory-map{height:360px;width:100%;border:1px solid var(--border);border-radius:6px;background-color:#22262c!important;background-image:linear-gradient(#ffffff0a 1px,transparent 1px),linear-gradient(90deg,#ffffff0a 1px,transparent 1px);background-size:32px 32px}.territory-toolbar{display:flex;gap:8px;flex-wrap:wrap}.territory-toolbar button{width:auto!important}.territory-point{display:grid;place-items:center;border:2px solid #fff;background:#245ead;color:white;border-radius:4px;font:600 11px system-ui}.faction-territory form{max-width:none}.faction-territory .leaflet-control-attribution{background:#202328;color:#c4cad2}.faction-territory .leaflet-bar a{background:#30343a;color:white}.faction-territory{margin:20px 0}.faction-territory h2{font-size:17px}
.faction-admin .faction-title{display:flex;align-items:center;gap:12px}.faction-admin .faction-title h1{margin:0}.faction-admin .faction-title p{margin:3px 0;color:var(--muted)}.faction-admin .faction-row{border-bottom:1px solid var(--border)}.faction-row summary>strong{display:flex;gap:10px;align-items:center}.faction-row summary>span{font-size:12px;align-self:center}.faction-admin .faction-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.faction-facts dt{color:var(--muted);font-size:12px}.faction-facts dd{margin:4px 0}.faction-admin .faction-review{border-left:3px solid var(--accent,#72a7ff);padding:12px 16px;margin:16px 0}.faction-admin form button{justify-self:start}.faction-admin .faction-row>form{max-width:520px}
.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-member .minecraft-skin-head>img,.faction-result .minecraft-skin-head>img{width:100%;height:100%;object-fit:contain}
.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}}
.territory-workspace{display:grid;grid-template-columns:minmax(0,1fr) 240px;gap:20px;align-items:start}.territory-stage{min-width:0}.territory-inspector{border-left:1px solid var(--border,#45474e);padding-left:20px;min-width:0;display:grid;gap:12px}.territory-inspector h3{margin:0;font-size:15px}.territory-inspector dl{margin:0;display:grid;gap:12px}.territory-inspector dt{font-size:12px;color:var(--muted)}.territory-inspector dd{margin:3px 0;font-weight:600;overflow-wrap:anywhere}.territory-inspector [data-territory-neighbours]{display:grid;gap:6px;font-size:13px}.territory-inspector button{max-width:100%;white-space:normal;text-align:left}.territory-inspector textarea{width:100%;font-family:ui-monospace,monospace}.territory-toolbar{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}.factions-public-shell .faction-public:has(.territory-workspace){max-width:1120px}.territory-stage .territory-map{height:520px;min-height:320px;border:1px solid var(--border,#45474e);border-radius:6px}.territory-inspector details{border-top:1px solid var(--border,#45474e);padding-top:14px}.territory-inspector [data-territory-status]{font-size:13px}.territory-point{display:grid;place-items:center;background:#f5f7fa;color:#18212d;border:2px solid #427ec8;border-radius:50%;font:600 12px system-ui}.territory-stage>button{margin:4px 8px 4px 0}@media(max-width:760px){.territory-workspace{grid-template-columns:minmax(0,1fr)}.territory-inspector{border-left:0;border-top:1px solid var(--border,#45474e);padding:16px 0 0}.territory-inspector dl{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.territory-stage .territory-map{height:380px}.territory-inspector textarea{font-size:16px}}
.faction-tabs a{display:inline-flex;align-items:center;gap:8px}.faction-tabs .icon{width:16px;height:16px;flex:none}
.factions-public-shell .faction-public.faction-workspace{max-width:1120px;margin:24px auto}
.factions-public-shell:not(:has(.cv-landing)) #cv-main:has(.faction-workspace),.factions-public-shell:not(:has(.cv-landing)) #cv-main:has(.cv-faction-detail){max-width:1120px}
.faction-admin:has(.cv-faction-detail)>h2{display:none}
.factions-public-shell .cv-team .faction-admin:has(.cv-faction-detail){max-width:none}
.factions-public-shell .faction-workspace .faction-title{margin:0;min-height:64px;gap:14px}
.factions-public-shell .faction-workspace .faction-title h1{font-size:24px}
.faction-title>div:not(.faction-identity-flag){min-width:0}
.faction-identity-flag{display:flex;align-items:center;justify-content:center;width:56px;height:64px;flex:none;overflow:hidden}
.factions-public-shell .faction-identity-flag .faction-flag-image{width:100%;height:100%;max-height:64px;object-fit:contain;margin:0}
.factions-public-shell .faction-workspace .faction-tabs,.cv-faction-detail .faction-tabs{margin:14px 0 20px;gap:24px}
.factions-public-shell .faction-workspace .faction-facts{grid-template-columns:repeat(4,minmax(0,1fr));padding:12px 0 20px;margin:0 0 20px}
.faction-people-grid{display:grid;grid-template-columns:minmax(200px,1fr) minmax(0,2fr);gap:32px;align-items:start}
.faction-people-grid>section{min-width:0}.faction-people-grid h2{margin:0 0 12px}
.faction-people-grid .faction-members:not(:empty){margin:12px 0}
.faction-section-heading{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap}
.faction-section-heading a{font-size:13px}
.faction-quicklinks{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.faction-quicklinks a{display:flex;align-items:center;gap:10px;padding:14px 0;border-bottom:1px solid var(--border);text-decoration:none}
.faction-workspace>.faction-inbox{margin:0;padding:0;border:0}
.faction-workspace>.faction-inbox form>.faction-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.factions-public-shell .cv-team:has(.cv-faction-detail){max-width:1120px;margin:20px auto}
.factions-public-shell .cv-team .cv-faction-detail{padding:0}
.factions-public-shell .cv-team .cv-faction-detail>header{padding:8px 0;border:0}
.factions-public-shell .cv-team:has(.cv-faction-detail) .cv-faction-nav{margin:4px 0 8px;padding-bottom:4px}
.factions-public-shell .cv-team .cv-faction-detail .territory-map{height:480px}
.faction-workspace .faction-danger{margin-top:24px}
@media(max-width:700px){
 .faction-people-grid{grid-template-columns:minmax(0,1fr);gap:24px}
 .factions-public-shell .faction-workspace .faction-facts{grid-template-columns:repeat(2,minmax(0,1fr))}
 .faction-quicklinks{grid-template-columns:minmax(0,1fr);gap:0}
 .factions-public-shell .faction-workspace .faction-title{flex-wrap:wrap}
 .faction-workspace .faction-status{margin-left:0}
 .faction-workspace>.faction-inbox form>.faction-grid{grid-template-columns:minmax(0,1fr)}
 .factions-public-shell .cv-team .cv-faction-detail .territory-map{height:360px}
}
.factions-public-shell .faction-application{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 24px;margin-top:16px}
.faction-application>.faction-form-section:nth-of-type(3),.faction-application>.faction-form-optional,.faction-application>.faction-form-confirm,.faction-application>.faction-form-submit{grid-column:1/-1}
.faction-application .faction-grid{grid-template-columns:minmax(0,1fr)}
.faction-application>.faction-form-section:nth-of-type(n+4){grid-column:1/-1}
.faction-application>.faction-form-section:nth-of-type(4) .faction-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:560px){.faction-application>.faction-form-section:nth-of-type(4) .faction-grid{grid-template-columns:minmax(0,1fr)}}
@media(max-width:620px){.factions-public-shell .faction-application{grid-template-columns:minmax(0,1fr)}}
.factions-public-shell .faction-public>header.faction-application-heading{border:0;padding-bottom:0;margin-bottom:0}
.faction-application .faction-form-section{padding:16px 0;border-top:1px solid var(--border,#36423f);min-width:0}
.faction-application .faction-form-section h2{display:flex;align-items:center;gap:10px;margin:0 0 20px;font-size:17px}
.faction-step{display:grid;place-items:center;width:26px;height:26px;flex:none;border:1px solid #597468;border-radius:50%;color:#bce7d0;font-size:12px}
.faction-application h2 small,.faction-form-optional summary span{font-size:12px;font-weight:400;color:var(--muted,#b1bfba);margin:0 0 0 auto}
.faction-identity-fields{display:grid;grid-template-columns:minmax(0,1fr) 72px;gap:16px}
.faction-discord-name{margin-top:16px}
.faction-application .faction-coords{margin-top:16px}
.faction-form-leader{display:flex;gap:10px;align-items:center;margin:0 0 20px}
.faction-form-leader>div{display:grid;gap:2px}.faction-form-leader span{font-size:12px;color:var(--muted,#b1bfba)}
.faction-field-hint{font-size:13px;color:var(--muted,#b1bfba);line-height:1.6;margin:6px 0 12px}
.faction-application [data-faction-results]:not(:empty){margin-top:8px;border:1px solid var(--border,#36423f);border-radius:6px;max-height:280px;overflow:auto}
.faction-result small{font-size:12px;color:var(--muted,#b1bfba);margin:0 0 0 auto;text-align:right}
.faction-form-optional summary{display:flex;align-items:center;gap:10px}
.faction-form-confirm{display:grid;gap:12px;padding:20px 0}
.faction-form-submit{display:flex;gap:20px;align-items:center;padding:20px 0;border-top:1px solid var(--border,#36423f)}
.faction-form-submit p{margin:0;max-width:340px;font-size:12px;color:var(--muted,#b1bfba)}
.faction-inbox{border-top:1px solid var(--border,#36423f);margin-top:28px;padding-top:16px}
.faction-inbox h2{display:flex;align-items:center;gap:8px}
.faction-invitation{padding:16px 0;border-bottom:1px solid var(--border,#36423f)}
.faction-invitation-person{display:flex;align-items:center;gap:10px;min-width:0;padding:6px 0;overflow-wrap:anywhere}
.faction-invitation-person h3,.faction-invitation-person p{margin:0}.faction-invitation-person p{font-size:12px;color:var(--muted,#b1bfba)}
.faction-invitation-person small{margin:0 0 0 auto;font-size:12px}
.faction-public form.faction-invitation-actions{display:flex;gap:8px;flex-wrap:wrap}
@media(max-width:560px){.faction-form-submit{align-items:flex-start;flex-direction:column;gap:10px}.faction-form-submit .btn{width:100%}.faction-result{flex-wrap:wrap}.faction-result small{flex-basis:100%;margin-left:38px;text-align:left}.faction-application .faction-form-section{padding:20px 0}.faction-invitation-person{flex-wrap:wrap}}
.leaflet-marker-icon.territory-point{display:grid;place-items:center;background:transparent;border:0;border-radius:0}.territory-point>span{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:#f5f7fa;color:#18212d;border:2px solid #427ec8;box-shadow:0 1px 4px #0006}.territory-inspector label{display:grid;gap:8px}.territory-inspector textarea{box-sizing:border-box}
@media(max-width:760px){.territory-inspector dl{grid-template-columns:repeat(2,minmax(0,1fr))}.territory-inspector dl>div:first-child{grid-column:1/-1}.territory-inspector dd{overflow-wrap:anywhere}.territory-inspector [data-territory-apply]{margin-top:8px}}
 .faction-position-paste[hidden]{display:none}
 .faction-position-paste{display:grid;gap:6px;margin:12px 0}
 .faction-position-paste small{font-size:12px;color:var(--muted)}
.faction-flag-editor{display:grid;grid-template-columns:200px minmax(0,1fr);gap:28px;align-items:start}
.faction-flag-preview{width:200px;height:300px;background:#18211e;border:1px solid var(--border);display:grid;place-items:center;position:sticky;top:24px;padding:18px}
.faction-flag-preview{overflow:hidden;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr)}
.faction-flag-preview canvas,.faction-flag-preview img{width:100%;height:100%;min-height:0;max-width:100%;max-height:100%;object-fit:contain}
.faction-flag-controls{display:grid;gap:14px;min-width:0}.faction-flag-modes{display:flex;flex-wrap:wrap;gap:8px}.faction-flag-modes [aria-pressed=true]{border-color:var(--accent);color:var(--accent)}
.faction-flag-layer{display:grid;grid-template-columns:minmax(0,1fr) 36px repeat(3,30px);gap:6px;padding:12px 0;border-top:1px solid var(--border)}.faction-flag-layer input{width:36px;padding:3px}.faction-flag-layer button{padding:4px}.faction-flag-image{display:block;object-fit:contain;margin:12px 0;max-width:100%}
.flag-patterns{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin-bottom:16px}.faction-public .flag-patterns button{display:flex;flex-direction:column;gap:5px;justify-self:stretch;background:transparent;border:1px solid var(--border);padding:8px 2px;border-radius:4px;min-width:0}.flag-patterns canvas{width:28px;height:42px}.flag-patterns span{font-size:10px;overflow-wrap:anywhere}.flag-patterns button:hover{border-color:var(--accent)}
.faction-public .flag-swatches{display:grid;grid-template-columns:repeat(8,24px);gap:5px;grid-column:1/-1}.faction-public .flag-swatches button{width:24px;height:24px;min-height:24px;padding:0;border:1px solid #ffffff40;border-radius:3px;justify-self:stretch}.flag-swatches button[aria-pressed=true]{outline:2px solid var(--accent);outline-offset:1px}.faction-public .flag-base{display:grid;grid-template-columns:1fr 40px;align-items:center;gap:10px}.flag-base input{width:40px;padding:3px}.faction-flag-controls h3{font-size:13px;display:flex;justify-content:space-between;margin:20px 0 10px}.faction-flag-controls h3 small{font-weight:400}
.faction-application [hidden]{display:none!important}.faction-flag-controls input[type=file]{width:100%;font-size:12px}.faction-flag-controls [data-flag-status]{margin:0;font-size:12px}
@media(max-width:620px){.faction-flag-editor{grid-template-columns:minmax(0,1fr);gap:16px}.faction-flag-preview{width:100%;height:210px;position:static}.faction-flag-controls{width:100%}}
.faction-application .faction-grid{align-items:start}
.faction-public .flag-patterns button{color:#edf2ee}
.faction-public .flag-swatches{grid-template-columns:repeat(8,28px)}
.faction-public .flag-swatches button{width:28px;height:28px;min-height:28px}
.faction-public .flag-swatches button{min-width:28px}
.faction-public .faction-flag-layer>button{width:30px;min-width:30px}
@media(max-width:620px){.faction-flag-layer{grid-template-columns:minmax(0,1fr) 36px repeat(3,44px)}.faction-public .faction-flag-layer>button{width:44px;min-width:44px}}
