/*
 * Article reface (2026-10-19). New brand single article, signed-out only.
 * Loaded only when cb_article_reface_applies() is true (inc/article-reface.php).
 *
 * Every selector sits under .cbar so nothing here can reach the header,
 * footer or homepage. Tokens follow the Crypto Briefing brand guide
 * (cryptobriefing/.github docs/brand/DESIGN.md): Georgia Regular headlines,
 * Geist for reading and UI, Geist Mono for labels, Forest for actions,
 * squircle corners. Dark mode follows the site's html.dark class.
 */

.cbar {
  --cbar-bg: #F3F6F5;
  --cbar-surface: #FFFFFF;
  --cbar-sunken: #EAF0ED;
  --cbar-sage: #E8F1EC;
  --cbar-ink: #172F2C;
  --cbar-muted: #566A66;
  --cbar-line: #D9E4DF;
  --cbar-line-strong: #7C8D89;
  --cbar-accent: #174C45;
  --cbar-accent-hover: #123A35;
  --cbar-btn-ink: #FFFFFF;
  --cbar-focus: #177A60;
  --cbar-brand: #20977A;
  --cbar-leaf: #CDE9B9;
  --cbar-display: Georgia, "Newsreader", "Times New Roman", serif;
  --cbar-ui: "Geist", system-ui, -apple-system, "Segoe UI", sans-serif;
  --cbar-mono: "Geist Mono", ui-monospace, "SF Mono", Menlo, monospace;

  display: block;
  background: var(--cbar-bg);
  color: var(--cbar-ink);
  font: 400 16px/1.5 var(--cbar-ui);
  -webkit-font-smoothing: antialiased;
  padding: 0 0 48px;
}

html.dark .cbar {
  --cbar-bg: #101D1B;
  --cbar-surface: #172825;
  --cbar-sunken: #0C1615;
  --cbar-sage: #1D3430;
  --cbar-ink: #DEECE4;
  --cbar-muted: #92ACA0;
  --cbar-line: #2D4540;
  --cbar-line-strong: #587670;
  --cbar-accent: #8FC9B2;
  --cbar-accent-hover: #A8DAC6;
  --cbar-btn-ink: #101D1B;
  --cbar-focus: #5FCAA9;
  color-scheme: dark;
}

.cbar *, .cbar *::before, .cbar *::after { box-sizing: border-box; }
/* fixes.css forces Inter on every heading with !important; the brand sets
   headlines in Georgia Regular, so the article headings opt back out. */
.cbar h1, .cbar h2, .cbar h3,
html .cbar .cb-ui2-related-title, html .cbar .cb-ui2-next-title, html .cbar .cb-ui2-latest-title, html .cbar .cb-ui2-author-name {
  font-family: var(--cbar-display) !important;
  font-weight: 400 !important;
}
.cbar h4, .cbar h5, .cbar h6 { font-family: var(--cbar-ui) !important; }
.cbar a:focus-visible, .cbar button:focus-visible { outline: 2px solid var(--cbar-focus); outline-offset: 2px; }

.cbar-article { max-width: 1120px; margin: 0 auto; }

/* ---------- Hero: full-width image, headline on top ---------- */

