/**
 * Bubble Watch — page styles (theme-academic).
 * Scoped to body.page-bubble-watch. Sharp surfaces, --hp-* tokens only.
 */

body.page-bubble-watch {
  --bw-page-bg: #fafbfc;
  --bw-card-hd-bg: #e8ecf1;
  --bw-conv-red: #d96565;
  --bw-conv-orange: #e89456;
  --bw-conv-yellow: #f0c14b;
  --bw-conv-green: #16a34a;
  background: var(--bw-page-bg);
  color: var(--hp-body);
}

body.page-bubble-watch .bw-wrap {
  max-width: min(1340px, 93vw);
  margin: 0 auto;
  padding-left: calc(clamp(16px, 4vw, 28px) + env(safe-area-inset-left, 0px));
  padding-right: calc(clamp(16px, 4vw, 28px) + env(safe-area-inset-right, 0px));
}

body.page-bubble-watch .bw-wrap > .secnav-mini {
  margin-bottom: clamp(16px, 2.5vw, 22px);
}

body.page-bubble-watch .secnav-mini {
  justify-content: flex-start;
}

body.page-bubble-watch .bw-conv-key {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px 14px;
  margin-left: auto;
  padding-left: 12px;
}

body.page-bubble-watch .bw-conv-key-item {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-family: var(--font-mono);
  font-size: 11px;
  font-weight: 600;
  color: var(--hp-body);
  white-space: nowrap;
}

body.page-bubble-watch .bw-conv-key-swatch {
  display: inline-block;
  width: 14px;
  height: 14px;
  flex-shrink: 0;
  border: 1px solid var(--hp-line);
}

body.page-bubble-watch .bw-conv-key-swatch--active {
  background: var(--bw-conv-red);
  border-color: transparent;
}

body.page-bubble-watch .bw-conv-key-swatch--moderate {
  background: var(--bw-conv-orange);
  border-color: transparent;
}

body.page-bubble-watch .bw-conv-key-swatch--watch {
  background: var(--bw-conv-yellow);
  border-color: transparent;
}

body.page-bubble-watch .bw-conv-key-swatch--inactive {
  background: #ffffff;
}

@media (max-width: 720px) {
  body.page-bubble-watch .bw-conv-key {
    margin-left: 0;
    width: 100%;
    padding-left: 0;
    padding-top: 4px;
  }
}

body.page-bubble-watch .adc-share {
  display: none !important;
}

body.page-bubble-watch .hp-section-rule {
  margin-bottom: 22px;
}

/* ── Chips & labels ── */
body.page-bubble-watch .bw-chip {
  display: inline-flex;
  align-items: center;
  font-family: var(--font-mono);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  padding: 4px 10px;
  border-radius: 0;
  line-height: 1;
  border: 1px solid var(--hp-line);
}

body.page-bubble-watch .bw-chip--watch {
  background: var(--hp-ink);
  color: var(--hp-paper);
  border-color: var(--hp-ink);
}

body.page-bubble-watch .bw-chip--amber,
body.page-bubble-watch .bw-chip--prov {
  background: var(--hp-grey);
  color: var(--hp-body);
  border-color: var(--hp-line);
}

body.page-bubble-watch .bw-chip--red {
  background: #fef2f2;
  color: var(--hp-sym-down);
  border-color: #fecaca;
}

body.page-bubble-watch .bw-chip--green {
  background: #f0fdf4;
  color: var(--hp-sym-up);
  border-color: #bbf7d0;
}

body.page-bubble-watch .bw-chip--ambred {
  background: #fff7ed;
  color: #c2410c;
  border-color: #fed7aa;
}

body.page-bubble-watch .bw-section-label {
  font-family: var(--font-sans);
  font-size: 13px;
  font-weight: 600;
  letter-spacing: normal;
  text-transform: none;
  color: var(--hp-muted);
  display: block;
  margin-bottom: 12px;
}

/* ── Hero ── */
body.page-bubble-watch .bw-hero.adc-page-header {
  padding: clamp(8px, 1.5vw, 14px) 0 clamp(8px, 1.2vw, 12px);
}

body.page-bubble-watch .bw-hero.adc-page-header h1,
body.page-bubble-watch .bw-hero.adc-page-header .hero-brand-title {
  margin: 0;
}

body.page-bubble-watch .bw-hero.adc-page-header .hero-title-main em {
  font-style: normal;
  color: var(--hp-blue);
}

body.page-bubble-watch .bw-overview-h2 {
  font-family: var(--font-serif, Georgia, serif);
  font-size: clamp(1.75rem, 4vw, 2.35rem);
  font-weight: 700;
  letter-spacing: -0.03em;
  line-height: 1.12;
  color: var(--hp-ink, #0f172a);
  margin: 0 0 12px;
}
body.page-bubble-watch .bw-overview-h2 em {
  font-style: italic;
  color: var(--hp-blue, #2563eb);
}

body.page-bubble-watch .bw-hero:not(.adc-page-header) {
  padding: clamp(48px, 7vw, 88px) 0 clamp(36px, 5vw, 56px);
  background: var(--hp-paper);
  border-bottom: 1px solid var(--hp-line);
}

body.page-bubble-watch .bw-hero-kicker {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 20px;
  flex-wrap: wrap;
}

body.page-bubble-watch .bw-hero h1 {
  font-size: clamp(30px, 5vw, 56px);
  font-weight: 800;
  line-height: 1.05;
  letter-spacing: -0.03em;
  color: var(--hp-ink);
  margin: 0 0 16px;
}

body.page-bubble-watch .bw-hero h1 em {
  font-style: normal;
  color: var(--hp-blue);
}

body.page-bubble-watch .bw-hero-sub {
  font-size: clamp(15px, 1.9vw, 18px);
  line-height: 1.6;
  color: var(--hp-body);
  max-width: 42rem;
  margin: 0 0 24px;
}

body.page-bubble-watch .bw-hero-sub--full {
  max-width: none;
}

body.page-bubble-watch .bw-lede {
  font-size: clamp(15px, 1.7vw, 17px);
  line-height: 1.72;
  color: var(--hp-body);
  max-width: 42rem;
  border-left: 3px solid var(--hp-blue);
  padding: 4px 0 4px 20px;
  margin: 0 0 18px;
}

body.page-bubble-watch .bw-lede::first-letter {
  font-size: 2.4em;
  font-weight: 800;
  line-height: 0.85;
  float: left;
  padding: 4px 10px 0 0;
  color: var(--hp-ink);
}

body.page-bubble-watch .bw-overview-burry-band {
  width: 100%;
  margin-top: clamp(20px, 3vw, 32px);
  padding: clamp(28px, 4vw, 44px) 0;
  background: var(--hp-grey);
  border-top: 1px solid var(--hp-line);
  border-bottom: 1px solid var(--hp-line);
}

body.page-bubble-watch .bw-overview-burry-band .container.bw-wrap {
  text-align: left;
}

body.page-bubble-watch .bw-overview-burry-band .bw-lede--full {
  max-width: none;
  font-size: clamp(16px, 1.85vw, 19px);
  line-height: 1.75;
  margin-bottom: 16px;
}

body.page-bubble-watch .bw-overview-burry-band .bw-kicker-line {
  max-width: none;
}

body.page-bubble-watch .bw-ac-deck--wide {
  max-width: none;
  width: 100%;
}

body.page-bubble-watch #bw-i4 .bw-ac-h2,
body.page-bubble-watch #bw-i4 .bw-ac-deck {
  max-width: none;
  width: 100%;
}

body.page-bubble-watch .bw-kicker-line {
  font-family: var(--font-mono);
  font-size: 13px;
  color: var(--hp-muted);
  font-style: italic;
  margin: 0;
}

/* ── Section bands ── */
body.page-bubble-watch .bw-section {
  padding: clamp(40px, 5vw, 64px) 0;
  border-bottom: 1px solid var(--hp-line);
  background: var(--hp-paper);
}

body.page-bubble-watch .bw-section--grey {
  background: var(--hp-grey);
}

body.page-bubble-watch .bw-section--last {
  border-bottom: none;
}

body.page-bubble-watch .bw-section-h2 {
  font-size: clamp(22px, 3vw, 32px);
  font-weight: 800;
  color: var(--hp-ink);
  margin: 0 0 10px;
  letter-spacing: -0.02em;
}

body.page-bubble-watch .bw-section-deck {
  font-size: 15px;
  line-height: 1.65;
  color: var(--hp-body);
  max-width: 40rem;
  margin: 0 0 28px;
}

/* ── Academic exhibit sections (divergence + ground truth) ── */
body.page-bubble-watch .bw-ac-section {
  background: var(--hp-paper);
  border-top: 1px solid var(--hp-line);
  padding: clamp(40px, 5vw, 64px) 0;
  scroll-margin-top: 100px;
}

body.page-bubble-watch .bw-ac-section--grey {
  background: var(--hp-grey);
}

body.page-bubble-watch .bw-ac-eyebrow {
  display: block;
  font-family: var(--font-sans);
  font-size: 14px;
  font-weight: 600;
  letter-spacing: normal;
  text-transform: none;
  color: var(--hp-muted);
  margin-bottom: 12px;
}

body.page-bubble-watch .bw-ac-h2 {
  font-size: clamp(21px, 3vw, 28px);
  font-weight: 800;
  color: var(--hp-ink);
  margin: 0 0 10px;
  letter-spacing: -0.02em;
  line-height: 1.15;
}

body.page-bubble-watch .bw-ac-deck {
  font-size: 15px;
  line-height: 1.65;
  color: var(--hp-body);
  max-width: 40rem;
  margin: 0 0 24px;
}

body.page-bubble-watch .bw-ac-note {
  font-size: 12px;
  color: var(--hp-muted);
  max-width: 52rem;
  margin: 10px 0 0;
  line-height: 1.55;
}

body.page-bubble-watch .bw-ac-note code {
  font-family: var(--font-mono);
  font-size: 11px;
}

body.page-bubble-watch .bw-ac-note a {
  color: var(--hp-blue);
  text-decoration: none;
}

body.page-bubble-watch .bw-ind-grid--topcharts {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  margin: 16px 0 22px;
}

@media (max-width: 900px) {
  body.page-bubble-watch .bw-ind-grid--topcharts {
    grid-template-columns: 1fr;
  }
}

body.page-bubble-watch .bw-ind-chart-card {
  border: 1px solid var(--hp-line);
  background: var(--hp-grey);
  padding: 14px 16px;
}

body.page-bubble-watch .bw-ind-chart-title {
  margin: 0 0 10px;
  font-size: 14px;
  font-weight: 700;
  color: var(--hp-ink);
}

body.page-bubble-watch .bw-ac-chart-wrap {
  position: relative;
  height: 320px;
  margin: 0;
  background: var(--hp-paper);
  border: none;
  padding: 8px 8px 4px;
  overflow: hidden;
  flex: 0 0 auto;
}

body.page-bubble-watch .bw-ac-chart-wrap .bw-exhibit-chart {
  height: 100%;
  min-height: 0;
  margin: 0;
  max-height: none;
}

/* ── Infographic KPI strip ── */
body.page-bubble-watch .bw-stat-row {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
  margin: 0 0 20px;
  list-style: none;
  padding: 0;
}

@media (max-width: 720px) {
  body.page-bubble-watch .bw-stat-row {
    grid-template-columns: 1fr;
  }
}

body.page-bubble-watch .bw-stat-cell {
  background: var(--hp-paper);
  border: 1px solid var(--hp-line);
  border-radius: 0;
  padding: 14px 14px 12px;
  border-left-width: 3px;
}

body.page-bubble-watch .bw-ac-section--grey .bw-stat-cell,
body.page-bubble-watch .bw-section--grey .bw-stat-cell {
  background: var(--hp-paper);
}

body.page-bubble-watch .bw-stat-cell--blue { border-left-color: var(--hp-blue); }
body.page-bubble-watch .bw-stat-cell--down { border-left-color: var(--hp-sym-down); }
body.page-bubble-watch .bw-stat-cell--muted { border-left-color: var(--hp-muted); }

body.page-bubble-watch .bw-stat-lbl {
  display: block;
  font-family: var(--font-sans);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--hp-muted);
  margin-bottom: 6px;
}

body.page-bubble-watch .bw-stat-val {
  display: block;
  font-family: var(--font-sans);
  font-size: clamp(22px, 2.8vw, 30px);
  font-weight: 700;
  color: var(--hp-ink);
  font-variant-numeric: tabular-nums;
  line-height: 1.05;
  margin-bottom: 4px;
}

body.page-bubble-watch .bw-stat-sub {
  display: block;
  font-family: var(--font-mono);
  font-size: 13px;
  color: var(--hp-muted);
  line-height: 1.4;
}

/* ── Exhibit figures (chart shells) ── */
body.page-bubble-watch .bw-figure {
  margin: 0 0 12px;
  padding: 0;
  border: 1px solid var(--hp-line);
  background: var(--hp-paper);
  display: flex;
  flex-direction: column;
}

body.page-bubble-watch .bw-fig-label {
  display: block;
  font-family: var(--font-sans);
  font-size: 12px;
  font-weight: 600;
  color: var(--hp-ink);
  padding: 12px 14px 0;
  margin: 0;
}

body.page-bubble-watch .bw-fig-cap {
  font-family: var(--font-sans);
  font-size: 13px;
  line-height: 1.55;
  color: var(--hp-body);
  padding: 10px 14px 12px;
  margin: 0;
  border-top: 1px solid var(--hp-line);
  background: var(--hp-grey);
  flex: 0 0 auto;
  position: relative;
  z-index: 1;
}

body.page-bubble-watch .bw-chart-source {
  font-family: var(--font-mono, 'JetBrains Mono', monospace);
  font-size: 11px;
  line-height: 1.45;
  color: var(--hp-muted);
  margin: 8px 0 0;
  padding: 0;
}

body.page-bubble-watch .bw-r2-block .bw-chart-source,
body.page-bubble-watch .bw-r2-signal-card .bw-chart-source {
  margin-top: 10px;
}

body.page-bubble-watch .bw-ac-section .bw-chart-source,
body.page-bubble-watch .bw-figure .bw-chart-source {
  padding-left: 14px;
  padding-right: 14px;
  margin-bottom: 4px;
}

body.page-bubble-watch #bw-scene-setter + .bw-chart-source,
body.page-bubble-watch .bw-ss-wrap + .bw-chart-source {
  margin-top: 12px;
}

body.page-bubble-watch .bw-chart-card.bw-figure {
  display: flex;
  flex-direction: column;
  padding: 0;
  margin: 0;
}

body.page-bubble-watch .bw-chart-card.bw-figure .bw-chart-inner {
  padding: 8px 10px 4px;
  flex: 1;
}

