/* KYCFree — lightweight, no web fonts. System stack only for speed. */
:root{
  --ink:#0e1116; --panel:#161b22; --panel2:#1b212b; --line:#262d38;
  --text:#e6e9ee; --muted:#93a0b0; --dim:#6b7888;
  --cyan:#43d1bf;        /* data / verified */
  --amber:#f6b545;       /* action / CTA */
  --amber-ink:#1a1206;
  --bad:#e06b6b; --good:#5fd08a;
  --mono:ui-monospace,SFMono-Regular,Menlo,Consolas,"Liberation Mono",monospace;
  --sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  --wrap:1080px; --r:10px;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--ink);color:var(--text);font-family:var(--sans);
  font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 20px}
a{color:var(--cyan);text-decoration:none}
a:hover{text-decoration:underline}
h1,h2,h3{line-height:1.2;font-weight:700;letter-spacing:-.01em}
h1{font-size:clamp(1.9rem,5vw,3rem);margin:.2em 0}
h2{font-size:1.45rem;margin:2.2rem 0 .8rem;padding-top:.4rem}
h3{font-size:1.1rem}
img{max-width:100%}
:focus-visible{outline:2px solid var(--cyan);outline-offset:2px;border-radius:4px}

/* eyebrow — redaction-bar motif (privacy signature, used sparingly) */
.eyebrow{font-family:var(--mono);font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;
  color:var(--ink);background:var(--cyan);display:inline-block;padding:.2em .6em;border-radius:3px}

/* header */
.top{border-bottom:1px solid var(--line);background:rgba(14,17,22,.85);
  position:sticky;top:0;backdrop-filter:blur(8px);z-index:20}
.top .wrap{display:flex;align-items:center;gap:18px;height:60px}
.brand{font-weight:800;letter-spacing:-.02em;font-size:1.2rem;color:var(--text);display:inline-flex;align-items:center;gap:8px;text-decoration:none}
.brand .logo{display:block;border-radius:6px}
.brand b{color:var(--cyan)}
.nav{display:flex;gap:18px;margin-left:auto}
.nav a{color:var(--muted);font-size:.95rem}
.nav a:hover{color:var(--text)}
.langs{display:flex;gap:6px;font-family:var(--mono);font-size:.75rem}
.langs a{padding:2px 6px;border:1px solid var(--line);border-radius:4px;color:var(--muted)}
.langs a.on{color:var(--ink);background:var(--cyan);border-color:var(--cyan)}
/* CSS-only mobile nav toggle (no JS) */
.navtog{position:absolute;width:1px;height:1px;opacity:0;margin:-1px;pointer-events:none}
.hamb{display:none;flex-direction:column;justify-content:center;gap:4px;width:38px;height:34px;padding:7px 6px;cursor:pointer;border:1px solid var(--line);border-radius:7px;background:var(--panel)}
.hamb span{display:block;height:2px;width:100%;background:var(--text);border-radius:2px;transition:transform .2s,opacity .2s}
.navtog:focus-visible ~ .hamb{outline:2px solid var(--cyan);outline-offset:2px}

/* hero */
.hero{padding:54px 0 30px;border-bottom:1px solid var(--line)}
.hero p.sub{font-size:1.15rem;color:var(--muted);max-width:62ch;margin:.6em 0 0}
.hero .intro{color:var(--dim);max-width:70ch;font-size:.98rem;margin-top:1.1em}

/* comparison table */
.tablewrap{overflow-x:auto;margin:22px 0}
table.cmp{width:100%;border-collapse:collapse;font-size:.95rem;min-width:680px}
table.cmp th,table.cmp td{text-align:left;padding:12px 14px;border-bottom:1px solid var(--line)}
table.cmp thead th{font-family:var(--mono);font-size:.72rem;letter-spacing:.08em;
  text-transform:uppercase;color:var(--dim);font-weight:600}
table.cmp tbody tr:hover{background:var(--panel)}
table.cmp .name{font-weight:700;color:var(--text)}
.pill{font-family:var(--mono);font-size:.74rem;padding:.18em .5em;border-radius:4px;white-space:nowrap}
.pill.none{color:var(--good);border:1px solid rgba(95,208,138,.4)}
.pill.threshold{color:var(--amber);border:1px solid rgba(246,181,69,.4)}