.cbar-hero {
  position: relative;
  min-height: 440px;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  overflow: hidden;
  background: #174C45;
  isolation: isolate;
}
.cbar-hero-img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
  z-index: -2;
}
.cbar-hero-shade {
  position: absolute;
  inset: 0;
  z-index: -1;
  /* Strong lower band: many CB images carry their own text, and the headline
     must stay readable on top of it. */
  background: linear-gradient(180deg, rgba(9,22,20,.30) 0%, rgba(9,22,20,0) 18%, rgba(9,22,20,.10) 30%, rgba(9,22,20,.72) 52%, rgba(9,22,20,.93) 74%, rgba(9,22,20,.96) 100%);
}
.cbar-hero-text {
  position: relative;
  padding: 0 18px 30px;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.cbar .cbar-title {
  margin: 0;
  color: #FFFFFF;
  font: 400 32px/1.08 var(--cbar-display);
  letter-spacing: -.03em;
  text-wrap: balance;
  max-width: 22ch;
  text-shadow: 0 1px 12px rgba(9,22,20,.45);
}
.cbar-credit {
  position: absolute;
  right: 12px;
  bottom: 8px;
  left: 18px;
  margin: 0;
  text-align: right;
  font: 400 11px/1.2 var(--cbar-ui);
  color: rgba(255,255,255,.72);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* ---------- Two columns: reading column + ad rail ---------- */

.cbar-grid { display: block; padding: 0 16px; }
.cbar-main {
  max-width: 720px;
  margin: 0 auto;
  padding-top: 18px;
  display: flex;
  flex-direction: column;
  gap: 18px;
  min-width: 0;
}
.cbar-main > * { margin-top: 0; margin-bottom: 0; }
.cbar-side { display: none; }

@media (min-width: 768px) {
  .cbar { padding-top: 24px; }
  .cbar-article { padding: 0 24px; }
  .cbar-hero { min-height: 520px; border-radius: 26px; }
  @supports (corner-shape: squircle) { .cbar-hero { corner-shape: squircle; border-radius: 40px; } }
  .cbar-hero-text { padding: 0 40px 40px; }
  .cbar .cbar-title { font-size: 46px; letter-spacing: -.04em; max-width: 20ch; }
  .cbar-grid { padding: 0; }
  .cbar-main { padding-top: 28px; }
}

@media (min-width: 1024px) {
  .cbar-grid {
    display: grid;
    grid-template-columns: minmax(0, 720px) 300px;
    justify-content: space-between;
    gap: 48px;
  }
  .cbar-main { margin: 0; }
  .cbar-side { display: block; padding-top: 28px; }
  .cbar-side-sticky { position: sticky; top: 96px; }
  .cbar .cbar-title { font-size: 52px; }
}

/* ---------- Dek, byline, share ---------- */

.cbar-cats { margin: 2px 0 0; font: 400 13px/1.4 var(--cbar-ui); color: var(--cbar-muted); }
.cbar-cats a { color: var(--cbar-accent); text-decoration: none; }
.cbar-cats a:hover { text-decoration: underline; text-underline-offset: 3px; }

/* Asset price chart (same data as the legacy cover chart switch). */
.cbar-chart { margin: 0; display: flex; flex-direction: column; gap: 8px; }
.cbar-chart-head { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: baseline; gap: 4px 12px; }
.cbar .cbar-chart-title { margin: 0; font: 600 16px/1.3 var(--cbar-ui) !important; color: var(--cbar-ink); }
.cbar-chart-head a { font: 400 14px/1.3 var(--cbar-ui); color: var(--cbar-accent); }
.cbar-chart-frame {
  position: relative;
  aspect-ratio: 16 / 9;
  min-height: 220px;
  background: var(--cbar-surface);
  border-radius: 26px;
  corner-shape: squircle;
  box-shadow: inset 0 0 0 1px var(--cbar-line);
  overflow: hidden;
}
.cbar-chart-iframe { display: block; width: 100%; height: 100%; border: 0; opacity: 0; transition: opacity .25s ease; }
.cbar-chart[data-state="ready"] .cbar-chart-iframe { opacity: 1; }
.cbar-chart-status { position: absolute; left: 14px; bottom: 12px; margin: 0; font: 400 13px/1.3 var(--cbar-ui); color: var(--cbar-muted); }

.cbar-dek { font: 300 18px/1.5 var(--cbar-ui); color: var(--cbar-ink); }
@media (min-width: 768px) { .cbar-dek { font-size: 20px; } }

.cbar-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 12px 18px;
  padding-bottom: 16px;
  border-bottom: 1px solid var(--cbar-line);
}
.cbar-byline { font-size: 14px; line-height: 1.35; min-width: 0; }
.cbar-byline > div { margin-bottom: 2px !important; }
.cbar-byline .text-xs, .cbar-byline .text-sm { font-size: 14px; }
.cbar-byline a, .cbar-byline .text-gold, .cbar-byline .text-headline, .cbar-byline .text-foreground {
  color: var(--cbar-ink);
  font-weight: 600;
  text-decoration: none;
}
.cbar-byline a:hover { text-decoration: underline; text-underline-offset: 3px; }
.cbar-byline .text-muted-foreground { color: var(--cbar-muted); }
.cbar-when { margin: 0; color: var(--cbar-muted); font: 400 13px/1.35 var(--cbar-ui); font-variant-numeric: tabular-nums; }
.cbar-when span { margin: 0 4px; }

.cbar-share > p { display: none; }
.cbar-share a, .cbar-share button {
  width: 34px;
  height: 34px;
  border: 1px solid var(--cbar-line);
  background: var(--cbar-surface);
  color: var(--cbar-ink);
}
.cbar-share a:hover, .cbar-share button:hover { background: var(--cbar-sage); }
.cbar-share img { max-height: 34px; width: auto; }

/* ---------- Body typography ---------- */

.cbar-body { font: 400 17px/1.65 var(--cbar-ui); color: var(--cbar-ink); overflow-wrap: break-word; }
@media (min-width: 768px) { .cbar-body { font-size: 18px; } }
.cbar-body > * + * { margin-top: 1.05em; }
.cbar-body p { margin: 0; }
.cbar-body > p + p { margin-top: 1.05em; }
.cbar-body h2 { font: 400 28px/1.15 var(--cbar-display); letter-spacing: -.02em; margin: 1.6em 0 .2em; color: var(--cbar-ink); }
.cbar-body h3 { font: 400 22px/1.2 var(--cbar-display); margin: 1.4em 0 .2em; color: var(--cbar-ink); }
.cbar-body h4 { font: 600 17px/1.3 var(--cbar-ui); margin: 1.3em 0 .2em; }
.cbar-body strong, .cbar-body b { font-weight: 600; }
.cbar-body a { color: var(--cbar-accent); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; }
.cbar-body a:hover { color: var(--cbar-accent-hover); text-decoration-thickness: 2px; }
.cbar-body ul, .cbar-body ol { padding-left: 1.3em; }
.cbar-body ul { list-style: disc; }
.cbar-body ol { list-style: decimal; }
.cbar-body li + li { margin-top: .4em; }
.cbar-body li::marker { color: var(--cbar-muted); }
.cbar-body blockquote:not(.twitter-tweet):not(.instagram-media) {
  margin-left: 0;
  margin-right: 0;
  padding: 2px 0 2px 18px;
  border-left: 3px solid var(--cbar-accent);
  font: 400 21px/1.4 var(--cbar-display);
  color: var(--cbar-ink);
}
.cbar-body img, .cbar-body video { max-width: 100%; height: auto; border-radius: 26px; corner-shape: squircle; }
.cbar-body figure { margin: 1.4em 0; }
.cbar-body figcaption, .cbar-body .wp-caption-text { margin-top: 6px; font: 400 13px/1.4 var(--cbar-ui); color: var(--cbar-muted); }
.cbar-body iframe { max-width: 100%; }
.cbar-body hr { border: 0; border-top: 1px solid var(--cbar-line); }
.cbar-body table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  font: 400 14px/1.4 var(--cbar-ui);
  font-variant-numeric: tabular-nums;
  background: var(--cbar-surface);
  border-radius: 26px;
  corner-shape: squircle;
  box-shadow: inset 0 0 0 1px var(--cbar-line);
  overflow: hidden;
  display: block;
  overflow-x: auto;
}
.cbar-body th {
  font: 600 13px/1.3 var(--cbar-ui);
  color: var(--cbar-muted);
  text-align: left;
  padding: 10px 12px;
  border-bottom: 1px solid var(--cbar-line);
}
.cbar-body td { padding: 10px 12px; border-bottom: 1px solid var(--cbar-line); vertical-align: top; }
.cbar-body tr:last-child td { border-bottom: 0; }

