/* Fanbases — flag-coloured, searchable cards */
.fb-tools{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin:6px 0 20px}
.fb-search{flex:1 1 260px;min-width:0}
.fb-search input{width:100%;height:44px;border-radius:99px;border:1px solid rgba(171,189,198,.35);background:rgba(255,255,255,.05);color:#fff;padding:0 18px;font:500 14px 'General Sans',system-ui,sans-serif;outline:none;transition:.2s}
.fb-search input::placeholder{color:rgba(255,255,255,.5)}
.fb-search input:focus{border-color:#abbdc6;box-shadow:0 0 0 3px rgba(171,189,198,.2)}
.fb-chips{display:flex;gap:8px;flex-wrap:wrap}
.fb-chip{display:inline-flex;align-items:center;gap:8px;border:1px solid rgba(171,189,198,.35);background:transparent;color:#d9e2ea;border-radius:99px;padding:9px 15px;font:600 12px 'General Sans',system-ui,sans-serif;letter-spacing:.04em;cursor:pointer;transition:.2s}
.fb-chip i{font-style:normal;font-size:10.5px;opacity:.7}
.fb-chip:hover{border-color:#abbdc6;transform:translateY(-2px)}
.fb-chip.on{background:linear-gradient(135deg,#8e9fb6,#5b78a0);border-color:transparent;color:#fff;box-shadow:0 6px 18px rgba(91,120,160,.4)}
.fb-count{flex:1 1 100%;font:500 12px 'General Sans',sans-serif;color:#a4b4c6}
.fb-region{margin-top:26px}
.fb-region[hidden],.fb-card[hidden]{display:none}
.fb-rh{display:flex;align-items:baseline;gap:10px;margin:0 0 12px;font:400 clamp(24px,3.4vw,34px)/1 'Anton','Impact',sans-serif;text-transform:uppercase;letter-spacing:.01em;color:#fff}
.fb-rh em{font:600 12px 'General Sans',sans-serif;font-style:normal;color:#abbdc6;border:1px solid rgba(171,189,198,.4);border-radius:99px;padding:3px 9px}
.fb-card{position:relative;overflow:hidden;padding:20px 16px 16px;isolation:isolate;transition:transform .35s cubic-bezier(.2,.8,.2,1),border-color .25s,box-shadow .35s;animation:fbin .5s both}
.fb-card:nth-child(2){animation-delay:.04s}.fb-card:nth-child(3){animation-delay:.08s}.fb-card:nth-child(4){animation-delay:.12s}.fb-card:nth-child(5){animation-delay:.16s}.fb-card:nth-child(n+6){animation-delay:.2s}
@keyframes fbin{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.fb-flag{position:absolute;left:0;right:0;top:0;height:6px;background:var(--flag);transition:height .4s cubic-bezier(.2,.8,.2,1)}
.fb-card::before{content:"";position:absolute;inset:0;z-index:-1;background:var(--flag);opacity:0;transition:opacity .35s}
.fb-card::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(160deg,rgba(10,16,24,.9),rgba(10,16,24,.97));opacity:0;transition:opacity .35s}
.fb-card:hover,.fb-card:focus-within{transform:translateY(-6px);border-color:var(--c1);box-shadow:0 18px 38px -8px color-mix(in srgb,var(--c1) 55%,transparent)}
.fb-card:hover .fb-flag,.fb-card:focus-within .fb-flag{height:9px}
.fb-card:hover::before,.fb-card:focus-within::before{opacity:.28}
.fb-card:hover::after,.fb-card:focus-within::after{opacity:1}
.fb-top{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}
.fb-top h3{margin:0;font:400 22px/1 'Anton','Impact',sans-serif;text-transform:uppercase;letter-spacing:.02em}
.fb-code{font:700 10px 'General Sans',sans-serif;letter-spacing:.14em;color:#0a1018;background:var(--c1);border-radius:6px;padding:3px 7px}
.fb-card .fanbase-links a{background:rgba(255,255,255,.04);color:#fff;transition:transform .2s,border-color .2s,background .2s}
.fb-card .fanbase-links a:hover{border-color:var(--c1);background:color-mix(in srgb,var(--c1) 24%,transparent);transform:translateX(4px)}
.fb-card .fanbase-links span{color:var(--c1);transition:transform .2s}
.fb-card .fanbase-links a:hover span{transform:translate(2px,-2px)}
.fb-card.generic .fb-code{background:linear-gradient(135deg,#abbdc6,#8e9fb6)}
.fb-empty{padding:30px 0;color:#a4b4c6;text-align:center}
.fb-card.fanbase-wide .fanbase-links{grid-template-columns:repeat(3,1fr)}
@media(max-width:900px){.fb-card.fanbase-wide .fanbase-links{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.fb-card.fanbase-wide .fanbase-links{grid-template-columns:1fr}.fb-chip{padding:8px 12px}}
@media(prefers-reduced-motion:reduce){.fb-card{animation:none}}
.sr-only{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
