/* Generated by gen_styles.py — palette for NaijaBet Verdict. Edit registry.json, not this file. */
:root {
  --bg:#071a10; --bg-alt:#05140c; --card:#16281e; --border:#2f3f36;
  --text:#f2f4f8; --text-muted:#a9b0bd;
  --accent:#16a34a; --accent-dark:#107a38; --accent2:#0f7c39;
  --cta-ink:#ffffff; --cta2-ink:#ffffff; --radius:14px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;background:var(--bg);color:var(--text);line-height:1.55}
.container{max-width:1080px;margin:0 auto;padding:0 20px}
img{max-width:100%;height:auto;display:block}
a{color:var(--accent-dark)}
h1,h2,h3{font-family:"Trebuchet MS",Verdana,sans-serif;line-height:1.2}

.skip-link{position:absolute;left:-999px;top:0;background:var(--accent);color:var(--cta-ink);padding:8px 14px;z-index:100}
.skip-link:focus{left:8px;top:8px}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}

.disclosure{background:var(--bg-alt);color:var(--text-muted);font-size:12.5px;text-align:center;padding:8px 12px;border-bottom:1px solid var(--border)}

.site-header{background:var(--bg);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:10}
.header-inner{display:flex;align-items:center;justify-content:center;gap:20px;padding:12px 20px}
.logo img{height:40px;width:auto}
.main-nav{list-style:none;display:flex;gap:18px;margin:0;padding:0;flex-wrap:wrap}
.main-nav a{color:var(--text);text-decoration:none;font-size:14px;font-weight:600}
.main-nav a:hover{color:var(--accent)}

.breadcrumb{padding:10px 0;font-size:13px;color:var(--text-muted)}
.breadcrumb ol{list-style:none;display:flex;gap:6px;margin:0;padding:0;flex-wrap:wrap}
.breadcrumb ol li:not(:last-child)::after{content:"›";margin-left:6px}
.breadcrumb a{color:var(--text-muted)}

.hero{background-color:var(--bg);
  background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20width%3D%2272%22%20height%3D%2272%22%3E%3Cg%20fill%3D%22%2316a34a%22%20fill-opacity%3D%220.35%22%3E%3Cpath%20d%3D%22M14%204%2016.2%209.6%2022%2010.2%2017.5%2014%2018.8%2019.8%2014%2016.6%209.2%2019.8%2010.5%2014%206%2010.2%2011.8%209.6Z%22/%3E%3Ccircle%20cx%3D%2252%22%20cy%3D%2246%22%20r%3D%225.2%22%20fill-opacity%3D%220%22/%3E%3Ccircle%20cx%3D%2252%22%20cy%3D%2246%22%20r%3D%225.2%22%20fill%3D%22none%22%20stroke%3D%22%2316a34a%22%20stroke-opacity%3D%220.35%22%20stroke-width%3D%222%22/%3E%3C/g%3E%3C/svg%3E"),linear-gradient(180deg,var(--bg-alt),var(--bg));
  background-repeat:repeat,no-repeat;background-size:72px 72px,100% 100%;padding:38px 0 44px}
.hero-inner{display:grid;grid-template-columns:1fr;gap:24px}
h1{font-size:clamp(25px,4vw,36px);margin:0 0 16px}
.lead{color:var(--text-muted);font-size:16px}
.fine-print{color:var(--text-muted);font-size:12px;margin-top:10px}

.cta{display:inline-block;padding:13px 26px;border-radius:var(--radius);font-weight:700;text-decoration:none;text-align:center;margin-top:6px}
.cta-primary{background:var(--accent);color:var(--cta-ink);box-shadow:0 6px 18px rgba(0,0,0,.18)}
.cta-secondary{background:var(--accent2);color:var(--cta2-ink)}
.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:14px}

