/* Clans, clan page and search (reuses the profile shell from profiles.css). */
:root{--good:#7fe0a1;--bad:#ff7b86;--flat:#8e98ae}
.page-head{padding:34px 0 22px;position:relative;z-index:1}.page-head .eyebrow{font:12px ui-monospace,monospace;letter-spacing:3px;color:#c0c8dd;margin-bottom:14px}
.page-head h1{font-family:Mojangles,monospace;font-size:52px;line-height:1.2;margin:0 0 10px;letter-spacing:0;font-weight:400;overflow-wrap:anywhere;text-shadow:3px 3px 0 #0008}
.page-head>p{font-size:13px;line-height:1.6;color:#b6bfd2;margin:0 0 20px;max-width:620px}
.search-form{display:flex;width:min(560px,100%);background:#10121bc7;border:1px solid #ffffff20;border-radius:4px;overflow:hidden}
.search-form input{min-width:0;flex:1;border:0;background:none;padding:14px;color:#edf4ff;font-size:14px;outline-offset:-3px}.search-form input::placeholder{color:#9aa4b8}
.search-form .button{min-height:0;margin:0;border-radius:0;border-width:0 0 0 1px;box-shadow:none;padding:0 22px;font-size:14px}
.search-status{font-size:13px;color:#aab4ca;margin:0 0 20px;min-height:1.6em}
.results-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.result-list{display:grid;gap:8px}
.result-row{display:flex;align-items:center;gap:12px;min-width:0;padding:10px 12px;background:#10131d;border:1px solid #070a11;border-radius:4px;color:#e1e6f3;font-size:13px}
.result-row:hover,.result-row:focus-visible{background:#1d2232}
.result-row .gamertag{font-family:Mojangles,monospace;font-size:16px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
.result-meta{margin-left:auto;font-size:12px;color:#9aa4bb;text-align:right}
.card-content .empty-text,.empty-text{font-size:12px;line-height:1.6;color:#9aa4bb}

.clan-tag{font-family:Mojangles,monospace;font-weight:400;color:var(--clan,var(--accent));text-shadow:2px 2px 0 #0008;letter-spacing:0}
.clan-tag.small{font-size:14px;text-shadow:1px 1px 0 #0008}
.clan-emblem{display:grid;place-items:center;flex:none;width:52px;height:52px;overflow:hidden;background:#2b3449;border:1px solid #495670;border-radius:4px;font-size:14px}
.clan-emblem.small{width:34px;height:34px;min-width:0;font-size:12px}.clan-emblem.large{width:96px;height:96px;font-size:30px}
.clan-emblem img{width:100%;height:100%;object-fit:contain;image-rendering:pixelated}
.clan-emblem b{font-family:Mojangles,monospace;font-weight:400;color:var(--clan,var(--accent))}
.clan-card h3{font-family:Mojangles,monospace;font-weight:400}.clan-card h3 a:hover,.clan-ident:hover .clan-tag{text-decoration:underline}

.data-table{width:100%;border-collapse:collapse;font-size:13px}
.data-table th{padding:0 8px 10px;text-align:left;font:12px ui-monospace,SFMono-Regular,monospace;letter-spacing:1.4px;text-transform:uppercase;color:#8e98b2;white-space:nowrap}
.data-table th button{background:none;border:0;padding:0;font:inherit;letter-spacing:inherit;text-transform:inherit;color:#b8c3de;cursor:pointer}
.data-table th button:hover,.data-table th button:focus-visible{color:#fff}
.data-table th[aria-sort="ascending"] button:after{content:" ▲";font-size:8px}.data-table th[aria-sort="descending"] button:after{content:" ▼";font-size:8px}
.data-table td{padding:9px 8px;border-top:1px solid #ffffff0b;color:#dde3f2;vertical-align:middle}
.data-table .num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.data-table th.num{text-align:right}
.data-table .rank{color:#8e98b2;width:48px}
.data-table tbody tr:hover td{background:#ffffff05}
.clan-ident{display:flex;align-items:center;gap:12px;min-width:0}.clan-ident .clan-tag{font-size:17px}
.pager{display:flex;align-items:center;justify-content:center;gap:18px;margin-top:16px;font-size:12px;color:#aab4ca}.pager a{color:#c8d4ed}.pager a:hover{text-decoration:underline}

.clan-hero{display:flex;align-items:center;gap:24px;margin:26px 0 24px;position:relative;z-index:1}
.clan-title{min-width:0;flex:1}.clan-title .eyebrow{font:12px ui-monospace,monospace;letter-spacing:3px;color:#c0c8dd;margin-bottom:8px}
.clan-title h1{font-family:Mojangles,monospace;font-size:60px;line-height:1.2;margin:0 0 6px;font-weight:400;letter-spacing:0;overflow-wrap:anywhere}
.clan-title h1 .clan-tag{text-shadow:3px 3px 0 #0008}
.clan-title p{margin:0;font-size:13px;color:#b6bfd2}
.clan-hero .button{flex:none;margin:0}
.clan-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:20px}
.clan-stats .stat-box{background:#191c28;border:2px solid #080b12;padding:16px 16px 14px}
.clan-stats .stat-box>strong{display:block;font-size:26px;font-weight:600;font-variant-numeric:tabular-nums}.clan-stats small{display:block;margin-top:6px;font-size:12px;color:#9aa4bb}
.xp-bar{height:5px;background:#0c0e16;border-radius:3px;margin:10px 0 0;overflow:hidden}.xp-bar i{display:block;height:100%;width:0;background:var(--accent)}
.clan-columns{display:grid;grid-template-columns:minmax(0,1fr) minmax(250px,330px);gap:20px;align-items:start}
.war-row{display:flex;align-items:center;gap:12px;padding:10px 0;font-size:13px;color:#cdd5e8}.war-row+.war-row{border-top:1px solid #ffffff0a}
.war-row p{margin:3px 0 0;font-size:12px;color:#8e98ae}.war-row a:hover{text-decoration:underline}.war-opponent{font-family:Mojangles,monospace;font-size:15px}
.result{flex:none;min-width:96px;padding:3px 0;border-radius:3px;text-align:center;font:12px ui-monospace,monospace;letter-spacing:.8px;text-transform:uppercase;background:#ffffff0d;color:var(--flat)}
.result.win{background:#7fe0a11f;color:var(--good)}.result.loss{background:#ff7b8620;color:var(--bad)}
.roster-link{display:block;padding:8px 0;font-family:Mojangles,monospace;font-size:15px;color:#e1e6f3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.roster-link+.roster-link{border-top:1px solid #ffffff08}.roster-link:hover{color:var(--accent)}
.roster-link+.empty-text,.war-list .empty-text{margin-top:10px}

@media(max-width:850px){
  .clan-columns,.results-grid{grid-template-columns:minmax(0,1fr)}
  .clan-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .page-head h1{font-size:40px}.clan-title h1{font-size:44px}
}
@media(max-width:600px){
  .page-head{padding-top:22px}.page-head h1{font-size:32px}
  .clan-hero{flex-wrap:wrap;gap:16px;margin:20px 0}.clan-emblem.large{width:72px;height:72px}.clan-title h1{font-size:34px}.clan-hero .button{width:100%}
  .clan-stats{gap:10px}.clan-stats .stat-box{padding:13px}.clan-stats .stat-box>strong{font-size:21px}
  .data-table th,.data-table td{padding-inline:5px}.data-table .rank{width:36px}.hide-sm{display:none}
  .clan-ident{gap:9px}.clan-ident .clan-tag{font-size:15px}.result{min-width:84px}
  .search-form input{font-size:16px}
}
.clan-table th.num,.clan-table td.num{width:112px}
.clan-table td.name{width:auto}
@media(max-width:600px){.clan-table th.num,.clan-table td.num{width:auto}}

/* Elo chart and participation (A2) */
.good{color:var(--good)}.bad{color:var(--bad)}
.elo-stats{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-bottom:16px}
.elo-stats .stat-box{padding:12px 12px 10px}.elo-stats .stat-box>span{margin-bottom:8px;font-size:12px}.elo-stats .stat-box>strong{font-size:18px;font-weight:600;font-variant-numeric:tabular-nums}
.elo-chart{width:100%;min-width:0}.elo-chart svg{display:block;max-width:100%}
.elo-grid{stroke:#ffffff26;stroke-width:1;stroke-dasharray:3 4}
.elo-axis{fill:#9aa5bd;font:12px ui-monospace,SFMono-Regular,Consolas,monospace}
.elo-mark{fill:#e1e6f3;font:600 12px ui-monospace,SFMono-Regular,Consolas,monospace}
.elo-line{fill:none;stroke:var(--accent);stroke-width:2;stroke-linejoin:round;stroke-linecap:round}
.elo-dot{stroke:#191c28;stroke-width:1.5}.elo-dot.win{fill:var(--good)}.elo-dot.loss{fill:var(--bad)}.elo-dot.flat{fill:var(--flat)}.elo-dot.start{fill:#191c28;stroke:var(--flat)}
.elo-ring{fill:none;stroke:#e1e6f3;stroke-width:1.2;stroke-opacity:.7}
.elo-legend{display:flex;flex-wrap:wrap;gap:6px 18px;margin:10px 0 0;font-size:12px;color:#9aa4bb}
.elo-legend span:before{content:"";display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:6px;background:var(--flat)}
.elo-legend .win:before{background:var(--good)}.elo-legend .loss:before{background:var(--bad)}
.players-table{table-layout:fixed}.players-table td.name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.players-table .roster-link{display:inline;padding:0;border:0}
.players-table th.num,.players-table td.num{width:46px}.players-table th:nth-child(2),.players-table td:nth-child(2),.players-table th:nth-child(6),.players-table td:nth-child(6){width:66px}
@media(max-width:850px){.elo-stats{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:600px){.elo-stats{gap:8px}.players-table th.num,.players-table td.num{width:34px}.players-table th:nth-child(2),.players-table td:nth-child(2),.players-table th:nth-child(6),.players-table td:nth-child(6){width:58px}.players-table th{font-size:12px;letter-spacing:.8px}}
/* Accessibility: input border >= 3:1, targets >= 24 px; "Start a clan" card on /clans. */
.search-form{border-color:#6b7389}
.pager a{display:inline-flex;align-items:center;min-height:24px;padding:0 6px}
.data-table th button{min-height:24px}
.clan-howto{margin-top:20px}
.clan-howto ol{margin:0 0 14px;padding-left:22px;display:grid;gap:8px;font-size:14px;line-height:1.6;color:#c3c9d9}
.clan-howto p{font-size:13px;line-height:1.7;margin:0;color:#b6bfd2}