/* buttons */
.btn{display:inline-block;font-weight:700;border-radius:8px;padding:.7em 1.2em;
  font-size:.98rem;cursor:pointer;border:1px solid transparent;transition:transform .08s ease}
.btn:hover{text-decoration:none;transform:translateY(-1px)}
.btn-cta{background:var(--amber);color:var(--amber-ink)}
.btn-cta:hover{background:#ffc35e}
.btn-ghost{background:transparent;color:var(--text);border-color:var(--line)}
.btn-sm{padding:.4em .8em;font-size:.85rem}
.aff{display:block;font-family:var(--mono);font-size:.68rem;color:var(--dim);margin-top:.5em}

/* cards grid */
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px;margin:20px 0}
.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);padding:18px}
.card h3{margin:.1em 0 .3em}
.card .meta{font-family:var(--mono);font-size:.78rem;color:var(--muted);line-height:1.7}
.card .meta b{color:var(--text);font-weight:600}
.card .meta .tag{display:inline-block;font-family:var(--mono);font-size:.66rem;letter-spacing:.1em;text-transform:uppercase;padding:.18em .6em;border:1px solid var(--line);border-radius:999px;background:rgba(67,209,191,.06);color:var(--muted);vertical-align:middle;margin-right:.15em}

/* SIGNATURE: verdict card (monospace data slab — also the AI-citable answer) */
.verdict{background:linear-gradient(180deg,var(--panel2),var(--panel));
  border:1px solid var(--line);border-left:3px solid var(--cyan);border-radius:var(--r);
  padding:20px 22px;margin:18px 0}
.verdict .vh{display:flex;align-items:baseline;gap:10px;margin-bottom:12px}
.verdict .vh .eyebrow{background:var(--cyan)}
.vrow{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px;font-family:var(--mono);font-size:.86rem}
.vrow .k{color:var(--dim);font-size:.7rem;letter-spacing:.06em;text-transform:uppercase;display:block;margin-bottom:2px}
.vrow .v{color:var(--text)}
.verdict .vsum{margin:14px 0 0;color:var(--muted);font-size:.95rem;font-family:var(--sans)}

/* swap mid-page block (monetization slot 2) */
.swapblock{background:var(--panel);border:1px dashed var(--cyan);border-radius:var(--r);
  padding:18px 20px;margin:26px 0}
.swapblock h3{margin:0 0 .2em;color:var(--cyan)}
.swapblock .row{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}

/* ad slot (monetization slot 3) — loaded only after consent */
.adslot{min-height:90px;display:flex;align-items:center;justify-content:center;
  border:1px solid var(--line);border-radius:var(--r);margin:26px 0;background:var(--panel);
  color:var(--dim);font-family:var(--mono);font-size:.72rem}

/* pros / cons */
.pc{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:14px 0}
.pc ul{list-style:none;padding:0;margin:.4em 0}
.pc li{padding:.25em 0 .25em 1.5em;position:relative;font-size:.95rem}
.pc .pros li::before{content:"+";position:absolute;left:0;color:var(--good);font-weight:700}
.pc .cons li::before{content:"–";position:absolute;left:0;color:var(--bad);font-weight:700}
.pc h3{font-family:var(--mono);font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:var(--dim)}

/* faq */
.faq details{border-bottom:1px solid var(--line);padding:14px 0}
.faq summary{cursor:pointer;font-weight:600;list-style:none}
.faq summary::-webkit-details-marker{display:none}
.faq summary::before{content:"+";color:var(--cyan);font-family:var(--mono);margin-right:.6em}
.faq details[open] summary::before{content:"–"}
.faq p{color:var(--muted);margin:.7em 0 0}