body.page-bubble-watch .bw-chart-inner--tall {
  height: 240px;
}

/* ── Metric cards ── */
body.page-bubble-watch .bw-metric-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 12px;
  margin-bottom: 24px;
}

@media (max-width: 700px) {
  body.page-bubble-watch .bw-metric-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

body.page-bubble-watch .bw-metric-card {
  background: var(--hp-paper);
  border: 1px solid var(--hp-line);
  border-radius: 0;
  border-top: 3px solid var(--hp-blue);
  padding: 14px 16px 12px;
}

body.page-bubble-watch .bw-metric-grid .bw-metric-card:nth-child(2) {
  border-top-color: var(--hp-blue);
}

body.page-bubble-watch .bw-metric-grid .bw-metric-card:nth-child(3) {
  border-top-color: var(--hp-sym-up);
}

body.page-bubble-watch .bw-metric-grid .bw-metric-card:nth-child(4) {
  border-top-color: var(--hp-muted);
}

body.page-bubble-watch .bw-section--grey .bw-metric-card {
  background: var(--hp-paper);
}

body.page-bubble-watch .bw-metric-card-lbl {
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--hp-muted);
  display: block;
  margin-bottom: 6px;
}

body.page-bubble-watch .bw-metric-card-val {
  font-size: clamp(20px, 2.5vw, 26px);
  font-weight: 700;
  color: var(--hp-ink);
  font-variant-numeric: tabular-nums;
  line-height: 1;
  display: block;
  margin-bottom: 4px;
}

body.page-bubble-watch .bw-metric-card-sub {
  font-size: 13px;
  color: var(--hp-muted);
  line-height: 1.4;
}

/* ── Charts pair ── */
body.page-bubble-watch .bw-parallel-tbl tbody tr:nth-child(even):not(.bw-gt-row) td {
  background: rgba(238, 241, 246, 0.55);
}

body.page-bubble-watch .bw-specimen-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 14px;
  margin-bottom: 20px;
  padding-bottom: 16px;
  border-bottom: 1px solid var(--hp-line);
}

body.page-bubble-watch .bw-section-h2--tight {
  margin-bottom: 4px;
}

body.page-bubble-watch .bw-specimen-meta {
  font-family: var(--font-mono);
  font-size: 14px;
  color: var(--hp-muted);
  margin: 0;
}

body.page-bubble-watch .bw-chart-pair {
  display: grid;
  grid-template-columns: 1.5fr 1fr;
  gap: 16px;
  margin-top: 20px;
  margin-bottom: 20px;
}

@media (max-width: 760px) {
  body.page-bubble-watch .bw-chart-pair {
    grid-template-columns: 1fr;
  }
}

body.page-bubble-watch .bw-chart-card {
  background: var(--hp-paper);
  border: 1px solid var(--hp-line);
  border-radius: 0;
  padding: 14px 14px 10px;
}

body.page-bubble-watch .bw-chart-card-title {
  font-size: 13.5px;
  font-weight: 600;
  color: var(--hp-ink);
  margin: 0 0 10px;
  line-height: 1.4;
}

body.page-bubble-watch .bw-chart-card-sub {
  font-size: 13px;
  color: var(--hp-muted);
  margin: 8px 0 0;
  line-height: 1.45;
}

body.page-bubble-watch .bw-chart-inner {
  position: relative;
  height: 220px;
}

/* ── Parallel table ── */
body.page-bubble-watch .bw-parallel-wrap {
  overflow-x: auto;
  margin-bottom: 28px;
  border: 1px solid var(--hp-line);
  border-radius: 0;
}

body.page-bubble-watch .bw-parallel-tbl {
  width: 100%;
  border-collapse: collapse;
  font-size: 13px;
  min-width: 580px;
  background: var(--hp-paper);
}

body.page-bubble-watch .bw-parallel-tbl thead th {
  background: var(--hp-grey);
  border-bottom: 1px solid var(--hp-line);
  padding: 10px 14px;
  text-align: left;
  font-size: 11px;
  font-weight: 600;
  color: var(--hp-muted);
}

body.page-bubble-watch .bw-parallel-tbl tbody td {
  padding: 10px 14px;
  border-top: 1px solid var(--hp-line);
  vertical-align: top;
  color: var(--hp-body);
  line-height: 1.55;
}

body.page-bubble-watch .bw-parallel-tbl td:first-child {
  font-weight: 600;
  color: var(--hp-ink);
}

body.page-bubble-watch .bw-parallel-tbl tr.bw-gt-row {
  background: #eff6ff;
}

body.page-bubble-watch .bw-parallel-tbl tr.bw-gt-row td {
  border-top: 1px solid #bfdbfe;
  border-bottom: 1px solid #bfdbfe;
}

body.page-bubble-watch .bw-gt-badge {
  display: inline-flex;
  align-items: center;
  background: var(--hp-blue);
  color: #fff;
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  padding: 2px 7px;
  border-radius: 0;
  margin-left: 8px;
  vertical-align: middle;
}

/* ── Floor tiles ── */
body.page-bubble-watch .bw-floor-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 12px;
}

body.page-bubble-watch .bw-floor-tile {
  background: var(--hp-paper);
  border: 1px solid var(--hp-line);
  border-radius: 0;
  padding: 16px 16px 14px 52px;
  text-decoration: none;
  display: block;
  position: relative;
  transition: border-color 0.15s, box-shadow 0.15s;
}

body.page-bubble-watch .bw-floor-tile:hover {
  border-color: var(--hp-blue);
  box-shadow: 0 0 0 1px var(--hp-blue);
}

body.page-bubble-watch .bw-floor-mark {
  position: absolute;
  left: 14px;
  top: 16px;
  width: 26px;
  height: 26px;
  display: grid;
  place-items: center;
  font-family: var(--font-mono);
  font-size: 12px;
  font-weight: 700;
  color: var(--hp-blue);
  background: #eff6ff;
  border: 1px solid #bfdbfe;
  border-radius: 0;
}

body.page-bubble-watch .bw-floor-tile-n {
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--hp-muted);
  display: block;
  margin-bottom: 8px;
}

body.page-bubble-watch .bw-floor-tile-val {
  font-size: clamp(20px, 2.4vw, 26px);
  font-weight: 700;
  color: var(--hp-ink);
  font-variant-numeric: tabular-nums;
  display: block;
  margin-bottom: 6px;
  line-height: 1.1;
}

body.page-bubble-watch .bw-floor-tile-desc {
  font-size: 12.5px;
  color: var(--hp-body);
  line-height: 1.5;
}

body.page-bubble-watch .bw-floor-tile-arrow {
  display: block;
  font-size: 11px;
  color: var(--hp-blue);
  margin-top: 10px;
  font-weight: 500;
}

/* ── Gauge card ── */
body.page-bubble-watch .bw-gauge-card {
  background: var(--hp-paper);
  border: 1px solid var(--hp-line);
  border-radius: 0;
  padding: clamp(18px, 3vw, 28px);
  margin-bottom: 20px;
}

body.page-bubble-watch .bw-gauge-card-hd {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 12px;
  margin-bottom: 20px;
}

body.page-bubble-watch .bw-gauge-card-title {
  font-family: var(--font-sans);
  font-size: 12px;
  font-weight: 600;
  color: var(--hp-muted);
  display: flex;
  align-items: center;
  gap: 8px;
}

body.page-bubble-watch .bw-pulse-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--hp-sym-live);
  animation: bw-pulse 2.2s ease-in-out infinite;
  flex-shrink: 0;
}

@keyframes bw-pulse {
  0%, 100% { opacity: 1; }
  50% { opacity: 0.35; }
}

body.page-bubble-watch .bw-gauge-lbl {
  font-family: var(--font-sans);
  font-size: 13px;
  font-weight: 600;
  color: var(--hp-muted);
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

body.page-bubble-watch .bw-gauge-val {
  font-family: var(--font-mono);
  font-size: 22px;
  font-weight: 700;
  color: var(--hp-ink);
  line-height: 1;
}

body.page-bubble-watch .bw-gauge-val sup {
  font-size: 10px;
  color: var(--hp-muted);
  font-weight: 600;
}

body.page-bubble-watch .bw-gauge-meta {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  margin-bottom: 6px;
  gap: 8px;
}

body.page-bubble-watch .bw-bar-track {
  position: relative;
  height: 28px;
  border: 1px solid var(--hp-line);
  background: var(--hp-grey);
  overflow: visible;
}

body.page-bubble-watch .bw-bar-clip {
  position: absolute;
  inset: 0;
  overflow: hidden;
}

body.page-bubble-watch .bw-bar-fill {
  position: absolute;
  inset: 0 auto 0 0;
  height: 100%;
  border-radius: 0;
  width: 0;
  transition: width 1s cubic-bezier(0.22, 0.68, 0, 1);
}

body.page-bubble-watch .bw-bar-fill--narrative {
  background: var(--hp-blue);
}

body.page-bubble-watch .bw-bar-fill--fundamentals {
  background: #94a3b8;
}

body.page-bubble-watch .bw-bar-pin {
  position: absolute;
  top: -3px;
  bottom: -3px;
  width: 2px;
  background: var(--hp-ink);
  opacity: 0.35;
  z-index: 2;
  pointer-events: none;
}

body.page-bubble-watch .bw-bar-pin-lbl {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: 6px;
  font-family: var(--font-mono);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.06em;
  color: var(--hp-muted);
  white-space: nowrap;
}

body.page-bubble-watch .bw-div-band {
  margin: 12px 0;
  padding: 10px 14px;
  background: #fef2f2;
  border: 1px solid #fecaca;
  border-radius: 0;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 12px;
}

body.page-bubble-watch .bw-div-num {
  font-family: var(--font-mono);
  font-size: 24px;
  font-weight: 700;
  color: var(--hp-sym-down);
  line-height: 1;
}

body.page-bubble-watch .bw-div-copy {
  font-family: var(--font-sans);
  font-size: 13px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--hp-sym-down);
}

body.page-bubble-watch .bw-div-sub {
  font-size: 13px;
  color: var(--hp-body);
  margin-top: 2px;
}

body.page-bubble-watch .bw-gauge-footer {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 16px;
  padding-top: 14px;
  border-top: 1px solid var(--hp-line);
}

body.page-bubble-watch .bw-gauge-ts {
  font-family: var(--font-mono);
  font-size: 12.5px;
  color: var(--hp-muted);
}

/* ── Convergence verdict ── */
body.page-bubble-watch .bw-cv {
  border: 2px solid #fecaca;
  border-radius: 0;
  padding: clamp(16px, 3vw, 24px);
  background: #fef2f2;
  margin-bottom: 24px;
}

body.page-bubble-watch .bw-cv-flag {
  font-family: var(--font-sans);
  font-size: clamp(14px, 2vw, 18px);
  font-weight: 700;
  color: var(--hp-sym-down);
  margin: 0 0 6px;
  display: flex;
  align-items: center;
  gap: 10px;
}

body.page-bubble-watch .bw-cv-flag-dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: var(--hp-sym-down);
  animation: bw-pulse 1.5s ease-in-out infinite;
}

body.page-bubble-watch .bw-cv-count {
  font-family: var(--font-mono);
  font-size: 13px;
  color: var(--hp-body);
  margin: 0 0 12px;
}

body.page-bubble-watch .bw-cv-note {
  font-size: 14px;
  line-height: 1.65;
  color: var(--hp-body);
  margin: 0;
  max-width: 44rem;
}

body.page-bubble-watch .bw-cv-note strong {
  color: var(--hp-ink);
}

