@import url('https://fonts.googleapis.com/css2?family=Bricolage+Grotesque:opsz,wght@12..96,400;12..96,600;12..96,700;12..96,800&family=Inter:wght@400;500&display=swap');
:root{--hf:'Bricolage Grotesque', sans-serif;--bf:'Inter', sans-serif;
  --ac:#A78BFA;--al:#DDD6FE;--ad:#6D28D9;
  --bg:#080512;--s1:#11091F;--s2:#1A0E30;
  --bd:#25134A;--tx:#FAF5FF;--sb:#C4B5FD;}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;font-size:14px}
body{font-family:var(--bf);background:var(--bg);color:var(--tx);-webkit-font-smoothing:antialiased}
a{color:var(--ac);text-decoration:none}

/* HEADER — two-row */
.bs-header{background:var(--s1);border-bottom:2px solid var(--ac)}
.bs-header-top{max-width:1400px;margin:0 auto;padding:.5rem 1.5rem;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--bd)}
.bs-logo{font-family:var(--hf);font-size:1.5rem;font-weight:900;letter-spacing:-.04em;color:var(--tx);text-transform:uppercase}
.bs-logo em{font-style:normal;color:var(--ac)}
.bs-header-utils{display:flex;gap:.75rem;align-items:center;font-size:.75rem;color:var(--sb)}
.bs-header-utils a{color:var(--sb)}
.bs-header-utils a:hover{color:var(--tx)}
.bs-badge{background:var(--ac);color:#000;font-family:var(--hf);font-weight:900;font-size:.68rem;padding:.2rem .55rem;border-radius:2px;letter-spacing:.04em}
.bs-header-nav{max-width:1400px;margin:0 auto;padding:0 1.5rem;display:flex;gap:0;overflow-x:auto}
.bs-nav-a{padding:.7rem 1.1rem;font-family:var(--hf);font-size:.78rem;font-weight:700;color:var(--sb);white-space:nowrap;border-bottom:3px solid transparent;transition:all .2s;text-transform:uppercase;letter-spacing:.04em}
.bs-nav-a:hover,.bs-nav-a.active{color:var(--tx);border-bottom-color:var(--ac)}
.bs-nav-cta{background:var(--ac);color:#000 !important;border-bottom:none !important;margin-left:auto;padding:.5rem 1.25rem;border-radius:2px;margin-top:.35rem;height:fit-content}
.bs-nav-cta:hover{background:var(--al) !important}

/* HERO — wide banner, score-ticker style */
.bs-hero{background:linear-gradient(135deg,var(--bg),var(--s2));border-bottom:1px solid var(--bd);padding:3rem 1.5rem;position:relative;overflow:hidden}
.bs-hero::before{content:'';position:absolute;right:-100px;top:-100px;width:400px;height:400px;background:radial-gradient(circle,#A78BFA18,transparent 70%);pointer-events:none}
.bs-hero-inner{max-width:1400px;margin:0 auto;display:grid;grid-template-columns:1fr 400px;gap:2rem;align-items:center}
@media(max-width:900px){.bs-hero-inner{grid-template-columns:1fr}}
.bs-eyebrow{font-family:var(--hf);font-size:.65rem;text-transform:uppercase;letter-spacing:.15em;color:var(--ac);margin-bottom:.75rem}
.bs-h1{font-family:var(--hf);font-size:clamp(2rem,4vw,3.5rem);font-weight:900;letter-spacing:-.035em;line-height:1.08;margin-bottom:.9rem;text-transform:uppercase}
.bs-h1 span{color:var(--ac)}
.bs-sub{font-size:.9rem;color:var(--sb);line-height:1.7;margin-bottom:1.75rem;max-width:500px}
.bs-cta-row{display:flex;gap:.75rem;flex-wrap:wrap}
.bs-btn-a{background:var(--ac);color:#000;padding:.65rem 1.75rem;font-family:var(--hf);font-weight:900;font-size:.85rem;text-transform:uppercase;letter-spacing:.04em;border-radius:2px;text-decoration:none;transition:all .2s;display:inline-block}
.bs-btn-a:hover{background:var(--al);color:#000;transform:translateY(-1px)}
.bs-btn-b{background:transparent;color:var(--tx);border:2px solid var(--bd);padding:.65rem 1.5rem;font-family:var(--hf);font-size:.82rem;text-transform:uppercase;letter-spacing:.04em;border-radius:2px;text-decoration:none;transition:all .2s;display:inline-block}
.bs-btn-b:hover{border-color:var(--ac);color:var(--ac)}

/* SCOREBOARD */
.bs-scoreboard{background:var(--s2);border:1px solid var(--bd);border-radius:4px;padding:1.25rem;display:grid;grid-template-columns:1fr 1fr;gap:.75rem}
.bs-score-cell{background:var(--s1);padding:.75rem;text-align:center}
.bs-score-n{font-family:var(--hf);font-size:1.6rem;font-weight:900;color:var(--ac);line-height:1}
.bs-score-l{font-size:.62rem;color:var(--sb);text-transform:uppercase;letter-spacing:.08em;margin-top:.2rem}

/* FILTER BAR */
.bs-filter-bar{background:var(--s2);border-bottom:1px solid var(--bd);padding:.5rem 1.5rem;overflow-x:auto}
.bs-filter-inner{max-width:1400px;margin:0 auto;display:flex;gap:.35rem;align-items:center}
.bs-filter-tab{padding:.4rem .9rem;font-family:var(--hf);font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;background:transparent;border:1px solid var(--bd);color:var(--sb);cursor:pointer;border-radius:2px;white-space:nowrap;transition:all .2s}
.bs-filter-tab:first-child,.bs-filter-tab:hover{background:var(--ac);color:#000;border-color:var(--ac)}
.bs-filter-note{margin-left:auto;font-size:.68rem;color:var(--sb);white-space:nowrap;flex-shrink:0}

/* LEADERBOARD TABLE */
.bs-main{max-width:1400px;margin:0 auto;padding:1.5rem}
.bs-table-wrap{background:var(--s1);border:1px solid var(--bd)}
.bs-table-head{display:grid;grid-template-columns:40px 120px 1fr 120px 120px 140px;gap:.5rem;align-items:center;padding:.65rem 1rem;border-bottom:2px solid var(--bd);font-family:var(--hf);font-size:.65rem;text-transform:uppercase;letter-spacing:.08em;color:var(--sb)}
.bs-row{display:grid;grid-template-columns:40px 120px 1fr 120px 120px 140px;gap:.5rem;align-items:center;padding:.9rem 1rem;border-bottom:1px solid var(--bd);transition:background .2s;position:relative}
.bs-row:last-child{border-bottom:none}
.bs-row:hover{background:var(--s2)}
.bs-row-rank{font-family:var(--hf);font-size:1.1rem;font-weight:900;color:var(--sb)}
.bs-row-rank.top{color:var(--ac)}
.bs-row-logo{height:44px;background:rgba(255,255,255,.04);display:flex;align-items:center;justify-content:center;padding:.35rem}
.bs-row-logo img{max-height:34px;max-width:108px;object-fit:contain}
.bs-row-info{min-width:0}
.bs-row-name{font-family:var(--hf);font-size:.88rem;font-weight:800;margin-bottom:.2rem}
.bs-row-bonus{font-size:.8rem;color:var(--ac);font-weight:600}
.bs-row-tag{display:inline-block;font-size:.58rem;font-weight:800;padding:.1rem .4rem;border-radius:1px;vertical-align:middle;margin-left:.3rem}
.bs-row-rating{text-align:center}
.bs-row-rat-n{font-family:var(--hf);font-size:1.2rem;font-weight:900;color:var(--ac)}
.bs-row-rat-s{font-size:.72rem;color:var(--ac)}
.bs-row-detail{font-size:.75rem;color:var(--sb);line-height:1.5}
.bs-row-cta{text-align:right}
.bs-row-btn{background:var(--ac);color:#000;display:inline-block;padding:.45rem 1rem;font-family:var(--hf);font-weight:900;font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;border-radius:2px;transition:all .2s}
.bs-row-btn:hover{background:var(--al);color:#000}
.bs-row-tc{font-size:.58rem;color:var(--sb);display:block;margin-top:.2rem;text-align:right}
.bs-disc{font-size:.72rem;color:var(--sb);line-height:1.75;padding:1.25rem;border-top:1px solid var(--bd)}

/* FOOTER */
.bs-footer{background:rgba(0,0,0,.4);border-top:1px solid var(--bd);padding:1.5rem;font-size:.75rem;color:var(--sb)}
.bs-footer-inner{max-width:1400px;margin:0 auto;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;align-items:center}
.bs-footer-links a{color:var(--sb);margin-right:1rem}
.bs-footer-links a:hover{color:var(--tx)}
.bs-cookie{position:fixed;bottom:0;left:0;right:0;z-index:999;background:var(--s1);border-top:2px solid var(--ac);padding:.85rem 1.5rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}
.bs-cookie p{font-size:.78rem;color:var(--sb);flex:1}
.bs-ck-ok{background:var(--ac);color:#000;border:none;font-family:var(--hf);font-weight:900;font-size:.78rem;padding:.4rem 1.1rem;cursor:pointer;border-radius:2px;text-transform:uppercase}
.bs-ck-mg{color:var(--sb);font-size:.75rem;text-decoration:underline}

@media(max-width:800px){
  .bs-table-head,.bs-row{grid-template-columns:32px 80px 1fr 80px}
  .bs-table-head>*:nth-child(n+5),.bs-row>*:nth-child(n+5){display:none}
  .bs-header-nav{display:none}
}
@media(prefers-reduced-motion:no-preference){
  .bs-row{animation:bsSlide .35s ease both}
  .bs-row:nth-child(2){animation-delay:.05s}
  .bs-row:nth-child(3){animation-delay:.10s}
  .bs-row:nth-child(4){animation-delay:.15s}
  .bs-row:nth-child(5){animation-delay:.20s}
  .bs-row:nth-child(6){animation-delay:.25s}
  @keyframes bsSlide{from{opacity:0;transform:translateX(10px)}to{opacity:1;transform:none}}
}