/* prose */
.prose{max-width:72ch}
.prose p{color:#cdd4dd}

/* geo-blocked CTA state */
.geo-hidden{display:none!important}
.geo-note{background:rgba(224,107,107,.08);border:1px solid rgba(224,107,107,.35);
  color:#f0b4b4;border-radius:8px;padding:12px 14px;font-size:.9rem;margin:14px 0}

/* footer */
footer{border-top:1px solid var(--line);margin-top:50px;padding:30px 0 60px;background:var(--panel)}
.rg{display:flex;gap:10px;align-items:flex-start;background:rgba(246,181,69,.07);
  border:1px solid rgba(246,181,69,.3);border-radius:8px;padding:14px 16px;margin-bottom:18px}
.rg .age{font-family:var(--mono);font-weight:800;color:var(--amber);border:2px solid var(--amber);
  border-radius:6px;padding:2px 7px;font-size:.95rem;flex:none}
.rg .txt{font-size:.88rem;color:var(--muted)}
.rg .txt b{color:var(--text)}
footer .legal{color:var(--dim);font-size:.8rem;line-height:1.7;margin-top:14px}
footer .legal a{color:var(--muted)}
footer .fnav{display:flex;gap:16px;margin-top:14px;font-size:.85rem}

/* cookie consent */
#consent{position:fixed;left:16px;right:16px;bottom:16px;max-width:520px;margin:0 auto;
  background:var(--panel2);border:1px solid var(--line);border-radius:var(--r);
  padding:16px 18px;z-index:50;box-shadow:0 10px 40px rgba(0,0,0,.5);font-size:.9rem}
#consent .row{display:flex;gap:10px;margin-top:12px}

@media(max-width:620px){
  body{font-size:16px}
  .top .wrap{flex-wrap:wrap;gap:12px;height:auto;min-height:60px;padding-top:10px;padding-bottom:10px}
  .brand{order:0}
  .hamb{display:flex;order:1;margin-left:auto}
  .langs{order:2}
  .nav{display:none;order:3;flex-basis:100%;flex-direction:column;gap:0;margin:0 -20px -10px;padding:0 20px;background:var(--ink);border-top:1px solid var(--line)}
  #navtog:checked ~ .nav{display:flex}
  .nav a{padding:14px 2px;border-top:1px solid var(--line);font-size:1.02rem}
  .nav a:first-child{border-top:0}
  #navtog:checked ~ .hamb span:nth-child(1){transform:translateY(6px) rotate(45deg)}
  #navtog:checked ~ .hamb span:nth-child(2){opacity:0}
  #navtog:checked ~ .hamb span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}
  .pc{grid-template-columns:1fr}
  .hero{padding:36px 0 22px}
}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

/* footer contact line (added for approval build) */
footer .fcontact{margin-top:12px;font-size:.82rem;color:var(--muted)}
footer .fcontact a{color:var(--teal,#2bd4c4)}

/* ---- Key Facts table (review) ---- */
table.keyfacts{width:100%;border-collapse:collapse;font-size:.92rem;margin:8px 0 4px}
table.keyfacts th{text-align:left;width:38%;vertical-align:top;padding:9px 12px 9px 0;
  font-family:var(--mono);font-size:.72rem;letter-spacing:.04em;text-transform:uppercase;
  color:var(--dim);font-weight:600;border-bottom:1px solid var(--line)}
table.keyfacts td{padding:9px 0;border-bottom:1px solid var(--line);color:var(--text)}
table.keyfacts td .dim{color:var(--dim);font-family:var(--mono);font-size:.82rem}
table.keyfacts .pill{margin-right:4px}

/* ---- breadcrumb ---- */
.crumb{font-family:var(--mono);font-size:.74rem;color:var(--dim);margin-bottom:10px}
.crumb a{color:var(--muted)} .crumb span{color:var(--text)}

/* ---- facet chips (hub + related) ---- */
.facethub,.facetnav{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:18px 0}
.facethub .k,.facetnav .k{font-family:var(--mono);font-size:.72rem;letter-spacing:.04em;
  text-transform:uppercase;color:var(--dim);margin-right:4px}
.chip{display:inline-block;padding:.32em .7em;border:1px solid var(--line);border-radius:999px;
  font-size:.82rem;color:var(--muted);background:var(--panel);white-space:nowrap}
.chip:hover{border-color:var(--cyan);color:var(--text)}

/* ---- similar casinos ---- */
.grid.simg .card{padding:14px}
.grid.simg .card h3{font-size:1rem}

/* ===== liveliness pack (notokyc-inspired, lightweight) ===== */

/* nav icons */
.nav a{display:inline-flex;align-items:center;gap:6px}
.nav a svg{opacity:.7}

/* KYC level badge (unified 3-tier) */
.kyc{display:inline-flex;align-items:center;gap:.45em;font-family:var(--mono);
  font-size:.74rem;line-height:1;padding:.28em .55em .28em .3em;border-radius:6px;
  border:1px solid var(--line);background:var(--panel);white-space:nowrap;vertical-align:middle}
.kyc b{font-weight:700;font-size:.66rem;padding:.28em .42em;border-radius:4px;color:#0a0d12}
.kyc i{font-style:normal;color:var(--text);font-family:var(--sans);font-size:.82rem}
.kyc.lv0 b{background:var(--good)} .kyc.lv0{border-color:rgba(95,208,138,.45)}
.kyc.lv1 b{background:var(--cyan)} .kyc.lv1{border-color:rgba(67,209,191,.45)}
.kyc.lv2 b{background:var(--amber)} .kyc.lv2{border-color:rgba(246,181,69,.45)}

/* coin chips */
.coins{display:inline-flex;flex-wrap:wrap;gap:5px;vertical-align:middle}
.coin{display:inline-flex;align-items:center;gap:.32em;font-family:var(--mono);font-size:.7rem;
  color:var(--muted);background:var(--panel2);border:1px solid var(--line);border-radius:999px;padding:.16em .5em .16em .28em}
.coin b{width:12px;height:12px;border-radius:50%;display:inline-block;flex:0 0 auto}
.coin.more{color:var(--dim);padding:.16em .5em}
.cchips{margin:.55em 0 .2em}
.card .meta .coins{margin-top:2px}

/* price ticker bar */
.ticker{display:flex;flex-wrap:wrap;gap:18px;justify-content:center;align-items:center;
  border-top:1px solid var(--line);background:rgba(14,17,22,.6);
  font-family:var(--mono);font-size:.76rem;color:var(--muted);padding:6px 12px}
.ticker span{display:inline-flex;gap:.4em;align-items:center}
.ticker b{color:var(--text);font-weight:600}
.ticker .up b{color:var(--good)} .ticker .dn b{color:var(--bad)}

/* KYC legend (methodology) */
.kyclegend{display:grid;gap:12px;margin:14px 0}
.kycrow{display:flex;gap:14px;align-items:flex-start;border:1px solid var(--line);
  border-radius:var(--r);padding:12px 14px;background:var(--panel)}
.kycrow p{margin:0;color:var(--muted);font-size:.92rem}

/* hero rotor (decorative, home) */
.rotor{display:inline-grid;text-align:left}
.rotor span{grid-area:1/1;color:var(--ink);font-weight:700}

/* ===== motion (respects reduced-motion) ===== */
@media (prefers-reduced-motion: no-preference){
  .card{transition:transform .18s ease, border-color .18s ease, box-shadow .18s ease}
  .card:hover{transform:translateY(-3px);border-color:rgba(67,209,191,.5);
    box-shadow:0 8px 26px -14px rgba(0,0,0,.7)}
  .kyc{transition:border-color .18s ease}
  .chip{transition:border-color .15s ease, color .15s ease, transform .15s ease}
  .chip:hover{transform:translateY(-1px)}
  .btn{transition:transform .12s ease, filter .15s ease}
  .btn-cta:hover{filter:brightness(1.06)} .btn:active{transform:translateY(1px)}
  .grid .card{animation:rise .5s ease both}
  .grid .card:nth-child(2){animation-delay:.05s}
  .grid .card:nth-child(3){animation-delay:.10s}
  .grid .card:nth-child(4){animation-delay:.15s}
  .grid .card:nth-child(5){animation-delay:.20s}
  .grid .card:nth-child(6){animation-delay:.25s}
  .grid .card:nth-child(n+7){animation-delay:.30s}
  .hero h1,.hero .sub{animation:rise .55s ease both}
  .hero .sub{animation-delay:.06s}
  @keyframes rise{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
  .rotor span{opacity:0;animation:rotor 6s infinite}
  .rotor span:nth-child(2){animation-delay:2s}
  .rotor span:nth-child(3){animation-delay:4s}
  @keyframes rotor{0%{opacity:0;transform:translateY(3px)}4%,29%{opacity:1;transform:none}33%,100%{opacity:0;transform:translateY(-3px)}}
}
/* reduced-motion: show first rotor word statically */
@media (prefers-reduced-motion: reduce){
  .rotor span{opacity:0} .rotor span:first-child{opacity:1}
}

/* ===== sponsored ad banner (PrivateBay) — self-hosted fonts, no external calls ===== */
@font-face{font-family:'Orbitron';font-style:normal;font-weight:700 900;font-display:swap;src:url("/assets/fonts/orbitron.woff2") format("woff2")}
@font-face{font-family:'Share Tech Mono';font-style:normal;font-weight:400;font-display:swap;src:url("/assets/fonts/sharetechmono.woff2") format("woff2")}

.pb-wrap{display:flex;justify-content:center;padding:12px 0;width:100%}
.pb-lb{
  width:100%;max-width:728px;height:90px;
  background:#08091f;border:1px solid #0d2030;
  position:relative;overflow:hidden;
  display:flex;align-items:center;padding:0 22px;gap:18px;
  text-decoration:none;box-shadow:0 0 28px rgba(0,255,65,.07);cursor:pointer;
  font-family:'Share Tech Mono','Courier New',monospace;
}
.pb-lb::before{content:'';position:absolute;inset:0;
  background:repeating-linear-gradient(0deg,transparent,transparent 2px,rgba(0,0,0,.12) 2px,rgba(0,0,0,.12) 4px);
  pointer-events:none;z-index:20}
.pb-lb::after{content:'';position:absolute;inset:0;
  background-image:linear-gradient(rgba(0,255,65,.02) 1px,transparent 1px),linear-gradient(90deg,rgba(0,255,65,.02) 1px,transparent 1px);
  background-size:24px 24px;pointer-events:none}
.pb-lb:hover{border-color:rgba(0,255,65,.35);box-shadow:0 0 40px rgba(0,255,65,.14)}
.pb-logo{font-family:'Orbitron','Courier New',monospace;font-size:17px;font-weight:900;
  color:#00ff41;letter-spacing:1px;text-shadow:0 0 18px rgba(0,255,65,.5);
  flex-shrink:0;white-space:nowrap;z-index:5;animation:pb-glow 4s ease-in-out infinite}
@keyframes pb-glow{0%,100%{text-shadow:0 0 14px rgba(0,255,65,.5)}50%{text-shadow:0 0 30px rgba(0,255,65,1),0 0 60px rgba(0,255,65,.4)}}
.pb-vline{width:1px;height:40px;flex-shrink:0;background:linear-gradient(to bottom,transparent,rgba(0,255,65,.28),transparent);z-index:5}
.pb-scroll{flex:1;overflow:hidden;z-index:5}
.pb-inner{display:flex;gap:48px;white-space:nowrap;animation:pb-tick 22s linear infinite}
.pb-lb:hover .pb-inner{animation-play-state:paused}
@keyframes pb-tick{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}
.pb-item{display:inline-flex;align-items:center;gap:7px;font-size:11px;color:#00d4ff}
.pb-ic{color:#00ff41;font-size:12px}
.pb-vline2{width:1px;height:40px;flex-shrink:0;background:linear-gradient(to bottom,transparent,rgba(0,212,255,.2),transparent);z-index:5}
.pb-cta{flex-shrink:0;border:1px solid #00ff41;color:#00ff41;
  font-family:'Share Tech Mono','Courier New',monospace;font-size:10px;letter-spacing:2px;
  padding:9px 18px;text-transform:uppercase;white-space:nowrap;
  position:relative;overflow:hidden;z-index:5;background:rgba(0,255,65,.04)}
.pb-cta::after{content:'';position:absolute;top:0;left:-100%;width:100%;height:100%;
  background:rgba(0,255,65,.12);animation:pb-swipe 3s ease-in-out infinite}
@keyframes pb-swipe{0%{left:-100%}60%,100%{left:110%}}
@media (max-width:560px){
  .pb-lb{gap:12px;padding:0 14px}
  .pb-logo{font-size:14px}
  .pb-cta{padding:8px 12px;font-size:9px;letter-spacing:1px}
}
@media (prefers-reduced-motion: reduce){
  .pb-logo{animation:none}
  .pb-inner{animation:none}
  .pb-cta::after{animation:none;display:none}
}

/* ── SolCasinos sponsor banner (self-hosted Space Grotesk; no external calls) ── */
@font-face{font-family:'Space Grotesk';font-style:normal;font-weight:300 700;font-display:swap;src:url("/assets/fonts/spacegrotesk.woff2") format("woff2")}
.sc-wrap{display:flex;justify-content:center;padding:12px 0;width:100%}
.sc-lb{width:100%;max-width:728px;height:90px;
  background:linear-gradient(90deg,#0a0a0f,#0e0e17,#0a0a0f);
  border:1px solid #22222e;position:relative;overflow:hidden;
  display:flex;align-items:center;padding:0 20px;gap:16px;
  text-decoration:none;box-shadow:0 0 28px rgba(20,241,149,.06);
  cursor:pointer;font-family:var(--sans)}
.sc-lb::before{content:'';position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(circle at 8% 20%,rgba(153,69,255,.14),transparent 45%),
    radial-gradient(circle at 92% 80%,rgba(20,241,149,.10),transparent 45%)}
.sc-lb:hover{border-color:rgba(20,241,149,.35);box-shadow:0 0 40px rgba(20,241,149,.12)}
.sc-logo{font-family:'Space Grotesk',var(--sans);font-weight:700;font-size:15px;color:#f5f5fa;flex-shrink:0;white-space:nowrap;z-index:5}
.sc-logo .g{background:linear-gradient(90deg,#9945FF,#14F195);-webkit-background-clip:text;background-clip:text;color:transparent}
.sc-vline{width:1px;height:36px;flex-shrink:0;background:#22222e;z-index:5}
.sc-cards{flex:1;overflow:hidden;position:relative;height:56px;z-index:5}
.sc-track{display:flex;gap:14px;position:absolute;align-items:center;height:100%}
.sc-mini{display:flex;align-items:center;gap:8px;background:rgba(255,255,255,.03);
  border:1px solid #22222e;border-radius:8px;padding:6px 12px;white-space:nowrap;height:44px}
.sc-mini .rk{font-family:'Space Grotesk',var(--sans);font-weight:700;font-size:12px;color:#FFB800}
.sc-mini .nm{font-family:'Space Grotesk',var(--sans);font-weight:700;font-size:11px;color:#f5f5fa}
.sc-mini .of{font-size:9px;color:#7a7a8c}
.sc-cta{flex-shrink:0;z-index:5;background:linear-gradient(135deg,#FFB800,#FF8A00);
  color:#1a0f00;font-weight:700;font-family:'Space Grotesk',var(--sans);
  font-size:11px;letter-spacing:.5px;padding:11px 22px;border-radius:8px;
  text-transform:uppercase;white-space:nowrap;position:relative;overflow:hidden}
@media (max-width:760px){
  .sc-lb{height:auto;min-height:70px;padding:10px 14px;gap:10px}
  .sc-logo{font-size:13px}.sc-vline{height:28px}
  .sc-mini{height:38px;padding:5px 9px}.sc-cta{padding:8px 14px;font-size:9px}
}
@media (prefers-reduced-motion:no-preference){
  .sc-track{animation:sc-scroll 16s linear infinite}
  .sc-lb:hover .sc-track{animation-play-state:paused}
  @keyframes sc-scroll{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}
  .sc-cta::before{content:'';position:absolute;top:0;left:-100%;width:60%;height:100%;
    background:linear-gradient(90deg,transparent,rgba(255,255,255,.5),transparent);
    animation:sc-shine 3s 1s ease-in-out infinite}
  @keyframes sc-shine{0%{left:-100%}55%,100%{left:200%}}
}

/* ---- blog / article ---- */
.byline{font-family:var(--mono);font-size:.8rem;color:var(--dim);margin:.4em 0 1.4em}
.byline a{color:var(--cyan)}
.fig{margin:26px 0}
.fig svg{width:100%;height:auto}
.fig figcaption{color:var(--dim);font-size:.85rem;margin-top:10px;text-align:center;max-width:70ch;margin-left:auto;margin-right:auto}

/* blog: code blocks, inline mono, callout note */
pre.code{background:var(--ink);border:1px solid var(--line);border-radius:10px;padding:.9em 1em;overflow-x:auto;margin:1em 0}
pre.code code{font-family:var(--mono);font-size:.82rem;color:var(--text);white-space:pre;line-height:1.55}
.mono{font-family:var(--mono);font-size:.9em;color:var(--muted)}
.note{background:var(--panel);border-left:3px solid var(--cyan);border-radius:0 8px 8px 0;padding:.7em .9em;margin:1.1em 0;font-size:.92rem;color:var(--muted)}
.note a{color:var(--cyan)}