/* Block 14 leaderboard: inline styles carry a light grey rule; match the theme. */
.cbar .leaderboard-in-article { border-color: var(--cbar-line) !important; }
/* "Advertisement" stays as a disclosure, in regular Geist, not a mono label. */
.cbar .leaderboard-in-article > div:first-child {
  font: 400 12px/1.4 var(--cbar-ui) !important;
  letter-spacing: normal !important;
  text-transform: none !important;
  color: var(--cbar-muted) !important;
}
.cbar-ad-native:empty { display: none; }

/* ---------- Traded on-chain ---------- */

.cbar-onchain {
  display: flex;
  flex-direction: column;
  gap: 12px;
  border-top: 3px solid var(--cbar-ink);
  padding-top: 12px;
  margin-top: 8px;
}
.cbar-onchain h2 { margin: 0; font: 400 28px/1.15 var(--cbar-display); letter-spacing: -.02em; color: var(--cbar-ink); }
.cbar-onchain > p { margin: 0; font: 400 17px/1.6 var(--cbar-ui); }
.cbar-vhead {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 12px;
  margin: 4px 4px -2px;
}
.cbar .cbar-vhead h3 { margin: 0; font: 600 16px/1.3 var(--cbar-ui) !important; color: var(--cbar-ink); }
.cbar-vhead span { font: 400 13px/1.3 var(--cbar-ui); color: var(--cbar-muted); }
.cbar-vlist {
  list-style: none;
  margin: 0;
  padding: 0;
  background: var(--cbar-surface);
  border-radius: 26px;
  corner-shape: squircle;
  overflow: hidden;
  box-shadow: inset 0 0 0 1px var(--cbar-line);
}
.cbar-vlist li + li { border-top: 1px solid var(--cbar-line); }
.cbar-vrow {
  display: flex;
  align-items: center;
  gap: 12px;
  width: 100%;
  padding: 10px 14px;
  min-height: 52px;
  color: var(--cbar-ink);
  text-decoration: none;
}
.cbar-vrow:hover { background: var(--cbar-sage); }
.cbar-vrow img, .cbar-vmono {
  width: 30px;
  height: 30px;
  border-radius: 50%;
  flex: none;
  box-shadow: 0 0 0 1px var(--cbar-line);
}
.cbar-vmono { display: grid; place-items: center; background: var(--cbar-sage); font: 600 14px/1 var(--cbar-ui); }
.cbar-vnm { flex: 1; min-width: 0; display: flex; align-items: baseline; gap: 8px; font: 600 16px/1.2 var(--cbar-ui); }
.cbar-vnm small { font: 400 13px/1.2 var(--cbar-ui); color: var(--cbar-muted); }
.cbar-vvol { display: flex; flex-direction: column; align-items: flex-end; gap: 4px; width: 64px; flex: none; }
.cbar-num { font: 500 14px/1 var(--cbar-ui); font-variant-numeric: tabular-nums; letter-spacing: -.01em; }
.cbar-vvol i { display: block; height: 3px; border-radius: 999px; background: var(--cbar-brand); align-self: flex-end; }
.cbar-vrow svg { width: 14px; height: 14px; stroke: var(--cbar-muted); fill: none; stroke-width: 2; flex: none; }
.cbar-foot { margin: 0; font: 400 13px/1.45 var(--cbar-ui); color: var(--cbar-muted); }

