/* Polygon / Polymarket investigation, "How much of Polygon is Polymarket? We
   counted every transaction." — scoped under .polygon-polymarket.
   Ported from the design handoff (How Much of Polygon Is Polymarket.html +
   bitquery-brand.css). Deliberate departures from the prototype:
     1. The prototype's own sticky nav, footer and #progress bar are dropped —
        the site's header/footer supply that chrome and the shared
        .inv-progress-track pattern drives the reading bar.
     2. Every article-level class carries a `pp-` prefix. The prototype's names
        (.col .title .kicker .method .endcta .prod .num .acc …) collide with
        ~30 selectors in the always-loaded marketing stylesheets; prefixing is
        cheaper than auditing specificity on every one of them. Mapping is
        mechanical: prototype `.x` -> `.pp-x`.
     3. Chart-internal classes (.gl .ax .xl .pct .ln .rowval …) keep the
        prototype's names so the six SVG blocks stay byte-identical to the
        handoff. They are scoped under `svg.pp-ch`, which out-specifies the only
        real collisions (.papi .lane .ln, .investigation_blog .facaxis .ax).
   Geometry, type scale and color are the handoff's, unchanged. */

.polygon-polymarket {
  position: relative;
  isolation: isolate;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  width: 100vw;
  overflow-x: hidden;
}

