/* TCG Pulse — premium dark theme. Per-game accent arrives as --g on each element. */
:root{
  --bg:#06070c;--bg2:#0c0e17;--surf:rgba(255,255,255,.035);--surf2:rgba(255,255,255,.06);--line:rgba(255,255,255,.08);--line2:rgba(255,255,255,.14);
  --txt:#eef0f8;--mut:#9aa1b8;--dim:#7e85a4;--up:#2ee59d;--down:#ff5c7a;
  --a1:#8b5cf6;--a2:#22d3ee;--a3:#f472b6;--grad:linear-gradient(120deg,var(--a1),var(--a2) 55%,var(--a3));
  --pk:#f5c518;--op:#e63946;--mtg:#9b5de5;--ygo:#3a86ff;
  --r:16px;--font:"Inter","SF Pro Display",ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--txt);font:15px/1.55 var(--font);font-feature-settings:"ss01","cv11";-webkit-font-smoothing:antialiased;overflow-x:hidden}
body::before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;
  background:radial-gradient(900px 500px at 10% -10%,rgba(139,92,246,.20),transparent 60%),radial-gradient(800px 500px at 95% 0%,rgba(34,211,238,.13),transparent 60%),radial-gradient(700px 600px at 50% 110%,rgba(244,114,182,.08),transparent 60%)}
