/* Shared Clan Hub styling, with the site's Warframe accent and typography. */
.alliance-editor { margin:24px 0; padding:20px; border:1px solid #ffffff1a; border-radius:8px; background:#071011; color:#fff; }
.alliance-editor__header { display:flex; gap:20px; justify-content:space-between; align-items:flex-start; }
.alliance-editor__intro { display:flex; gap:12px; min-width:0; }
.alliance-editor__icon { display:grid; place-items:center; flex:0 0 48px; height:48px; border:1px solid #75c9d359; border-radius:8px; background:#0004; }
.alliance-editor img,.alliance-badge img,.alliance-panel h2 img { object-fit:contain; image-rendering:pixelated; }
.alliance-editor h2 { margin:0; font-size:16px; font-weight:900; text-transform:uppercase; letter-spacing:.04em; }
.alliance-editor p { margin:6px 0 0; font-size:14px; color:#a3a3a3; line-height:1.6; }
.alliance-toggle { display:flex; align-items:center; gap:10px; min-height:44px; padding:0 14px; border:1px solid #ffffff26; border-radius:8px; font-weight:800; }
.alliance-toggle:has(:checked) { border-color:var(--cyan); background:#75c9d31a; }
.alliance-toggle input { width:16px; height:16px; accent-color:var(--cyan); }
#alliance-fields { margin-top:20px; }
#alliance-fields[hidden] { display:none; }
.alliance-help { margin:12px 0!important; }
.alliance-row { display:grid; grid-template-columns:40px minmax(0,1fr) 138px; gap:12px; align-items:start; padding:12px; margin:12px 0; border:1px solid #ffffff1a; border-radius:8px; }
.alliance-row__order { display:grid; place-items:center; min-height:48px; color:#aaa; background:#0004; border-radius:6px; font-weight:800; }
.alliance-row__field { min-width:0; }
.alliance-row input,#alliance-fields input[name=allianceName] { display:block; width:100%; min-width:0; height:48px; padding:0 12px; border:1px solid #ffffff26; border-radius:8px; background:#ffffff08; color:#fff; font:inherit; }
.alliance-row small { display:block; margin-top:6px; color:#aaa; font-size:12px; }
.alliance-row__actions { display:flex; gap:3px; }
.alliance-row button,.alliance-add { min-width:44px; min-height:48px; border:1px solid #ffffff26; border-radius:8px; color:#ddd; background:transparent; font:inherit; cursor:pointer; }
.alliance-add { padding:0 16px; font-weight:800; }
.alliance-row button:hover,.alliance-add:hover { border-color:var(--cyan); background:#75c9d31a; }
.alliance-row button:disabled,.alliance-add:disabled { opacity:.35; cursor:default; }
.alliance-editor :focus-visible,.alliance-badge__button:focus-visible { outline:2px solid var(--cyan); outline-offset:3px; }
.alliance-banner-shell { position:relative; }
.alliance-banner-shell .clan-card__banner { background:#000; }
.alliance-badge { position:absolute; top:10px; right:12px; z-index:5; }
.alliance-badge__button { display:grid; place-items:center; width:44px; height:44px; border:1px solid #ffffff26; border-radius:6px; background:#080d0fe8; cursor:pointer; }
.alliance-tooltip { display:none; position:absolute; right:0; top:100%; margin-top:6px; z-index:50; width:max-content; max-width:min(288px,calc(100vw - 70px)); padding:8px 10px; border:1px solid #ffffff30; border-radius:4px; color:#fff; background:#111; font-size:12px; line-height:1.6; box-shadow:0 6px 20px #0008; pointer-events:none; overflow-wrap:anywhere; }
.alliance-tooltip strong,.alliance-tooltip>span { display:block; }
.alliance-tooltip>span { color:#d4d4d4; }
.alliance-badge:hover .alliance-tooltip,.alliance-badge:focus-within .alliance-tooltip { display:block; }
.managed-profile-hero:has(.alliance-badge),.clan-card:has(.alliance-badge) { overflow:visible; }
.clan-card:has(.alliance-badge:hover),.clan-card:has(.alliance-badge:focus-within) { position:relative; z-index:10; }
.alliance-panel h2 { display:flex; align-items:center; gap:10px; }
.alliance-panel>p { color:#b7c5cb; }
.alliance-panel ul { display:flex; flex-wrap:wrap; gap:8px 16px; padding:0; list-style:none; }
.alliance-panel a { color:var(--cyan); text-underline-offset:3px; }
.alliance-panel__note { font-size:12px; }
/* Plain black replaces decorative artwork; identity logos and uploaded media stay. */
.directory-hero,.directory-hero__content,.managed-profile-banner--empty { background:#000!important; }
.directory-hero::before,.directory-hero::after { content:none!important; }
@media(max-width:600px) {
  .alliance-editor { padding:16px; }
  .alliance-editor__header { flex-wrap:wrap; }
  .alliance-row { grid-template-columns:28px minmax(0,1fr); gap:8px; padding:10px; }
  .alliance-row__actions { grid-column:2; justify-content:flex-end; }
}
