/* Neon League fan hub, history and archive pages. Red and black only. */
.nlf{--r:#E62E2D}
.nlf-next{display:grid;grid-template-columns:1fr auto auto;gap:18px 28px;align-items:center;padding:22px 26px;margin-bottom:18px;border:1px solid #3a1414;background:linear-gradient(135deg,#1a0b0b,#0d0d0e 60%)}
.nlf-next h2{font-size:clamp(22px,3.4vw,34px);margin:6px 0 4px;line-height:1.1}
.nlf-next h2 em{color:var(--r);font-style:normal;font-weight:800;font-size:.7em;margin:0 6px}
.nlf-count{text-align:center;min-width:170px}
.nlf-count b{display:block;font:800 clamp(26px,4vw,40px)/1 var(--body,system-ui);letter-spacing:.02em;font-variant-numeric:tabular-nums;color:#fff}
.nlf-count small{color:#a9a9b0;font-size:12px;letter-spacing:.1em;text-transform:uppercase}
.nlf-actions{display:flex;gap:10px;flex-wrap:wrap}
.nlf-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:16px}
.nlf-card{padding:20px 22px}
.nlf-card h3{font-size:18px;margin:0 0 10px;display:flex;align-items:center;gap:10px}
.nlf-card h3::before{content:"";width:4px;height:18px;border-radius:2px;background:var(--r)}
.nlf-rules{margin:0;padding:0;list-style:none;counter-reset:r;display:grid;gap:12px}
.nlf-rules li{counter-increment:r;position:relative;padding-left:38px;line-height:1.45;color:#d0d0d6;font-size:14px}
.nlf-rules li::before{content:counter(r);position:absolute;left:0;top:0;width:26px;height:26px;border-radius:50%;background:#1d1d20;border:1px solid var(--r);color:#fff;font:700 13px/24px var(--body,system-ui);text-align:center}
.nlf-rules b{color:#fff}
.nlf-list{list-style:none;margin:8px 0 0;padding:0;display:grid;gap:8px}
.nlf-list li{display:flex;align-items:center;gap:10px;background:#101012;border:1px solid #2a2a2e;border-radius:12px;padding:10px 12px}
.nlf-list a{flex:1;min-width:0;text-decoration:none;color:#fff;display:grid;gap:2px}
.nlf-list b{font-size:14px;overflow:hidden;text-overflow:ellipsis}
.nlf-list b i{font-style:normal;color:var(--r);font-weight:800}
.nlf-list small{color:#a2a2aa;font-size:12px}
.nlf-bell{flex:none;width:38px;height:38px;border-radius:50%;border:1px solid #3a3a40;background:#151517;color:#fff;font-size:16px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:background .15s,border-color .15s}
.nlf-bell:hover{border-color:var(--r)}
.nlf-bell.is-on{background:var(--r);border-color:var(--r)}
.nlf-bell[disabled],.ex-btn[disabled]{opacity:.55;cursor:wait}
.ex-btn.is-on{background:#1d1d20;border:1px solid var(--r);box-shadow:none}
.nlf-share{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.nlf-share a,.nlf-share button{height:38px;padding:0 16px;border-radius:999px;border:1px solid #3a3a40;background:#151517;color:#fff;font:600 13px var(--body,system-ui);text-decoration:none;cursor:pointer;display:inline-flex;align-items:center}
.nlf-share a:hover,.nlf-share button:hover{border-color:var(--r)}
.nlf-roster{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px}
.nlf-artist{display:flex;align-items:center;gap:8px;background:#101012;border:1px solid #2a2a2e;border-radius:14px;padding:10px 12px}
.nlf-artist-main{flex:1;min-width:0;display:flex;align-items:center;gap:10px;text-decoration:none;color:#fff}
.nlf-artist-main span{display:grid;min-width:0}
.nlf-artist-main b{font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.nlf-artist-main small{color:#a2a2aa;font-size:12px}
.nlf-toast{position:fixed;left:50%;bottom:26px;transform:translateX(-50%);z-index:90;max-width:min(92vw,440px);padding:12px 18px;border-radius:14px;background:#141416;border:1px solid var(--r);color:#fff;font:600 14px var(--body,system-ui);box-shadow:0 18px 40px -18px #000}
.nlf-toast[data-bad="1"]{background:#2a0e0e}
.nlf-toast[hidden]{display:none}
/* artist history + archive */
.nlh-head{display:flex;gap:20px;align-items:center;flex-wrap:wrap;padding:22px 26px;margin-bottom:18px}
.nlh-head .nl-av{width:84px;height:84px}
.nlh-head h1{margin:2px 0 4px;font-size:clamp(24px,4vw,38px)}
.nlh-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px;margin-bottom:18px}
.nlh-stat{background:#101012;border:1px solid #2a2a2e;border-radius:14px;padding:14px 16px}
.nlh-stat b{display:block;font:800 26px/1.1 var(--body,system-ui);color:#fff}
.nlh-stat small{color:#a2a2aa;font-size:12px;letter-spacing:.08em;text-transform:uppercase}
.nlh-row{display:flex;align-items:center;gap:12px;background:#101012;border:1px solid #2a2a2e;border-radius:14px;padding:12px 14px;text-decoration:none;color:#fff;margin-bottom:8px}
.nlh-row:hover{border-color:var(--r)}
.nlh-row .tag{flex:none;min-width:44px;text-align:center;padding:4px 10px;border-radius:999px;font:800 12px var(--body,system-ui);background:#1d1d20;border:1px solid #3a3a40;color:#d0d0d6}
.nlh-row .tag.w{background:var(--r);border-color:var(--r);color:#fff}
.nlh-row .main{flex:1;min-width:0;display:grid;gap:2px}
.nlh-row .main b{font-size:14px}
.nlh-row .main small{color:#a2a2aa;font-size:12px}
.nlh-row .score{font:800 15px var(--body,system-ui);font-variant-numeric:tabular-nums}
.nlh-filter{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}
.nlh-filter a{padding:7px 14px;border-radius:999px;border:1px solid #3a3a40;background:#151517;color:#fff;text-decoration:none;font:600 13px var(--body,system-ui)}
.nlh-filter a.on{background:var(--r);border-color:var(--r)}
.nlh-line{width:100%;height:160px;display:block}
@media (max-width:760px){.nlf-next{grid-template-columns:1fr}.nlf-count{text-align:left}}