/* ── highlighted figures: every amount that matters gets its own pill ──── */
.money{color:var(--accent);font-weight:800;white-space:nowrap}
.fact-row{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}
.fact-chip{display:inline-flex;align-items:center;gap:6px;background:var(--bg-alt);border:1px solid var(--border);border-radius:999px;padding:7px 13px;font-size:13px;color:var(--text-muted);line-height:1.2}
/* ── icon set: inline SVG (Lucide-style), never emoji ───────────────────
   stroke/fill="currentColor" -> colour comes from the CSS `color` of the
   closest wrapper below, so most icons need no colour rule of their own. */
.ico-svg{display:inline-block;vertical-align:-3px;margin-right:6px;flex:none}
.ico,.faq-ico{display:inline-flex;align-items:center}
.ico .ico-svg,.faq-ico .ico-svg{margin-right:0}

.fact-chip .ico{color:var(--accent)}

.trust-strip{background:var(--bg-alt);border-bottom:1px solid var(--border);font-size:12.5px;color:var(--text-muted)}
.trust-strip .container{display:flex;flex-wrap:wrap;gap:10px 22px;padding-top:10px;padding-bottom:10px}
.trust-badge{display:inline-flex;align-items:center}
.trust-badge .ico-svg{color:var(--accent)}
.stats-strip .container{display:flex;flex-wrap:wrap;gap:8px 28px;padding-top:12px;padding-bottom:12px;font-size:13.5px;color:var(--text-muted)}
.stat{font-weight:600;display:inline-flex;align-items:center;gap:6px}
.stat .ico{color:var(--accent)}

.guide-grid{display:grid;gap:12px;grid-template-columns:1fr}
.guide-card{display:block;background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:16px 18px;text-decoration:none;color:var(--text);font-weight:600}
.guide-card:hover{border-color:var(--accent)}
.guide-card .ico{margin-right:8px;color:var(--accent)}
.guide-card small{display:block;margin-top:6px;font-weight:400;font-size:13px;color:var(--text-muted)}
.team-grid{display:grid;gap:12px;grid-template-columns:1fr}
.team-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:14px 18px;display:flex;flex-direction:column}
.team-card .ico{margin-bottom:6px;color:var(--accent)}
.team-card span{font-size:13px;color:var(--text-muted);margin-top:2px}

.author-strip{background:var(--bg-alt);border-top:1px solid var(--border);border-bottom:1px solid var(--border)}
.author-inner{padding:12px 20px;font-size:13.5px;color:var(--text-muted)}
.author-inner a{color:var(--accent-dark)}

.section{padding:44px 0}
.section-alt{background:var(--bg-alt)}
h2{font-size:23px;margin-bottom:16px}
h3{font-size:18px}

.toc{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:16px 20px;margin:22px auto;font-size:14px}
.toc-title{font-weight:700;margin:0 0 8px}
.toc ol{margin:0;padding-left:20px}
.toc li{margin-bottom:4px}
.toc a{color:var(--accent-dark);text-decoration:none}
.toc a:hover{text-decoration:underline}

.rank-list{display:grid;gap:18px}
.rank-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:18px 22px}
.rank-head{display:flex;align-items:center;flex-wrap:wrap;gap:10px 16px;margin:0 0 10px}
.rank-head h3{margin:0;font-size:19px}
.rank-num{font-family:"Trebuchet MS",Verdana,sans-serif;font-weight:800;font-size:27px;line-height:1;letter-spacing:-.5px;color:var(--accent);flex:none;display:inline-flex;align-items:center}
.rank-num .ico-svg{margin-right:0;margin-left:3px}
/* brand logo — a decisive factor, kept prominent on its own consistent tile
   (neutralises the mix of transparent PNGs, white-bg JPEGs and dark avatars) */
.logo-tile{display:inline-flex;align-items:center;justify-content:center;
  background:#fff;border:1px solid rgba(0,0,0,.08);border-radius:12px;
  box-shadow:0 2px 8px rgba(0,0,0,.12);flex:none}