/* ── Indicator details ── */
body.page-bubble-watch .bw-indicators {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

body.page-bubble-watch .bw-ind {
  background: var(--hp-paper);
  border: 1px solid var(--hp-line);
  border-radius: 0;
  overflow: hidden;
}

body.page-bubble-watch .bw-ind--red { border-left: 3px solid var(--hp-sym-down); }
body.page-bubble-watch .bw-ind--ambred { border-left: 3px solid #ea580c; }
body.page-bubble-watch .bw-ind--amber { border-left: 3px solid var(--hp-amber, #d97706); }
body.page-bubble-watch .bw-ind--green { border-left: 3px solid var(--hp-sym-up); }

body.page-bubble-watch .bw-ind summary {
  list-style: none;
  cursor: pointer;
}

body.page-bubble-watch .bw-ind summary::-webkit-details-marker {
  display: none;
}

body.page-bubble-watch .hp-exhibit-id {
  margin-bottom: 10px;
}

body.page-bubble-watch .bw-ind-breakdown-hd {
  margin: 28px 0 14px;
  padding-top: 20px;
  border-top: 1px solid var(--hp-line);
}

body.page-bubble-watch .bw-ind-breakdown-h {
  font-size: 18px;
  font-weight: 700;
  color: var(--hp-ink);
  margin: 0 0 6px;
}

body.page-bubble-watch .bw-ind-breakdown-dek {
  font-size: 14px;
  color: var(--hp-muted);
  margin: 0;
}

body.page-bubble-watch .bw-ind-panel {
  display: grid;
  gap: 0;
  border-top: 1px solid var(--hp-line);
}

body.page-bubble-watch .bw-ind-block {
  padding: 16px 18px;
  border-bottom: 1px solid var(--hp-line);
}

body.page-bubble-watch .bw-ind-block:last-child {
  border-bottom: none;
}

body.page-bubble-watch .bw-ind-block--reading {
  background: var(--hp-paper);
}

body.page-bubble-watch .bw-ind-block--donkey {
  background: var(--hp-grey);
  border-left: 3px solid var(--hp-blue);
}

body.page-bubble-watch .bw-ind-block--sources {
  background: var(--hp-paper);
}

body.page-bubble-watch .bw-ind-block--gaps {
  border-left: 3px solid #d97706;
  background: #fffbeb;
}

body.page-bubble-watch .bw-ind-block-h {
  font-family: var(--font-sans);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--hp-muted);
  margin: 0 0 10px;
}

body.page-bubble-watch .bw-ind-block-body {
  font-size: 14px;
  line-height: 1.68;
  color: var(--hp-body);
}

body.page-bubble-watch .bw-ind-block--donkey .bw-ind-adc-note {
  margin: 0;
  padding: 0;
  background: transparent;
  border: none;
  font-style: italic;
}

body.page-bubble-watch .bw-ind-sources .bw-prov {
  margin: 0;
  padding: 0;
  border: none;
  background: transparent;
}

body.page-bubble-watch .bw-ind-sources .bw-prov-lbl {
  display: none;
}

body.page-bubble-watch .bw-ind-sources .bw-prov-text {
  margin: 0;
  font-size: 13px !important;
  line-height: 1.65 !important;
}

body.page-bubble-watch .bw-ind-sources .bw-prov-text strong {
  display: block;
  margin-top: 12px;
  padding-top: 12px;
  border-top: 1px solid var(--hp-line);
  font-size: 12px;
  font-weight: 700;
  color: var(--hp-ink);
}

body.page-bubble-watch .bw-ind-sources .bw-prov-text strong:first-child {
  margin-top: 0;
  padding-top: 0;
  border-top: none;
}

body.page-bubble-watch .bw-ind-toggle::after {
  content: ' ↓ expand';
}

body.page-bubble-watch details[open] .bw-ind-toggle::after {
  content: ' ↑ collapse';
}

body.page-bubble-watch .bw-ind-hd {
  padding: 14px 18px;
  display: flex;
  align-items: flex-start;
  gap: 12px;
  flex-wrap: wrap;
}

body.page-bubble-watch .bw-ind-num {
  font-family: var(--font-mono);
  font-size: 10px;
  font-weight: 700;
  color: var(--hp-muted);
  flex-shrink: 0;
  padding-top: 2px;
}

body.page-bubble-watch .bw-ind-name {
  font-size: 15px;
  font-weight: 700;
  color: var(--hp-ink);
  margin: 0 0 4px;
}

body.page-bubble-watch .bw-ind-score {
  font-family: var(--font-mono);
  font-size: 12px;
  font-weight: 700;
  color: var(--hp-ink);
}

body.page-bubble-watch .bw-ind-meta {
  margin-left: auto;
  display: flex;
  align-items: flex-start;
  gap: 8px;
  flex-wrap: wrap;
}

body.page-bubble-watch .bw-ind-toggle {
  font-family: var(--font-mono);
  font-size: 12.5px;
  color: var(--hp-muted);
}

body.page-bubble-watch .bw-ind-body {
  padding: 0;
  border-top: none;
}

body.page-bubble-watch .bw-ind-analysis {
  margin: 0 0 12px;
}

body.page-bubble-watch .bw-ind-analysis:last-child {
  margin-bottom: 0;
}

/* legacy - remove duplicate if present */
body.page-bubble-watch .bw-ind-body-inner {
  padding: 0;
}

body.page-bubble-watch .bw-ind-adc-note {
  font-size: 14px;
  line-height: 1.65;
  color: var(--hp-body);
  font-style: italic;
  padding: 12px 14px;
  background: var(--hp-grey);
  border-radius: 0;
  border-left: 3px solid var(--hp-blue);
  margin: 0 0 14px;
}

/* ── Provisional blocks ── */
body.page-bubble-watch .bw-prov {
  background: #fffbeb;
  border: 1px solid #fde68a;
  border-left: 3px solid #d97706;
  border-radius: 0;
  padding: 12px 14px;
  margin: 10px 0;
}

body.page-bubble-watch .bw-prov-lbl {
  font-family: var(--font-mono);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #b45309;
  display: block;
  margin-bottom: 6px;
}

body.page-bubble-watch .bw-prov-text {
  font-size: 12px;
  line-height: 1.6;
  color: var(--hp-body);
  margin: 0;
}

/* ── Framework grid ── */
body.page-bubble-watch .bw-fw-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(100%, 300px), 1fr));
  gap: 12px;
}

body.page-bubble-watch .bw-fw-card {
  background: var(--hp-paper);
  border: 1px solid var(--hp-line);
  border-radius: 0;
  padding: 18px;
}

body.page-bubble-watch .bw-section--grey .bw-fw-card {
  background: var(--hp-paper);
}

body.page-bubble-watch .bw-fw-num {
  font-family: var(--font-mono);
  font-size: 10px;
  font-weight: 700;
  color: var(--hp-muted);
  display: block;
  margin-bottom: 6px;
}

body.page-bubble-watch .bw-fw-name {
  font-size: 15px;
  font-weight: 700;
  color: var(--hp-ink);
  margin: 0 0 6px;
}

body.page-bubble-watch .bw-fw-q {
  font-size: 12px;
  color: var(--hp-blue);
  line-height: 1.5;
  margin: 0 0 8px;
  font-style: italic;
}

body.page-bubble-watch .bw-fw-body {
  font-size: 13px;
  line-height: 1.65;
  color: var(--hp-body);
  margin: 0 0 8px;
}

body.page-bubble-watch .bw-fw-footer {
  margin-top: 8px;
  padding-top: 8px;
  border-top: 1px solid var(--hp-line);
  font-family: var(--font-mono);
  font-size: 10px;
  color: var(--hp-muted);
  line-height: 1.55;
}

/* ── Tables ── */
body.page-bubble-watch .bw-conv-tbl,
body.page-bubble-watch .bw-meth-tbl {
  width: 100%;
  border-collapse: collapse;
  font-size: 13px;
  margin: 16px 0;
}

body.page-bubble-watch .bw-conv-tbl th,
body.page-bubble-watch .bw-meth-tbl th {
  text-align: left;
  font-size: 11px;
  font-weight: 600;
  color: var(--hp-muted);
  padding: 0 12px 10px 0;
  border-bottom: 1px solid var(--hp-line);
}

body.page-bubble-watch .bw-conv-tbl td,
body.page-bubble-watch .bw-meth-tbl td {
  padding: 11px 12px 11px 0;
  border-bottom: 1px solid var(--hp-line);
  vertical-align: top;
  color: var(--hp-body);
  line-height: 1.55;
}

body.page-bubble-watch .bw-meth-tbl td:first-child {
  color: var(--hp-ink);
  font-weight: 600;
}

body.page-bubble-watch .bw-meth-tbl td:last-child {
  font-family: var(--font-mono);
  font-size: 11px;
}

body.page-bubble-watch .bw-conv-tbl tr.bw-conv-hl td {
  background: #fef2f2;
  color: var(--hp-ink);
}

body.page-bubble-watch .bw-conv-n {
  font-family: var(--font-mono);
  font-size: 24px;
  font-weight: 700;
  color: var(--hp-ink);
}

body.page-bubble-watch .bw-conv-n--red {
  color: var(--hp-sym-down);
}

body.page-bubble-watch .bw-conv-tag {
  font-family: var(--font-mono);
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
}

body.page-bubble-watch .bw-conv-tag--red { color: var(--hp-sym-down); }
body.page-bubble-watch .bw-conv-tag--amb { color: #d97706; }
body.page-bubble-watch .bw-conv-tag--dim { color: var(--hp-muted); }

/* ── Limits ── */
body.page-bubble-watch .bw-limits-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(100%, 240px), 1fr));
  gap: 12px;
  margin: 20px 0 24px;
}

body.page-bubble-watch .bw-limit-card {
  background: var(--hp-paper);
  border: 1px solid var(--hp-line);
  border-radius: 0;
  padding: 16px;
}

body.page-bubble-watch .bw-limit-n {
  font-family: var(--font-mono);
  font-size: 22px;
  font-weight: 700;
  color: var(--hp-line);
  display: block;
  margin-bottom: 8px;
}

body.page-bubble-watch .bw-limit-title {
  font-size: 14px;
  font-weight: 700;
  color: var(--hp-ink);
  margin: 0 0 6px;
}

body.page-bubble-watch .bw-limit-body {
  font-size: 13px;
  line-height: 1.65;
  color: var(--hp-body);
  margin: 0;
}

/* ── Prose ── */
body.page-bubble-watch .bw-p {
  font-size: 15px;
  line-height: 1.7;
  color: var(--hp-body);
  margin: 0 0 14px;
  max-width: 42rem;
}

body.page-bubble-watch .bw-p strong,
body.page-bubble-watch .bw-strong {
  color: var(--hp-ink);
  font-weight: 600;
}

@media (max-width: 640px) {
  body.page-bubble-watch .bw-ind-meta {
    width: 100%;
    margin-left: 0;
  }

  body.page-bubble-watch .bw-bar-pin-lbl {
    display: none;
  }
}

/* ── Paper write-up band (white content above → light blue at page end) ── */
body.page-bubble-watch .bw-section--paper-writeup {
  background: var(--hp-grey, #eef1f6) !important;
  border-top: 1px solid rgba(15, 23, 42, 0.06);
}

/* Full width of the secnav section column — not the 760px prose cap */
body.page-bubble-watch .bw-section--paper-writeup .bw-section-deck {
  max-width: none;
}

body.page-bubble-watch .bw-section--paper-writeup .bw-paper-prose,
body.page-bubble-watch .bw-section--paper-writeup .bw-paper-block .bw-paper-prose {
  max-width: none;
}

/* ── Pyramid — all 52 by layer ── */
body.page-bubble-watch .bw-pyramid-section {
  padding: clamp(48px, 6vw, 72px) 0;
  background: var(--bw-page-bg);
}

body.page-bubble-watch .bw-pyramid-section.secnav-band--grey {
  background: var(--bw-page-bg) !important;
}

body.page-bubble-watch .bw-pyramid-intro {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 2fr);
  gap: clamp(20px, 3vw, 32px);
  align-items: start;
  margin-bottom: clamp(36px, 5vw, 56px);
}

body.page-bubble-watch .bw-pyramid-interlace {
  width: 100%;
  min-width: 0;
}

body.page-bubble-watch .bw-layer-unified {
  scroll-margin-top: 88px;
  padding: clamp(28px, 4vw, 40px) 0;
  border-top: 1px solid var(--hp-line);
}

body.page-bubble-watch .bw-layer-unified:first-child {
  border-top: none;
  padding-top: 0;
}

body.page-bubble-watch .bw-layer-unified .bw-layer-prose {
  max-width: none;
  margin-bottom: clamp(12px, 2vw, 18px);
}

body.page-bubble-watch .bw-layer-unified .bw-layer-prose p:last-child {
  margin-bottom: 0;
}

body.page-bubble-watch .bw-layer--interlaced {
  margin-bottom: 0;
  scroll-margin-top: 0;
}

body.page-bubble-watch .bw-layer-hd--compact {
  margin-bottom: 14px;
  padding-top: 0;
  border-top: none;
}

body.page-bubble-watch .bw-layer-hd--compact .bw-layer-summary {
  font-family: var(--font-mono);
  font-size: 12px;
  line-height: 1.55;
  color: var(--hp-muted);
  margin: 0;
}

body.page-bubble-watch .bw-layer-unified .bw-co-grid {
  margin-top: 4px;
}

/* ── 2008 vs Now two-tapes comparison ── */
body.page-bubble-watch .bw-tapes-compare {
  margin: clamp(28px, 4vw, 44px) 0 clamp(32px, 4vw, 48px);
  padding: clamp(24px, 3vw, 32px);
  background: var(--hp-paper);
  border: 1px solid var(--hp-line);
}

body.page-bubble-watch .bw-tapes-compare-title {
  font-size: clamp(18px, 2.4vw, 24px);
  font-weight: 800;
  color: var(--hp-ink);
  margin: 0 0 8px;
  letter-spacing: -0.02em;
}

body.page-bubble-watch .bw-tapes-compare-dek {
  font-size: 14px;
  line-height: 1.6;
  color: var(--hp-body);
  margin: 0 0 20px;
  max-width: 52rem;
}

body.page-bubble-watch .bw-tapes-panels {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(16px, 2.5vw, 28px);
  align-items: start;
}

@media (max-width: 900px) {
  body.page-bubble-watch .bw-tapes-panels {
    grid-template-columns: 1fr;
  }
}

body.page-bubble-watch .bw-tapes-panel {
  min-width: 0;
  padding: clamp(16px, 2vw, 20px);
  background: var(--hp-grey);
  border: 1px solid var(--hp-line);
}

body.page-bubble-watch .bw-tapes-panel-label {
  display: block;
  font-family: var(--font-mono);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--hp-muted);
  margin-bottom: 12px;
}

body.page-bubble-watch .bw-tapes-open-badge {
  display: inline-block;
  margin-left: 6px;
  padding: 2px 8px;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--hp-blue);
  background: rgba(37, 99, 235, 0.1);
  border: 1px solid rgba(37, 99, 235, 0.25);
  vertical-align: middle;
}

body.page-bubble-watch .bw-stat-row--compact {
  margin-bottom: 12px;
}

body.page-bubble-watch .bw-stat-row--compact .bw-stat-cell {
  padding: 10px 12px;
}

body.page-bubble-watch .bw-stat-row--compact .bw-stat-val {
  font-size: clamp(16px, 2vw, 20px);
}

body.page-bubble-watch .bw-ac-chart-wrap--tall {
  height: 280px;
}

body.page-bubble-watch .bw-tapes-honesty {
  margin-top: clamp(16px, 2vw, 24px);
  padding-top: 16px;
  border-top: 1px solid var(--hp-line);
}

body.page-bubble-watch .bw-tapes-honesty-line {
  font-size: 12px;
  line-height: 1.6;
  color: var(--hp-muted);
  margin: 0 0 8px;
  max-width: none;
}

body.page-bubble-watch .bw-tapes-honesty-line--dis {
  font-style: italic;
  margin-bottom: 0;
}

body.page-bubble-watch .bw-repro-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
  margin: 20px 0 24px;
}

@media (max-width: 720px) {
  body.page-bubble-watch .bw-repro-grid {
    grid-template-columns: 1fr;
  }
}

body.page-bubble-watch .bw-repro-card {
  padding: 16px 18px;
  background: var(--hp-grey);
  border: 1px solid var(--hp-line);
}

body.page-bubble-watch .bw-repro-card-val {
  display: block;
  font-size: clamp(22px, 3vw, 28px);
  font-weight: 800;
  color: var(--hp-ink);
  line-height: 1.1;
}

body.page-bubble-watch .bw-repro-card-lbl {
  display: block;
  font-family: var(--font-mono);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: var(--hp-muted);
  margin-bottom: 6px;
}

body.page-bubble-watch .bw-repro-card-sub {
  display: block;
  font-size: 12px;
  line-height: 1.5;
  color: var(--hp-body);
  margin-top: 6px;
}

body.page-bubble-watch .bw-layer-block {
  scroll-margin-top: 88px;
  padding-top: clamp(32px, 4vw, 48px);
  margin-bottom: clamp(12px, 2vw, 20px);
  border-top: 1px solid var(--hp-line);
}

body.page-bubble-watch .bw-layer-block:first-child {
  border-top: none;
  padding-top: 0;
}

body.page-bubble-watch .bw-layer-prose {
  max-width: none;
  margin-bottom: clamp(20px, 3vw, 32px);
}

body.page-bubble-watch .bw-layer-prose h4 {
  font-size: clamp(18px, 2.2vw, 22px);
  font-weight: 800;
  color: var(--hp-ink);
  margin: 0 0 12px;
  letter-spacing: -0.02em;
  line-height: 1.25;
}

