.alliance-dialog { --alliance-line:#a8906040; --alliance-gold:#c9b17b; --alliance-muted:#9eb1bc; }
.alliance-dialog[open] { display:grid; grid-template-columns:172px minmax(0,1fr); grid-template-rows:auto auto minmax(0,1fr) auto; }
.alliance-dialog > .reports-heading { grid-column:1/-1; border-bottom:1px solid var(--alliance-line); }
.alliance-dialog [data-alliance-tabs] { grid-column:1; grid-row:2/4; display:flex; flex-direction:column; flex-wrap:nowrap; gap:8px; padding:20px 12px; background:linear-gradient(180deg,#192b38,#0d1924); border-right:1px solid var(--alliance-line); border-bottom:0; overflow:auto; }
.alliance-dialog [data-alliance-tabs]:empty { display:none; }
.alliance-dialog:has([data-alliance-tabs]:empty) { grid-template-columns:0 minmax(0,1fr); }
.alliance-dialog [data-alliance-tabs] button { display:flex; align-items:center; gap:10px; text-align:left; padding:12px 10px; min-height:50px; flex-shrink:0; border:1px solid transparent; }
.alliance-dialog [data-alliance-tabs] button[aria-pressed=true] { background:linear-gradient(90deg,#34454c,#203440); border:1px solid #ac94605c; box-shadow:inset 3px 0 #c9b17b; color:#f0dfb7; }
.alliance-dialog [data-alliance-status] { grid-column:2; padding:10px 22px; background:#223039; }
.alliance-dialog [data-alliance-content] { grid-column:2; grid-row:3; min-width:0; min-height:0; overflow:auto; overscroll-behavior:contain; padding:22px; scrollbar-width:thin; scrollbar-color:#536575 #0f1d29; overflow-wrap:anywhere; }
.alliance-dialog > footer { grid-column:1/-1; padding:10px 22px; }
.alliance-dialog article { min-width:0; padding:18px; margin:0 0 16px; border:1px solid var(--alliance-line); border-radius:8px; background:linear-gradient(130deg,#1b2d3a,#13222e); }
.alliance-dialog :is(h2,h3) { color:#eee0c2; font:500 22px/1.3 Georgia,serif; margin:0 0 14px; }
.alliance-dialog h3 { font-size:17px; }
.alliance-dialog p { margin:8px 0 14px; }
.alliance-dialog .reports-heading p { margin:0; }
.alliance-dialog [data-alliance-content] > .alliance-action { margin-bottom:16px; }
.alliance-dialog small { color:var(--alliance-muted); }
.alliance-icon { width:26px; height:26px; flex:0 0 26px; fill:none; stroke:currentColor; stroke-width:1.45; stroke-linecap:round; stroke-linejoin:round; color:var(--alliance-gold); }
.alliance-crest { width:52px; height:62px; display:inline-grid; flex:0 0 52px; place-items:center; background:linear-gradient(140deg,#40575e,#172e3e); clip-path:polygon(0 0,100% 0,94% 70%,50% 100%,6% 70%); border-top:3px solid #b69a67; color:#dac18e; }
.alliance-crest .alliance-icon { width:70%; height:70%; }
.alliance-crest.is-large { width:126px; height:152px; margin:0 auto 20px; filter:drop-shadow(0 8px 6px #0006); }
.alliance-dialog .alliance-overview { display:grid; grid-template-columns:minmax(230px,.8fr) minmax(0,1.2fr); gap:18px; }
.alliance-overview-main { min-width:0; }
.alliance-dialog .alliance-banner { text-align:center; background:radial-gradient(ellipse at top,#36505b,#142631 65%); border-top:3px solid #b69a67; }
.alliance-banner h2 { font-size:30px; margin:8px 0; }
.alliance-banner > p { color:var(--alliance-muted); font-size:12px; }
.alliance-eyebrow { display:block; color:var(--alliance-gold); font-size:13px; letter-spacing:.18em; }
.alliance-stats { display:flex; flex-wrap:wrap; gap:12px; margin:12px 0 0; font-variant-numeric:tabular-nums; }
.alliance-stats > div { flex:1; min-width:60px; }
.alliance-stats dt { color:var(--alliance-muted); font-size:11px; font-weight:400; }
.alliance-stats dd { margin:4px 0 0; color:#efe3c7; font-size:18px; }
.alliance-banner .alliance-stats { display:grid; grid-template-columns:1fr 1fr; padding-top:18px; border-top:1px solid var(--alliance-line); }
.alliance-banner .alliance-stats > div:first-child { grid-column:1/-1; }
.alliance-banner .alliance-stats dd { font-size:24px; }
.alliance-dialog .alliance-announcement { border-left:3px solid #b69a67; }
.alliance-prose { white-space:pre-wrap; color:#c6d0d1; line-height:1.7; }
.alliance-prose.is-clamped { display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:5; overflow:hidden; }
.alliance-action-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; margin-top:16px; }
.alliance-dialog .alliance-action { display:flex; gap:12px; align-items:center; min-height:48px; }
.alliance-action-grid .alliance-action { flex-direction:column; justify-content:center; padding:18px 10px; background:linear-gradient(150deg,#29404d,#152936); border-color:#a8906055; }
.alliance-action-grid .alliance-icon { width:36px; height:36px; }
.alliance-empty { display:flex; align-items:center; gap:16px; padding:18px 8px; color:var(--alliance-muted); }
.alliance-empty p { margin:0; }
.alliance-empty .alliance-icon { width:36px; height:36px; opacity:.7; }
.alliance-members section > h3 { margin:20px 0 10px; font-size:15px; color:var(--alliance-gold); }
.alliance-dialog .alliance-member { display:flex; align-items:center; gap:14px; flex-wrap:wrap; padding:12px 14px; margin:6px 0; }
.alliance-avatar { display:grid; place-items:center; width:40px; height:44px; border:1px solid var(--alliance-line); background:#0d1d2a; border-radius:6px; }
.rank-0 .alliance-avatar { background:#46402d; border-color:#ba9f68; }.rank-1 .alliance-avatar { background:#2b414e; border-color:#98acb6; }.rank-2 .alliance-avatar { background:#23394e; }
.alliance-member-name { flex:1 1 130px; min-width:0; }
.alliance-member-name :is(strong,small) { display:block; }
.alliance-member .alliance-stats { margin:0; min-width:145px; }
.alliance-member-actions { width:100%; border-top:1px solid var(--alliance-line); padding-top:8px; }
.alliance-member-actions:not([open]) { width:auto; border:0; padding:0; }
.alliance-dialog summary { cursor:pointer; color:var(--alliance-gold); min-height:30px; }
.alliance-dialog form { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); align-items:end; gap:16px; margin:16px 0 0; }
.alliance-dialog label { display:flex; flex-direction:column; gap:6px; min-width:0; color:var(--alliance-muted); }
.alliance-dialog :is(input,select,textarea) { box-sizing:border-box; width:100%; max-width:100%; min-width:0; padding:11px 12px; border:1px solid #9d87545c; border-radius:5px; background:#0d1924; color:#e8e0ce; font:inherit; color-scheme:dark; }
.alliance-dialog textarea { resize:vertical; min-height:130px; line-height:1.6; }
.alliance-dialog :is(input,select,textarea):focus-visible { outline:2px solid #d2b575; outline-offset:2px; }
.alliance-wide,.alliance-crest-picker { grid-column:1/-1; }
.alliance-crest-picker { display:flex; flex-wrap:wrap; gap:10px; padding:12px 0; border:0; margin:0; min-width:0; }
.alliance-crest-picker legend { color:var(--alliance-muted); font-size:13px; }
.alliance-crest-picker label { align-items:center; position:relative; padding:10px; border:1px solid var(--alliance-line); border-radius:6px; cursor:pointer; font-size:12px; background:#101f2b; }
.alliance-crest-picker label:has(:checked) { border-color:#c9b17b; background:#2a3e48; color:#eeddb5; }
.alliance-crest-picker label:focus-within { outline:2px solid #d2b575; }
.alliance-crest-picker input { position:absolute; inset:0; width:100%; height:100%; margin:0; opacity:0; z-index:1; cursor:pointer; }
.alliance-dialog .alliance-primary { justify-self:start; border-color:#b99e68; background:#35434a; padding:11px 22px; }
.alliance-critical { border-left:3px solid #aa7469!important; }.alliance-critical button { margin:4px 8px 4px 0; }
.alliance-log { padding:16px; border:1px solid var(--alliance-line); border-radius:6px; margin:12px 0; }.alliance-log p { font-size:12px; border-top:1px solid var(--alliance-line); padding-top:10px; }
.alliance-identity { display:flex; gap:12px; align-items:center; min-width:0; flex:1; text-align:left; }.alliance-identity strong { min-width:0; }
.alliance-dialog .alliance-search { margin-bottom:16px; }.alliance-ranking { display:grid; gap:8px; }
.alliance-dialog .alliance-ranking-row { display:flex; align-items:center; gap:16px; width:100%; min-width:0; padding:10px 14px; text-align:left; }
.alliance-ranking-row .alliance-stats { min-width:240px; margin:0; }
.alliance-placement { width:30px; flex:0 0 30px; font:22px Georgia,serif; color:var(--alliance-muted); }.is-podium .alliance-placement { color:#dec58c; }.alliance-ranking-row.is-podium { border-left:3px solid #aa915f; }
.alliance-request,.alliance-relation { display:flex; align-items:center; gap:12px; flex-wrap:wrap; padding:12px 0; border-top:1px solid var(--alliance-line); }.alliance-request p { flex:1 1 180px; margin:0; }
.alliance-dialog [data-alliance-tabs] [data-alliance-management] { position:relative; padding-right:38px; }
.alliance-application-count { position:absolute; right:4px; top:50%; transform:translateY(-50%); display:grid; place-items:center; min-width:22px; height:22px; box-sizing:border-box; padding:0 4px; border-radius:20px; background:#b52e37; color:#fff; font:700 11px/1 system-ui,sans-serif; }
.alliance-application-body { flex:1 1 220px; min-width:0; overflow-wrap:anywhere; }
.alliance-application-body small { display:block; margin-top:6px; color:var(--alliance-muted); font-size:11px; }
.alliance-request .alliance-application-message { margin-top:8px; padding:8px 10px; border-left:2px solid #71838e; background:#0d192477; white-space:pre-wrap; overflow-wrap:anywhere; }
.alliance-application-actions { display:flex; flex-wrap:wrap; gap:6px; }
.alliance-application-actions button { display:inline-flex; align-items:center; gap:6px; }
.alliance-application-actions .alliance-icon { width:16px; height:16px; }
.alliance-relations.relation-1 { border-left:3px solid #719d7c; }.alliance-relations.relation-2 { border-left:3px solid #64a9a6; }.alliance-relations.relation-3 { border-left:3px solid #a76861; }
.alliance-badge { font-size:11px; border:1px solid var(--alliance-line); padding:4px 10px; border-radius:20px; color:#bccbd1; }.relation-1 .alliance-badge { color:#a6d0ae; }.relation-2 .alliance-badge { color:#99d2d0; }.relation-3 .alliance-badge { color:#e2aaa0; }
.alliance-dialog .alliance-war { background:linear-gradient(130deg,#302831,#162633); border-top:2px solid #a86f65; margin-top:14px; }
.alliance-versus { display:grid; grid-template-columns:minmax(0,1fr) 36px minmax(0,1fr); gap:14px; align-items:center; text-align:center; }.alliance-versus > div { display:flex; flex-direction:column; align-items:center; gap:10px; }
.alliance-versus .alliance-crest { width:74px; height:86px; flex-basis:86px; }.alliance-versus > .alliance-icon { color:#d29885; width:36px; height:36px; }
.alliance-war-scores { display:grid; grid-template-columns:1fr 1fr; gap:20px; }.alliance-war-scores h3 { font-size:14px; }.alliance-war-scores .alliance-stats { display:grid; grid-template-columns:1fr 1fr; }
.alliance-war > p { font-size:12px; color:var(--alliance-muted); margin-top:18px; }.alliance-dialog .is-ended { padding:12px; }.is-ended .alliance-crest { width:44px; height:52px; flex-basis:52px; }
.alliance-welcome { text-align:center; }.alliance-welcome .alliance-action-grid { max-width:600px; margin:24px auto 0; }
.alliance-sheet { box-sizing:border-box; width:min(620px,94vw); max-height:85dvh; overflow:auto; border:1px solid #ac915c88; border-radius:10px; padding:24px; background:#142430; color:#e8e0ce; box-shadow:0 24px 80px #0009; }
.alliance-sheet::backdrop { background:#050d17b8; }.alliance-sheet header { display:flex; justify-content:space-between; align-items:center; gap:12px; }.alliance-sheet header h2 { margin:0; }.alliance-sheet > button { margin:8px 8px 0 0; }
.alliance-directory-dialog { width:min(1040px,96vw); overflow-wrap:anywhere; }
.alliance-directory-dialog > input { margin-top:16px; }
.alliance-directory-scroll { max-height:44dvh; overflow:auto; border:1px solid var(--alliance-line); border-radius:6px; }
.alliance-directory { width:100%; border-collapse:collapse; color:#e8e0ce; font:inherit; font-variant-numeric:tabular-nums; font-size:12px; }
.alliance-directory th { position:sticky; top:0; background:#1c303e; z-index:2; text-align:left; }
.alliance-directory :is(th,td) { padding:8px 10px; border-bottom:1px solid var(--alliance-line); }
.alliance-directory th button { padding:4px; background:transparent; border:0; }
.alliance-directory th[aria-sort=ascending] button::after { content:' ↑'; }.alliance-directory th[aria-sort=descending] button::after { content:' ↓'; }
.alliance-directory tbody tr { cursor:pointer; }.alliance-directory tbody tr:hover { background:#243a47; }.alliance-directory tr[aria-selected=true] { background:#35464c; box-shadow:inset 3px 0 #d2b575; }
.alliance-directory tr:focus-visible { outline:2px solid #d2b575; outline-offset:-2px; }
.alliance-directory .alliance-crest { width:30px; height:36px; flex-basis:30px; }.alliance-directory .alliance-identity { min-width:160px; gap:8px; }.alliance-directory small { display:block; max-width:180px; }
.alliance-directory-pager { display:flex; align-items:center; justify-content:space-between; gap:12px; margin:12px 0; }
.alliance-directory-selection { display:grid; grid-template-columns:minmax(0,1fr) minmax(150px,.6fr) auto; gap:16px; align-items:end; padding-top:12px; border-top:1px solid var(--alliance-line); }
@media(max-width:600px) { .alliance-directory-selection { grid-template-columns:minmax(0,1fr); gap:8px; }.alliance-directory { min-width:570px; }.alliance-directory-scroll { max-height:36dvh; } }
@media(max-width:900px) {
 .alliance-dialog[open] { grid-template-columns:172px minmax(0,1fr); }.alliance-dialog .alliance-overview { grid-template-columns:minmax(0,1fr); }
 .alliance-banner .alliance-stats { display:flex; }.alliance-crest.is-large { width:96px; height:116px; }
 .alliance-ranking-row { flex-wrap:wrap; }.alliance-ranking-row .alliance-stats { width:100%; min-width:0; padding-left:46px; }
}
@media(max-width:600px) {
 .alliance-dialog[open] { width:100vw; max-width:100vw; height:96dvh; max-height:96dvh; margin:auto 0 0; grid-template-columns:minmax(0,1fr); grid-template-rows:auto auto auto minmax(0,1fr) auto; border-radius:10px 10px 0 0; }
 .alliance-dialog [data-alliance-tabs] { grid-column:1; grid-row:2; flex-direction:row; padding:8px; border-right:0; border-bottom:1px solid var(--alliance-line); }.alliance-dialog [data-alliance-tabs] button { padding:8px 12px; min-height:44px; }.alliance-dialog [data-alliance-tabs] .alliance-icon { width:20px; height:20px; flex-basis:20px; }
 .alliance-dialog [data-alliance-status] { grid-column:1; grid-row:3; padding:8px 12px; }.alliance-dialog [data-alliance-content] { grid-column:1; grid-row:4; padding:12px; }.alliance-dialog:has([data-alliance-tabs]:empty) { grid-template-columns:minmax(0,1fr); }
 .alliance-dialog article { padding:14px; }.alliance-action-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.alliance-dialog form { grid-template-columns:minmax(0,1fr); }.alliance-sheet { padding:16px; }
 .alliance-member .alliance-stats { min-width:0; flex:1 1 140px; }.alliance-war-scores { grid-template-columns:minmax(0,1fr); }.alliance-dialog .reports-heading { padding:14px; }.alliance-banner h2 { font-size:26px; }
}
.alliance-dialog>.map-action-footer{display:flex;justify-content:flex-end;gap:10px;padding:12px 22px;border-top:1px solid #40505a}
.alliance-profile-application{display:flex;flex-direction:column;gap:8px;margin-top:20px;padding-top:16px;border-top:1px solid var(--alliance-line)}
.alliance-profile-application .alliance-apply{display:flex;align-items:center;justify-content:center;gap:8px;min-height:44px;width:100%}
.alliance-profile-application p{margin:0;font-size:13px;overflow-wrap:anywhere}
.alliance-profile-application .alliance-profile-request-status{color:#c5d9bc}
.alliance-rank-icon[data-rank="0"]{color:#dec17e}
.alliance-rank-icon[data-rank="1"]{color:#c4d1dc}
.alliance-rank-icon[data-rank="2"]{color:#79aee2}
.alliance-rank-icon[data-rank="3"]{color:#9baeb9}
.alliance-rank-identity{display:inline-flex;align-items:center;gap:8px;vertical-align:middle}
.alliance-rank-identity .alliance-rank-icon{width:22px;height:22px;flex-basis:22px}
.alliance-member-actions[open]{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.alliance-member-actions[open]>summary{width:100%}
.alliance-role-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:18px 0}
.alliance-role-cards article{padding:14px;margin:0;display:flex;flex-direction:column}
.alliance-role-cards h3{font:600 14px/1.4 "Segoe UI",sans-serif;margin-bottom:8px}
.alliance-role-cards p{font-size:12px;color:var(--alliance-muted);flex:1;margin:0 0 12px}
.alliance-role-cards strong{font-size:13px;color:#dbe2de}
.alliance-role-hint{font-size:12px;color:var(--alliance-muted);max-width:80ch}
.alliance-role-scroll{max-width:100%;overflow:auto;border:1px solid var(--alliance-line);border-radius:7px;scrollbar-width:thin}
.alliance-role-matrix{width:100%;min-width:750px;border-collapse:collapse;font-size:12px}
.alliance-role-matrix caption{padding:10px 12px;text-align:left;color:var(--alliance-muted);caption-side:top}
.alliance-role-matrix :is(th,td){padding:12px;border-bottom:1px solid #82929a25}
.alliance-role-matrix thead th{background:#203441;font-weight:500;white-space:nowrap}
.alliance-role-matrix tbody th{min-width:210px;max-width:330px;text-align:left;font-weight:500}
.alliance-role-matrix td{text-align:center;vertical-align:top;padding-top:14px}
.alliance-role-matrix small{display:block;margin-top:5px;font-weight:400;line-height:1.5;font-size:11px}
.alliance-role-matrix .alliance-permission-group th{background:#1a2d39;color:#c4d2d7;letter-spacing:.04em;padding:9px 12px}
.alliance-role-matrix .is-allowed{display:inline-grid;place-items:center;width:24px;height:24px;border-radius:50%;color:#9dccac;background:#6f9d7b1f;font-size:17px}
.alliance-role-matrix .is-denied{color:#6f828f;font-size:20px}
.alliance-rank-picker{width:min(460px,94vw);max-height:88dvh}
.alliance-rank-picker form{display:block}
.alliance-rank-picker fieldset{border:0;padding:0;margin:16px 0}
.alliance-rank-picker legend{font:13px "Segoe UI",sans-serif;color:var(--alliance-muted);margin-bottom:10px}
.alliance-dialog .alliance-rank-option{position:relative;display:flex;flex-direction:row;align-items:center;gap:12px;padding:14px 36px 14px 14px;margin:8px 0;border:1px solid #7d919b45;border-radius:7px;background:#10212d;cursor:pointer}
.alliance-rank-option:hover{background:#243744}
.alliance-rank-option:has(:checked){border-color:#b7a276;background:#2b3d46}
.alliance-rank-option:has(:checked)::after{content:'✓';position:absolute;right:12px;color:#dec17e}
.alliance-rank-option:focus-within{outline:2px solid #d2b575;outline-offset:2px}
.alliance-rank-option input{position:absolute;width:1px;height:1px;opacity:0;padding:0;border:0}
.alliance-rank-option:has(:disabled){cursor:wait;opacity:.65}
.alliance-rank-option-text{min-width:0}
.alliance-rank-option-text :is(strong,small){display:block}
.alliance-rank-option-text strong{font-size:14px;color:#e1e4dd}
.alliance-rank-option-text small{font-size:12px;margin-top:3px}
.alliance-rank-option-text .alliance-rank-current{color:#cfbc92;font-size:11px}
.alliance-rank-footer{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:8px;padding-top:8px}
@media(max-width:1100px){.alliance-role-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.alliance-role-cards{gap:8px}.alliance-role-cards article{padding:10px}.alliance-role-cards .alliance-rank-identity{flex-wrap:wrap;gap:5px}.alliance-rank-picker{padding:16px}.alliance-rank-picker h2{font-size:20px}.alliance-rank-footer button{flex:1}}