.logo-tile.is-dark{background:#0f1216;border-color:rgba(255,255,255,.14)}
.logo-tile img{width:auto;height:100%;object-fit:contain;display:block}
.logo-tile--rank{height:58px;padding:9px 16px}
.logo-tile--rank img{max-width:168px}
.logo-tile--hero{height:72px;padding:10px 18px;margin-bottom:14px}
.logo-tile--hero img{max-width:210px}
.rank-rating{font-size:13.5px;color:var(--text-muted);margin:0 0 8px}
.rank-rating .ico-svg{color:var(--accent-dark)}
.rank-verdict{margin:0 0 10px}
.rank-pros{list-style:none;margin:0 0 4px;padding:0;font-size:14px}
.rank-pros li{display:flex;align-items:flex-start;gap:0;margin-bottom:5px}
.rank-pros li .ico-svg{color:var(--accent);margin-top:2px}
.rank-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.internal-link{font-size:14px}
.internal-link a{color:var(--accent-dark)}

.bonus-table{width:100%;border-collapse:collapse;margin:16px 0;background:var(--card);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}
.bonus-table th,.bonus-table td{text-align:left;padding:11px 14px;border-bottom:1px solid var(--border);font-size:14px}
.bonus-table th .ico-svg{color:var(--accent)}
.bonus-table thead th{background:var(--bg-alt);color:var(--accent-dark)}
.compare-table{display:block;overflow-x:auto;white-space:nowrap}
.compare-table td .ico-svg{color:var(--accent)}

.steps{padding-left:20px}
.steps li{margin-bottom:9px}

.pros-cons{display:grid;grid-template-columns:1fr;gap:18px}
.pros,.cons{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:16px 20px}
.pros h3{color:var(--accent-dark)}
.cons h3{color:var(--text-muted)}
.pros ul,.cons ul{list-style:none;padding:0;margin:8px 0 0}
.pros li,.cons li{display:flex;align-items:flex-start;margin-bottom:6px}
.pros li .ico-svg{color:var(--accent);margin-top:2px}
.cons li .ico-svg{color:var(--text-muted);margin-top:2px}

.faq-list details{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:14px 18px;margin-bottom:10px}
.faq-list summary{cursor:pointer;font-weight:600;list-style:none;display:flex;align-items:center;gap:8px}
.faq-list summary::-webkit-details-marker{display:none}
.faq-ico{color:var(--accent)}
.faq-ico--a{display:none}
.faq-list details[open] .faq-ico--q{display:none}
.faq-list details[open] .faq-ico--a{display:inline-flex}
.faq-list p{color:var(--text-muted);margin:10px 0 0}

.legal-page{max-width:760px}
.legal-page h1{font-size:clamp(24px,3.4vw,31px);margin-bottom:14px}
.legal-page p,.legal-page li{color:var(--text-muted);font-size:15px}
.legal-page ul{padding-left:20px}
.legal-page li{margin-bottom:6px}

.site-footer{background:var(--bg-alt);border-top:1px solid var(--border);padding:34px 0;margin-top:18px}
.footer-inner nav ul{list-style:none;display:flex;flex-wrap:wrap;gap:16px;padding:0;margin:0 0 14px}
.footer-inner a{color:var(--text-muted);font-size:13px;text-decoration:none}
.footer-disclosure{color:var(--text-muted);font-size:12px;max-width:760px}

/* ── motion: one-time entrance + hover highlight (CSS only) ──────────── */
[id]{scroll-margin-top:76px}
@keyframes riseIn{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
@keyframes popIn{from{opacity:0;transform:scale(.92)}to{opacity:1;transform:none}}
@keyframes numIn{0%{opacity:0;transform:scale(.3) rotate(-14deg)}62%{transform:scale(1.18) rotate(4deg)}100%{opacity:1;transform:none}}
@keyframes badgePulse{0%,100%{transform:scale(1);text-shadow:0 0 0 transparent}50%{transform:scale(1.12);text-shadow:0 0 14px color-mix(in srgb,var(--accent) 70%,transparent)}}

@media (prefers-reduced-motion:no-preference){
  .hero-text>*{animation:riseIn .5s cubic-bezier(.2,.7,.3,1) both}
  .hero-text>*:nth-child(2){animation-delay:.06s}
  .hero-text>*:nth-child(3){animation-delay:.12s}
  .hero-text>*:nth-child(4){animation-delay:.18s}
  .hero-text>*:nth-child(5){animation-delay:.24s}
  .logo-tile--hero{animation:popIn .5s .05s both}
  .trust-strip,.stats-strip,.author-strip{animation:riseIn .5s .1s both}
  .rank-card{animation:riseIn .55s both}
  .rank-card:nth-child(1){animation-delay:.04s}
  .rank-card:nth-child(2){animation-delay:.12s}
  .rank-card:nth-child(3){animation-delay:.2s}
  .rank-card:nth-child(4){animation-delay:.28s}
  .rank-card:nth-child(5){animation-delay:.36s}
  .rank-card:nth-child(n+6){animation-delay:.42s}
  .rank-num{animation:numIn .6s cubic-bezier(.34,1.56,.64,1) both}
  .rank-card:nth-child(1) .rank-num{animation-delay:.14s}
  .rank-card:nth-child(2) .rank-num{animation-delay:.22s}
  .rank-card:nth-child(3) .rank-num{animation-delay:.3s}
  .rank-card:nth-child(4) .rank-num{animation-delay:.38s}
  .rank-card:nth-child(5) .rank-num{animation-delay:.46s}
  .rank-card:nth-child(n+6) .rank-num{animation-delay:.52s}
  #rank-1 .rank-num{animation:numIn .6s .14s both,badgePulse 1.9s ease-in-out .9s 3}
}

.cta,.rank-card,.guide-card,.logo-tile,.main-nav a,.bonus-table tbody tr,.team-card,.faq-list summary,.internal-link a,.toc a{transition:transform .18s ease,box-shadow .2s ease,border-color .2s ease,background .2s ease,color .15s ease,filter .15s ease}
.cta-primary:hover{transform:translateY(-2px);filter:brightness(1.05);box-shadow:0 12px 28px -8px color-mix(in srgb,var(--accent) 55%,transparent)}
.cta-secondary:hover{transform:translateY(-2px);filter:brightness(1.06)}
.cta:active{transform:translateY(0)}
.rank-card:hover{transform:translateY(-3px);border-color:color-mix(in srgb,var(--accent) 45%,var(--border));box-shadow:0 16px 36px -16px rgba(0,0,0,.5),0 0 0 1px color-mix(in srgb,var(--accent) 20%,transparent)}
.rank-card:hover h3{color:var(--accent)}
.rank-card:hover .logo-tile{transform:scale(1.04)}
#rank-1{border-color:color-mix(in srgb,var(--accent) 38%,var(--border));box-shadow:0 0 0 1px color-mix(in srgb,var(--accent) 28%,transparent),0 14px 32px -18px color-mix(in srgb,var(--accent) 55%,transparent)}
.guide-card:hover{transform:translateY(-2px);box-shadow:0 12px 26px -14px rgba(0,0,0,.5)}
.team-card:hover{border-color:color-mix(in srgb,var(--accent) 32%,var(--border))}
.bonus-table tbody tr:hover{background:color-mix(in srgb,var(--accent) 7%,transparent)}
.faq-list details[open] summary{color:var(--accent)}
.main-nav a{position:relative}
.main-nav a::after{content:"";position:absolute;left:0;right:100%;bottom:-4px;height:2px;background:var(--accent);transition:right .22s ease}
.main-nav a:hover::after{right:0}

@media (min-width:820px){
  .pros-cons{grid-template-columns:1fr 1fr}
  .guide-grid{grid-template-columns:1fr 1fr}
  .team-grid{grid-template-columns:repeat(3,1fr)}
}
