:root {
  --ink: #0b0b17; --paper: #f7f5f0; --purple: #7559ff; --purple-dark: #4d36d9;
  --coral: #ff587a; --cyan: #25d8d2; --muted: #747486; --line: #dedbe5;
}
* { box-sizing: border-box; }
[hidden] { display: none !important; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--paper); color: var(--ink); font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
button, input { font: inherit; } button, a { -webkit-tap-highlight-color: transparent; } a { color: inherit; text-decoration: none; }
.shell { width: min(1180px, calc(100% - 40px)); margin-inline: auto; }

.site-header { position: sticky; top: 0; z-index: 40; background: rgba(247,245,240,.88); border-bottom: 1px solid rgba(11,11,23,.1); backdrop-filter: blur(18px); }
.notice-bar { position:fixed; z-index:90; top:82px; left:50%; transform:translateX(-50%); width:min(560px,calc(100% - 24px)); display:flex; align-items:center; justify-content:space-between; gap:15px; padding:13px 16px; background:#dffffb; border:1px solid #7fded7; color:#165a57; box-shadow:5px 5px 0 var(--ink); font-size:12px; font-weight:750; }.notice-bar button { border:0; background:transparent; cursor:pointer; font-size:20px; }
.header-inner { min-height: 72px; display: flex; align-items: center; justify-content: space-between; gap: 26px; }
.brand { display: inline-flex; align-items: center; gap: 8px; font-size: 22px; letter-spacing: -.6px; }.brand b { font-weight: 900; }.brand i { color: var(--purple); font-style: normal; font-weight: 900; margin-left: -6px; }
.brand-mark { width: 34px; height: 34px; display: grid; place-items: center; color: white; background: var(--ink); clip-path: polygon(50% 0,96% 26%,88% 82%,50% 100%,12% 82%,4% 26%); font-size: 18px; font-weight: 1000; font-style: italic; }
nav { display: flex; align-items: center; gap: 34px; font-size: 14px; font-weight: 750; } nav a:hover { color: var(--purple); }
.header-cta,.primary-button,.boost-button,.checkout-button { border: 0; cursor: pointer; background: var(--ink); color: white; font-weight: 850; }
.header-cta { padding: 12px 17px; font-size: 13px; box-shadow: 4px 4px 0 var(--purple); }.header-cta span { color: var(--cyan); margin-left: 7px; }

.hero { min-height: 540px; display: grid; grid-template-columns: 1.25fr .75fr; gap: 72px; align-items: center; padding-block: 82px 68px; position: relative; }
.hero::before { content:""; position:absolute; width:280px; height:280px; left:-190px; top:80px; background:radial-gradient(circle,rgba(117,89,255,.2),transparent 68%); pointer-events:none; }
.eyebrow,.section-kicker { text-transform: uppercase; letter-spacing: .18em; font-size: 11px; font-weight: 900; color: var(--purple-dark); }
.eyebrow { display: inline-flex; align-items: center; gap: 9px; background: white; border: 1px solid var(--line); padding: 8px 11px; }.eyebrow span { width: 7px; height: 7px; border-radius: 50%; background: var(--coral); box-shadow: 0 0 0 4px rgba(255,88,122,.14); }
.hero h1 { font-size: clamp(58px,7vw,94px); line-height: .88; letter-spacing: -.075em; margin: 28px 0 27px; max-width: 750px; font-weight: 950; }.hero h1 em { font-style: normal; color: var(--purple); position: relative; }.hero h1 em::after { content:""; position:absolute; height:7px; left:3px; right:-5px; bottom:-7px; background:var(--coral); transform:rotate(-1.3deg); clip-path:polygon(0 25%,100% 0,97% 100%,2% 78%); }
.hero-copy>p { max-width:590px; color:#5f5e6c; font-size:18px; line-height:1.7; margin:0; }.hero-actions { display:flex; align-items:center; gap:15px; margin-top:34px; }.primary-button,.ghost-button { padding:16px 21px; font-size:14px; }.primary-button { box-shadow:5px 5px 0 var(--purple); }.primary-button span { color:var(--cyan); margin-left:12px; }.ghost-button { cursor:pointer; background:transparent; border:1px solid var(--line); color:var(--ink); font-weight:800; }

.hero-card { position:relative; min-height:370px; background:var(--ink); color:white; display:flex; flex-direction:column; align-items:center; justify-content:center; padding:34px; transform:rotate(1.5deg); box-shadow:14px 14px 0 var(--purple); overflow:hidden; }.hero-card::before,.hero-card::after { content:""; position:absolute; width:180px; height:180px; border:1px solid rgba(255,255,255,.08); transform:rotate(45deg); }.hero-card::before { left:-110px; top:-100px; }.hero-card::after { right:-110px; bottom:-100px; }.hero-card-glow { position:absolute; inset:0; background:radial-gradient(circle at 50% 43%,rgba(117,89,255,.36),transparent 37%); }.card-label { position:absolute; top:18px; left:20px; text-transform:uppercase; letter-spacing:.2em; color:var(--cyan); font-size:9px; font-weight:900; }
.champion-cover { position:relative; width:144px; height:195px; border:3px solid; background:#242437; z-index:1; box-shadow:0 18px 50px rgba(0,0,0,.4); }.champion-cover img { width:100%; height:100%; object-fit:cover; }.champion-cover>span { display:grid; place-items:center; height:100%; font-size:70px; font-weight:950; }.champion-cover i { position:absolute; width:50px; height:50px; right:-26px; top:-24px; background:#ffd35c; color:var(--ink); display:grid; place-items:center; transform:rotate(7deg); border-radius:50%; }.champion-cover svg { width:29px; fill:currentColor; stroke:currentColor; stroke-width:1.5; }.hero-card>strong { z-index:1; font-size:22px; margin-top:22px; text-align:center; }.hero-card>small { z-index:1; color:#a7a4b9; margin-top:4px; }.champion-skeleton { width:144px; height:195px; background:linear-gradient(100deg,#242437 30%,#303047 50%,#242437 70%); background-size:250% 100%; animation:shimmer 1.6s infinite; } @keyframes shimmer { to { background-position-x:-250%; } }

.stats-strip { background:var(--ink); color:white; }.stats-inner { min-height:112px; display:grid; grid-template-columns:repeat(4,1fr); }.stats-inner>div { padding:27px 34px; border-left:1px solid rgba(255,255,255,.11); display:flex; flex-direction:column; justify-content:center; }.stats-inner>div:last-child { border-right:1px solid rgba(255,255,255,.11); }.stats-inner strong { font-size:22px; }.stats-inner span { color:#9290a2; font-size:11px; text-transform:uppercase; letter-spacing:.13em; margin-top:4px; }.live-stat { position:relative; }.live-stat>i { position:absolute; right:28px; top:34px; width:8px; height:8px; border-radius:50%; background:var(--cyan); box-shadow:0 0 0 5px rgba(37,216,210,.12); }

.arena { display:grid; grid-template-columns:minmax(0,1fr) 320px; gap:28px; padding-block:76px 100px; }.board-panel { min-width:0; }.section-head { display:flex; align-items:end; justify-content:space-between; gap:20px; margin-bottom:24px; }.section-head h2 { margin:7px 0 0; font-size:34px; letter-spacing:-.045em; }.search-box { display:flex; align-items:center; gap:7px; width:235px; height:43px; padding:0 13px; background:white; border:1px solid var(--line); }.search-box span { font-size:23px; transform:rotate(-15deg); color:var(--purple); }.search-box input { width:100%; border:0; outline:0; background:transparent; font-size:13px; color:var(--ink); }.leaderboard-list { display:flex; flex-direction:column; gap:9px; }
.rank-row { position:relative; min-height:96px; display:grid; grid-template-columns:52px 60px minmax(150px,1fr) 75px 112px 105px; align-items:center; gap:13px; padding:10px 14px 10px 8px; background:#fff; border:1px solid var(--line); transition:transform .18s,border-color .18s,box-shadow .18s; }.rank-row:hover { transform:translateX(3px); border-color:#bbb4d5; box-shadow:-4px 0 0 var(--purple); }.rank-row.rank-1 { min-height:112px; border:2px solid var(--ink); box-shadow:6px 6px 0 #ffd35c; margin-bottom:5px; }.rank-row.rank-1::before { content:"CHAMPION"; position:absolute; top:-9px; right:16px; background:#ffd35c; color:var(--ink); font-size:8px; font-weight:1000; letter-spacing:.16em; padding:4px 8px; }
.rank-number { text-align:center; font-size:15px; font-weight:900; color:#a09dad; }.rank-number span { display:inline-grid; place-items:center; width:30px; height:30px; border-radius:50%; background:#ffd35c; color:var(--ink); }.rank-2 .rank-number span { background:#dce1ec; }.rank-3 .rank-number span { background:#efb38b; }.cover { width:54px; height:72px; overflow:hidden; display:grid; place-items:center; flex:0 0 auto; }.cover img { width:100%; height:100%; object-fit:cover; }.cover b { font-size:28px; color:white; }.fandom-name { min-width:0; }.fandom-name strong { display:block; font-size:15px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }.fandom-name span { display:block; color:var(--muted); font-size:10px; margin-top:5px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }.supporters,.power { display:flex; flex-direction:column; }.supporters span,.power span { font-size:8px; letter-spacing:.13em; color:#9a97a5; font-weight:800; }.supporters strong,.power strong { font-size:13px; margin-top:3px; }.boost-button { height:39px; padding:0 13px; font-size:12px; box-shadow:3px 3px 0 var(--purple); }.boost-button span { color:var(--cyan); font-size:16px; margin-left:5px; }.loading-list,.empty-state,.error-state { padding:45px; text-align:center; background:white; border:1px solid var(--line); color:var(--muted); }.error-state button { border:0; background:none; color:var(--purple); font-weight:800; cursor:pointer; }
.load-more { width:100%; height:50px; margin-top:14px; border:1px solid var(--ink); background:transparent; color:var(--ink); font-weight:850; cursor:pointer; box-shadow:4px 4px 0 var(--purple); }.load-more:hover { background:var(--ink); color:white; }.load-more:disabled { opacity:.55; cursor:wait; }

.side-panel { padding-top:75px; display:flex; flex-direction:column; gap:18px; }.how-card { background:var(--purple); color:white; padding:26px 24px; box-shadow:7px 7px 0 var(--ink); }.how-card .section-kicker { color:#c8fffb; }.how-card h3 { font-size:24px; line-height:1.12; letter-spacing:-.04em; margin:10px 0 23px; }.how-card ol { list-style:none; padding:0; margin:0; }.how-card li { display:flex; gap:13px; padding:14px 0; border-top:1px solid rgba(255,255,255,.2); }.how-card li b { color:#c8fffb; font-size:10px; padding-top:2px; }.how-card li span { font-size:11px; color:#ded9ff; line-height:1.5; }.how-card li strong { display:block; color:white; font-size:12px; }.how-card>a { display:block; border-top:1px solid rgba(255,255,255,.2); padding-top:17px; margin-top:3px; font-size:11px; font-weight:850; }
.activity-card { background:white; border:1px solid var(--line); padding:21px; }.activity-title { display:flex; justify-content:space-between; align-items:center; margin-bottom:12px; }.activity-title h3 { margin:0; font-size:16px; }.activity-title span { color:#6e6c7c; font-size:9px; text-transform:uppercase; letter-spacing:.12em; }.activity-title i { display:inline-block; width:6px; height:6px; background:var(--cyan); border-radius:50%; margin-right:5px; }.activity-item { display:grid; grid-template-columns:30px 1fr auto; align-items:center; gap:9px; padding:12px 0; border-top:1px solid #eeecf1; }.activity-avatar { width:30px; height:30px; display:grid; place-items:center; border-radius:50%; background:#eeeafd; color:var(--purple); font-size:11px; font-weight:900; }.activity-item p { margin:0; font-size:10px; color:#747180; line-height:1.35; }.activity-item p strong,.activity-item p b { color:var(--ink); }.activity-item small { display:block; color:#aaa7b1; margin-top:2px; }.activity-item>span { color:var(--purple); font-size:10px; font-weight:900; }.quiet-activity { color:var(--muted); font-size:12px; }

.modal-backdrop { position:fixed; inset:0; z-index:100; display:grid; place-items:center; padding:20px; background:rgba(8,7,17,.78); backdrop-filter:blur(8px); }.boost-modal { position:relative; width:min(460px,100%); max-height:calc(100vh - 30px); overflow-y:auto; background:var(--paper); padding:31px; box-shadow:10px 10px 0 var(--purple); }.modal-close { position:absolute; right:14px; top:12px; border:0; background:transparent; font-size:25px; cursor:pointer; color:#8b8896; }.modal-fandom { display:flex; align-items:center; gap:15px; padding-bottom:20px; border-bottom:1px solid var(--line); }.modal-fandom .cover { width:56px; height:75px; }.modal-fandom span { font-size:9px; text-transform:uppercase; letter-spacing:.15em; color:var(--purple); font-weight:900; }.modal-fandom h2 { margin:3px 35px 0 0; font-size:23px; line-height:1.05; }.boost-modal form { margin-top:22px; }.field-label,.alias-field>span,.custom-amount>span { display:block; font-size:10px; text-transform:uppercase; letter-spacing:.12em; font-weight:900; color:#6d6a79; margin-bottom:8px; }.amount-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:8px; }.amount-grid button { height:45px; border:1px solid var(--line); background:white; cursor:pointer; font-weight:900; }.amount-grid button.active { background:var(--ink); color:white; border-color:var(--ink); box-shadow:3px 3px 0 var(--purple); }.take-lead { width:100%; margin-top:10px; height:42px; border:1px solid #d6c56c; background:#fff6bf; color:#67530a; cursor:pointer; font-size:12px; font-weight:850; }.custom-amount,.alias-field { display:block; margin-top:16px; }.custom-amount div { display:flex; height:44px; border:1px solid var(--line); background:white; }.custom-amount b { width:40px; display:grid; place-items:center; background:#eeebf2; }.custom-amount input,.alias-field input { border:0; outline:0; background:white; width:100%; padding:0 12px; font-weight:750; }.alias-field input { height:44px; border:1px solid var(--line); }.alias-field small { text-transform:none; letter-spacing:0; font-weight:500; }.checkout-button { width:100%; height:50px; margin-top:21px; padding:0 18px; display:flex; justify-content:space-between; align-items:center; box-shadow:5px 5px 0 var(--purple); }.checkout-button span { color:var(--cyan); }.checkout-button:disabled { opacity:.55; cursor:wait; }.payment-note { color:#8a8794; text-align:center; font-size:9px; margin:13px 0 0; }.payment-error { color:#bb2341; background:#ffe7ec; padding:9px 11px; font-size:11px; }
.consent-field { display:flex; align-items:flex-start; gap:9px; margin-top:16px; color:#777482; font-size:9px; line-height:1.45; }.consent-field input { margin-top:2px; accent-color:var(--purple); }.consent-field span { text-transform:none; letter-spacing:0; color:inherit; font-weight:500; }

.site-footer { background:#090914; color:white; padding:54px 0; }.footer-inner { display:grid; grid-template-columns:.8fr .8fr 1.4fr; gap:55px; align-items:start; }.footer-brand { color:white; }.footer-inner p { color:#858295; font-size:11px; line-height:1.6; }.footer-links { display:grid; grid-template-columns:1fr 1fr; gap:15px; font-size:12px; font-weight:700; }.footer-links a:hover { color:var(--cyan); }.disclaimer { margin:0; }.disclaimer a { color:var(--cyan); }
.legal-page { min-height:70vh; padding-block:85px; }.legal-page .legal-inner { max-width:760px; }.legal-page h1 { font-size:clamp(45px,7vw,72px); letter-spacing:-.065em; line-height:.95; margin:12px 0 28px; }.legal-page h2 { font-size:22px; margin:34px 0 12px; }.legal-page p,.legal-page li { color:#646170; line-height:1.75; font-size:14px; }.legal-page li { margin-bottom:9px; }.legal-callout { background:white; border:1px solid var(--line); border-left:5px solid var(--purple); padding:18px 20px; margin:25px 0; }
.admin-page { min-height:75vh; padding-block:70px 100px; }.admin-heading h1 { font-size:clamp(45px,7vw,70px); letter-spacing:-.06em; margin:8px 0; }.admin-heading p { color:var(--muted); }.admin-login { display:flex; max-width:520px; margin:30px 0; }.admin-login input,.admin-section-title input { flex:1; min-width:0; height:45px; border:1px solid var(--line); background:white; padding:0 13px; outline:0; }.admin-login button,.admin-section-title button,.admin-row button { border:0; background:var(--ink); color:white; font-weight:800; cursor:pointer; padding:0 16px; }.admin-error { max-width:650px; padding:12px 15px; background:#ffe2e9; color:#a92e47; border-left:4px solid var(--coral); }.admin-card { background:white; border:1px solid var(--line); padding:24px; margin-top:20px; }.admin-card h2 { margin:0 0 20px; }.admin-section-title { display:flex; justify-content:space-between; align-items:center; gap:20px; }.admin-section-title form { display:flex; width:min(420px,100%); }.admin-table { display:flex; flex-direction:column; }.admin-row { display:grid; grid-template-columns:42px minmax(160px,1fr) 80px 80px 70px; gap:12px; align-items:center; min-height:58px; border-top:1px solid #eceaf0; font-size:12px; }.admin-row.inactive { opacity:.48; }.admin-cover { width:34px; height:44px; display:grid; place-items:center; overflow:hidden; color:white; font-weight:900; }.admin-cover img { width:100%; height:100%; object-fit:cover; }.admin-row small { color:var(--muted); }.admin-row button { height:30px; font-size:10px; }.payment-row { display:grid; grid-template-columns:130px minmax(150px,1fr) 60px 65px 145px; align-items:center; gap:10px; min-height:48px; border-top:1px solid #eceaf0; font-size:11px; }.payment-row span,.payment-row small { color:var(--muted); }.payment-row i { font-style:normal; font-weight:900; text-transform:uppercase; font-size:8px; }.status-paid { color:#098267; }.status-pending { color:#a36c00; }.status-failed { color:#ba3150; }

@media (max-width:950px) { nav { display:none; }.hero { grid-template-columns:1fr 330px; gap:35px; }.hero h1 { font-size:65px; }.arena { grid-template-columns:1fr; }.side-panel { padding-top:0; display:grid; grid-template-columns:1fr 1fr; }.rank-row { grid-template-columns:45px 58px minmax(130px,1fr) 70px 110px 95px; }.footer-inner { grid-template-columns:1fr 1fr; }.disclaimer { grid-column:1/-1; } }
@media (max-width:720px) {
  .shell { width:min(100% - 24px,1180px); }.header-inner { min-height:62px; }.header-cta { padding:10px 11px; font-size:0; }.header-cta span { font-size:16px; margin:0; }.brand { font-size:19px; }.brand-mark { width:31px; height:31px; }
  .hero { min-height:auto; grid-template-columns:1fr; padding-block:54px 48px; gap:45px; }.hero h1 { font-size:clamp(56px,18vw,78px); }.hero-copy>p { font-size:16px; }.hero-card { min-height:335px; width:calc(100% - 12px); }.hero-actions { align-items:stretch; }.primary-button,.ghost-button { flex:1; padding-inline:12px; text-align:center; }
  .stats-inner { grid-template-columns:1fr 1fr; }.stats-inner>div { min-height:93px; padding:20px; border-bottom:1px solid rgba(255,255,255,.11); }.stats-inner>div:nth-child(even) { border-right:1px solid rgba(255,255,255,.11); }.stats-inner strong { font-size:19px; }
  .arena { padding-block:54px 70px; }.section-head { align-items:stretch; flex-direction:column; }.search-box { width:100%; }.section-head h2 { font-size:30px; }.rank-row { min-height:94px; grid-template-columns:34px 52px minmax(0,1fr) 82px; gap:9px; padding:9px; }.cover { width:48px; height:65px; }.supporters,.power { display:none; }.boost-button { width:82px; padding:0 5px; }.fandom-name strong { white-space:normal; line-height:1.1; }.rank-row.rank-1 { min-height:105px; }
  .side-panel { grid-template-columns:1fr; }.activity-card { order:-1; }.footer-inner { grid-template-columns:1fr; gap:28px; }.disclaimer { grid-column:auto; }.footer-links { max-width:230px; }
  .admin-section-title { align-items:stretch; flex-direction:column; }.admin-section-title form { width:100%; }.admin-row { grid-template-columns:38px minmax(0,1fr) 52px 58px; }.admin-row small { display:none; }.payment-row { grid-template-columns:1fr 55px 55px; padding:10px 0; }.payment-row span { grid-column:1/2; }.payment-row small { display:none; }
}
@media (max-width:390px) { .hero-actions { flex-direction:column; }.rank-row { grid-template-columns:27px 45px minmax(0,1fr) 70px; }.cover { width:42px; height:57px; }.boost-button { width:70px; }.boost-button span { display:none; }.boost-modal { padding:24px 20px; } }
@media (prefers-reduced-motion:reduce) { * { scroll-behavior:auto!important; animation:none!important; transition:none!important; } }