body.page-bubble-watch .bw-layer-prose p {
  max-width: 52rem;
}

body.page-bubble-watch #bw-pyramid-interlace .bw-layer-prose p {
  max-width: none;
}

body.page-bubble-watch .bw-layer-visual .bw-layer {
  margin-bottom: 0;
}

body.page-bubble-watch .bw-layer-6-mount {
  margin-top: clamp(24px, 3vw, 36px);
  padding-top: clamp(32px, 4vw, 48px);
  border-top: 1px solid var(--hp-line);
}

body.page-bubble-watch .bw-pyramid-intro-copy {
  min-width: 0;
  background: var(--hp-paper);
  border: 1px solid var(--hp-line);
  padding: clamp(20px, 3vw, 28px);
}

body.page-bubble-watch .bw-pyramid-intro-copy .bw-section-h2 {
  margin-bottom: 12px;
  font-size: clamp(20px, 2.2vw, 26px);
}

body.page-bubble-watch .bw-pyramid-intro-copy .bw-section-deck {
  margin-bottom: 0;
}

body.page-bubble-watch .bw-pyramid-intro-diagram {
  min-width: 0;
  min-height: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: stretch;
}

@media (max-width: 900px) {
  body.page-bubble-watch .bw-pyramid-intro {
    grid-template-columns: 1fr;
  }

  body.page-bubble-watch .bw-pyramid-intro-diagram {
    width: 100%;
    margin: 0;
    min-height: 0;
    height: auto;
  }

  body.page-bubble-watch .bw-pyr-diagram {
    min-height: 0;
    height: auto;
  }

  body.page-bubble-watch .bw-pyr-stack {
    flex: none;
    justify-content: flex-start;
  }

  body.page-bubble-watch .bw-pyr-tier {
    flex: none;
    min-height: 0;
  }
}

body.page-bubble-watch .bw-pyr-diagram {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
  border: none;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  flex: 1 1 auto;
  min-height: 100%;
  height: 100%;
  box-sizing: border-box;
}

body.page-bubble-watch .bw-pyr-diagram-cap {
  font-family: var(--font-mono);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--hp-ink);
  text-align: center;
  margin: 0;
  flex-shrink: 0;
}

body.page-bubble-watch .bw-pyr-diagram-cap--base {
  margin: 0;
  padding-top: 8px;
}

body.page-bubble-watch .bw-pyr-stack {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: space-between;
  gap: 4px;
  width: 100%;
  flex: 1 1 auto;
  min-height: 0;
}

body.page-bubble-watch .bw-pyr-tier {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  width: calc(var(--tier-scale) * 1%);
  min-width: 0;
  min-height: 42px;
  flex: 1 1 0;
  max-width: 100%;
  padding: 12px 16px;
  background: var(--hp-paper);
  border: 1px solid var(--hp-line);
  text-decoration: none;
  color: var(--hp-ink);
  font-size: 15px;
  line-height: 1.25;
  text-align: left;
  transition: border-color 0.15s, box-shadow 0.15s, background 0.15s;
}

body.page-bubble-watch .bw-pyr-tier-main {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
  flex: 1 1 auto;
}

body.page-bubble-watch .bw-pyr-counts {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-shrink: 0;
}

body.page-bubble-watch .bw-pyr-count {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 30px;
  height: 30px;
  padding: 0 6px;
  font-family: var(--font-mono);
  font-size: 14px;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
  line-height: 1;
}

body.page-bubble-watch .bw-pyr-count--active {
  background: var(--bw-conv-red);
  color: #0b1220;
}

body.page-bubble-watch .bw-pyr-count--moderate {
  background: var(--bw-conv-orange);
  color: #0b1220;
}

body.page-bubble-watch .bw-pyr-count--watch {
  background: var(--bw-conv-yellow);
  color: #0b1220;
}

body.page-bubble-watch .bw-pyr-count--inactive {
  background: #ffffff;
  color: #0b1220;
  border: 1px solid var(--hp-line);
}

body.page-bubble-watch .bw-pyr-tier:hover {
  border-color: var(--hp-blue);
  box-shadow: 0 6px 18px rgba(15, 23, 42, 0.08);
  background: #fff;
}

body.page-bubble-watch .bw-pyr-tier--hot {
  border-left: 3px solid var(--bw-conv-red);
}

body.page-bubble-watch .bw-pyr-tier--warm {
  border-left: 3px solid var(--bw-conv-orange);
}

body.page-bubble-watch .bw-pyr-tier--cool {
  border-left: 3px solid var(--hp-muted);
}

body.page-bubble-watch .bw-pyr-tier-num {
  font-family: var(--font-mono);
  font-size: 13px;
  font-weight: 700;
  color: var(--hp-muted);
  flex-shrink: 0;
}

body.page-bubble-watch .bw-pyr-tier-label {
  font-size: 15px;
  font-weight: 600;
  line-height: 1.2;
}

body.page-bubble-watch .bw-pyramid-layers {
  width: 100%;
  min-width: 0;
}

body.page-bubble-watch .bw-layer {
  margin-bottom: clamp(36px, 5vw, 52px);
  scroll-margin-top: 88px;
}

body.page-bubble-watch .bw-layer-unified:has(.bw-layer-prose h4) .bw-layer-hd-copy .bw-layer-title,
body.page-bubble-watch .bw-layer-unified:has(.bw-layer-prose h4) .bw-layer-hd-copy .bw-layer-role,
body.page-bubble-watch .bw-layer-block:has(.bw-layer-prose h4) .bw-layer-hd-copy .bw-layer-title,
body.page-bubble-watch .bw-layer-block:has(.bw-layer-prose h4) .bw-layer-hd-copy .bw-layer-role {
  display: none;
}

body.page-bubble-watch .bw-paper-collapse-stack > [data-bw-paper-collapse] + [data-bw-paper-collapse] {
  margin-top: 12px;
}

body.page-bubble-watch .bw-paper-collapse-stack .bw-paper-details + .bw-paper-details {
  margin-top: 16px;
}

body.page-bubble-watch .bw-paper-collapse-stack > [data-bw-paper-collapse] .bw-paper-details {
  margin-bottom: 0;
}

body.page-bubble-watch #bw-per-layer-table .bw-paper-prose table {
  font-size: 12px;
}

body.page-bubble-watch .bw-layer-hd {
  margin-bottom: 18px;
  max-width: none;
}

body.page-bubble-watch .bw-layer-hd-top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px 24px;
  flex-wrap: wrap;
}

body.page-bubble-watch .bw-layer-hd-copy {
  flex: 1 1 280px;
  max-width: 52rem;
  min-width: 0;
}

body.page-bubble-watch .bw-layer-actions {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-shrink: 0;
  padding-top: 4px;
}

body.page-bubble-watch .bw-layer-toggle {
  appearance: none;
  font: inherit;
  font-family: var(--font-mono);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  padding: 8px 12px;
  border: 1px solid var(--hp-line);
  background: var(--hp-paper);
  color: var(--hp-body);
  cursor: pointer;
  transition: border-color 0.15s, color 0.15s, background 0.15s;
}

body.page-bubble-watch .bw-layer-toggle:hover:not(:disabled) {
  border-color: var(--hp-blue);
  color: var(--hp-blue);
}

body.page-bubble-watch .bw-layer-toggle:disabled {
  opacity: 0.45;
  cursor: default;
}

body.page-bubble-watch .bw-layer--collapsed .bw-co-card-body {
  display: none;
}

body.page-bubble-watch .bw-layer--collapsed .bw-co-grid {
  grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
  gap: 8px;
}

body.page-bubble-watch .bw-layer--collapsed .bw-co-card-hd {
  flex-direction: column;
  align-items: stretch;
  gap: 10px;
}

body.page-bubble-watch .bw-layer--collapsed .bw-co-conv {
  width: 100%;
  text-align: center;
  padding: 6px 8px;
}

body.page-bubble-watch .bw-layer-title {
  font-size: clamp(22px, 2.8vw, 28px);
  font-weight: 800;
  letter-spacing: -0.03em;
  color: var(--hp-ink);
  margin: 0 0 8px;
}

body.page-bubble-watch .bw-layer-role {
  font-size: 15px;
  color: var(--hp-body);
  margin: 0 0 8px;
  line-height: 1.5;
}

body.page-bubble-watch .bw-layer-summary {
  font-family: var(--font-mono);
  font-size: 11px;
  color: var(--hp-muted);
  margin: 0;
  line-height: 1.55;
}

body.page-bubble-watch .bw-co-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: 10px;
}

body.page-bubble-watch .bw-co-card {
  appearance: none;
  font: inherit;
  text-align: left;
  cursor: pointer;
  width: 100%;
  background: var(--hp-paper);
  border: 1px solid var(--hp-line);
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 0;
  overflow: hidden;
  transition: border-color 0.15s, box-shadow 0.15s;
}

body.page-bubble-watch .bw-co-card:hover,
body.page-bubble-watch .bw-co-card[aria-expanded="true"] {
  border-color: var(--hp-blue);
  box-shadow: 0 6px 18px rgba(15, 23, 42, 0.08);
}

body.page-bubble-watch .bw-co-card--hot {
  border-left: 3px solid var(--bw-conv-red);
}

body.page-bubble-watch .bw-co-card--warm {
  border-left: 3px solid var(--bw-conv-orange);
}

body.page-bubble-watch .bw-co-card--cool {
  border-left: 3px solid var(--hp-muted);
}

body.page-bubble-watch .bw-co-card--hot:hover,
body.page-bubble-watch .bw-co-card--hot[aria-expanded="true"] {
  border-left-color: var(--bw-conv-red);
}

body.page-bubble-watch .bw-co-card--warm:hover,
body.page-bubble-watch .bw-co-card--warm[aria-expanded="true"] {
  border-left-color: var(--bw-conv-orange);
}

body.page-bubble-watch .bw-co-card--cool:hover,
body.page-bubble-watch .bw-co-card--cool[aria-expanded="true"] {
  border-left-color: var(--hp-muted);
}

body.page-bubble-watch .bw-co-card--tier-b {
  opacity: 1;
}

body.page-bubble-watch .bw-co-card-hd {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
  padding: 12px 14px;
  background: var(--hp-paper);
  color: var(--hp-ink);
  border-bottom: 1px solid var(--hp-line);
}

body.page-bubble-watch .bw-co-card-title {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 6px;
  min-width: 0;
}

body.page-bubble-watch .bw-co-card-body {
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding: 14px 14px 16px;
  flex: 1;
}

body.page-bubble-watch .bw-co-ticker {
  font-family: var(--font-mono);
  font-size: 11px;
  font-weight: 600;
  color: var(--hp-muted);
  white-space: nowrap;
}

body.page-bubble-watch .bw-co-conv {
  font-family: var(--font-mono);
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  padding: 4px 8px;
  border: none;
  flex-shrink: 0;
}

body.page-bubble-watch .bw-co-conv--active {
  background: var(--bw-conv-red);
  color: #0b1220;
}

body.page-bubble-watch .bw-co-conv--moderate {
  background: var(--bw-conv-orange);
  color: #0b1220;
}

body.page-bubble-watch .bw-co-conv--watch {
  background: var(--bw-conv-yellow);
  color: #0b1220;
}

body.page-bubble-watch .bw-co-conv--inactive {
  background: #ffffff;
  color: #0b1220;
  border: 1px solid var(--hp-line);
}

body.page-bubble-watch .bw-co-name {
  font-size: 14px;
  font-weight: 700;
  color: var(--hp-ink);
  line-height: 1.25;
}

body.page-bubble-watch .bw-co-card-hd .bw-chip--prov {
  font-size: 9px;
  padding: 2px 6px;
  border-color: var(--hp-line);
  color: var(--hp-muted);
  background: var(--hp-paper);
}

body.page-bubble-watch .bw-co-standout {
  font-size: 12px;
  line-height: 1.45;
  color: var(--hp-body);
  margin: 0;
}

body.page-bubble-watch .bw-co-standout--card {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  min-height: calc(1.45em * 2);
  flex-shrink: 0;
}

body.page-bubble-watch .bw-co-standout--full {
  font-size: 14px;
  line-height: 1.6;
  max-width: 44rem;
}

body.page-bubble-watch .bw-co-rail {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-top: 0;
  flex: 1;
  min-height: 0;
}

body.page-bubble-watch .bw-co-rail--empty {
  padding: 8px 0 2px;
}

body.page-bubble-watch .bw-co-rail-row {
  display: flex;
  flex-direction: column;
  gap: 5px;
}

body.page-bubble-watch .bw-co-rail-row-hd {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 8px;
}

body.page-bubble-watch .bw-co-rail-lbl {
  font-size: 13px;
  font-weight: 600;
  color: var(--hp-body);
  line-height: 1.25;
  min-width: 0;
}

body.page-bubble-watch .bw-co-rail-num {
  font-family: var(--font-mono);
  font-size: 12px;
  font-weight: 700;
  color: var(--hp-muted);
  text-align: right;
}

body.page-bubble-watch .bw-co-rail-track {
  position: relative;
  height: 18px;
  border: 1px solid var(--hp-line);
  background: var(--hp-grey);
  overflow: hidden;
}

body.page-bubble-watch .bw-co-rail-fill {
  display: block;
  height: 100%;
  border-radius: 0;
  min-width: 2px;
}

