:root{
  --ink:#1b2030; --muted:#5a6573;
  --primary:#5a4be3; --primaryd:#4132bb; --primtint:#e4e2ff;
  --accent:#682ae3; --card:#fff; --line:#e6e8ef; --field:#f7f8fc;
  --bg1:#f6f7fb; --bg2:#eef1f6;
  --glass:rgba(255,255,255,.78); --glassbrd:rgba(255,255,255,.6); --navbg:rgba(246,247,251,.72);
  --heroA:#eceefb; --heroB:#f4f6fb;
  --font:'Plus Jakarta Sans',-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
}
:root[data-theme="dark"]{
      --ink:#e9ebf2; --muted:#9aa2b1;
      --primary:#8b7dff; --primaryd:#cfc8ff; --primtint:#2a2550;
      --accent:#9463f5; --card:#1b1d27; --line:#2c2f3d; --field:#23252f;
      --bg1:#0e0f15; --bg2:#141620;
      --glass:rgba(24,26,36,.82); --glassbrd:rgba(255,255,255,.08); --navbg:rgba(14,15,22,.78);
      --heroA:#1c1f2b; --heroB:#232636;
}
@media (prefers-color-scheme:dark){ :root:not([data-theme]){
      --ink:#e9ebf2; --muted:#9aa2b1;
      --primary:#8b7dff; --primaryd:#cfc8ff; --primtint:#2a2550;
      --accent:#9463f5; --card:#1b1d27; --line:#2c2f3d; --field:#23252f;
      --bg1:#0e0f15; --bg2:#141620;
      --glass:rgba(24,26,36,.82); --glassbrd:rgba(255,255,255,.08); --navbg:rgba(14,15,22,.78);
      --heroA:#1c1f2b; --heroB:#232636;
} }
*{box-sizing:border-box}
html,body{margin:0}
body{background:linear-gradient(180deg,var(--bg1) 0%,var(--bg2) 100%);min-height:100vh;color:var(--ink);
     font-family:var(--font);line-height:1.5;-webkit-font-smoothing:antialiased}
.wrap{max-width:920px;margin:0 auto;padding:18px 16px 48px;display:flex;flex-direction:column;min-height:100vh;min-height:100svh}
.topnav{display:flex;align-items:center;justify-content:space-between;padding:10px 8px;margin:-18px -16px 6px;
        position:sticky;top:0;z-index:40;background:var(--navbg);backdrop-filter:blur(12px) saturate(1.15);
        -webkit-backdrop-filter:blur(12px) saturate(1.15);border-bottom:1px solid var(--glassbrd)}