/* ---------- Disclosure ---------- */

.cbar-disclosure, .cbar .cb-commissioned-end {
  margin: 8px 0 0 !important;
  padding-top: 14px !important;
  border-top: 1px solid var(--cbar-line) !important;
  font: 400 13px/1.5 var(--cbar-ui);
  color: var(--cbar-muted);
}
.cbar-disclosure a, .cbar .cb-commissioned-end a { color: var(--cbar-accent); text-decoration: underline; text-underline-offset: 2px; }
.cbar-disclosure strong, .cbar .cb-commissioned-end strong { color: var(--cbar-ink); font-weight: 600; }

/* ---------- Crypto Briefing Pro sign-up (off by default) ---------- */

.cbar-pro {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px 16px;
  padding: 18px 20px;
  border-radius: 26px;
  background: var(--cbar-sage);
}
@supports (corner-shape: squircle) { .cbar-pro { corner-shape: squircle; border-radius: 40px; } }
.cbar-pro p { flex: 1 1 260px; margin: 0; font: 400 15px/1.45 var(--cbar-ui); }
.cbar-pro b { font-weight: 600; }

.cbar-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 44px;
  padding: 0 20px;
  border-radius: 999px;
  background: var(--cbar-accent);
  color: var(--cbar-btn-ink);
  font: 600 15px/1 var(--cbar-ui);
  text-decoration: none;
  white-space: nowrap;
}
.cbar-btn:hover { background: var(--cbar-accent-hover); color: var(--cbar-btn-ink); }
.cbar-btn svg { width: 16px; height: 16px; fill: currentColor; }
.cbar-btn-quiet { align-self: flex-start; background: var(--cbar-surface); color: var(--cbar-ink); box-shadow: inset 0 0 0 1px var(--cbar-line-strong); }
.cbar-btn-quiet:hover { background: var(--cbar-sage); color: var(--cbar-ink); }