.polygon-polymarket .inv-progress-track {
  position: fixed; top: 0; left: 0; right: 0;
  height: 3px; z-index: 120; background: transparent; pointer-events: none;
}
.polygon-polymarket .inv-progress-fill {
  height: 100%; width: 0%;
  background: linear-gradient(96deg,#f93f9c 0%,#af3e76 46%,#00d8dd 100%);
  transition: width .12s linear;
}

/* ---- tokens (bitquery-brand.css) ---- */
.polygon-polymarket{
  --bq-white:#ffffff; --bq-grey:#aab0bc; --bq-dark-grey:#7e8696;
  --bq-page-bg:#06090d; --bq-card-bg:#0c121c; --bq-navy:#111c32; --bq-navy-deep:#142739;
  --bq-line:rgba(255,255,255,.10); --bq-line-2:rgba(255,255,255,.06);
  --bq-pink:#f93f9c; --bq-pink-soft:#f788c0; --bq-magenta:#af3e76;
  --bq-cta:#93254b; --bq-cta-hover:#af3e76; --bq-cta-border:#621832;
  --bq-gradient:linear-gradient(96deg,#f93f9c 0%,#af3e76 46%,#00d8dd 100%);
  --bq-radius-card:14px; --bq-radius-btn:4px;
  --bq-font:'DM Sans',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
  --bq-mono:'JetBrains Mono',ui-monospace,monospace;
  /* article-local */
  --acc:#f93f9c; --acc-soft:#f788c0; --neutral:#39414e; --slate:#5f7d99;
  --pp-col:760px; --pp-break:1120px;
}

.polygon-polymarket *{box-sizing:border-box}
.polygon-polymarket{
  background:var(--bq-page-bg);color:var(--bq-white);
  font-family:var(--bq-font);font-weight:400;line-height:1.5;
  -webkit-font-smoothing:antialiased;
}
.polygon-polymarket a{color:var(--bq-pink-soft);text-decoration:none}
.polygon-polymarket a:hover{color:var(--bq-pink)}
/* Contextual links in running prose. They keep the body colour and carry a
   pink-soft rule instead of going pink outright: ten saturated phrases in the
   text would compete with the charts, where accent means Polymarket and nothing
   else. The underline also keeps the link cue off colour alone (WCAG 1.4.1). */
.polygon-polymarket .pp-col>p a,
.polygon-polymarket .pp-method p a{
  color:inherit;border-bottom:1px solid rgba(247,136,192,.45);
  transition:color .15s ease,border-color .15s ease;
}
.polygon-polymarket .pp-col>p a:hover,
.polygon-polymarket .pp-method p a:hover{color:var(--bq-pink-soft);border-bottom-color:var(--bq-pink-soft)}
.polygon-polymarket :focus-visible{outline:2px solid var(--bq-pink);outline-offset:3px;border-radius:4px}
.polygon-polymarket p{margin:0}
.polygon-polymarket h1,.polygon-polymarket h2,.polygon-polymarket h3{margin:0}
.polygon-polymarket .pp-mono{font-family:var(--bq-mono);font-size:.88em;color:#c9cfdb;word-break:break-word}

/* ---- shared column ---- */
.polygon-polymarket .pp-col{max-width:var(--pp-col);margin:0 auto;padding:0 32px}

/* ---- masthead ---- */
.polygon-polymarket .pp-ahead{
  border-bottom:1px solid var(--bq-line-2);
  background:radial-gradient(900px 420px at 78% -20%,rgba(249,63,156,.10),transparent 62%);
}
.polygon-polymarket .pp-ahead-inner{max-width:var(--pp-col);margin:0 auto;padding:54px 32px 46px}
.polygon-polymarket .pp-kicker{
  font-family:var(--bq-font);font-weight:500;font-size:10px;line-height:12px;
  letter-spacing:1.4px;text-transform:uppercase;color:var(--acc);
  display:inline-block;padding-bottom:14px;border-bottom:1px solid rgba(249,63,156,.42);
}
.polygon-polymarket h1.pp-title{
  margin-top:26px;font-family:var(--bq-font);font-weight:500;font-size:46px;line-height:1.08;
  letter-spacing:-1.3px;color:var(--bq-white);text-wrap:balance;
}
.polygon-polymarket .pp-standfirst{
  margin-top:22px;font-size:21px;line-height:1.6;color:var(--bq-grey);
  font-style:italic;text-wrap:pretty;
}
.polygon-polymarket .pp-byline{
  margin-top:28px;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--bq-dark-grey);
}
.polygon-polymarket .pp-byline b{color:var(--bq-grey);font-weight:500}

/* ---- lead statistic row ---- */
.polygon-polymarket .pp-leadstats{max-width:var(--pp-break);margin:0 auto;padding:0 32px}
.polygon-polymarket .pp-leadgrid{
  margin:40px 0 6px;display:grid;grid-template-columns:repeat(4,1fr);
  border:1px solid var(--bq-line);border-radius:var(--bq-radius-card);overflow:hidden;
  background:linear-gradient(180deg,rgba(20,39,57,.42),rgba(12,18,28,.5));
}
.polygon-polymarket .pp-ls{padding:26px 24px;border-right:1px solid var(--bq-line-2)}
.polygon-polymarket .pp-ls:last-child{border-right:none}
.polygon-polymarket .pp-ls .pp-v{
  font-family:var(--bq-font);font-weight:500;font-size:46px;line-height:1;letter-spacing:-1.6px;
  color:var(--acc);font-variant-numeric:tabular-nums;
}
.polygon-polymarket .pp-ls .pp-l{margin-top:12px;font-size:13.5px;line-height:1.45;color:var(--bq-grey)}
/* The fourth cell is muted on purpose — the invisibility of Polymarket's
   address count is the argument. Do not lift it to accent. */
.polygon-polymarket .pp-ls.pp-quiet .pp-v{color:var(--bq-dark-grey);font-size:34px}
.polygon-polymarket .pp-ls.pp-quiet .pp-l{color:var(--bq-dark-grey)}

/* ---- body ---- */
.polygon-polymarket article{padding:6px 0 20px}
.polygon-polymarket .pp-col>p{
  font-size:18.5px;line-height:1.78;color:#ced3dd;margin:22px 0;text-wrap:pretty;
}
.polygon-polymarket .pp-col>p:first-of-type{margin-top:32px}
.polygon-polymarket .pp-col>p strong{color:var(--bq-white);font-weight:500}
.polygon-polymarket .pp-lede{font-size:20px !important;line-height:1.7 !important;color:#e6ebf3 !important}
.polygon-polymarket .pp-standalone{
  font-weight:500;color:var(--bq-white) !important;font-size:22px !important;
  letter-spacing:-.3px;margin:32px 0 !important;
}
.polygon-polymarket h2.pp-sec{
  font-family:var(--bq-font);font-weight:500;font-size:30px;line-height:1.16;letter-spacing:-.7px;
  color:var(--bq-white);margin:62px 0 4px;scroll-margin-top:88px;
}
.polygon-polymarket h2.pp-sec::before{
  content:"";display:block;width:44px;height:2px;background:var(--acc);margin-bottom:20px;
}

/* ---- figures ---- */
.polygon-polymarket figure{margin:46px auto}
.polygon-polymarket figure.pp-bk{max-width:var(--pp-break);padding:0 32px}
.polygon-polymarket .pp-figcard{
  border:1px solid var(--bq-line);border-radius:var(--bq-radius-card);
  background:var(--bq-card-bg);overflow:hidden;
}
.polygon-polymarket .pp-fighead{
  padding:16px 22px;border-bottom:1px solid var(--bq-line-2);
  display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;
}
.polygon-polymarket .pp-fighead .pp-ft{font-weight:500;font-size:15px;color:var(--bq-white);letter-spacing:-.1px}
.polygon-polymarket .pp-fighead .pp-fk{
  font-family:var(--bq-mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--bq-dark-grey);margin-left:auto;
}
.polygon-polymarket .pp-figfoot{
  display:flex;align-items:baseline;gap:16px;padding:14px 22px;
  border-top:1px solid var(--bq-line-2);font-size:13px;line-height:1.55;
  color:var(--bq-grey);flex-wrap:wrap;
}
.polygon-polymarket .pp-figfoot .pp-wp{
  margin-left:auto;font-family:var(--bq-mono);color:var(--bq-dark-grey);
  letter-spacing:.14em;text-transform:uppercase;font-size:9.5px;white-space:nowrap;
}
/* Wide charts scroll inside their own card rather than shrinking 11px axis
   labels to 6px — the handoff's own production recommendation. */
.polygon-polymarket .pp-chartwrap{overflow-x:auto;-webkit-overflow-scrolling:touch;padding:18px 20px 10px}
.polygon-polymarket svg.pp-ch{display:block;width:100%;min-width:680px;height:auto;font-variant-numeric:tabular-nums}

/* ---- chart internals (prototype class names, kept for byte-identical SVG) ---- */
.polygon-polymarket svg.pp-ch text{font-family:var(--bq-font)}
.polygon-polymarket svg.pp-ch .gl{stroke:rgba(255,255,255,.07);stroke-width:1}
.polygon-polymarket svg.pp-ch .ax-l{stroke:rgba(255,255,255,.16);stroke-width:1}
.polygon-polymarket svg.pp-ch .ax{font-family:var(--bq-mono);font-size:11px;fill:var(--bq-dark-grey)}
.polygon-polymarket svg.pp-ch .xl{font-size:12px;fill:var(--bq-grey)}
.polygon-polymarket svg.pp-ch .xy{font-family:var(--bq-mono);font-size:10px;fill:var(--bq-dark-grey);letter-spacing:.06em}
.polygon-polymarket svg.pp-ch .pct{font-family:var(--bq-mono);font-size:11.5px;fill:var(--acc-soft)}
.polygon-polymarket svg.pp-ch .note{font-family:var(--bq-mono);font-size:10px;fill:var(--bq-dark-grey)}
.polygon-polymarket svg.pp-ch .lg{font-size:11.5px;fill:var(--bq-grey)}
.polygon-polymarket svg.pp-ch .ln{fill:none;stroke-linejoin:round;stroke-linecap:round}
.polygon-polymarket svg.pp-ch .ln.tx{stroke:var(--acc);stroke-width:2.6}
.polygon-polymarket svg.pp-ch .ln.gas{stroke:#7e8696;stroke-width:2;stroke-dasharray:6 5}
.polygon-polymarket svg.pp-ch .endlbl{font-size:12px}
.polygon-polymarket svg.pp-ch .endval{font-family:var(--bq-mono);font-size:15px;font-weight:500}
.polygon-polymarket svg.pp-ch .txl{fill:var(--acc-soft)}
.polygon-polymarket svg.pp-ch .endval.txl{fill:var(--acc)}
.polygon-polymarket svg.pp-ch .gasl{fill:var(--bq-dark-grey)}
.polygon-polymarket svg.pp-ch .endval.gasl{fill:var(--bq-grey)}
.polygon-polymarket svg.pp-ch .rowlbl{font-size:15px;fill:var(--bq-white);font-weight:500}
.polygon-polymarket svg.pp-ch .ci{font-family:var(--bq-mono);font-size:13px;fill:var(--bq-white)}
.polygon-polymarket svg.pp-ch .ci.acc{fill:var(--acc-soft)}
.polygon-polymarket svg.pp-ch .cism{font-family:var(--bq-mono);font-size:10.5px;fill:var(--bq-dark-grey)}
.polygon-polymarket svg.pp-ch .rowname{font-size:13px;fill:#ced3dd}
.polygon-polymarket svg.pp-ch .rowmono{font-family:var(--bq-mono);font-size:12px;fill:#ced3dd}
.polygon-polymarket svg.pp-ch .rowwho2{font-size:10.5px;fill:var(--bq-dark-grey)}
.polygon-polymarket svg.pp-ch .rowval{font-family:var(--bq-mono);font-size:12.5px;fill:var(--bq-white)}
.polygon-polymarket svg.pp-ch .rowwho{font-family:var(--bq-mono);font-size:11px;fill:var(--bq-dark-grey)}

/* ---- twelve-month table ---- */
.polygon-polymarket .pp-dtable{
  margin:46px auto;max-width:900px;width:calc(100% - 64px);
  border:1px solid var(--bq-line);border-radius:var(--bq-radius-card);overflow:hidden;
}
.polygon-polymarket .pp-dtable .pp-dcap{
  padding:16px 22px;border-bottom:1px solid var(--bq-line-2);
  font-weight:500;font-size:15px;color:var(--bq-white);
}
.polygon-polymarket .pp-dtwrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
.polygon-polymarket .pp-dtable table{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}
.polygon-polymarket .pp-dtable th{
  font-family:var(--bq-font);font-weight:500;font-size:10px;letter-spacing:1px;text-transform:uppercase;
  color:var(--bq-dark-grey);text-align:right;padding:14px 14px;
  border-bottom:1px solid var(--bq-line-2);white-space:nowrap;
}
.polygon-polymarket .pp-dtable th:first-child{text-align:left}
.polygon-polymarket .pp-dtable td{
  padding:12px 14px;border-bottom:1px solid var(--bq-line-2);
  font-size:14px;color:#ced3dd;white-space:nowrap;
}
.polygon-polymarket .pp-dtable tbody tr:nth-child(even){background:rgba(255,255,255,.018)}
.polygon-polymarket .pp-dtable tr:last-child td{border-bottom:none}
.polygon-polymarket .pp-dtable td.pp-num{font-family:var(--bq-mono);font-size:13px;text-align:right}
.polygon-polymarket .pp-dtable td.pp-acc{color:var(--acc-soft)}
.polygon-polymarket .pp-dtable tr.pp-peak td{background:rgba(249,63,156,.09);color:var(--bq-white);font-weight:500}
.polygon-polymarket .pp-dtable tr.pp-peak td.pp-acc{color:var(--acc)}
.polygon-polymarket .pp-peaktag{
  display:inline-block;font-family:var(--bq-mono);font-size:9px;letter-spacing:.12em;text-transform:uppercase;
  color:var(--acc);border:1px solid rgba(249,63,156,.4);border-radius:999px;
  padding:2px 7px;margin-left:8px;vertical-align:middle;
}
.polygon-polymarket .pp-dfoot{
  padding:13px 18px;border-top:1px solid var(--bq-line-2);
  font-family:var(--bq-mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--bq-dark-grey);
}

/* ---- method note (secondary on purpose, do not promote to body contrast) ---- */
.polygon-polymarket .pp-method{
  margin:54px auto 0;max-width:var(--pp-col);
  border:1px solid var(--bq-line);border-radius:var(--bq-radius-card);
  background:rgba(255,255,255,.025);padding:26px 28px;
}
.polygon-polymarket .pp-method .pp-mk{
  font-family:var(--bq-font);font-weight:500;font-size:10px;letter-spacing:1px;
  text-transform:uppercase;color:var(--bq-dark-grey);
}
.polygon-polymarket .pp-method h3{margin:12px 0;font-weight:500;font-size:19px;letter-spacing:-.2px;color:var(--bq-grey)}
.polygon-polymarket .pp-method p{font-size:14.5px;line-height:1.7;color:var(--bq-dark-grey)}

/* ---- product CTA ---- */
.polygon-polymarket .pp-endcta{
  margin:54px auto 0;max-width:900px;width:calc(100% - 64px);
  border-top:1px solid var(--bq-line);padding:30px 0 0;
}
.polygon-polymarket .pp-endcta .pp-ek{
  font-family:var(--bq-font);font-weight:500;font-size:10px;letter-spacing:1px;
  text-transform:uppercase;color:var(--acc);
}
.polygon-polymarket .pp-endcta .pp-et{margin-top:14px;font-size:16px;line-height:1.65;color:var(--bq-grey);max-width:620px}
.polygon-polymarket .pp-endcta .pp-et b{color:var(--bq-white);font-weight:500}
/* gap:1px over --bq-line fakes hairline dividers between the four cards */
.polygon-polymarket .pp-prodgrid{
  margin-top:26px;display:grid;grid-template-columns:repeat(2,1fr);gap:1px;
  background:var(--bq-line);border:1px solid var(--bq-line);
  border-radius:var(--bq-radius-card);overflow:hidden;
}
.polygon-polymarket .pp-prod{
  background:var(--bq-card-bg);padding:22px 22px 20px;display:block;color:inherit;transition:background .15s;
}
.polygon-polymarket .pp-prod:hover{background:#101827;color:inherit}
.polygon-polymarket .pp-prod .pp-pk{
  font-family:var(--bq-mono);font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--bq-dark-grey);
}
.polygon-polymarket .pp-prod .pp-pt{margin-top:10px;font-weight:500;font-size:17px;letter-spacing:-.2px;color:var(--bq-white)}
.polygon-polymarket .pp-prod .pp-pd{margin-top:8px;font-size:13.5px;line-height:1.55;color:var(--bq-grey)}
.polygon-polymarket .pp-prod .pp-pa{margin-top:14px;font-size:13px;color:var(--acc-soft)}
.polygon-polymarket .pp-prod:hover .pp-pa{color:var(--acc)}
.polygon-polymarket .pp-ctarow{margin-top:26px;display:flex;gap:14px;flex-wrap:wrap;align-items:center}
.polygon-polymarket .pp-ctarow .pp-cn{font-size:13px;color:var(--bq-dark-grey)}
.polygon-polymarket .pp-endcta-tail{padding-bottom:80px}

/* ---- buttons (bitquery-brand.css) ---- */
.polygon-polymarket .bq-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  font-family:var(--bq-font);font-weight:500;font-size:18px;line-height:22px;letter-spacing:-.2px;
  border-radius:var(--bq-radius-btn);padding:16px 24px;border:1px solid transparent;cursor:pointer;
  transition:background .15s ease,border-color .15s ease;white-space:nowrap;text-decoration:none;
}
.polygon-polymarket .bq-btn-primary{background:var(--bq-cta);color:var(--bq-white)}
.polygon-polymarket .bq-btn-primary:hover{background:var(--bq-cta-hover);color:var(--bq-white)}
.polygon-polymarket .bq-btn-secondary{background:transparent;color:var(--bq-white);border-color:var(--bq-cta-border)}
.polygon-polymarket .bq-btn-secondary:hover{background:rgba(147,37,75,.14);color:var(--bq-white)}

@media(max-width:900px){
 .polygon-polymarket h1.pp-title{font-size:34px}
 .polygon-polymarket .pp-leadgrid{grid-template-columns:1fr 1fr}
 .polygon-polymarket .pp-ls:nth-child(2){border-right:none}
 .polygon-polymarket .pp-ls:nth-child(1),
 .polygon-polymarket .pp-ls:nth-child(2){border-bottom:1px solid var(--bq-line-2)}
 .polygon-polymarket figure.pp-bk{padding:0 20px}
}

@media(max-width:560px){
 .polygon-polymarket .pp-col,
 .polygon-polymarket .pp-ahead-inner,
 .polygon-polymarket .pp-leadstats{padding-left:20px;padding-right:20px}
 .polygon-polymarket h1.pp-title{font-size:29px;letter-spacing:-.7px}
 .polygon-polymarket .pp-standfirst{font-size:18px}
 .polygon-polymarket .pp-col>p{font-size:17px}
 .polygon-polymarket .pp-lede{font-size:18.5px !important}
 .polygon-polymarket h2.pp-sec{font-size:24px}
 .polygon-polymarket .pp-ls{padding:20px 18px}
 .polygon-polymarket .pp-ls .pp-v{font-size:34px}
 .polygon-polymarket .pp-ls.pp-quiet .pp-v{font-size:27px}
 .polygon-polymarket .pp-dtable{margin:36px 20px;width:auto}
 .polygon-polymarket .pp-dtable td,
 .polygon-polymarket .pp-dtable th{padding:10px 12px}
 .polygon-polymarket .pp-dtable td.pp-num{font-size:12px}
 .polygon-polymarket .pp-method{margin:44px 20px 0}
 .polygon-polymarket .pp-endcta{margin:44px 20px 0;width:auto;padding:26px 0 0}
 .polygon-polymarket .pp-prodgrid{grid-template-columns:1fr}
}

@media print{
 .polygon-polymarket .inv-progress-track,
 .polygon-polymarket .pp-endcta{display:none}
 .polygon-polymarket .pp-figcard,
 .polygon-polymarket .pp-dtable,
 .polygon-polymarket .pp-method{break-inside:avoid}
}