.brandlogo{display:inline-flex;align-items:center;gap:6px;text-decoration:none;color:inherit;cursor:pointer}
.bmark{font-size:18px;line-height:1}
.bword{font-weight:800;font-size:16px;letter-spacing:-.01em;color:var(--ink)}
.bword b{color:var(--primary);font-weight:800}
.brandtag{font-weight:700;text-decoration:none;font-size:10px;letter-spacing:1.2px;text-transform:uppercase;color:var(--primary);background:var(--primtint);padding:4px 9px;border-radius:99px}
.hero{text-align:center;padding:28px 8px 6px}
.hero .eyebrow{font-weight:800;letter-spacing:1.5px;text-transform:uppercase;font-size:12px;color:var(--primary);margin-bottom:6px}
.hero h1{font-size:30px;line-height:1.12;letter-spacing:-.02em;margin:.15em 0 .3em}
.hero p{color:var(--muted);max-width:46ch;margin:0 auto;font-size:16px}
.section-title{font-weight:800;font-size:15px;letter-spacing:-.01em;margin:28px 4px 14px}
.grid{display:grid;grid-template-columns:1fr;gap:16px}
@media(min-width:680px){.grid{grid-template-columns:1fr 1fr}}
@media(min-width:1024px){.grid{grid-template-columns:repeat(3,1fr)}}
.trustline{display:flex;justify-content:center;flex-wrap:wrap;gap:8px;margin:14px 0 2px}
.trustline .tchip{display:inline-flex;align-items:center;gap:5px;background:var(--glass);
  border:1px solid var(--line);border-radius:99px;padding:6px 13px;font-weight:700;font-size:13px;color:var(--ink);
  box-shadow:0 2px 10px rgba(22,22,28,.06);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
/* featured (trending) card */
.featured{grid-column:1 / -1;display:flex;flex-direction:column;background:var(--glass);backdrop-filter:blur(10px) saturate(1.1);-webkit-backdrop-filter:blur(10px) saturate(1.1);border:1px solid var(--glassbrd);border-radius:20px;
          overflow:hidden;box-shadow:0 16px 44px rgba(22,22,28,.14);text-decoration:none;color:inherit;
          transition:transform .15s,box-shadow .15s}
.featured:hover{transform:translateY(-3px);box-shadow:0 22px 54px rgba(22,22,28,.18)}
.featured .thumb{position:relative;aspect-ratio:16/9;background:linear-gradient(120deg,var(--heroA),var(--heroB));overflow:hidden}
.featured .thumb img{width:100%;height:100%;object-fit:cover;display:block}
.featured .thumb .ph{width:100%;height:100%;align-items:center;justify-content:center;font-size:72px}
.featured .fbody{padding:20px 22px 22px;display:flex;flex-direction:column;gap:9px;justify-content:center}
.featured h3{margin:0;font-size:23px;letter-spacing:-.01em;line-height:1.2}
.featured .blurb{color:var(--muted);font-size:15px;line-height:1.5}
.featured .meta{color:var(--muted);font-size:13px;font-weight:700}
.featured .cta{align-self:stretch;display:inline-flex;align-items:center;justify-content:center;gap:6px;margin-top:6px;
               background:linear-gradient(100deg,#5620c6,#682ae3);color:#fff;font-weight:800;font-size:16px;
               padding:14px 22px;border-radius:13px;box-shadow:0 12px 26px rgba(104,42,227,.34)}
.featured:hover .cta{filter:brightness(1.04)}
@media(min-width:680px){
  .featured{flex-direction:row;align-items:stretch}
  .featured .thumb{flex:0 0 46%;aspect-ratio:auto;min-height:230px}
  .featured .cta{align-self:flex-start}
}
.qcard{display:flex;flex-direction:column;background:var(--glass);backdrop-filter:blur(10px) saturate(1.1);-webkit-backdrop-filter:blur(10px) saturate(1.1);border:1px solid var(--glassbrd);border-radius:18px;
       overflow:hidden;box-shadow:0 10px 30px rgba(22,22,28,.08);text-decoration:none;color:inherit;
       transition:transform .15s ease,box-shadow .15s ease}
.qcard:hover{transform:translateY(-3px);box-shadow:0 16px 40px rgba(22,22,28,.15)}
.qcard .thumb{position:relative;aspect-ratio:16/9;background:linear-gradient(120deg,var(--heroA),var(--heroB));overflow:hidden}
.qcard .thumb img{width:100%;height:100%;object-fit:cover;display:block}
.qbadge{position:absolute;top:10px;right:10px;z-index:2;display:inline-flex;align-items:center;gap:4px;
        font-weight:800;font-size:11px;letter-spacing:.2px;padding:5px 10px;border-radius:99px;color:#fff;
        box-shadow:0 4px 12px rgba(0,0,0,.22)}
.badge-trending{background:linear-gradient(100deg,#682ae3,#ff3d6e)}
.badge-played{background:linear-gradient(100deg,#5a4be3,#7c74ff)}
.badge-new{background:linear-gradient(100deg,#15a05a,#1bbf6e)}
.qcard .thumb .ph{width:100%;height:100%;align-items:center;justify-content:center;font-size:62px}
.qcard .body{padding:16px 16px 18px;display:flex;flex-direction:column;gap:8px;flex:1}
.qcard h3{margin:0;font-size:19px;letter-spacing:-.01em}
.qcard .blurb{color:var(--muted);font-size:14px;line-height:1.45;flex:1}
.qcard .meta{color:var(--muted);font-size:12.5px;font-weight:700}
.qcard .cta{display:inline-flex;align-items:center;justify-content:center;gap:6px;margin-top:4px;
            background:linear-gradient(100deg,#5620c6,#682ae3);color:#fff;font-weight:800;font-size:15px;
            padding:11px 16px;border-radius:12px;box-shadow:0 10px 22px rgba(104,42,227,.34)}
.qcard:hover .cta{filter:brightness(1.03)}
/* in-feed sponsored slot (matches card height on desktop, 300x250 on mobile) */
.adband{grid-column:1 / -1;display:flex;flex-direction:column;gap:8px;align-items:center;
        background:var(--card);border:0.5px solid var(--line);
        border-radius:18px;padding:14px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.adband .adlabel{font-size:10px;letter-spacing:.6px;font-weight:600;color:var(--muted);text-align:center}
/* Multi-size slot: the mapping allows BOTH 728x90 and 300x250 at >=768px, so
   this box must not be a hard 90px — a delivered 300x250 was losing its bottom
   160px to overflow:hidden. min-height reserves the leaderboard; mnet-slots.js
   sets the exact height from the size GPT reports on render. */
.adband .adbox{width:728px;max-width:100%;min-height:90px;background:var(--field);border:1px solid var(--line);border-radius:12px;overflow:hidden;display:flex;justify-content:center;align-items:flex-start}
.adband .adbox > div{min-width:0}
/* 768, not 760, to match the GPT size mapping exactly. */
@media(max-width:767.98px){ .adband .adbox{width:300px;min-height:250px} }
.adcell .adph{font-size:13px;color:#b3acc6;font-weight:700;letter-spacing:.5px}
/* tablet in-grid 300x250 ad — occupies one card cell */
.adtile{display:flex;flex-direction:column;gap:8px;align-items:center;justify-content:center;
        background:var(--card);border:0.5px solid var(--line);border-radius:18px;padding:14px;
        -webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.adtile .adlabel{font-size:10px;letter-spacing:.6px;font-weight:600;color:var(--muted);text-align:center}
.adtile .adbox{width:300px;max-width:100%;height:250px;background:var(--field);border:1px solid var(--line);border-radius:12px;overflow:hidden}
.adbox:empty{background:var(--field)}
.footer{text-align:center;color:var(--muted);font-size:12px;margin-top:36px}
.sitefooter{margin-top:auto;padding:20px 14px 6px;border-top:1px solid var(--line);text-align:center}
.foot-links{display:flex;justify-content:center;gap:18px;flex-wrap:wrap;margin-bottom:8px}
.foot-links a{color:var(--muted);text-decoration:none;font-size:13px;font-weight:600}
.foot-links a:hover{color:var(--primary)}
.foot-copy{color:var(--muted);font-size:12px}

.brandtag{margin-left:auto}
.themetoggle{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;margin-left:8px;border:1px solid var(--line);background:var(--card);color:var(--ink);border-radius:50%;cursor:pointer;font-size:15px;line-height:1;padding:0;transition:transform .12s,border-color .15s,background .15s}
.themetoggle:hover{border-color:var(--primary)}
.themetoggle:active{transform:scale(.92)}