/* ---------- Press release label under the hero ---------- */

.cbar .cb-commissioned-top { margin: 0; font: 400 14px/1.45 var(--cbar-ui); color: var(--cbar-muted); }
.cbar .cb-commissioned-top a { color: var(--cbar-accent); }

/* ---------- UI2 article end and sidebar, brought onto the tokens ---------- */

html .cbar .cb-ui2-article-end { margin-top: 12px; color: var(--cbar-ink); }
html .cbar .cb-ui2-section-head {
  font: 600 18px/1.3 var(--cbar-ui) !important;
  letter-spacing: normal !important;
  text-transform: none !important;
  color: var(--cbar-ink) !important;
}
html .cbar .cb-ui2-next-label {
  font: 400 14px/1.3 var(--cbar-ui) !important;
  letter-spacing: normal !important;
  text-transform: none !important;
  color: var(--cbar-muted) !important;
}
html .cbar .cb-ui2-related-title, html .cbar .cb-ui2-related-title a,
html .cbar .cb-ui2-next-title, html .cbar .cb-ui2-latest-title, html .cbar .cb-ui2-author-name {
  font-family: var(--cbar-display);
  font-weight: 400;
  color: var(--cbar-ink);
}
html .cbar .cb-ui2-related-media, html .cbar .cb-ui2-related-img { border-radius: 22px; corner-shape: squircle; }
html .cbar .cb-ui2-next { border-radius: 10px; corner-shape: squircle; }
html .cbar .cb-ui2-author { background: var(--cbar-surface); border-color: var(--cbar-line); border-radius: 26px; corner-shape: squircle; }
html .cbar .cb-ui2-author-bio, html .cbar .cb-ui2-time { color: var(--cbar-muted); }
html .cbar .cb-ui2-latest-item { border-color: var(--cbar-line); }
html .cbar .cb-ui2-latest-more { color: var(--cbar-accent); }

@media (prefers-reduced-motion: reduce) {
  .cbar * { transition: none !important; animation: none !important; }
}

/* ---------- Inline newsletter card inside the article, on brand ---------- */

html .cbar .cb-nl-inline { background: var(--cbar-surface); border-radius: 26px; corner-shape: squircle; padding: 20px; box-shadow: inset 0 0 0 1px var(--cbar-line); }
html .cbar .cb-nl-inline-rule { display: none; }
html .cbar .cb-nl-inline-head { font-size: 24px !important; line-height: 1.2 !important; letter-spacing: -.01em; color: var(--cbar-ink) !important; margin: 0 0 6px !important; }
html .cbar .cb-nl-inline-sub, html .cbar .cb-nl-inline-privacy, html .cbar .cb-nl-inline-privacy a { color: var(--cbar-muted) !important; font-size: 14px; }
html .cbar .cb-nl-email { background: var(--cbar-bg) !important; color: var(--cbar-ink) !important; border: 1px solid var(--cbar-line-strong) !important; border-radius: 999px !important; padding: 0 16px !important; min-height: 44px; }
html .cbar .cb-nl-submit { background: var(--cbar-accent) !important; color: var(--cbar-btn-ink) !important; border: 0 !important; border-radius: 999px !important; font-weight: 600 !important; min-height: 44px; padding: 0 20px !important; }
html .cbar .cb-nl-submit:hover { background: var(--cbar-accent-hover) !important; }

/* ---------- Related stories: a compact list on phones ---------- */

@media (max-width: 639px) {
  html .cbar .cb-ui2-related-grid { gap: 0 !important; }
  html .cbar .cb-ui2-related-card {
    display: grid;
    grid-template-columns: 104px minmax(0, 1fr);
    grid-template-rows: auto 1fr;
    column-gap: 14px;
    padding: 12px 0;
    border-top: 1px solid var(--cbar-line);
  }
  html .cbar .cb-ui2-related-media { grid-row: 1 / span 2; margin: 0 !important; }
  html .cbar .cb-ui2-related-img { aspect-ratio: 4 / 3; height: auto; }
  html .cbar .cb-ui2-related-media, html .cbar .cb-ui2-related-img { border-radius: 20px; corner-shape: squircle; }
  html .cbar .cb-ui2-related-title { font-size: 17px !important; line-height: 1.25 !important; margin: 0 !important; }
  html .cbar .cb-ui2-related-card .cb-ui2-time { align-self: start; margin-top: 4px; }
}