body.page-bubble-watch .bw-co-rail-fill--sev-red { background: var(--bw-conv-red); }
body.page-bubble-watch .bw-co-rail-fill--sev-coral { background: var(--bw-conv-orange); }
body.page-bubble-watch .bw-co-rail-fill--sev-amber { background: var(--bw-conv-yellow); }
body.page-bubble-watch .bw-co-rail-fill--sev-green { background: var(--bw-conv-green); }
body.page-bubble-watch .bw-co-rail-fill--empty { background: #e2e8f0; width: 0 !important; }

body.page-bubble-watch .bw-co-rail-val {
  font-family: var(--font-mono);
  font-size: 11px;
  font-weight: 600;
  color: var(--hp-body);
  text-align: right;
  font-variant-numeric: tabular-nums;
}

body.page-bubble-watch .bw-co-rail-meta {
  font-family: var(--font-mono);
  font-size: 12.5px;
  color: var(--hp-muted);
  margin-top: 2px;
}

/* legacy mini bars — unused on cards, kept for reference */
body.page-bubble-watch .bw-co-mini-wrap {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 8px;
  margin-top: 2px;
}

body.page-bubble-watch .bw-co-mini {
  display: flex;
  align-items: flex-end;
  gap: 3px;
  height: 36px;
  flex: 1;
}

body.page-bubble-watch .bw-co-mini-bar {
  flex: 1;
  min-width: 0;
  border-radius: 0;
  background: var(--hp-line);
}

body.page-bubble-watch .bw-co-mini-bar--hot { background: #f87171; }
body.page-bubble-watch .bw-co-mini-bar--warm { background: #fb923c; }
body.page-bubble-watch .bw-co-mini-bar--cool { background: #94a3b8; }
body.page-bubble-watch .bw-co-mini-bar--empty { background: #e2e8f0; height: 4px !important; }

body.page-bubble-watch .bw-co-mini-meta {
  font-family: var(--font-mono);
  font-size: 12.5px;
  color: var(--hp-muted);
}

body.page-bubble-watch .bw-layer-floor-links {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 12px;
}

body.page-bubble-watch .bw-layer--floor .bw-floor-tile {
  display: flex;
  flex-direction: column;
  gap: 6px;
  padding: 18px 16px;
  border: 1px solid var(--hp-line);
  background: var(--hp-paper);
  text-decoration: none;
  color: inherit;
}

body.page-bubble-watch .bw-layer--floor .bw-floor-tile:hover {
  border-color: var(--hp-blue);
}

body.page-bubble-watch .bw-layer--floor .bw-floor-tile-n {
  font-size: 13px;
  font-weight: 700;
  color: var(--hp-ink);
}

body.page-bubble-watch .bw-layer--floor .bw-floor-tile-val {
  font-size: clamp(22px, 3vw, 28px);
  font-weight: 800;
  color: var(--hp-sym-down);
}

body.page-bubble-watch .bw-layer--floor .bw-floor-tile-desc {
  font-size: 13px;
  color: var(--hp-body);
  line-height: 1.5;
}

body.page-bubble-watch .bw-layer--floor .bw-floor-tile-arrow {
  font-size: 12px;
  font-weight: 600;
  color: var(--hp-blue);
  margin-top: 4px;
}

body.page-bubble-watch .bw-company-panel {
  position: fixed;
  inset: 0;
  z-index: 5000;
  display: flex;
  align-items: stretch;
  justify-content: flex-end;
}

body.page-bubble-watch .bw-company-panel[hidden] {
  display: none;
}

body.page-bubble-watch.bw-panel-open {
  overflow: hidden;
}

body.page-bubble-watch .bw-company-panel-backdrop {
  flex: 1;
  background: rgba(2, 6, 23, 0.45);
  border: none;
  cursor: pointer;
}

body.page-bubble-watch .bw-company-panel-sheet {
  width: min(640px, 100%);
  max-height: 100vh;
  overflow: auto;
  background: var(--hp-paper);
  border-left: 1px solid var(--hp-line);
  box-shadow: -20px 0 60px rgba(15, 23, 42, 0.18);
}

body.page-bubble-watch .bw-company-panel-hd {
  position: sticky;
  top: 0;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 14px 16px;
  border-bottom: 1px solid var(--hp-line);
  background: var(--hp-paper);
}

body.page-bubble-watch .bw-company-panel-hd span {
  font-weight: 800;
  font-size: 14px;
}

body.page-bubble-watch .bw-company-panel-close {
  border: 1px solid var(--hp-line);
  background: var(--hp-grey);
  font-size: 20px;
  line-height: 1;
  width: 36px;
  height: 36px;
  cursor: pointer;
}

body.page-bubble-watch .bw-company-panel-body {
  padding: 16px;
}

body.page-bubble-watch .bw-company-panel-body .bw-metric-grid {
  margin-bottom: 16px;
}

body.page-bubble-watch .bw-company-panel-body .bw-chart-pair {
  margin: 0 0 20px;
}

body.page-bubble-watch .bw-company-panel-body .bw-chart-pair--solo {
  grid-template-columns: 1fr;
}

body.page-bubble-watch .bw-cv--panel {
  margin: 0 0 16px;
}

body.page-bubble-watch .bw-company-panel-body .bw-ind-breakdown-h {
  font-size: 15px;
}

body.page-bubble-watch .bw-panel-title {
  font-size: 22px;
  font-weight: 800;
  margin: 6px 0 10px;
}

body.page-bubble-watch .bw-panel-lede {
  font-size: 14px;
  line-height: 1.6;
  color: var(--hp-body);
  margin: 0 0 16px;
}

body.page-bubble-watch .bw-panel-verdict {
  font-size: 13px;
  line-height: 1.55;
  color: var(--hp-body);
  margin: 0 0 16px;
  padding: 12px 14px;
  border: 1px solid var(--hp-line);
  background: var(--hp-grey);
}

body.page-bubble-watch .bw-panel-flags {
  margin: 8px 0 4px;
}

body.page-bubble-watch .bw-chip--flag-danger {
  background: #fee2e2;
  color: #b91c1c;
  border-color: #fecaca;
}

body.page-bubble-watch .bw-chip--flag-watch {
  background: #fef3c7;
  color: #b45309;
  border-color: #fde68a;
}

body.page-bubble-watch .bw-panel-lede--tier-b {
  font-family: var(--font-mono);
  font-size: 12px;
  letter-spacing: 0.02em;
  color: var(--hp-muted);
}

body.page-bubble-watch .bw-ind-block--bull .bw-ind-block-h {
  color: var(--hp-sym-up);
}

body.page-bubble-watch .bw-ind-block--bear .bw-ind-block-h {
  color: var(--hp-sym-down);
}

body.page-bubble-watch .bw-burry-block,
body.page-bubble-watch .bw-limits-block {
  margin-top: 24px;
  padding-top: 18px;
  border-top: 1px solid var(--hp-line);
}

body.page-bubble-watch .bw-burry-list {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

body.page-bubble-watch .bw-burry-item {
  border: 1px solid var(--hp-line);
  background: var(--hp-paper);
}

body.page-bubble-watch .bw-burry-q {
  cursor: pointer;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.45;
  padding: 12px 14px;
  list-style: none;
  color: var(--hp-ink);
}

body.page-bubble-watch .bw-burry-q::-webkit-details-marker {
  display: none;
}

body.page-bubble-watch .bw-burry-a {
  font-size: 13px;
  line-height: 1.6;
  color: var(--hp-body);
  margin: 0;
  padding: 0 14px 12px;
}

body.page-bubble-watch .bw-limits-list {
  margin: 0;
  padding-left: 18px;
  color: var(--hp-body);
  font-size: 13px;
  line-height: 1.55;
}

body.page-bubble-watch .bw-limits-list li + li {
  margin-top: 8px;
}

body.page-bubble-watch .bw-panel-scroll {
  display: inline-flex;
  text-decoration: none;
}

body.page-bubble-watch .bw-ac-chart-wrap--sm {
  height: 200px;
}

@media (max-width: 640px) {
  body.page-bubble-watch .bw-company-panel-sheet {
    width: 100%;
  }
}

/* ── Inline anchor scorecards (data-driven, bubble-watch-config.js) ── */
body.page-bubble-watch .bw-inline-anchor {
  border-top: 1px solid var(--hp-border, #d8dee9);
}

body.page-bubble-watch .bw-inline-anchor + .bw-inline-anchor {
  margin-top: 0;
}

body.page-bubble-watch #bw-inline-anchors:empty {
  display: none;
}

/* ── Scorecard hub — L1 sub-navigation ── */
body.page-bubble-watch .bw-l1-subnav {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 12px 14px;
  margin-bottom: clamp(18px, 2.5vw, 24px);
  border: 2px solid var(--hp-border, #c5cdd8);
  background: var(--hp-surface-alt, #f4f6f9);
}

body.page-bubble-watch .bw-l1-subnav-label {
  flex-shrink: 0;
  font-family: var(--font-mono, 'JetBrains Mono', monospace);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--hp-muted, #64748b);
  padding-top: 8px;
  min-width: 52px;
}

body.page-bubble-watch .bw-l1-subnav-track {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  flex: 1;
  min-width: 0;
}

body.page-bubble-watch .bw-l1-subnav-btn {
  font-family: var(--font-mono, 'JetBrains Mono', monospace);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.04em;
  padding: 7px 12px;
  border: 1px solid var(--hp-border, #d8dee9);
  background: var(--hp-surface, #fff);
  color: var(--hp-body, #334155);
  cursor: pointer;
  border-left-width: 3px;
  transition: background 0.12s, color 0.12s, border-color 0.12s;
}

body.page-bubble-watch .bw-l1-subnav-btn:hover {
  background: var(--hp-surface-alt, #eef1f6);
}

body.page-bubble-watch .bw-l1-subnav-btn.is-active {
  background: var(--hp-ink, #0f172a);
  color: #fff;
  border-color: var(--hp-ink, #0f172a);
}

body.page-bubble-watch .bw-l1-subnav-btn--active { border-left-color: var(--bw-conv-red, #d96565); }
body.page-bubble-watch .bw-l1-subnav-btn--moderate { border-left-color: var(--bw-conv-orange, #e89456); }
body.page-bubble-watch .bw-l1-subnav-btn--watch { border-left-color: var(--bw-conv-yellow, #f0c14b); }
body.page-bubble-watch .bw-l1-subnav-btn--inactive { border-left-color: var(--hp-border, #d8dee9); }

body.page-bubble-watch .bw-l1-subnav-btn.is-active.bw-l1-subnav-btn--active,
body.page-bubble-watch .bw-l1-subnav-btn.is-active.bw-l1-subnav-btn--moderate,
body.page-bubble-watch .bw-l1-subnav-btn.is-active.bw-l1-subnav-btn--watch,
body.page-bubble-watch .bw-l1-subnav-btn.is-active.bw-l1-subnav-btn--inactive {
  border-left-color: #fff;
}

body.page-bubble-watch .bw-scorecard-pane[hidden] {
  display: none !important;
}

body.page-bubble-watch .bw-scorecard-view {
  min-height: 120px;
}

@media (max-width: 640px) {
  body.page-bubble-watch .bw-l1-subnav {
    flex-direction: column;
  }
  body.page-bubble-watch .bw-l1-subnav-track {
    overflow-x: auto;
    flex-wrap: nowrap;
    padding-bottom: 4px;
  }
}

/* ── Scorecard roadmap banner + integration section ── */
body.page-bubble-watch .bw-roadmap-banner {
  font-family: var(--font-sans);
  font-size: 12px;
  color: var(--hp-muted, #64748b);
  margin: 0 0 16px;
  padding: 8px 12px;
  background: var(--hp-surface-alt, #eef1f6);
  border: 1px solid var(--hp-line, #d8dee9);
  border-radius: 4px;
}
body.page-bubble-watch .bw-roadmap-banner a {
  color: var(--hp-blue, #2563eb);
  font-weight: 600;
  text-decoration: none;
}
body.page-bubble-watch .bw-roadmap-banner a:hover {
  text-decoration: underline;
}

body.page-bubble-watch .bw-roadmap-h3 {
  font-family: var(--font-sans);
  font-size: 15px;
  font-weight: 700;
  color: var(--hp-ink);
  margin: 28px 0 10px;
  letter-spacing: -0.01em;
}
body.page-bubble-watch .bw-roadmap-callout {
  font-family: var(--font-sans);
  font-size: 13px;
  padding: 12px 14px;
  margin: 16px 0;
  background: #fff;
  border: 1px solid var(--hp-line);
  border-left: 3px solid var(--hp-blue);
}
body.page-bubble-watch .bw-roadmap-tbl {
  font-size: 12.5px;
}
body.page-bubble-watch .bw-roadmap-tbl td:first-child {
  font-weight: 600;
  white-space: nowrap;
}
body.page-bubble-watch .bw-roadmap-phases {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
  gap: 12px;
  margin: 12px 0 20px;
}
body.page-bubble-watch .bw-roadmap-phase {
  background: #fff;
  border: 1px solid var(--hp-line);
  padding: 14px 16px;
}
body.page-bubble-watch .bw-roadmap-phase-n {
  font-family: var(--font-mono, monospace);
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--hp-blue);
}
body.page-bubble-watch .bw-roadmap-phase-title {
  font-family: var(--font-sans);
  font-size: 13px;
  font-weight: 700;
  margin: 6px 0 8px;
  color: var(--hp-ink);
}
body.page-bubble-watch .bw-roadmap-list {
  margin: 0;
  padding-left: 1.1rem;
  font-family: var(--font-sans);
  font-size: 12.5px;
  line-height: 1.55;
  color: var(--hp-body);
}
body.page-bubble-watch .bw-roadmap-list li {
  margin: 4px 0;
}
body.page-bubble-watch .bw-roadmap-decisions li {
  margin: 8px 0;
}
body.page-bubble-watch .bw-roadmap-pre {
  font-family: var(--font-mono, monospace);
  font-size: 11px;
  line-height: 1.5;
  padding: 14px 16px;
  margin: 10px 0 16px;
  background: var(--hp-ink, #0f172a);
  color: #e2e8f0;
  border-radius: 4px;
  overflow-x: auto;
  white-space: pre;
}
body.page-bubble-watch .bw-roadmap-foot {
  font-size: 13px;
  color: var(--hp-muted);
  margin-top: 24px;
  padding-top: 16px;
  border-top: 1px solid var(--hp-line);
}

/* ── Bubble Watch format sub-nav (two-row secnav-mini, sticky below ticker) ── */
body.page-bubble-watch .bw-page-hero {
  scroll-margin-top: var(--site-fixed-header-total, 56px);
}
body.page-bubble-watch .format-hero-split--solo {
  display: block;
  max-width: min(920px, 100%);
}
body.page-bubble-watch .format-hero-split--solo.hero-top-row {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: clamp(8px, 2vw, 16px);
  max-width: none;
  width: 100%;
}
body.page-bubble-watch .format-hero-split--solo.hero-top-row .format-hero-split-main {
  flex: 1 1 auto;
  min-width: 0;
  max-width: none;
}
@media (max-width: 768px) {
  body.page-bubble-watch .format-hero-split.hero-top-row {
    flex-direction: row;
    align-items: flex-end;
    justify-content: space-between;
  }

  body.page-bubble-watch .format-hero-split.hero-top-row .site-social-strip--hero {
    align-self: flex-end;
  }
}
body.page-bubble-watch .bw-page-hero-meta {
  margin-top: 14px;
  display: grid;
  gap: 10px;
}
body.page-bubble-watch .bw-page-hero-byline {
  margin: 0;
  font-family: var(--font-mono, 'JetBrains Mono', monospace);
  font-size: 11px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--hp-muted, #64748b);
}
body.page-bubble-watch .bw-page-hero-pdf {
  font-size: 13px;
}

body.page-bubble-watch .home-ticker + .bw-format-secnav,
body.page-bubble-watch .bw-page-hero + .home-ticker + .bw-format-secnav,
body.page-bubble-watch #bw-page-hero + .home-ticker + .bw-format-secnav {
  /* ticker between hero and subnav */
}
body.page-bubble-watch .bw-format-secnav {
  position: sticky;
  top: var(--site-fixed-header-total, 56px);
  z-index: 55;
  background: rgba(255, 255, 255, 0.96);
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  border-bottom: 1px solid var(--hp-line, #d8dee9);
}
body.page-bubble-watch #bw-main > section,
body.page-bubble-watch #bw-main > .bw-section {
  scroll-margin-top: calc(var(--site-fixed-header-total, 56px) + 96px);
}
body.page-bubble-watch .bw-format-secnav-inner {
  max-width: min(1340px, 93vw);
  margin: 0 auto;
  padding-top: 8px;
  padding-bottom: 9px;
  padding-left: calc(clamp(16px, 4vw, 28px) + env(safe-area-inset-left, 0px));
  padding-right: calc(clamp(16px, 4vw, 28px) + env(safe-area-inset-right, 0px));
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 6px;
  box-sizing: border-box;
}
body.page-bubble-watch .bw-format-secnav-row {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  justify-content: space-between;
  gap: 5px 6px;
  margin: 0;
  min-width: 0;
  overflow: visible;
  width: 100%;
}
body.page-bubble-watch .bw-format-secnav-row .secnav-mini-btn {
  flex: 1 1 auto;
  min-width: 0;
  max-width: 100%;
  white-space: nowrap;
  font-size: 11.5px;
  font-weight: 600;
  padding: 6px 8px;
  text-align: center;
  line-height: 1.15;
}
@media (min-width: 720px) {
  body.page-bubble-watch .bw-format-secnav-row .secnav-mini-btn {
    flex: 1 1 0;
    font-size: 12px;
    padding: 6px 10px;
  }
}
body.page-bubble-watch .bw-conv-key--format-nav {
  flex: 0 0 auto;
  margin-left: auto;
  white-space: nowrap;
}
/* Per-layer + scorecards: key on its own row — never overlaps pills */
body.page-bubble-watch .bw-format-secnav-inner--key {
  flex-wrap: wrap;
  row-gap: 6px;
}
body.page-bubble-watch .bw-format-secnav-inner--key .bw-format-secnav-row {
  flex: 1 1 100%;
  width: 100%;
  max-width: 100%;
}
body.page-bubble-watch .bw-format-secnav-inner--key .bw-conv-key--format-nav {
  flex: 1 1 100%;
  width: 100%;
  margin-left: 0;
  justify-content: flex-end;
  padding-top: 2px;
  border-top: 1px solid var(--hp-line, #d8dee9);
}
body.page-bubble-watch .bw-format-secnav-inner--key .bw-conv-key-item {
  font-size: 10.5px;
}
@media (max-width: 900px) {
  body.page-bubble-watch .bw-format-secnav-inner--key .bw-conv-key--format-nav {
    justify-content: flex-start;
  }
}
body.page-bubble-watch .bw-pending-note {
  font-family: var(--font-sans);
  font-size: 13px;
  color: var(--hp-muted, #64748b);
  padding: 12px 16px;
  background: var(--hp-surface-alt, #eef1f6);
  border: 1px dashed var(--hp-line, #d8dee9);
  border-radius: 4px;
  margin-top: 16px;
}

/* ── Overview hub grid ── */
body.page-bubble-watch .bw-hub-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  gap: 12px;
  margin-top: 20px;
}
body.page-bubble-watch .bw-hub-card {
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding: 16px 18px;
  background: #fff;
  border: 1px solid var(--hp-line, #d8dee9);
  border-radius: 6px;
  text-decoration: none;
  color: inherit;
  transition: border-color 0.15s, box-shadow 0.15s;
}
body.page-bubble-watch .bw-hub-card:hover {
  border-color: var(--hp-blue, #2563eb);
  box-shadow: 0 2px 8px rgba(15, 23, 42, 0.06);
}
body.page-bubble-watch .bw-hub-n {
  font-family: var(--font-mono, monospace);
  font-size: 11px;
  color: var(--hp-muted, #64748b);
}
body.page-bubble-watch .bw-hub-title {
  font-family: var(--font-sans);
  font-size: 15px;
  font-weight: 700;
  color: var(--hp-ink, #0f172a);
}
body.page-bubble-watch .bw-hub-desc {
  font-size: 12px;
  line-height: 1.45;
  color: var(--hp-muted, #64748b);
}

body.page-bubble-watch .bw-paper-title {
  font-family: var(--font-serif, Georgia, serif);
  font-size: clamp(1.05rem, 2vw, 1.25rem);
  color: var(--hp-muted, #64748b);
  margin: 0 0 12px;
  line-height: 1.45;
}

body.page-bubble-watch .bw-paper-prose {
  font-family: var(--font-sans);
  font-size: 14.5px;
  line-height: 1.72;
  color: var(--hp-body, #334155);
  max-width: 760px;
}

body.page-bubble-watch .bw-paper-prose--rough {
  max-width: none;
  margin-bottom: 28px;
  padding-bottom: 20px;
  border-bottom: 1px solid rgba(15, 23, 42, 0.08);
}

body.page-bubble-watch .bw-paper-collapse-stack {
  display: grid;
  gap: clamp(24px, 3vw, 36px);
  margin-top: 4px;
}

body.page-bubble-watch .bw-paper-block {
  padding-bottom: clamp(20px, 2.5vw, 28px);
  border-bottom: 1px solid var(--hp-line, #d8dee9);
}

body.page-bubble-watch .bw-paper-block:last-child {
  padding-bottom: 0;
  border-bottom: 0;
}

body.page-bubble-watch .bw-paper-block__title {
  font-family: var(--font-serif, Georgia, serif);
  color: var(--hp-ink, #0f172a);
  letter-spacing: -0.02em;
  line-height: 1.25;
  margin: 0 0 14px;
}

body.page-bubble-watch .bw-paper-block__title--h2 {
  font-size: clamp(1.2rem, 2.2vw, 1.45rem);
  font-weight: 700;
}

body.page-bubble-watch .bw-paper-block__title--h3 {
  font-size: clamp(1.05rem, 1.9vw, 1.22rem);
  font-weight: 700;
}

body.page-bubble-watch .bw-paper-block__title--h4 {
  font-family: var(--font-sans);
  font-size: 1rem;
  font-weight: 700;
}

body.page-bubble-watch .bw-paper-block .bw-paper-prose {
  margin: 0;
}

/* Legacy accordion styles — unused after flat write-up refactor; kept for other mwatch-details if any */
body.page-bubble-watch .bw-paper-collapse-stack .mwatch-details,
body.page-bubble-watch .bw-paper-details {
  background: #fff;
  border: 1px solid #e2e8f0;
  border-radius: 16px;
  box-shadow: 0 10px 30px rgba(15, 23, 42, 0.06);
  overflow: hidden;
}

body.page-bubble-watch .bw-paper-collapse-stack .mwatch-details__summary,
body.page-bubble-watch .bw-paper-details .mwatch-details__summary {
  display: flex;
  align-items: flex-start;
  gap: 16px;
  padding: clamp(16px, 2.5vw, 22px) clamp(18px, 2.5vw, 24px);
  cursor: pointer;
  list-style: none;
  user-select: none;
  transition: background 0.15s ease;
}

body.page-bubble-watch .bw-paper-collapse-stack .mwatch-details__summary::-webkit-details-marker,
body.page-bubble-watch .bw-paper-details .mwatch-details__summary::-webkit-details-marker {
  display: none;
}

body.page-bubble-watch .bw-paper-collapse-stack .mwatch-details__summary:hover,
body.page-bubble-watch .bw-paper-details .mwatch-details__summary:hover {
  background: rgba(99, 102, 241, 0.04);
}

body.page-bubble-watch .bw-paper-collapse-stack .mwatch-details__toggle,
body.page-bubble-watch .bw-paper-details .mwatch-details__toggle {
  flex-shrink: 0;
  width: 38px;
  height: 38px;
  border-radius: 11px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(15, 23, 42, 0.12);
  background: #eef1f6;
  font-family: var(--font-mono, 'JetBrains Mono', monospace);
  font-size: 20px;
  font-weight: 700;
  line-height: 1;
  color: #1d4ed8;
}

body.page-bubble-watch .bw-paper-collapse-stack .mwatch-details__icon--minus,
body.page-bubble-watch .bw-paper-details .mwatch-details__icon--minus {
  display: none;
}

body.page-bubble-watch .bw-paper-collapse-stack .mwatch-details[open] .mwatch-details__icon--plus,
body.page-bubble-watch .bw-paper-details[open] .mwatch-details__icon--plus {
  display: none;
}

body.page-bubble-watch .bw-paper-collapse-stack .mwatch-details[open] .mwatch-details__icon--minus,
body.page-bubble-watch .bw-paper-details[open] .mwatch-details__icon--minus {
  display: block;
}

body.page-bubble-watch .bw-paper-collapse-stack .mwatch-details__summary-text,
body.page-bubble-watch .bw-paper-details .mwatch-details__summary-text {
  min-width: 0;
  flex: 1;
}

body.page-bubble-watch .bw-paper-collapse-stack .mwatch-details__summary-text--wide .mwatch-details__dek,
body.page-bubble-watch .bw-paper-details .mwatch-details__summary-text--wide .mwatch-details__dek {
  max-width: 52rem;
}

body.page-bubble-watch .bw-paper-collapse-stack .mwatch-details__heading,
body.page-bubble-watch .bw-paper-details .mwatch-details__heading {
  margin: 0;
  font-size: clamp(22px, 2.8vw, 30px);
  font-weight: 800;
  letter-spacing: -0.03em;
  line-height: 1.2;
  color: #0b1220;
}

body.page-bubble-watch .bw-paper-collapse-stack .mwatch-details__dek,
body.page-bubble-watch .bw-paper-details .mwatch-details__dek {
  margin: 10px 0 0;
  font-size: 14px;
  line-height: 1.55;
  color: #44506a;
}

body.page-bubble-watch .bw-paper-collapse-stack .mwatch-details__dek a,
body.page-bubble-watch .bw-paper-details .mwatch-details__dek a {
  color: #1d4ed8;
  font-weight: 600;
}

body.page-bubble-watch .bw-paper-collapse-stack .mwatch-details__body,
body.page-bubble-watch .bw-paper-details .mwatch-details__body {
  padding: 0 clamp(18px, 2.5vw, 24px) clamp(18px, 2.5vw, 24px);
  border-top: 1px solid rgba(15, 23, 42, 0.12);
}

body.page-bubble-watch .bw-paper-collapse-stack .mwatch-details .bw-paper-prose,
body.page-bubble-watch .bw-paper-details .bw-paper-prose {
  max-width: none;
}

body.page-bubble-watch .bw-deploy-masthead {
  background: linear-gradient(180deg, #f8fafc 0%, #eef1f6 100%);
  border-bottom: 1px solid rgba(15, 23, 42, 0.08);
  padding: 12px 0 10px;
}
body.page-bubble-watch .bw-deploy-masthead-inner {
  text-align: center;
  display: grid;
  gap: 4px;
}
body.page-bubble-watch .bw-deploy-kicker {
  margin: 0;
  font-family: var(--font-serif, Georgia, serif);
  font-size: clamp(1.05rem, 2.2vw, 1.3rem);
  font-weight: 700;
  color: var(--hp-ink, #0f172a);
}
body.page-bubble-watch .bw-deploy-sub {
  margin: 0;
  font-size: clamp(0.92rem, 1.6vw, 1.05rem);
  color: var(--hp-muted, #64748b);
}
body.page-bubble-watch .bw-deploy-byline {
  margin: 4px 0 0;
  font-family: var(--font-mono, 'JetBrains Mono', monospace);
  font-size: 11px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--hp-muted, #64748b);
}
body.page-bubble-watch .bw-deploy-actions { margin-top: 8px; }
body.page-bubble-watch .bw-deploy-pdf {
  display: inline-flex;
  padding: 6px 14px;
  border-radius: 999px;
  border: 1px solid rgba(15, 23, 42, 0.12);
  background: #fff;
  color: var(--hp-blue, #2563eb);
  font-size: 12px;
  font-weight: 600;
  text-decoration: none;
}

body.page-bubble-watch .bw-paper-prose h2,
body.page-bubble-watch .bw-paper-prose h4 {
  font-family: var(--font-sans);
  color: var(--hp-ink, #0f172a);
  margin: 1.4em 0 0.45em;
  letter-spacing: -0.02em;
}
body.page-bubble-watch .bw-paper-prose h2 { font-size: 1.15rem; font-weight: 700; }
body.page-bubble-watch .bw-paper-prose h4 { font-size: 1rem; font-weight: 700; }
body.page-bubble-watch .bw-paper-prose p,
body.page-bubble-watch .bw-paper-prose li { margin: 0 0 0.85em; }
body.page-bubble-watch .bw-paper-prose table {
  width: 100%;
  border-collapse: collapse;
  font-size: 13px;
  margin: 12px 0 18px;
}
body.page-bubble-watch .bw-paper-prose th,
body.page-bubble-watch .bw-paper-prose td {
  border: 1px solid var(--hp-line, #d8dee9);
  padding: 8px 10px;
  vertical-align: top;
}
body.page-bubble-watch .bw-paper-prose th {
  background: var(--hp-surface-alt, #eef1f6);
  font-weight: 600;
}
body.page-bubble-watch .bw-paper-prose--models { margin-top: 28px; }
body.page-bubble-watch .bw-paper-prose--ledger { margin-top: 24px; overflow-x: auto; }

/* Password gate (Bubble Watch pre-Burry) */
body.page-wtl-gate .wtl-gate-main {
  min-height: calc(100vh - 120px);
  display: grid;
  place-items: center;
  padding: 48px 20px;
}
body.page-wtl-gate .wtl-gate-card {
  width: min(420px, 100%);
  padding: 32px 28px;
  border-radius: 12px;
  border: 1px solid rgba(15, 23, 42, 0.1);
  background: #fff;
  box-shadow: 0 8px 32px rgba(15, 23, 42, 0.06);
  text-align: center;
}
body.page-wtl-gate .wtl-gate-logo {
  display: inline-block;
  margin: 0 auto 12px;
}
body.page-wtl-gate .wtl-gate-logo .adc-brand-mark {
  width: clamp(62px, 14vw, 79px);
  height: auto;
}
body.page-wtl-gate .wtl-gate-card h1 {
  margin: 0 0 8px;
  font-size: 1.35rem;
  color: var(--hp-ink, #0f172a);
}
body.page-wtl-gate .wtl-gate-card p {
  margin: 0 0 20px;
  font-size: 14px;
  line-height: 1.55;
  color: var(--hp-muted, #64748b);
}
body.page-wtl-gate .wtl-gate-form {
  display: grid;
  gap: 10px;
  text-align: left;
}
body.page-wtl-gate .wtl-gate-form label {
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--hp-muted, #64748b);
}
body.page-wtl-gate .wtl-gate-form input {
  padding: 10px 12px;
  border: 1px solid rgba(15, 23, 42, 0.15);
  border-radius: 8px;
  font-size: 15px;
}
body.page-wtl-gate .wtl-gate-form button {
  margin-top: 4px;
  padding: 10px 16px;
  border: 0;
  border-radius: 8px;
  background: var(--hp-blue, #2563eb);
  color: #fff;
  font-weight: 600;
  cursor: pointer;
}
body.page-wtl-gate .wtl-gate-err {
  display: none;
  margin: 0;
  font-size: 13px;
  color: #b91c1c;
}
body.page-wtl-gate .wtl-gate-err.is-visible { display: block; }

body.page-bw-closing #bw-page-hero { margin-bottom: 0; }
body.page-bubble-watch .bw-closing-prose {
  font-family: var(--font-serif, Georgia, 'Times New Roman', serif);
  font-size: 1.05rem;
  line-height: 1.78;
  color: var(--hp-body, #334155);
}
body.page-bubble-watch .bw-closing-prose h1 {
  font-family: var(--font-sans);
  font-size: clamp(1.35rem, 3vw, 1.65rem);
  font-weight: 700;
  letter-spacing: -0.03em;
  color: var(--hp-ink, #0f172a);
  margin: 0 0 10px;
}
body.page-bubble-watch .bw-closing-dek {
  font-family: var(--font-sans);
  font-size: 13.5px;
  line-height: 1.6;
  color: var(--hp-muted, #64748b);
  margin: 0 0 20px;
}
body.page-bubble-watch .bw-closing-prose hr {
  border: 0;
  border-top: 1px solid var(--hp-line, #d8dee9);
  margin: 0 0 22px;
}
body.page-bubble-watch .bw-closing-prose p { margin: 0 0 1em; }
body.page-bubble-watch .bw-closing-prose ul,
body.page-bubble-watch .bw-closing-prose ol {
  margin: 0 0 1em 1.2em;
  padding: 0;
}
body.page-bubble-watch .bw-closing-prose li { margin: 0 0 0.55em; }
body.page-bubble-watch .bw-closing-signature {
  margin-top: 2em;
  font-size: 1rem;
}

/* ── Overview live scene-setter (Task 022) ── */
body.page-bubble-watch .bw-scene-setter { margin: 8px 0 8px; }

body.page-bubble-watch .bw-ss-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  align-items: start;
}
@media (max-width: 980px) {
  body.page-bubble-watch .bw-ss-grid { grid-template-columns: 1fr; }
}

body.page-bubble-watch .bw-ss-panel {
  background: var(--hp-paper);
  border: 1px solid var(--hp-line);
  padding: 16px 18px;
  display: flex;
  flex-direction: column;
  min-width: 0;
}

body.page-bubble-watch .bw-ss-panel-hd {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 4px;
}

body.page-bubble-watch .bw-ss-tag {
  font-family: var(--font-mono);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}
body.page-bubble-watch .bw-ss-tag--market { color: var(--hp-blue); }
body.page-bubble-watch .bw-ss-tag--ground { color: var(--bw-conv-red); }

body.page-bubble-watch .bw-ss-live {
  font-family: var(--font-mono);
  font-size: 11px;
  color: var(--hp-muted);
}
body.page-bubble-watch .bw-ss-live[data-ok] { color: var(--bw-conv-green); }

body.page-bubble-watch .bw-ss-panel-dek {
  font-size: 13px;
  line-height: 1.5;
  color: var(--hp-body);
  margin: 0 0 14px;
  max-width: none;
}
body.page-bubble-watch .bw-ss-panel-dek em { color: var(--hp-ink); font-style: italic; font-weight: 600; }

body.page-bubble-watch .bw-ss-layer { margin-bottom: 10px; }
body.page-bubble-watch .bw-ss-layer-hd {
  display: flex;
  align-items: baseline;
  gap: 8px;
  margin-bottom: 5px;
}
body.page-bubble-watch .bw-ss-layer-id {
  font-family: var(--font-mono);
  font-size: 11px;
  font-weight: 700;
  color: var(--hp-ink);
}
body.page-bubble-watch .bw-ss-layer-lbl {
  font-size: 11px;
  color: var(--hp-muted);
  text-transform: uppercase;
  letter-spacing: 0.04em;
}
body.page-bubble-watch .bw-ss-ticks {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(94px, 1fr));
  gap: 6px;
}
body.page-bubble-watch .bw-ss-tick {
  display: flex;
  flex-direction: column;
  gap: 1px;
  padding: 7px 9px;
  border: 1px solid var(--hp-line);
  border-left: 3px solid #cbd5e1;
  background: #fafbfc;
  text-decoration: none;
}
body.page-bubble-watch .bw-ss-tick--up { border-left-color: var(--bw-conv-green); }
body.page-bubble-watch .bw-ss-tick--down { border-left-color: var(--bw-conv-red); }
body.page-bubble-watch .bw-ss-tick--flat { border-left-color: #94a3b8; }
body.page-bubble-watch .bw-ss-tick-sym {
  font-family: var(--font-mono);
  font-size: 11px;
  font-weight: 700;
  color: var(--hp-ink);
}
body.page-bubble-watch .bw-ss-tick-px {
  font-family: var(--font-mono);
  font-size: 12px;
  color: var(--hp-body);
}
body.page-bubble-watch .bw-ss-tick-chg {
  font-family: var(--font-mono);
  font-size: 11px;
  color: var(--hp-muted);
}
body.page-bubble-watch .bw-ss-tick--up .bw-ss-tick-chg { color: var(--bw-conv-green); }
body.page-bubble-watch .bw-ss-tick--down .bw-ss-tick-chg { color: var(--bw-conv-red); }

body.page-bubble-watch .bw-ss-more,
body.page-bubble-watch .bw-ss-jobs-foot a {
  font-family: var(--font-mono);
  font-size: 12px;
  font-weight: 600;
  color: var(--hp-blue);
  text-decoration: none;
  display: inline-block;
  margin-top: 8px;
}

body.page-bubble-watch .bw-ss-jobs {
  display: flex;
  align-items: flex-end;
  gap: 16px;
  margin-bottom: 10px;
}
body.page-bubble-watch .bw-ss-jobs-kpi { display: flex; flex-direction: column; }
body.page-bubble-watch .bw-ss-jobs-v {
  font-size: 30px;
  font-weight: 800;
  line-height: 1;
  color: var(--bw-conv-red);
}
body.page-bubble-watch .bw-ss-jobs-l {
  font-size: 12px;
  color: var(--hp-muted);
  margin-top: 6px;
  max-width: 130px;
  line-height: 1.4;
}
body.page-bubble-watch .bw-ss-cuts {
  display: flex;
  align-items: flex-end;
  gap: 5px;
  height: 88px;
  flex: 1;
  min-width: 0;
}
body.page-bubble-watch .bw-ss-bar {
  flex: 1;
  background: linear-gradient(180deg, var(--bw-conv-red), #f1a8a8);
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
  min-height: 8px;
}
body.page-bubble-watch .bw-ss-bar--mtd {
  background: linear-gradient(180deg, rgba(217, 101, 101, 0.4), rgba(241, 168, 168, 0.4));
}
body.page-bubble-watch .bw-ss-bar-v {
  position: absolute;
  top: -14px;
  font-family: var(--font-mono);
  font-size: 9px;
  color: var(--hp-muted);
  white-space: nowrap;
}
body.page-bubble-watch .bw-ss-bar-mo {
  position: absolute;
  bottom: -16px;
  font-family: var(--font-mono);
  font-size: 9px;
  color: var(--hp-muted);
}
body.page-bubble-watch .bw-ss-jobs-foot {
  font-size: 12px;
  color: var(--hp-body);
  margin: 18px 0 0;
}
body.page-bubble-watch .bw-ss-jobs-foot strong { color: var(--bw-conv-red); }

body.page-bubble-watch .bw-ss-scale {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 12px;
  margin-top: 16px;
}
body.page-bubble-watch .bw-ss-scale--panel {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  margin-top: 12px;
}
@media (max-width: 820px) { body.page-bubble-watch .bw-ss-scale:not(.bw-ss-scale--panel) { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 440px) {
  body.page-bubble-watch .bw-ss-scale:not(.bw-ss-scale--panel) { grid-template-columns: 1fr; }
  body.page-bubble-watch .bw-ss-scale--panel { grid-template-columns: 1fr; }
}
body.page-bubble-watch .bw-ss-panel--market .bw-ss-kpi {
  padding: 10px 12px;
  background: var(--hp-surface, #fff);
}
body.page-bubble-watch .bw-ss-panel--market .bw-ss-kpi-v {
  font-size: 22px;
}
body.page-bubble-watch .bw-ss-panel--market .bw-ss-kpi-l {
  font-size: 11.5px;
  margin-top: 6px;
}
body.page-bubble-watch .bw-ss-kpi {
  background: var(--hp-paper);
  border: 1px solid var(--hp-line);
  padding: 14px 16px;
  display: flex;
  flex-direction: column;
}
body.page-bubble-watch .bw-ss-kpi-v { font-size: 26px; font-weight: 800; line-height: 1; color: var(--hp-ink); }
body.page-bubble-watch .bw-ss-kpi-l { font-size: 12.5px; color: var(--hp-body); margin-top: 8px; line-height: 1.4; }
body.page-bubble-watch .bw-ss-kpi-src {
  font-family: var(--font-mono);
  font-size: 10.5px;
  color: var(--hp-muted);
  margin-top: 8px;
}

body.page-bubble-watch .bw-ss-themes-wrap { margin-top: 16px; }
body.page-bubble-watch .bw-ss-themes-lbl {
  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--hp-muted);
  display: block;
  margin-bottom: 8px;
}
body.page-bubble-watch .bw-ss-themes { display: flex; flex-wrap: wrap; gap: 8px; }
body.page-bubble-watch .bw-ss-theme {
  font-size: 12px;
  color: var(--hp-body);
  background: #eef1f6;
  border: 1px solid var(--hp-line);
  padding: 5px 11px;
}

/* Round 6 — Overview company card groups + layoffs record charts */
body.page-bubble-watch .bw-ss-group { margin-bottom: 12px; }
body.page-bubble-watch .bw-ss-group:last-of-type { margin-bottom: 8px; }
body.page-bubble-watch .bw-ss-group-lbl {
  font-family: var(--font-mono);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--hp-muted);
  margin: 0 0 8px;
}
body.page-bubble-watch .bw-ss-cards {
  display: grid;
  gap: 8px;
  min-width: 0;
}
body.page-bubble-watch .bw-ss-cards--recipients {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
body.page-bubble-watch .bw-ss-cards--spenders {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
@media (max-width: 680px) {
  body.page-bubble-watch .bw-ss-cards--recipients,
  body.page-bubble-watch .bw-ss-cards--spenders {
    grid-template-columns: 1fr;
  }
}
body.page-bubble-watch .bw-ss-co-card {
  background: var(--hp-surface, #fff);
  border: 1px solid var(--hp-line);
  padding: 10px 12px;
  text-align: left;
  width: 100%;
  font: inherit;
  color: inherit;
  min-width: 0;
}
body.page-bubble-watch .bw-ss-co-card--spender {
  cursor: pointer;
  transition: border-color 0.15s, box-shadow 0.15s;
}
body.page-bubble-watch .bw-ss-co-card--spender:hover {
  border-color: #cfd6e4;
  box-shadow: 0 6px 18px rgba(15, 23, 42, 0.06);
}
body.page-bubble-watch .bw-ss-co-top {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 6px 10px;
}
body.page-bubble-watch .bw-ss-co-name {
  font-weight: 800;
  font-size: 14px;
  color: var(--hp-ink);
}
body.page-bubble-watch .bw-ss-co-tkr {
  font-family: var(--font-mono);
  font-size: 10px;
  color: var(--hp-muted);
}
body.page-bubble-watch .bw-ss-co-tag {
  margin-left: auto;
  font-family: var(--font-mono);
  font-size: 8px;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  padding: 2px 7px;
  border-radius: 999px;
  white-space: nowrap;
  flex-shrink: 0;
}
body.page-bubble-watch .bw-ss-co-tag--boom { background: #fce7f3; color: #be185d; }
body.page-bubble-watch .bw-ss-co-tag--capex { background: #eef2ff; color: #1e3a8a; }
body.page-bubble-watch .bw-ss-co-tag--pivot { background: #f3e8ff; color: #7c3aed; }
body.page-bubble-watch .bw-ss-co-tag--weak { background: #f1f5f9; color: #51607a; }
body.page-bubble-watch .bw-ss-co-tag--reorg { background: #f1f5f9; color: #475569; }
body.page-bubble-watch .bw-ss-co-price {
  font-family: var(--font-mono);
  font-size: 12px;
  color: var(--hp-body);
  margin: 6px 0 0;
}
body.page-bubble-watch .bw-ss-co-price .up { color: var(--bw-conv-green); }
body.page-bubble-watch .bw-ss-co-price .down { color: var(--bw-conv-red); }
body.page-bubble-watch .bw-ss-co-metrics {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 8px;
  margin-top: 6px;
}
body.page-bubble-watch .bw-ss-co-yr {
  font-family: var(--font-mono);
  font-size: 11px;
  color: var(--hp-muted);
  white-space: nowrap;
}
body.page-bubble-watch .bw-ss-co-yr b {
  font-size: 14px;
  font-weight: 800;
}
body.page-bubble-watch .bw-ss-co-yr b.up { color: var(--bw-conv-green); }
body.page-bubble-watch .bw-ss-co-yr b.dn { color: var(--bw-conv-red); }
body.page-bubble-watch .bw-ss-co-role {
  font-size: 11px;
  line-height: 1.35;
  color: var(--hp-muted);
  margin: 6px 0 0;
}
body.page-bubble-watch .bw-ss-co-kpis {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 6px;
  margin: 8px 0 0;
}
body.page-bubble-watch .bw-ss-co-kpis--compact .bw-ss-co-kpi {
  padding: 6px 7px;
}
body.page-bubble-watch .bw-ss-co-kpi {
  background: #f6f8fb;
  border: 1px solid var(--hp-line);
  padding: 8px 9px;
  min-width: 0;
}
body.page-bubble-watch .bw-ss-co-kpi b {
  display: block;
  font-size: 13px;
  font-weight: 800;
  line-height: 1.05;
  overflow: hidden;
  text-overflow: ellipsis;
}
body.page-bubble-watch .bw-ss-co-kpi b.up { color: var(--bw-conv-green); }
body.page-bubble-watch .bw-ss-co-kpi b.dn { color: var(--bw-conv-red); }
body.page-bubble-watch .bw-ss-co-kpi span {
  display: block;
  font-size: 10px;
  color: var(--hp-muted);
  text-transform: uppercase;
  letter-spacing: 0.04em;
  margin-top: 3px;
  line-height: 1.25;
}
body.page-bubble-watch .bw-ss-co-kpi span {
  display: block;
  font-size: 9px;
  color: var(--hp-muted);
  text-transform: uppercase;
  letter-spacing: 0.04em;
  margin-top: 3px;
  line-height: 1.2;
}

body.page-bubble-watch .bw-ss-gt-stats {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  margin: 12px 0;
}
body.page-bubble-watch .bw-ss-gt-stat {
  background: #fff;
  border: 1px solid var(--hp-line);
  border-left: 3px solid var(--bw-conv-red);
  padding: 8px 10px;
}
body.page-bubble-watch .bw-ss-gt-v {
  display: block;
  font-size: 17px;
  font-weight: 800;
  color: var(--hp-ink);
  line-height: 1.1;
}
body.page-bubble-watch .bw-ss-gt-l {
  display: block;
  font-size: 11px;
  color: var(--hp-body);
  margin-top: 3px;
  line-height: 1.3;
}

body.page-bubble-watch .bw-ss-gt-charts {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-top: 4px;
}
body.page-bubble-watch .bw-ss-gt-chart {
  background: #fff;
  border: 1px solid var(--hp-line);
  padding: 10px 12px 8px;
  min-width: 0;
}
body.page-bubble-watch .bw-ss-gt-chart-title {
  font-size: 13px;
  font-weight: 800;
  color: var(--hp-ink);
  margin: 0 0 6px;
  letter-spacing: -0.01em;
  line-height: 1.25;
}
body.page-bubble-watch .bw-ss-gt-chart-canvas {
  position: relative;
  width: 100%;
  height: 175px;
}
body.page-bubble-watch .bw-ss-gt-chart-canvas--savings {
  height: 210px;
}
body.page-bubble-watch .bw-ss-gt-chart .bw-chart-source {
  margin: 6px 0 0;
  font-size: 10px;
  line-height: 1.35;
}

/* Legacy full-width records row — unused after layout rebalance; keep for walk-the-loop mirrors */
body.page-bubble-watch .bw-ss-records-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
  margin: 16px 0 8px;
}
@media (max-width: 820px) {
  body.page-bubble-watch .bw-ss-records-row { grid-template-columns: 1fr; }
}
body.page-bubble-watch .bw-ss-records-viz {
  background: var(--hp-paper);
  border: 1px solid var(--hp-line);
  padding: 14px 16px 12px;
  min-width: 0;
}
body.page-bubble-watch .bw-ss-records-kick {
  font-family: var(--font-mono);
  font-size: 10px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--hp-muted);
  font-weight: 700;
}
body.page-bubble-watch .bw-ss-records-title {
  font-size: 17px;
  font-weight: 800;
  color: var(--hp-ink);
  margin: 4px 0 0;
  letter-spacing: -0.01em;
}
body.page-bubble-watch .bw-ss-records-canvas {
  position: relative;
  width: 100%;
  height: 260px;
  margin-top: 10px;
}
body.page-bubble-watch .bw-ss-records-note {
  font-size: 12px;
  color: var(--hp-muted);
  margin: 0 0 12px;
  line-height: 1.45;
}
body.page-bubble-watch .bw-ss-records-note a { color: var(--hp-blue); font-weight: 600; }

/* ── Convergence heatmap (firms × 6 indicators) ── */
body.page-bubble-watch .bw-conv-heatmap-mount {
  width: 100%;
}

body.page-bubble-watch .bw-heat-grid {
  display: grid;
  border: 1px solid var(--hp-line);
  border-bottom: 0;
  overflow: hidden;
}

body.page-bubble-watch .bw-heat-row {
  display: grid;
  grid-template-columns: minmax(64px, 0.9fr) repeat(6, minmax(0, 1fr)) minmax(78px, 0.9fr);
  border-bottom: 1px solid var(--hp-line);
}

body.page-bubble-watch .bw-heat-row--head {
  background: var(--bw-card-hd-bg);
  position: sticky;
  top: 0;
  z-index: 1;
}

body.page-bubble-watch .bw-heat-firm {
  font-family: var(--font-mono);
  font-size: 11px;
  font-weight: 700;
  color: var(--hp-ink);
  padding: 8px 10px;
  display: flex;
  align-items: center;
  border-right: 1px solid var(--hp-line);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

body.page-bubble-watch .bw-heat-cell {
  font-family: var(--font-mono);
  font-size: 11px;
  font-weight: 600;
  color: #0b1220;
  padding: 8px 4px;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
  border-right: 1px solid rgba(255, 255, 255, 0.5);
}

body.page-bubble-watch .bw-heat-cell--head {
  color: var(--hp-body);
  background: transparent;
  border-right: 1px solid var(--hp-line);
}

body.page-bubble-watch .bw-heat-cell--high { background: var(--bw-conv-red); color: #fff; }
body.page-bubble-watch .bw-heat-cell--mid { background: var(--bw-conv-yellow); }
body.page-bubble-watch .bw-heat-cell--low { background: #e6efe8; color: var(--hp-muted); }
body.page-bubble-watch .bw-heat-cell--na { background: #f1f4f8; color: var(--hp-muted); }

body.page-bubble-watch .bw-heat-flag {
  font-family: var(--font-mono);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  padding: 8px 8px;
  display: flex;
  align-items: center;
  justify-content: flex-end;
}

body.page-bubble-watch .bw-heat-flag--active { color: var(--bw-conv-red); }
body.page-bubble-watch .bw-heat-flag--moderate { color: var(--bw-conv-orange); }

body.page-bubble-watch .bw-heat-legend {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 16px;
  margin-top: 12px;
}

body.page-bubble-watch .bw-heat-legend-item {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-family: var(--font-mono);
  font-size: 11px;
  color: var(--hp-body);
}

body.page-bubble-watch .bw-heat-swatch {
  width: 14px;
  height: 14px;
  display: inline-block;
  border: 1px solid var(--hp-line);
}

@media (max-width: 640px) {
  body.page-bubble-watch .bw-heat-cell,
  body.page-bubble-watch .bw-heat-firm { font-size: 10px; padding: 6px 2px; }
  body.page-bubble-watch .bw-heat-flag { display: none; }
  body.page-bubble-watch .bw-heat-row {
    grid-template-columns: minmax(52px, 0.9fr) repeat(6, minmax(0, 1fr));
  }
}

/* ── Round 2 supplementary visuals (Task 020) ── */
body.page-bubble-watch .bw-r2-block {
  margin: 24px 0 32px;
}

body.page-bubble-watch .bw-r2-block-title {
  font-size: 15px;
  font-weight: 700;
  color: var(--hp-ink);
  margin: 0 0 6px;
}

body.page-bubble-watch .bw-r2-block-dek {
  font-size: 14px;
  line-height: 1.6;
  color: var(--hp-body);
  margin: 0 0 14px;
  max-width: none;
}

body.page-bubble-watch .bw-r2-ladder {
  margin: 24px 0 28px;
  padding: 20px;
  background: var(--hp-paper);
  border: 1px solid var(--hp-line);
}

body.page-bubble-watch .bw-r2-ladder-dek,
body.page-bubble-watch .bw-r2-falsifiers-dek {
  font-size: 14px;
  line-height: 1.6;
  color: var(--hp-body);
  margin: 0 0 16px;
  max-width: none;
}

body.page-bubble-watch .bw-r2-ladder-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 10px;
}

body.page-bubble-watch .bw-r2-ladder-step {
  border: 1px solid var(--hp-line);
  border-left: 3px solid #cbd5e1;
  padding: 12px 14px;
  background: #fafbfc;
}

body.page-bubble-watch .bw-r2-ladder-step--red {
  border-left-color: var(--bw-conv-red);
  background: #fff7f7;
}

body.page-bubble-watch .bw-r2-ladder-step--amb {
  border-left-color: var(--bw-conv-orange);
}

body.page-bubble-watch .bw-r2-ladder-step--dim {
  border-left-color: #94a3b8;
}

body.page-bubble-watch .bw-r2-ladder-k {
  display: block;
  font-family: var(--font-mono);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--hp-ink);
  margin-bottom: 4px;
}

body.page-bubble-watch .bw-r2-ladder-v {
  display: block;
  font-size: 13px;
  line-height: 1.55;
  color: var(--hp-body);
}

body.page-bubble-watch .bw-r2-falsifiers {
  margin: 24px 0 28px;
}

body.page-bubble-watch .bw-r2-falsifiers-h3 {
  font-size: 18px;
  font-weight: 700;
  color: var(--hp-ink);
  margin: 0 0 8px;
}

body.page-bubble-watch .bw-r2-falsifier-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(100%, 240px), 1fr));
  gap: 12px;
}

body.page-bubble-watch .bw-r2-falsifier-card {
  background: var(--hp-paper);
  border: 1px solid var(--hp-line);
  padding: 14px 16px;
}

body.page-bubble-watch .bw-r2-falsifier-title {
  font-size: 14px;
  font-weight: 700;
  color: var(--hp-ink);
  margin: 0 0 6px;
}

body.page-bubble-watch .bw-r2-falsifier-body {
  font-size: 13px;
  line-height: 1.6;
  color: var(--hp-body);
  margin: 0;
}

body.page-bubble-watch .bw-r2-signals {
  margin-top: 8px;
}

body.page-bubble-watch .bw-r2-kpi-strip {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 14px;
  margin: 20px 0 22px;
}

@media (max-width: 820px) {
  body.page-bubble-watch .bw-r2-kpi-strip { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 440px) {
  body.page-bubble-watch .bw-r2-kpi-strip { grid-template-columns: 1fr; }
}

body.page-bubble-watch .bw-r2-kpi {
  background: var(--hp-paper);
  border: 1px solid var(--hp-line);
  padding: 16px;
}

body.page-bubble-watch .bw-r2-kpi-v {
  display: block;
  font-size: 28px;
  font-weight: 800;
  line-height: 1;
  color: var(--hp-ink);
}

body.page-bubble-watch .bw-r2-kpi-l {
  display: block;
  margin-top: 8px;
  font-size: 13px;
  line-height: 1.4;
  color: var(--hp-muted);
}

body.page-bubble-watch .bw-r2-signal-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
}

@media (max-width: 980px) {
  body.page-bubble-watch .bw-r2-signal-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 640px) {
  body.page-bubble-watch .bw-r2-signal-grid { grid-template-columns: 1fr; }
}

body.page-bubble-watch .bw-r2-signal-card {
  background: var(--hp-paper);
  border: 1px solid var(--hp-line);
  padding: 14px;
}

body.page-bubble-watch .bw-r2-signal-card--full {
  grid-column: 1 / -1;
}

body.page-bubble-watch .bw-r2-signal-chart {
  height: 200px;
  margin-bottom: 12px;
}

body.page-bubble-watch .bw-r2-signal-card--full .bw-r2-signal-chart {
  height: 260px;
}

body.page-bubble-watch .bw-r2-signal-title {
  font-size: 15px;
  font-weight: 700;
  color: var(--hp-ink);
  margin: 0 0 6px;
}

body.page-bubble-watch .bw-r2-signal-note {
  font-size: 13px;
  line-height: 1.55;
  color: var(--hp-body);
  margin: 0;
}

body.page-bubble-watch .bw-r2-rubric-scales {
  margin: 20px 0 28px;
}

body.page-bubble-watch .bw-r2-rubric-row {
  margin-bottom: 14px;
  padding-bottom: 14px;
  border-bottom: 1px solid var(--hp-line);
}

body.page-bubble-watch .bw-r2-rubric-row:last-child {
  margin-bottom: 0;
  padding-bottom: 0;
  border-bottom: 0;
}

body.page-bubble-watch .bw-r2-rubric-meta {
  display: flex;
  align-items: baseline;
  gap: 10px;
  margin-bottom: 8px;
}

body.page-bubble-watch .bw-r2-rubric-id {
  font-family: var(--font-mono);
  font-size: 11px;
  font-weight: 700;
  color: var(--hp-ink);
}

body.page-bubble-watch .bw-r2-rubric-name {
  font-size: 14px;
  font-weight: 600;
  color: var(--hp-ink);
}

body.page-bubble-watch .bw-r2-rubric-track {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  height: 14px;
  border: 1px solid var(--hp-line);
  overflow: hidden;
}

body.page-bubble-watch .bw-r2-rubric-band {
  font-size: 0;
}

body.page-bubble-watch .bw-r2-rubric-band--green { background: #86c994; }
body.page-bubble-watch .bw-r2-rubric-band--amber { background: #f0c14b; }
body.page-bubble-watch .bw-r2-rubric-band--red { background: var(--bw-conv-red); }

body.page-bubble-watch .bw-r2-rubric-note {
  font-size: 12px;
  line-height: 1.5;
  color: var(--hp-muted);
  margin: 6px 0 0;
}

/* ── Bubble Watch mobile optimization ── */
@media (max-width: 768px) {
  body.page-bubble-watch .bw-format-secnav-row {
    flex-wrap: nowrap;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    gap: 6px;
    padding-bottom: 2px;
  }

  body.page-bubble-watch .bw-format-secnav-row::-webkit-scrollbar {
    display: none;
  }

  body.page-bubble-watch .bw-format-secnav-row .secnav-mini-btn {
    flex: 0 0 auto;
    min-height: 44px;
    padding: 10px 12px !important;
    font-size: 13px !important;
  }

  body.page-bubble-watch .bw-format-secnav-inner {
    padding-top: 6px;
    padding-bottom: 7px;
    gap: 4px;
  }

  body.page-bubble-watch #bw-main > section,
  body.page-bubble-watch #bw-main > .bw-section {
    scroll-margin-top: calc(var(--site-fixed-header-total, 56px) + 72px);
  }

  body.page-bubble-watch .bw-wrap,
  body.page-bubble-watch .container.bw-wrap {
    padding-left: calc(clamp(14px, 4vw, 24px) + env(safe-area-inset-left, 0px));
    padding-right: calc(clamp(14px, 4vw, 24px) + env(safe-area-inset-right, 0px));
  }
}