a{color:inherit;text-decoration:none}
a:hover{color:#fff}
img{max-width:100%}
.wrap{max-width:1200px;margin:0 auto;padding:0 20px}
.muted{color:var(--mut)}.small{font-size:13px}.fine{font-size:12px;color:var(--dim)}
[hidden]{display:none!important}
:focus-visible{outline:2px solid var(--a2);outline-offset:2px;border-radius:8px}

/* header */
.top{position:sticky;top:0;z-index:20;background:rgba(6,7,12,.72);backdrop-filter:saturate(160%) blur(14px);-webkit-backdrop-filter:saturate(160%) blur(14px);border-bottom:1px solid var(--line)}
.topin{display:flex;align-items:center;gap:18px;height:60px}
.logo{display:flex;align-items:center;gap:10px;font-weight:800;letter-spacing:-.02em;font-size:18px;white-space:nowrap}
.logo .mark{width:26px;height:26px;border-radius:8px;background:var(--grad);display:grid;place-items:center;box-shadow:0 0 24px rgba(139,92,246,.55)}
.logo .mark svg{width:16px;height:16px}
.top nav{display:flex;gap:4px;overflow-x:auto;scrollbar-width:none;margin-left:auto}
.top nav::-webkit-scrollbar{display:none}
.top nav a{padding:7px 12px;border-radius:999px;color:var(--mut);font-weight:600;font-size:14px;white-space:nowrap;display:flex;align-items:center;gap:7px;transition:background .2s,color .2s}
.top nav a:hover{background:var(--surf2);color:#fff}
.top nav a.on{background:var(--surf2);color:#fff;box-shadow:inset 0 0 0 1px var(--line2)}
.top nav a i{width:7px;height:7px;border-radius:50%;background:var(--g);box-shadow:0 0 10px var(--g)}

/* hero */
.hero{position:relative;padding:64px 0 36px;display:grid;grid-template-columns:1.25fr .9fr;gap:40px;align-items:center}
.hero.small{display:block;padding:48px 0 18px}
.eyebrow{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;border-radius:999px;background:var(--surf2);border:1px solid var(--line);font-size:12.5px;font-weight:600;color:var(--mut)}
.eyebrow .live{width:8px;height:8px;border-radius:50%;background:var(--up);box-shadow:0 0 0 0 rgba(46,229,157,.6);animation:ping 2s infinite}
@keyframes ping{0%{box-shadow:0 0 0 0 rgba(46,229,157,.55)}70%{box-shadow:0 0 0 10px rgba(46,229,157,0)}100%{box-shadow:0 0 0 0 rgba(46,229,157,0)}}
h1{font-size:clamp(34px,5.4vw,60px);line-height:1.02;letter-spacing:-.035em;margin:18px 0 14px;font-weight:850}
.hero.small h1{font-size:clamp(30px,4.4vw,46px)}
.grad{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.gtext{background:linear-gradient(120deg,#fff,var(--g));-webkit-background-clip:text;background-clip:text;color:transparent}
.hero p.lead{font-size:18px;color:var(--mut);max-width:560px;margin:0 0 22px}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:26px;max-width:620px}
.stat{padding:14px 14px 12px;border-radius:14px;background:var(--surf);border:1px solid var(--line)}
.stat b{display:block;font-size:22px;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.stat span{font-size:12px;color:var(--mut)}
.gamepills{display:flex;flex-wrap:wrap;gap:8px}
.gamepill{display:inline-flex;align-items:center;gap:8px;padding:9px 14px;border-radius:12px;font-weight:700;font-size:14px;background:linear-gradient(135deg,color-mix(in srgb,var(--g) 22%,transparent),transparent);border:1px solid color-mix(in srgb,var(--g) 40%,transparent);transition:transform .2s,box-shadow .2s}
.gamepill:hover{transform:translateY(-2px);box-shadow:0 10px 30px -10px var(--g)}
.gamepill i{width:8px;height:8px;border-radius:50%;background:var(--g)}
.fan{position:relative;height:380px}
.fan .fc{position:absolute;top:30px;left:50%;width:210px;aspect-ratio:5/7;border-radius:12px;overflow:hidden;background:#111;box-shadow:0 30px 60px -20px rgba(0,0,0,.8),0 0 0 1px var(--line2);animation:float 7s ease-in-out infinite}
.fan .fc img{width:100%;height:100%;object-fit:cover;display:block}
.fan .fc::after{content:"";position:absolute;inset:0;background:linear-gradient(115deg,transparent 30%,rgba(255,255,255,.28) 48%,transparent 62%);background-size:250% 100%;animation:sheen 6s ease-in-out infinite}
.fan .fc:nth-child(1){transform:translateX(-118%) rotate(-12deg);--rot:-12deg;--tx:-118%;animation-delay:-2s}
.fan .fc:nth-child(2){transform:translateX(-50%);--rot:0deg;--tx:-50%;z-index:2;top:8px}
.fan .fc:nth-child(3){transform:translateX(18%) rotate(12deg);--rot:12deg;--tx:18%;animation-delay:-4s}
.fan .fc .fl{position:absolute;left:8px;right:8px;bottom:8px;z-index:2;padding:6px 9px;border-radius:9px;background:rgba(6,7,12,.78);backdrop-filter:blur(6px);font-size:11.5px;display:flex;justify-content:space-between;gap:6px}
.fan .fc .fl b{font-variant-numeric:tabular-nums}
@keyframes float{0%,100%{transform:translateX(var(--tx)) rotate(var(--rot)) translateY(0)}50%{transform:translateX(var(--tx)) rotate(var(--rot)) translateY(-12px)}}
@keyframes sheen{0%,60%{background-position:150% 0}100%{background-position:-100% 0}}
.fan::before{content:"";position:absolute;inset:10% 5%;background:var(--grad);filter:blur(70px);opacity:.35;border-radius:50%}

/* sections */
section{margin:0 0 46px}
.sh{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap;margin:0 0 16px}
.sh h2{margin:0;font-size:clamp(22px,2.6vw,28px);letter-spacing:-.025em;font-weight:800;display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.sh .kicker{display:block;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--a2);font-weight:700;margin-bottom:4px}
.sh a.more{color:var(--mut);font-weight:600;font-size:14px}.sh a.more:hover{color:#fff}
.badge{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;font-size:12px;font-weight:700;letter-spacing:0;background:var(--surf2);border:1px solid var(--line2);color:var(--mut);vertical-align:middle}
.badge.hot{background:linear-gradient(120deg,rgba(139,92,246,.25),rgba(34,211,238,.18));color:#dfe7ff;border-color:rgba(139,92,246,.45)}
.panel{background:var(--surf);border:1px solid var(--line);border-radius:var(--r);padding:20px}

/* chips */
.chips{display:flex;gap:6px;flex-wrap:wrap}
.chip{--g:#a5b4fc;appearance:none;border:1px solid var(--line2);background:var(--surf);color:var(--mut);font:600 13px/1 var(--font);padding:9px 14px;border-radius:999px;cursor:pointer;display:inline-flex;align-items:center;gap:7px;transition:background .2s,color .2s,border-color .2s,box-shadow .2s}
.chip i{width:7px;height:7px;border-radius:50%;background:var(--g)}
.chip:hover{color:#fff;border-color:color-mix(in srgb,var(--g) 60%,transparent)}
.chip.on{color:#0a0b10;background:var(--g);border-color:var(--g);box-shadow:0 6px 22px -8px var(--g)}
.chip.on i{background:#0a0b10}
.chip.all.on{background:#fff;border-color:#fff}

/* card grid + tiles */
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(176px,1fr));gap:16px;align-content:start}
.card{--g:#888;position:relative;display:flex;flex-direction:column;border-radius:var(--r);background:linear-gradient(180deg,var(--surf2),var(--surf));border:1px solid var(--line);overflow:hidden;
  transform:perspective(900px) rotateX(var(--rx,0)) rotateY(var(--ry,0));transition:transform .45s cubic-bezier(.2,.8,.2,1),box-shadow .3s,border-color .3s;will-change:transform}
.card.tilt{transition:transform .08s linear,box-shadow .3s,border-color .3s}
.card:hover{border-color:color-mix(in srgb,var(--g) 55%,transparent);box-shadow:0 24px 50px -24px color-mix(in srgb,var(--g) 70%,transparent),0 0 0 1px color-mix(in srgb,var(--g) 25%,transparent)}
.card .img{position:relative;aspect-ratio:5/7;margin:10px 10px 0;border-radius:10px;overflow:hidden;background:radial-gradient(circle at 50% 30%,color-mix(in srgb,var(--g) 22%,#151824),#0d0f17)}
.card .img img{width:100%;height:100%;object-fit:contain;display:block;transition:transform .5s cubic-bezier(.2,.8,.2,1)}
.card:hover .img img{transform:scale(1.035)}
.card .shine{position:absolute;inset:0;pointer-events:none;opacity:0;transition:opacity .3s;mix-blend-mode:screen;
  background:radial-gradient(circle at var(--mx,50%) var(--my,30%),rgba(255,255,255,.38),transparent 45%),linear-gradient(115deg,transparent 35%,color-mix(in srgb,var(--g) 30%,transparent) 50%,transparent 65%)}
.card.tilt .shine,.card:hover .shine{opacity:1}
.tag{position:absolute;top:8px;left:8px;padding:3px 8px;border-radius:999px;background:rgba(6,7,12,.8);font-size:11px;font-weight:700;color:#ffd166;backdrop-filter:blur(4px)}
.tag.wm{left:auto;right:8px;color:var(--mut)}
.meta{padding:10px 12px 13px;display:flex;flex-direction:column;gap:2px;flex:1}
.mtop{display:flex;align-items:center;gap:6px;min-width:0;margin-bottom:3px}
.gb{display:inline-flex;align-items:center;gap:5px;font-size:10.5px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--g)}
.gb::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--g);box-shadow:0 0 8px var(--g)}
.rar{font-size:11px;color:var(--dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cname{font-weight:700;font-size:14px;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:2.6em}
.cset{font-size:12px;color:var(--mut);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.row{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-top:auto;padding-top:7px}
.price{font-size:18px;font-weight:800;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.chg{font-size:12px;font-weight:800;padding:2px 7px;border-radius:999px;font-variant-numeric:tabular-nums}
.chg.up{color:var(--up);background:rgba(46,229,157,.12)}.chg.down{color:var(--down);background:rgba(255,92,122,.12)}
.pill{font-size:10.5px;padding:2px 7px;border-radius:999px;background:var(--surf2);color:var(--mut);border:1px solid var(--line)}
.was{font-size:11.5px;color:var(--dim)}
.empty{color:var(--mut);padding:30px;text-align:center;border:1px dashed var(--line2);border-radius:var(--r);grid-column:1/-1;margin:0}

/* explorer */
.explorer{scroll-margin-top:76px}
.xbar{display:grid;grid-template-columns:minmax(0,1fr);gap:12px;padding:16px;border-radius:var(--r);background:linear-gradient(180deg,var(--surf2),var(--surf));border:1px solid var(--line);margin-bottom:18px}
.xrow{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.xlabel{font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--dim);min-width:52px}
.field{display:flex;align-items:center;gap:8px}
select,input[type=number],input[type=email]{appearance:none;-webkit-appearance:none;background:#0d1019;color:var(--txt);border:1px solid var(--line2);border-radius:11px;padding:9px 12px;font:600 13.5px var(--font);min-height:38px;transition:border-color .2s,box-shadow .2s}
select{padding-right:34px;background-image:linear-gradient(45deg,transparent 50%,var(--mut) 50%),linear-gradient(135deg,var(--mut) 50%,transparent 50%);background-position:calc(100% - 17px) 16px,calc(100% - 12px) 16px;background-size:5px 5px;background-repeat:no-repeat;max-width:100%}
select:focus,input:focus{outline:none;border-color:var(--a2);box-shadow:0 0 0 3px rgba(34,211,238,.18)}
.x-set{min-width:260px;flex:1 1 260px}
input[type=number]{width:104px;font-variant-numeric:tabular-nums}
.dash{color:var(--dim)}
.x-presets .chip{padding:8px 12px}
.pager{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:18px;flex-wrap:wrap}
.pager .pg{display:flex;align-items:center;gap:10px}
.btn{appearance:none;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:11px 18px;border-radius:12px;border:0;background:var(--grad);color:#08090f;font:800 14px var(--font);cursor:pointer;box-shadow:0 10px 30px -12px rgba(139,92,246,.8);transition:transform .2s,box-shadow .2s,opacity .2s}
.btn:hover{transform:translateY(-1px);color:#08090f;box-shadow:0 14px 34px -12px rgba(34,211,238,.8)}
.btn.ghost{background:var(--surf2);color:var(--txt);border:1px solid var(--line2);box-shadow:none}
.btn.ghost:hover{color:#fff;border-color:var(--a2)}
.btn:disabled{opacity:.35;cursor:not-allowed;transform:none}
.x-page{font-weight:800;font-variant-numeric:tabular-nums;min-width:120px;text-align:center}
.x-info{color:var(--mut);font-size:13px;font-variant-numeric:tabular-nums}
.linkbtn{appearance:none;background:none;border:0;color:var(--mut);font:600 13px var(--font);cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.linkbtn:hover{color:#fff}

/* releases */
.rels{list-style:none;margin:0;padding:0;display:grid;gap:10px;align-content:start}
.rel{--g:#888;display:grid;grid-template-columns:64px 56px 1fr auto;gap:16px;align-items:center;padding:12px 16px 12px 12px;border-radius:14px;background:var(--surf);border:1px solid var(--line);position:relative;overflow:hidden;transition:border-color .25s,transform .25s,background .25s}
.rel::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--g);box-shadow:0 0 18px var(--g)}
.rel:hover{border-color:color-mix(in srgb,var(--g) 45%,transparent);background:linear-gradient(90deg,color-mix(in srgb,var(--g) 10%,transparent),var(--surf));transform:translateX(2px)}
.rdate{text-align:center;line-height:1.05;padding:8px 0;border-radius:11px;background:color-mix(in srgb,var(--g) 14%,#0d1019);border:1px solid color-mix(in srgb,var(--g) 30%,transparent)}
.rdate span{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:var(--g);font-weight:800}
.rdate b{display:block;font-size:24px;letter-spacing:-.03em}
.rdate small{font-size:10.5px;color:var(--mut)}
.rimg{width:56px;height:56px;border-radius:10px;overflow:hidden;background:#0d1019;display:grid;place-items:center}
.rimg img{width:100%;height:100%;object-fit:cover}
.rimg img.icon{width:60%;height:60%;object-fit:contain;filter:invert(1);opacity:.85}
.rinfo{min-width:0}
.rname{font-weight:750;font-size:15.5px;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rsub{font-size:12px;color:var(--dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.when{font-size:12.5px;font-weight:800;padding:6px 11px;border-radius:999px;white-space:nowrap;font-variant-numeric:tabular-nums}
.when.soon{background:rgba(34,211,238,.12);color:var(--a2)}.when.out{background:rgba(46,229,157,.12);color:var(--up)}
.month h2{font-size:20px;margin:0 0 12px;letter-spacing:-.02em}

/* game tiles + misc */
.gtiles{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.gtile{--g:#888;position:relative;overflow:hidden;padding:20px;border-radius:var(--r);border:1px solid color-mix(in srgb,var(--g) 35%,transparent);background:radial-gradient(120% 120% at 0% 0%,color-mix(in srgb,var(--g) 28%,transparent),transparent 60%),var(--surf);transition:transform .3s,box-shadow .3s}
.gtile:hover{transform:translateY(-3px);box-shadow:0 20px 40px -20px var(--g);color:inherit}
.gtile h3{margin:0 0 6px;font-size:18px;letter-spacing:-.02em}
.gtile p{margin:0;color:var(--mut);font-size:13px}
.gtile .go{margin-top:12px;font-weight:800;font-size:13px;color:var(--g)}
.note{padding:14px 16px;border-radius:14px;background:linear-gradient(120deg,rgba(139,92,246,.12),rgba(34,211,238,.06));border:1px solid rgba(139,92,246,.3);color:#d6dbef;margin:0 0 16px;font-size:14px}
.note b{color:#fff}
.cta{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:30px;border-radius:22px;position:relative;overflow:hidden;background:radial-gradient(600px 200px at 0% 0%,rgba(139,92,246,.35),transparent),radial-gradient(500px 200px at 100% 100%,rgba(34,211,238,.25),transparent),var(--bg2);border:1px solid var(--line2)}
.cta h2{margin:0 0 4px;font-size:26px;letter-spacing:-.02em}.cta p{margin:0;color:var(--mut)}
.foot{border-top:1px solid var(--line);padding:30px 20px 50px;display:grid;gap:8px;color:var(--mut);font-size:13px}
.foot a{text-decoration:underline;text-underline-offset:3px}
.tiers{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.tier{padding:20px;border-radius:var(--r);background:var(--surf);border:1px solid var(--line)}
.tier h3{margin:0 0 6px}
.form{display:grid;gap:14px;max-width:460px}
.form label{display:grid;gap:6px;font-weight:600}
fieldset{border:1px solid var(--line);border-radius:12px;padding:12px}
.cb{display:inline-flex!important;gap:6px;margin-right:12px;font-weight:500}
.prose h2{margin-top:0}.prose li{margin:6px 0}
.filt{margin-top:18px}

@media (max-width:900px){
  .hero{grid-template-columns:1fr;padding-top:36px;gap:10px}
  .fan{height:250px;order:-1}.fan .fc{width:140px}
  .gtiles{grid-template-columns:repeat(2,1fr)}
  .tiers{grid-template-columns:1fr}
}
@media (max-width:600px){
  .wrap{padding:0 14px}
  .topin{gap:10px}.logo span.nm{display:none}
  .stats{grid-template-columns:repeat(2,1fr)}
  .grid{grid-template-columns:repeat(2,1fr);gap:10px}
  .card .img{margin:7px 7px 0}.meta{padding:8px 9px 10px}.price{font-size:16px}
  .rel{grid-template-columns:54px 1fr auto;gap:10px;padding:10px}
  .rimg{display:none}
  .xbar{padding:12px}.x-set{min-width:0;flex-basis:100%}
  .xlabel{flex-basis:100%;min-width:0}.field{flex-wrap:wrap}.x-sort{flex:1}
  .cta{flex-direction:column;align-items:flex-start;padding:22px}
  .pager{justify-content:center}.x-info{width:100%;text-align:center}
}
@media (max-width:480px){.fan{height:215px}.fan .fc{width:116px;top:22px}.fan .fc:nth-child(1){--tx:-108%}.fan .fc:nth-child(3){--tx:8%}.fan .fc .fl{justify-content:center;font-size:11px;left:6px;right:6px;bottom:6px}.fan .fc .fl span{display:none}}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}

/* launch additions: breadcrumbs, card + set pages, buy buttons, sponsor slot, legal prose, footer links */
.crumbs{display:flex;flex-wrap:wrap;gap:6px;font-size:13px;color:var(--dim);margin:22px 0 0;padding:0;list-style:none}
.crumbs li+li::before{content:"/";margin-right:6px;color:var(--line2)}
.crumbs a{color:var(--mut)}.crumbs a:hover{color:#fff}
.cardpage{display:grid;grid-template-columns:minmax(0,340px) minmax(0,1fr);gap:36px;align-items:start;padding:24px 0 8px}
.cardpage .art{--g:#888;position:relative;aspect-ratio:5/7;border-radius:18px;overflow:hidden;background:radial-gradient(circle at 50% 30%,color-mix(in srgb,var(--g) 26%,#151824),#0d0f17);border:1px solid var(--line2);box-shadow:0 40px 80px -40px color-mix(in srgb,var(--g) 70%,transparent)}
.cardpage .art{width:100%}.cardpage .art img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;display:block}
.cardpage h1{font-size:clamp(28px,3.8vw,42px);margin:10px 0 6px}
.facts{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;margin:18px 0}
.facts div{padding:12px 14px;border-radius:14px;background:var(--surf);border:1px solid var(--line)}
.facts dt{font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--dim)}
.facts dd{margin:4px 0 0;font-weight:750;font-variant-numeric:tabular-nums}
.bigprice{font-size:40px;font-weight:850;letter-spacing:-.03em;font-variant-numeric:tabular-nums;display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.buy{display:flex;gap:10px;flex-wrap:wrap;margin:16px 0 6px}
.affnote{font-size:12px;color:var(--dim);margin:6px 0 0}
.affnote a{text-decoration:underline;text-underline-offset:3px}
.tbl{width:100%;border-collapse:collapse;font-size:14px;font-variant-numeric:tabular-nums}
.tbl th,.tbl td{text-align:left;padding:9px 10px;border-bottom:1px solid var(--line)}
.tbl th{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--dim);font-weight:800}
.tbl td.num,.tbl th.num{text-align:right}
.tbl a{font-weight:650}.tbl a:hover{color:var(--a2)}
.tblwrap{overflow-x:auto;border-radius:var(--r);border:1px solid var(--line);background:var(--surf)}
.spark{display:block;width:100%;max-width:520px;height:90px;margin:6px 0 14px}
.setlinks{display:flex;flex-wrap:wrap;gap:8px}
.setlinks a{--g:#888;padding:8px 13px;border-radius:12px;background:var(--surf);border:1px solid color-mix(in srgb,var(--g) 30%,var(--line));font-weight:650;font-size:13.5px}
.setlinks a:hover{border-color:var(--g)}
.setlinks a small{color:var(--dim);font-weight:600;margin-left:6px}
.sponsor{--g:#a5b4fc;display:flex;gap:16px;align-items:center;padding:16px 18px;border-radius:var(--r);background:var(--surf);border:1px solid var(--line2);margin:0 0 46px}
.sponsor img{width:64px;height:64px;border-radius:12px;object-fit:cover;flex:none}
.sponsor .lbl{font-size:10.5px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--dim)}
.sponsor b{display:block;font-size:16px}.sponsor p{margin:2px 0 0;color:var(--mut);font-size:14px}
.sponsor .btn{margin-left:auto;flex:none}
.signup{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.signup input[type=email]{min-width:250px;flex:1 1 250px;min-height:44px;font-size:15px}
.signup .hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.prose{line-height:1.7;max-width:820px}
.prose h2{font-size:22px;letter-spacing:-.02em;margin:28px 0 8px}.prose h2:first-child{margin-top:0}
.prose h3{font-size:17px;margin:20px 0 6px}
.prose p{margin:0 0 12px;color:#d3d7e6}.prose a{color:var(--a2);text-decoration:underline;text-underline-offset:3px}
.faq details{padding:14px 16px;border-radius:14px;background:var(--surf);border:1px solid var(--line);margin:0 0 10px}
.faq summary{cursor:pointer;font-weight:750}.faq details p{margin:10px 0 0;color:#d3d7e6}
.flinks{display:flex;flex-wrap:wrap;gap:6px 14px}
.lost{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;margin:18px 0 30px}
@media (max-width:760px){.cardpage{grid-template-columns:1fr}.cardpage .art{max-width:300px;margin:0 auto}.sponsor{flex-wrap:wrap}.sponsor .btn{margin-left:0}}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* Card-back placeholder for cards with no image, or whose image fails (.noimg + data-n set by the build or the onerror handler). */
.noimg{--ph:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cdefs%3E%3ClinearGradient id='a' x1='0' y1='0' x2='1' y2='1'%3E%3Cstop offset='0' stop-color='%237c5cff'/%3E%3Cstop offset='1' stop-color='%2300d4ff'/%3E%3C/linearGradient%3E%3C/defs%3E%3Crect x='14' y='6' width='36' height='52' rx='6' fill='url%28%23a%29'/%3E%3Cpath d='M20 36h7l4-10 5 18 4-8h4' fill='none' stroke='%23fff' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}
.noimg::before{content:attr(data-n);position:absolute;inset:0;z-index:0;padding:76% 11% 0;text-align:center;font-size:13px;line-height:1.25;font-weight:700;color:#e9ebf5;border-radius:inherit;
  display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;
  background:var(--ph) center 37%/30% no-repeat,repeating-linear-gradient(45deg,color-mix(in srgb,var(--g) 8%,transparent) 0 2px,transparent 2px 11px),radial-gradient(circle at 50% 37%,color-mix(in srgb,var(--g) 30%,#151824),#0b0d14 72%);
  box-shadow:inset 0 0 0 6px #0b0d14,inset 0 0 0 7px color-mix(in srgb,var(--g) 45%,transparent)}
.noimg::after{content:"Image coming soon";position:absolute;left:0;right:0;bottom:9%;text-align:center;font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--mut)}
.cardpage .art.noimg::before{font-size:20px;box-shadow:inset 0 0 0 10px #0b0d14,inset 0 0 0 11px color-mix(in srgb,var(--g) 45%,transparent)}.cardpage .art.noimg::after{font-size:11.5px}
.rimg.noimg{background:var(--ph) center/44% no-repeat,radial-gradient(circle,color-mix(in srgb,var(--g) 26%,#0d1019),#0d1019 75%)}.rimg.noimg::before,.rimg.noimg::after{content:none}