/* ---------- Key stats under the price chart (Han H-200, H-181) ---------- */

.cbar-stats {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin: 4px 0 0;
  padding: 4px 0;
  background: var(--cbar-surface);
  border-radius: 20px;
  corner-shape: squircle;
  overflow: hidden;
  box-shadow: inset 0 0 0 1px var(--cbar-line);
}
.cbar-stats[hidden], .cbar-stat[hidden] { display: none; }
@media (min-width: 640px) { .cbar-stats { grid-template-columns: repeat(auto-fit, minmax(120px, 1fr)); } }
/* Annual amounts and fiscal dates need a wider reading measure than short crypto quotes. */
@media (min-width: 640px) { .cbar-stats[data-class="equity"] { grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); } }
.cbar-stat { margin: 0; padding: 8px 16px; min-width: 0; }
.cbar-stat dt { margin: 0 0 2px; font: 400 13px/1.3 var(--cbar-ui); color: var(--cbar-muted); }
.cbar-stat dd {
  margin: 0;
  font: 500 16px/1.25 var(--cbar-ui);
  font-variant-numeric: tabular-nums;
  letter-spacing: -.01em;
  color: var(--cbar-ink);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.cbar-stat dd.gain { color: #177A60; }
.cbar-stat dd.loss { color: #B3443A; }
html.dark .cbar-stat dd.gain { color: #5FCAA9; }
html.dark .cbar-stat dd.loss { color: #E58A80; }
.cbar-stats-asof { margin: 2px 0 0; font: 400 12px/1.3 var(--cbar-ui); color: var(--cbar-muted); }

/* ---------- Peer valuation table (Han H-179, H-180) ---------- */

.cbar-peers { display: flex; flex-direction: column; gap: 10px; }
.cbar .cbar-peers h2 { margin: 0; font: 600 16px/1.3 var(--cbar-ui) !important; color: var(--cbar-ink); }
.cbar-peers-scroll {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  background: var(--cbar-surface);
  border-radius: 20px;
  corner-shape: squircle;
  box-shadow: inset 0 0 0 1px var(--cbar-line);
}
.cbar-peers-scroll:focus-visible { outline: 2px solid var(--cbar-focus); outline-offset: 2px; }
.cbar-peers-table {
  width: 100%;
  min-width: 560px;
  border-collapse: separate;
  border-spacing: 0;
  font: 400 14px/1.3 var(--cbar-ui);
  color: var(--cbar-ink);
}
.cbar-peers-table th, .cbar-peers-table td { padding: 10px 12px; border-bottom: 1px solid var(--cbar-line); text-align: right; white-space: nowrap; }
.cbar-peers-table tbody tr:last-child > * { border-bottom: 0; }
.cbar-peers-table thead th { font: 400 13px/1.3 var(--cbar-ui); color: var(--cbar-muted); }
.cbar-peers-table td { font: 500 14px/1.3 var(--cbar-ui); font-variant-numeric: tabular-nums; letter-spacing: -.01em; }
/* Company column stays put while the figures scroll sideways on phones. */
.cbar-peers-table th:first-child {
  position: sticky;
  left: 0;
  z-index: 1;
  text-align: left;
  background: var(--cbar-surface);
  box-shadow: 1px 0 0 var(--cbar-line);
  min-width: 150px;
  max-width: 190px;
  white-space: normal;
}
.cbar-peers-table tr.is-self > * { background: var(--cbar-sage); }
.cbar-peer-co { display: flex; align-items: center; gap: 10px; }
.cbar .cbar-peer-logo { width: 24px; height: 24px; flex: none; border-radius: 7px; corner-shape: squircle; box-shadow: 0 0 0 1px var(--cbar-line); background: #fff; object-fit: contain; }
.cbar .cbar-peer-logo.cb-alogo--fb { display: grid; place-items: center; background: var(--cbar-sage); color: var(--cbar-ink); font-weight: 600; }
.cbar-peer-name { display: flex; flex-direction: column; min-width: 0; }
.cbar-peer-name a, .cbar-peer-name b { font: 600 14px/1.25 var(--cbar-ui); color: var(--cbar-ink); text-decoration: none; }
.cbar-peer-name a:hover { text-decoration: underline; text-underline-offset: 3px; }
.cbar-peer-name small { font: 400 12px/1.3 var(--cbar-ui); color: var(--cbar-muted); }
@media (min-width: 768px) { .cbar-peers-table { min-width: 0; } }

/* Observed pool data: scan identity, price and liquidity separately. */
.cbar-token-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:20px 0 8px}
.cbar-token-facts dt{font:400 12px/1.4 var(--cbar-ui);color:var(--cbar-muted)}
.cbar-token-facts dd{font:500 18px/1.4 var(--cbar-ui);font-variant-numeric:tabular-nums;margin:3px 0 0}
.cbar-vnm{flex-direction:column;align-items:flex-start;gap:5px}
.cbar-vnm small{overflow-wrap:anywhere}
.cbar-vvol{width:76px}
.cbar-onchain > .cbar-foot{font:400 13px/1.45 var(--cbar-ui)}
.cbar-onchain .cbar-foot>span{display:block;margin-top:8px}
@media(max-width:480px){.cbar-vrow{gap:8px;padding:14px 10px}.cbar-vnm{font-size:14px}.cbar-vnm small{font-size:11px}.cbar-token-facts{gap:10px}.cbar-token-facts dd{font-size:16px}}

.cbar-token-product{border-top:1px solid var(--cbar-line);padding:0;margin-top:12px}
.cbar-token-product summary{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:64px;padding:12px 0;cursor:pointer;list-style:none;font:500 16px/1.4 var(--cbar-ui);color:var(--cbar-ink)}
.cbar-token-product summary::-webkit-details-marker{display:none}.cbar-token-product summary small{display:block;font-size:12px;font-weight:400;color:var(--cbar-muted)}
.cbar-token-product summary>span:last-child{white-space:nowrap;font-variant-numeric:tabular-nums}.cbar-product-chevron{display:inline-block;margin-left:12px;transition:transform .14s ease}
.cbar-token-product[open] .cbar-product-chevron{transform:rotate(180deg)}
.cbar-token-product summary:focus-visible{outline:2px solid var(--cbar-accent);outline-offset:3px;border-radius:6px}
.cbar-token-product-body{display:grid;gap:16px;padding:4px 0 20px}.cbar-token-product-body>.cbar-foot{font:400 13px/1.45 var(--cbar-ui)}
@media(prefers-reduced-motion:reduce){.cbar-product-chevron{transition:none}}

/* Company-specific source context stays within the article's reading column. */
.cbar .cbar-context { margin: 30px 0; padding: 24px; border: 1px solid var(--cbar-line); border-radius: 24px; background: var(--cbar-surface); min-width: 0; }
.cbar .cbar-context h2 { font-size: 28px; margin: 0 0 12px; line-height: 1.18; }
.cbar .cbar-context h3 { font-size: 22px; margin: 24px 0 12px; }
.cbar .cbar-context-note { color: var(--cbar-muted); font-size: 14px; line-height: 1.5; }
.cbar .cbar-context-metrics { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px; margin: 24px 0; }
.cbar .cbar-context-metrics dt { color: var(--cbar-muted); font-size: 12px; }
.cbar .cbar-context-metrics dd { font: 500 24px/1.3 var(--cbar-ui); font-variant-numeric: tabular-nums; margin: 6px 0 0; }
.cbar .cbar-context-scroll { overflow-x: auto; max-width: 100%; }
.cbar .cbar-context table { border-collapse: collapse; width: 100%; font-size: 12px; font-variant-numeric: tabular-nums; }
.cbar .cbar-context caption { text-align: left; color: var(--cbar-muted); margin: 12px 0; }
.cbar .cbar-context th, .cbar .cbar-context td { padding: 12px 8px; border-bottom: 1px solid var(--cbar-line); text-align: right; vertical-align: top; }
.cbar .cbar-context th:first-child { text-align: left; }
.cbar .cbar-context .is-self { background: var(--cbar-sage); }
.cbar .cbar-context-pending { margin-top: 18px; font-size: 13px; color: var(--cbar-muted); }
.cbar .cbar-context-pending summary { cursor: pointer; color: var(--cbar-ink); }
.cbar .cbar-context-chart { display: block; padding: 0; border: 0; border-radius: 0; margin: 24px 0 0; background: transparent; }
.cbar .cbar-context .cbr-data-figure svg { width: 100%; height: auto; color: var(--cbar-accent); }
.cbar .cbar-period { display: block; color: var(--cbar-muted); font-size: 10px; white-space: nowrap; }
@media (max-width: 600px) { .cbar .cbar-context { padding: 18px; } .cbar .cbar-context-metrics { grid-template-columns: 1fr; gap: 12px; } .cbar .cbar-context-metrics dd { font-size: 26px; } .cbar .cbar-context-scroll table { min-width: 480px; } }

/* Shared chart markup has an explicit article style dependency, independent of home rollout. */
.cbar .cbar-context .cbr-data-unit,.cbar .cbar-context .cbr-data-range{font-size:12px;color:var(--cbar-muted)}
.cbar .cbar-context .cbr-data-headline{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;font-variant-numeric:tabular-nums}
.cbar .cbar-context .cbr-data-headline strong{font:500 30px/1.2 var(--cbar-ui)}
.cbar .cbar-context .cbr-data-headline span{font-size:12px;color:var(--cbar-muted)}
.cbar .cbar-context .cbr-data-legend{display:flex;flex-wrap:wrap;gap:16px;font-size:12px}
.cbar .cbar-context .cbr-data-figure{margin:16px 0}
.cbar .cbar-context .cbr-data-figure svg{display:block;overflow:visible}
.cbar .cbar-context .cbr-data-axis{stroke:var(--cbar-line);stroke-width:1;fill:none}
.cbar .cbar-context .cbr-data-stock{color:var(--cbar-ink);opacity:.8}
.cbar .cbar-context .cbr-data-point{fill:currentColor;fill-opacity:0}
.cbar .cbar-context .cbr-data-point:hover{fill-opacity:1}
.cbar .cbar-context .cbr-data-figure figcaption{display:flex;justify-content:space-between;gap:6px;font-size:10px;color:var(--cbar-muted)}
.cbar .cbar-context .cbr-data-foot{font-size:12px;line-height:1.5;color:var(--cbar-muted)}
.cbar .cbar-context .cbr-data-foot a{text-decoration:underline;text-underline-offset:3px}
.cbar .cbar-context .cbr-data-foot summary{cursor:pointer;min-height:32px;padding:4px 0}
.cbar .cbar-context .cbr-data-table{max-height:300px;overflow:auto}
.cbar .cbar-context summary:focus-visible,.cbar .cbar-context [tabindex]:focus-visible{outline:2px solid var(--cbar-focus);outline-offset:3px}

/* Financial periods and missing-source explanations must remain fully readable. */
.cbar .cbar-stat[data-stat="market_cap"] dd,
.cbar .cbar-stat[data-stat="pe"] dd,
.cbar .cbar-stat[data-stat="op_margin"] dd,
.cbar .cbar-stat[data-stat="revenue"] dd,
.cbar .cbar-stat[data-stat="revenue_growth"] dd,
.cbar .cbar-stat[data-stat="net_income"] dd,
.cbar .cbar-stat[data-stat="fwd_pe"] dd { white-space: normal; overflow: visible; text-overflow: clip; overflow-wrap: anywhere; }
.cbar .cbar-stat dd .cbar-stat-src { color: inherit; text-decoration: underline; text-underline-offset: 2px; white-space: nowrap; }
/* A fiscal span plus a filing link is longer than a single date, so this one wraps. */
.cbar .cbar-peers-table .cbar-period a { color: inherit; text-decoration: underline; text-underline-offset: 2px; }
/* Cap the caption so it no longer sets the column width: the figure above it stays on one
   line, and a figure column plus the pinned company column fit a 390px phone. */
.cbar .cbar-peers-table .cbar-period { white-space: normal; overflow-wrap: break-word; max-width: 17em; margin-left: auto; }
