/*
  Top Japanese Casinos — Trust Index v2.5
  Colour palette matched to topjapanesecasinos.com:
  - Site bg:        #edeaf5  (light lavender)
  - Purple dark:    #6b5fc7  (nav, accents)
  - Purple mid:     #8b7fd4
  - Pink accent:    #f472b6  (gradient end)
  - Green:          #22c55e  (rank badges, CTAs, positive)
  - White cards with purple-tinted borders
*/

/* ── Outer wrap ──────────────────────────────────────────────
   Matches site's lavender page background.
   Gradient header strip echoes the pink→purple site header. */
.cme-cti-wrap {
  text-align: center;
  max-width: 1100px;
  margin: 24px auto;
  padding: 0 !important;
  border-radius: 22px;
  background: #edeaf5 !important;
  color: #2d1f6e !important;
  box-shadow: 0 8px 32px rgba(107,95,199,0.14);
  overflow: hidden;
}

/* ── Hero — pink→purple gradient strip ──────────────────────*/
.cme-cti-hero {
  text-align: center;
  padding: 32px 28px 28px;
  background: linear-gradient(135deg, #f472b6 0%, #a78bfa 50%, #6b5fc7 100%) !important;
  color: #fff !important;
}

.cme-cti-pill {
  display: inline-block;
  padding: 8px 18px;
  border-radius: 999px;
  background: rgba(255,255,255,0.22);
  border: 1px solid rgba(255,255,255,0.40);
  color: #fff;
  font-weight: 600;
  font-size: 13px;
  letter-spacing: .3px;
  margin-bottom: 14px;
  white-space: nowrap;

}

.cme-cti-title {
  margin: 12px 0 10px;
  font-size: clamp(26px, 3.3vw, 42px);
  line-height: 1.12;
  color: #fff !important;
  font-weight: 800;
}

.cme-cti-title-accent { color: #fde68a !important; } /* warm yellow — readable on gradient */

.cme-cti-sub {
  margin: 0 auto 18px;
  max-width: 760px;
  color: rgba(255,255,255,0.88);
  font-size: 15px;
  line-height: 1.6;
}

/* ── KPI cards ───────────────────────────────────────────────*/
.cme-cti-kpis {
  display: flex;
  gap: 14px;
  justify-content: center;
  flex-wrap: wrap;
  margin: 18px 0 8px;
}

.cme-cti-kpi {
  min-width: 200px;
  padding: 14px 20px;
  border-radius: 16px;
  background: rgba(255,255,255,0.22);
  border: 1px solid rgba(255,255,255,0.35);
  text-align: center;
}

.kpi-label {
  color: rgba(255,255,255,0.80);
  font-size: 12px;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: .5px;
}

.kpi-val {
  font-size: 32px;
  font-weight: 800;
  color: #fff;
  margin-top: 4px;
  font-variant-numeric: tabular-nums;
}

.cme-cti-updated {
  text-align: center;
  margin: 10px 0 4px;
  color: rgba(255,255,255,0.72);
  font-size: 12px;
}

/* ── Table shell ─────────────────────────────────────────────*/
.cme-cti-table-wrap {
  margin: 0;
  overflow-x: auto;
  overflow-y: hidden;
  background: #fff;
  border-top: 3px solid #a78bfa;
}

.cme-cti-table {
  width: 100%;
  min-width: 780px;
  border-collapse: collapse;
  background: #fff !important;
  color: #2d1f6e !important;
}

/* ── Table header ────────────────────────────────────────────*/
.cme-cti-table thead th {
  text-align: center;
  padding: 14px 16px;
  font-size: 13px;
  font-weight: 600;
  color: #6b5fc7 !important;
  background: #f3f0fc !important;
  border-bottom: 2px solid #ddd6fe;
  position: sticky;
  top: 0;
  z-index: 2;
  white-space: nowrap;
}

/* ── Table rows ──────────────────────────────────────────────*/
.cme-cti-table tbody tr:hover { background: #f8f5ff; }

.cme-cti-table td {
  padding: 16px;
  border-top: 1px solid #ede9fe;
  vertical-align: middle;
  text-align: center;
}

/* ── Casino name cell ────────────────────────────────────────*/
.casino-name  { font-weight: 700; font-size: 16px; color: #2d1f6e; }
.casino-domain{ color: #8b7fd4; margin-top: 3px; font-size: 13px; }

/* ── Rank badge — green circles like the site ───────────────*/
.rank-cell { width: 56px; }

.rank-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 34px;
  height: 34px;
  padding: 0 10px;
  border-radius: 999px;
  background: #22c55e !important;
  color: #fff !important;
  font-weight: 800;
  font-size: 14px;
  line-height: 1;
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
  box-shadow: 0 3px 10px rgba(34,197,94,0.35);
}

@media (max-width: 640px) {
  .rank-cell { width: 64px; }
  .cme-cti-table .rank-badge { min-width: 38px; height: 38px; padding: 0 12px; }
}

/* ── Trust score + sparkline ─────────────────────────────────*/
.trust-flex  { display: flex; align-items: center; gap: 12px; }
.trust-badge {
  width: 46px; height: 46px;
  display: flex; align-items: center; justify-content: center;
  border-radius: 12px;
  background: rgba(107,95,199,0.10);
  border: 1.5px solid rgba(107,95,199,0.30);
  color: #6b5fc7;
  font-weight: 800;
  font-size: 17px;
}
.spark-wrap { color: #8b7fd4; }
.spark { display: block; }

/* ── Delta trend ─────────────────────────────────────────────*/
.center-cell { text-align: center; }
.trend       { font-weight: 800; font-size: 15px; }
.trend.pos   { color: #22c55e; }
.trend.neg   { color: #ef4444; }
.trend.neu   { color: #9ca3af; }

/* ── Generic pill ────────────────────────────────────────────*/
.pill {
  display: inline-flex; align-items: center; justify-content: center;
  min-width: 80px;
  padding: 8px 14px;
  border-radius: 999px;
  font-weight: 700;
  font-size: 13px;
  white-space: nowrap;

}
.pill-risk { background: transparent; color: #2d1f6e; }
.pill-wd   { background: transparent; color: #2d1f6e; }

/* ── Live status pills ───────────────────────────────────────*/
.pill-live { min-width: 90px; }
.pill-live.stable {
  background: #dcfce7;
  border: 1px solid #86efac;
  color: #166534;
}
.pill-live.mixed {
  background: #fef9c3;
  border: 1px solid #fde047;
  color: #854d0e;
}
.pill-live.risk {
  background: #fee2e2;
  border: 1px solid #fca5a5;
  color: #7f1d1d;
}

/* ── Traffic-light pills ─────────────────────────────────────*/
.pill-level-low,
.pill-level-good  { background: #dcfce7; border: 1px solid #86efac; color: #166534; }

.pill-level-medium,
.pill-level-mixed { background: #fef9c3; border: 1px solid #fde047; color: #854d0e; }

.pill-level-high,
.pill-level-bad   { background: #fee2e2; border: 1px solid #fca5a5; color: #7f1d1d; }

/* ── CTA button — green like "カジノへGO" ──────────────────*/
.cta-btn {
  display: inline-flex; align-items: center; justify-content: center;
  padding: 11px 20px;
  border-radius: 999px;
  font-weight: 800;
  font-size: 14px;
  text-decoration: none;
  color: #fff;
  background: var(--cta-bg, var(--cme-cta-default, #22c55e));
  box-shadow: 0 3px 12px rgba(34,197,94,0.35);
  transition: filter .15s ease, transform .05s ease;
  white-space: nowrap;

}
.cta-btn:hover  { filter: brightness(0.92); transform: translateY(-1px); }
.cta-btn:active { transform: translateY(0); }
.cta-btn.disabled { opacity: .55; cursor: not-allowed; }

/* ── Best-for tags ───────────────────────────────────────────*/
.bestfor-cell { text-align: center; max-width: 120px; }
.cme-cti-tag {
  display: inline-flex; align-items: center; justify-content: center;
  padding: 4px 8px;
  border-radius: 999px;
  border: 1px solid #ddd6fe;
  background: #f3f0fc;
  color: #6b5fc7;
  font-weight: 700;
  font-size: 11px;
  white-space: nowrap;
  max-width: 100px;
  overflow: hidden;
  text-overflow: ellipsis;
}
.cme-cti-tag-sep { display: inline-block; margin: 0 5px; color: #a78bfa; font-weight: 800; }
.cme-cti-dash    { color: #c4b5fd; font-weight: 800; }

/* ── Mobile ──────────────────────────────────────────────────*/
@media (max-width: 820px) {
  .cme-cti-wrap  { max-width: 100%; width: 100%; margin: 14px 0; border-radius: 14px; }
  .cme-cti-wrap, .cme-cti-wrap * { box-sizing: border-box; }
  .cme-cti-hero  { padding: 22px 16px 20px; }
  .cme-cti-kpis  { gap: 10px; }
  .cme-cti-kpi   { min-width: 0; width: 100%; }
  .cme-cti-table-wrap { max-width: 100%; }
}

/* ═══════════════════════════════════════════════════════════
   v2.6 ADDITIONS — ticker, bar chart, trophy badges
   All existing rules above are UNCHANGED.
   ═══════════════════════════════════════════════════════════ */

/* ── Sliding ticker bar ──────────────────────────────────────
   Sits immediately above .cme-cti-wrap.
   Deep purple to distinguish from the hero gradient.      */
.cme-cti-ticker-bar {
  display: flex;
  align-items: center;
  background: #4c3d9e;
  color: #fff;
  height: 32px;
  overflow: hidden;
  font-size: 12px;
  font-weight: 600;
  max-width: 1100px;
  margin: 24px auto 0;
  border-radius: 10px 10px 0 0;
}

.cme-cti-ticker-label {
  flex-shrink: 0;
  background: rgba(0,0,0,.22);
  color: #fde68a;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: 2px;
  padding: 0 14px;
  height: 100%;
  display: flex;
  align-items: center;
  white-space: nowrap;
}

.cme-cti-ticker-track-wrap {
  flex: 1;
  overflow: hidden;
  position: relative;
  height: 100%;
}

.cme-cti-ticker-track {
  display: flex;
  align-items: center;
  list-style: none;
  margin: 0;
  padding: 0;
  white-space: nowrap;
  will-change: transform;
  /* JS sets animation; this is the no-JS fallback */
  gap: 0;
}

.cme-cti-ticker-track li {
  display: inline-flex;
  align-items: center;
  padding: 0 32px 0 0;
  color: rgba(255,255,255,.9);
  white-space: nowrap;
  flex-shrink: 0;
}

.cme-cti-ticker-track li::after {
  content: '·';
  margin-left: 32px;
  color: rgba(255,255,255,.35);
}

/* ── Bar chart sparkline ─────────────────────────────────────
   .spark-bars replaces .spark (line).
   Same .spark-wrap container, same color token.           */
.spark-bars {
  display: block;
  color: #8b7fd4; /* matches existing .spark-wrap colour */
}

/* ── Casino name + trophy inline wrap ───────────────────────*/
.casino-name-wrap {
  display: inline-flex;
  align-items: center;
  gap: 5px;
}

.cme-cti-trophy {
  display: inline-flex;
  align-items: center;
  gap: 2px;
  background: rgba(249,228,160,.28);
  color: #92600a;
  border: 1px solid rgba(160,120,0,.28);
  border-radius: 4px;
  padding: 1px 5px;
  font-size: 11px;
  font-weight: 700;
  white-space: nowrap;
  line-height: 1;
}

.cme-cti-trophy-count {
  font-variant-numeric: tabular-nums;
}

/* ── Mobile adjustments for v2.6 additions ──────────────────*/
@media (max-width: 820px) {
  .cme-cti-ticker-bar {
    max-width: 100%;
    margin: 14px 0 0;
    border-radius: 0;
  }
}

/* ── v2.6 additions ── ticker ────────────────────────────────*/
.cme-cti-ticker-bar{display:flex;align-items:center;background:#4c3d9e;color:#fff;height:32px;overflow:hidden;font-size:12px;font-weight:600;max-width:1100px;margin:24px auto 0;border-radius:10px 10px 0 0;}
.cme-cti-ticker-label{flex-shrink:0;background:rgba(0,0,0,.22);color:#fde68a;font-size:10px;font-weight:900;letter-spacing:2px;padding:0 14px;height:100%;display:flex;align-items:center;white-space:nowrap;}
.cme-cti-ticker-track-wrap{flex:1;overflow:hidden;height:100%;}
.cme-cti-ticker-track{display:flex;align-items:center;list-style:none;margin:0;padding:0;white-space:nowrap;will-change:transform;}
.cme-cti-ticker-track li{display:inline-flex;align-items:center;padding:0 32px 0 0;color:rgba(255,255,255,.9);flex-shrink:0;}
.cme-cti-ticker-track li::after{content:'·';margin-left:32px;color:rgba(255,255,255,.35);}

/* ── Bar sparkline ───────────────────────────────────────────*/
.spark-bars{display:block;color:#8b7fd4;}

/* ── Trophy badge ────────────────────────────────────────────*/
.casino-name-wrap{display:inline-flex;align-items:center;gap:5px;}
.cme-cti-trophy{display:inline-flex;align-items:center;gap:2px;background:rgba(249,228,160,.28);color:#92600a;border:1px solid rgba(160,120,0,.28);border-radius:4px;padding:1px 5px;font-size:11px;font-weight:700;white-space:nowrap;line-height:1;}
.cme-cti-trophy-count{font-variant-numeric:tabular-nums;}

/* ── Detail toggle button ────────────────────────────────────*/
.cme-cti-detail-toggle{display:inline-flex;align-items:center;gap:4px;margin-top:6px;padding:3px 10px;border:1px solid #ddd6fe;border-radius:999px;background:#f3f0fc;color:#6b5fc7;font-size:12px;font-weight:700;cursor:pointer;transition:background .15s,color .15s;}
.cme-cti-detail-toggle:hover{background:#6b5fc7;color:#fff;}
.toggle-label-close{display:none;}
.cme-cti-main-row[data-expanded="1"] .toggle-label-open{display:none;}
.cme-cti-main-row[data-expanded="1"] .toggle-label-close{display:inline;}
.cme-cti-main-row[data-expanded="1"] .cme-cti-detail-toggle{background:#6b5fc7;color:#fff;}

/* ── Dropdown row ────────────────────────────────────────────*/
.cme-cti-detail-row td{padding:0!important;}
.cme-cti-detail-cell{background:#f8f5ff;border-top:2px solid #a78bfa;border-bottom:1px solid #ede9fe;}

/* ── Dropdown wrap ───────────────────────────────────────────*/
.cme-dd-wrap{padding:0;}

/* ── Tab nav ─────────────────────────────────────────────────*/
.cme-dd-tabs{display:flex;background:#f3f0fc;border-bottom:1px solid #ddd6fe;}
.cme-dd-tab{flex:1;padding:10px 8px;border:none;background:transparent;color:#6b5fc7;font-size:12px;font-weight:700;cursor:pointer;border-bottom:2px solid transparent;transition:all .15s;white-space:nowrap;}
.cme-dd-tab:hover{background:#ede9fe;}
.cme-dd-tab.active{background:#fff;color:#4c1d95;border-bottom-color:#6b5fc7;}

/* ── Tab panels ──────────────────────────────────────────────*/
.cme-dd-panels{padding:16px;}
.cme-dd-panel{display:none;}
.cme-dd-panel.active{display:block;}

/* ── Score tab ───────────────────────────────────────────────*/
.cme-score-section{}
.cme-score-header{display:flex;align-items:center;gap:14px;margin-bottom:16px;padding:12px 14px;background:#fff;border-radius:8px;border:1px solid #ede9fe;}
.cme-score-ring{flex-shrink:0;}
.ring-text{font-size:18px;font-weight:900;font-family:monospace;}
.cme-score-label{font-weight:700;font-size:13px;color:#2d1f6e;margin-bottom:4px;}
.cme-score-explain{font-size:11px;color:#6b7280;line-height:1.6;}
.cme-score-summary{flex:1;}
.cme-score-components{display:flex;flex-direction:column;gap:10px;}
.cme-comp-row{background:#fff;border-radius:6px;border:1px solid #ede9fe;padding:10px 12px;}
.cme-comp-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:5px;}
.cme-comp-label{font-size:12px;font-weight:600;color:#2d1f6e;}
.cme-comp-score{font-size:12px;font-weight:800;font-family:monospace;}
.cme-comp-bar-bg{background:#e5e7eb;border-radius:3px;height:6px;overflow:hidden;}
.cme-comp-bar-fill{height:100%;border-radius:3px;transition:width .5s ease;}
.cme-comp-note{font-size:10px;color:#9ca3af;margin-top:4px;line-height:1.5;}
.cme-score-footer{margin-top:12px;font-size:10px;color:#9ca3af;text-align:center;line-height:1.6;}

/* ── Complaint tab ───────────────────────────────────────────*/
.cme-complaint-section{}
.cme-kpi-row{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:14px;}
.cme-mini-kpi{background:#fff;border:1px solid #ede9fe;border-radius:6px;padding:10px 8px;text-align:center;}
.mini-kpi-label{font-size:9px;color:#9ca3af;text-transform:uppercase;letter-spacing:.7px;margin-bottom:4px;}
.mini-kpi-val{font-size:20px;font-weight:900;font-family:monospace;}
.cme-chart-block{background:#fff;border:1px solid #ede9fe;border-radius:6px;padding:12px 12px 8px;}
.cme-chart-label{font-size:9px;color:#9ca3af;text-transform:uppercase;letter-spacing:.8px;margin-bottom:10px;font-weight:700;}
.cme-bar-chart{display:flex;align-items:flex-end;gap:6px;height:80px;padding-bottom:4px;}
.cme-bar-col{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;position:relative;}
.cme-bar-col:hover .cme-bar-tooltip{opacity:1;}
.cme-bar-tooltip{position:absolute;top:-22px;background:#2d1f6e;color:#fff;font-size:9px;padding:2px 5px;border-radius:3px;white-space:nowrap;opacity:0;transition:opacity .15s;pointer-events:none;}
.cme-bar{width:100%;border-radius:2px 2px 0 0;transition:height .4s ease;}
.cme-bar-label{font-size:9px;color:#9ca3af;white-space:nowrap;}
.cme-cat-list{display:flex;flex-direction:column;gap:7px;}
.cme-cat-row{display:flex;align-items:center;gap:8px;}
.cme-cat-label{font-size:11px;color:#2d1f6e;min-width:120px;flex-shrink:0;}
.cme-cat-bar-bg{flex:1;background:#e5e7eb;border-radius:3px;height:5px;overflow:hidden;}
.cme-cat-bar-fill{height:100%;border-radius:3px;transition:width .5s ease;}
.cme-cat-count{font-size:11px;font-weight:700;font-family:monospace;min-width:24px;text-align:right;}
.cme-cat-total{text-align:right;font-size:11px;color:#6b7280;margin-top:6px;padding-top:6px;border-top:1px solid #ede9fe;}

/* ── Info tab ────────────────────────────────────────────────*/
.cme-info-section{}
.cme-info-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;}
.cme-info-item{background:#fff;border:1px solid #ede9fe;border-radius:6px;padding:10px 12px;}
.cme-info-key{font-size:9px;color:#9ca3af;text-transform:uppercase;letter-spacing:.8px;margin-bottom:4px;}
.cme-info-val{font-size:12px;font-weight:700;color:#2d1f6e;}
.cme-info-val a{color:#6b5fc7;text-decoration:underline;}
.cme-info-note{font-size:10px;color:#9ca3af;text-align:center;margin-top:10px;line-height:1.6;}

/* ── Mobile ──────────────────────────────────────────────────*/
@media(max-width:820px){
  .cme-cti-ticker-bar{max-width:100%;margin:14px 0 0;border-radius:0;}
  .cme-info-grid{grid-template-columns:1fr;}
  .cme-kpi-row{grid-template-columns:1fr 1fr;}
  .cme-dd-tab{font-size:11px;padding:9px 4px;}
}

/* ═══════════════════════════════════════════════════════════
   v2.7 ADDITIONS
   1. Casino chip rank badge
   2. Trophy badge
   3. Mobile fixes — KPI cards, table scroll, touch targets
   ═══════════════════════════════════════════════════════════ */

/* ── SVG Casino chip — rendered server-side ─────────────────*/
.cme-chip-svg { display: block; }

/* ── Trophy badge ────────────────────────────────────────────*/
.casino-name-wrap {
  display: inline-flex;
  align-items: center;
  gap: 5px;
}

.cme-cti-trophy {
  display: inline-flex;
  align-items: center;
  gap: 2px;
  background: rgba(201,162,39,0.12);
  color: #92600a;
  border: 1px solid rgba(201,162,39,0.35);
  border-radius: 4px;
  padding: 1px 5px;
  font-size: 11px;
  font-weight: 700;
  white-space: nowrap;
  line-height: 1.4;
}

.cme-cti-trophy-count {
  font-variant-numeric: tabular-nums;
}

/* ── Ticker ──────────────────────────────────────────────────*/
.cme-cti-ticker-bar {
  background: #1e1550;
  overflow: hidden;
  height: 32px;
  display: flex;
  align-items: center;
  max-width: 1100px;
  margin: 24px auto 0;
  border-radius: 10px 10px 0 0;
}

.cme-cti-ticker-label {
  flex-shrink: 0;
  background: rgba(255,255,255,0.10);
  color: #fff;
  font-size: 9px;
  font-weight: 900;
  letter-spacing: 2px;
  padding: 0 12px;
  height: 100%;
  display: flex;
  align-items: center;
  white-space: nowrap;
}

.cme-cti-ticker-track-wrap { flex: 1; overflow: hidden; height: 100%; }
.cme-cti-ticker-track {
  display: flex;
  align-items: center;
  list-style: none;
  margin: 0; padding: 0;
  white-space: nowrap;
  will-change: transform;
}
.cme-cti-ticker-track li {
  display: inline-flex;
  align-items: center;
  padding: 0 28px 0 0;
  color: rgba(255,255,255,.88);
  font-size: 11px;
  font-weight: 600;
  flex-shrink: 0;
}
.cme-cti-ticker-track li::after {
  content: '·';
  margin-left: 28px;
  color: rgba(255,255,255,.3);
}

/* ── Detail toggle ───────────────────────────────────────────*/
.cme-cti-detail-toggle {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  margin-top: 6px;
  padding: 5px 12px;
  min-height: 36px;
  border: 1px solid #ddd6fe;
  border-radius: 999px;
  background: #f3f0fc;
  color: #2d1f6e;
  font-size: 12px;
  font-weight: 700;
  cursor: pointer;
  transition: background .15s, color .15s;
}
.cme-cti-detail-toggle:hover { background: #2d1f6e; color: #fff; }
.toggle-label-close { display: none; }
.cme-cti-main-row[data-expanded="1"] .toggle-label-open  { display: none; }
.cme-cti-main-row[data-expanded="1"] .toggle-label-close { display: inline; }
.cme-cti-main-row[data-expanded="1"] .cme-cti-detail-toggle { background: #2d1f6e; color: #fff; }

/* ── Dropdown ────────────────────────────────────────────────*/
.cme-cti-detail-row td { padding: 0 !important; }
.cme-cti-detail-cell { background: #f8f7fb; border-top: 2px solid #2d1f6e; border-bottom: 1px solid #ede9fe; }
.cme-dd-tabs { display: flex; background: #f3f0fc; border-bottom: 1px solid #ddd6fe; overflow-x: auto; -webkit-overflow-scrolling: touch; }
.cme-dd-tab { flex: 1; min-width: 80px; padding: 10px 6px; border: none; background: transparent; color: #6b5fc7; font-size: 11px; font-weight: 700; cursor: pointer; border-bottom: 2px solid transparent; transition: all .15s; white-space: nowrap; min-height: 44px; }
.cme-dd-tab:hover { background: #ede9fe; }
.cme-dd-tab.active { background: #fff; color: #2d1f6e; border-bottom-color: #2d1f6e; }
.cme-dd-panels { padding: 16px; }
.cme-dd-panel { display: none; }
.cme-dd-panel.active { display: block; }

/* Score tab */
.cme-score-header { display: flex; align-items: center; gap: 14px; margin-bottom: 14px; padding: 12px; background: #fff; border-radius: 8px; border: 1px solid #ede9fe; }
.cme-score-ring { flex-shrink: 0; }
.ring-text { font-size: 18px; font-weight: 900; font-family: monospace; }
.cme-score-label { font-weight: 700; font-size: 13px; color: #2d1f6e; margin-bottom: 4px; }
.cme-score-explain { font-size: 11px; color: #6b7280; line-height: 1.6; }
.cme-score-summary { flex: 1; }
.cme-score-components { display: flex; flex-direction: column; gap: 8px; }
.cme-comp-row { background: #fff; border-radius: 6px; border: 1px solid #ede9fe; padding: 10px 12px; }
.cme-comp-head { display: flex; justify-content: space-between; align-items: center; margin-bottom: 5px; }
.cme-comp-label { font-size: 12px; font-weight: 600; color: #2d1f6e; }
.cme-comp-score { font-size: 12px; font-weight: 800; font-family: monospace; }
.cme-comp-bar-bg { background: #e5e7eb; border-radius: 3px; height: 5px; overflow: hidden; }
.cme-comp-bar-fill { height: 100%; border-radius: 3px; transition: width .5s ease; }
.cme-comp-note { font-size: 10px; color: #9ca3af; margin-top: 4px; line-height: 1.5; }
.cme-score-footer { margin-top: 10px; font-size: 10px; color: #9ca3af; text-align: center; }

/* Complaint tab */
.cme-kpi-row { display: grid; grid-template-columns: repeat(3,1fr); gap: 8px; margin-bottom: 12px; }
.cme-mini-kpi { background: #fff; border: 1px solid #ede9fe; border-radius: 6px; padding: 10px 8px; text-align: center; }
.mini-kpi-label { font-size: 9px; color: #9ca3af; text-transform: uppercase; letter-spacing: .7px; margin-bottom: 4px; }
.mini-kpi-val { font-size: 18px; font-weight: 900; font-family: monospace; }
.cme-chart-block { background: #fff; border: 1px solid #ede9fe; border-radius: 6px; padding: 12px; margin-bottom: 12px; }
.cme-chart-label { font-size: 9px; color: #9ca3af; text-transform: uppercase; letter-spacing: .8px; margin-bottom: 8px; font-weight: 700; }
.cme-bar-chart { display: flex; align-items: flex-end; gap: 4px; height: 72px; padding-bottom: 4px; }
.cme-bar-col { flex: 1; display: flex; flex-direction: column; align-items: center; gap: 3px; position: relative; }
.cme-bar-col:hover .cme-bar-tooltip { opacity: 1; }
.cme-bar-tooltip { position: absolute; top: -20px; background: #2d1f6e; color: #fff; font-size: 9px; padding: 2px 5px; border-radius: 3px; white-space: nowrap; opacity: 0; transition: opacity .15s; pointer-events: none; }
.cme-bar { width: 100%; border-radius: 2px 2px 0 0; }
.cme-bar-label { font-size: 9px; color: #9ca3af; white-space: nowrap; }
.cme-cat-list { display: flex; flex-direction: column; gap: 6px; }
.cme-cat-row { display: flex; align-items: center; gap: 8px; }
.cme-cat-label { font-size: 11px; color: #2d1f6e; min-width: 110px; flex-shrink: 0; }
.cme-cat-bar-bg { flex: 1; background: #e5e7eb; border-radius: 3px; height: 4px; overflow: hidden; }
.cme-cat-bar-fill { height: 100%; border-radius: 3px; transition: width .5s ease; }
.cme-cat-count { font-size: 11px; font-weight: 700; font-family: monospace; min-width: 20px; text-align: right; }
.cme-cat-total { text-align: right; font-size: 11px; color: #6b7280; margin-top: 6px; padding-top: 6px; border-top: 1px solid #ede9fe; }

/* Info tab */
.cme-info-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.cme-info-item { background: #fff; border: 1px solid #ede9fe; border-radius: 6px; padding: 10px 12px; }
.cme-info-key { font-size: 9px; color: #9ca3af; text-transform: uppercase; letter-spacing: .8px; margin-bottom: 4px; }
.cme-info-val { font-size: 12px; font-weight: 700; color: #2d1f6e; }
.cme-info-val a { color: #2d1f6e; text-decoration: underline; }
.cme-info-note { font-size: 10px; color: #9ca3af; text-align: center; margin-top: 8px; }

/* ── MOBILE FIXES ────────────────────────────────────────────*/

/* Universal: prevent plugin elements from overflowing container */
.cme-cti-ticker-bar,
.cme-cti-wrap {
  max-width: 100% !important;
  width: 100% !important;
}

/* ── TABLET & MOBILE (max 820px) ─────────────────────────── */
@media (max-width: 820px) {

  /* Wrap */
  .cme-cti-ticker-bar { margin: 0 !important; border-radius: 0 !important; }
  .cme-cti-wrap  { margin: 0 !important; border-radius: 10px; }
  .cme-cti-hero  { padding: 18px 16px !important; }

  /* KPI cards — single column, white text always visible */
  .cme-cti-kpis  { flex-direction: column !important; gap: 8px !important; align-items: stretch !important; }
  .cme-cti-kpi   { min-width: 0 !important; width: 100% !important; padding: 14px 16px !important; }
  .kpi-label     { color: rgba(255,255,255,0.75) !important; font-size: 12px !important; }
  .kpi-val       { color: #ffffff !important; font-size: 26px !important; }

  /* Table — horizontal scroll, readable text */
  .cme-cti-table-wrap {
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch !important;
    width: 100% !important;
  }

  /* Table stays at comfortable reading width — user scrolls */
  .cme-cti-table {
    min-width: 700px !important;
    font-size: 13px !important;
  }

  /* Comfortable cell padding on mobile */
  .cme-cti-table td,
  .cme-cti-table th { padding: 12px 10px !important; }

  /* Pills — readable size */
  .pill { font-size: 12px !important; padding: 6px 10px !important; }

  /* Casino name — readable */
  .casino-name   { font-size: 14px !important; }
  .casino-domain { font-size: 11px !important; }

  /* Trust badge */
  .trust-badge   { font-size: 15px !important; width: 40px !important; height: 40px !important; }

  /* CTA button */
  .cta-btn { padding: 10px 12px !important; font-size: 13px !important; min-height: 44px !important; }

  /* Detail toggle — 44px touch target */
  .cme-cti-detail-toggle { min-height: 44px !important; padding: 8px 14px !important; font-size: 12px !important; }

  /* Dropdown tabs scrollable */
  .cme-dd-tabs { overflow-x: auto !important; -webkit-overflow-scrolling: touch !important; }
  .cme-dd-tab  { min-width: 80px !important; font-size: 11px !important; min-height: 44px !important; }

  /* Chip SVG */
  .cme-chip-svg { width: 34px !important; height: 34px !important; }

  /* Dropdown info grid */
  .cme-info-grid { grid-template-columns: 1fr !important; }
}

/* ── SMALL PHONES (max 480px) ────────────────────────────── */
@media (max-width: 480px) {
  .cme-cti-table { min-width: 620px !important; }

  /* KPI complaint row */
  .cme-kpi-row { grid-template-columns: 1fr 1fr !important; }
  .cme-kpi-row .cme-mini-kpi:last-child { grid-column: span 2; }
}

/* ═══════════════════════════════════════════════════════════
   v2.8 NEW COMPONENTS
   ═══════════════════════════════════════════════════════════ */

/* ── Industry Overview 市場概況 ──────────────────────────── */
.cme-market-overview {
  max-width: 1100px;
  margin: 0 auto 0;
  padding: 18px 20px;
  background: #ffffff;
  border: 1px solid #e4e0f0;
  border-radius: 14px;
  box-shadow: 0 2px 12px rgba(61,31,138,0.06);
}

.cme-market-header {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 10px;
}
.cme-market-icon { font-size: 16px; }
.cme-market-title {
  font-size: 13px;
  font-weight: 800;
  color: #3d1f8a;
  text-transform: uppercase;
  letter-spacing: .08em;
}

.cme-market-pulse {
  font-size: 14px;
  color: #1a1040;
  line-height: 1.75;
  font-weight: 500;
  padding: 12px 14px;
  background: #faf9ff;
  border-left: 3px solid #7c3aed;
  border-radius: 0 8px 8px 0;
  margin-bottom: 14px;
}

.cme-market-kpis {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
  margin-bottom: 16px;
}
.cme-market-kpi {
  background: #f8f7fc;
  border: 1px solid #e4e0f0;
  border-radius: 10px;
  padding: 12px 14px;
  text-align: center;
}
.cmk-label {
  font-size: 10px;
  color: #9ca3af;
  text-transform: uppercase;
  letter-spacing: .07em;
  font-weight: 600;
  margin-bottom: 6px;
}
.cmk-val {
  font-size: 26px;
  font-weight: 900;
  font-variant-numeric: tabular-nums;
  letter-spacing: -0.02em;
}
.cmk-red   { color: #ef4444; }
.cmk-amber { color: #f59e0b; }
.cmk-green { color: #22c55e; }

.cme-market-chart-wrap {
  background: #faf9ff;
  border: 1px solid #ede9fe;
  border-radius: 10px;
  padding: 14px 16px;
  margin-bottom: 14px;
}
.cme-market-chart-label {
  font-size: 10px;
  color: #9ca3af;
  text-transform: uppercase;
  letter-spacing: .08em;
  font-weight: 700;
  margin-bottom: 12px;
}
.cme-market-bars { display: flex; flex-direction: column; gap: 7px; }
.cme-market-bar-row {
  display: flex;
  align-items: center;
  gap: 10px;
}
.cmbar-label {
  font-size: 12px;
  font-weight: 600;
  color: #1a1040;
  min-width: 90px;
  flex-shrink: 0;
}
.cmbar-track {
  flex: 1;
  height: 8px;
  background: #e5e7eb;
  border-radius: 4px;
  overflow: hidden;
}
.cmbar-fill {
  height: 100%;
  border-radius: 4px;
  transition: width .5s ease;
}
.cmbar-red   { background: #ef4444; }
.cmbar-amber { background: #f59e0b; }
.cmbar-green { background: #22c55e; }
.cmbar-count {
  font-size: 12px;
  font-weight: 800;
  font-variant-numeric: tabular-nums;
  color: #6b7280;
  min-width: 24px;
  text-align: right;
}

.cme-market-bridge {
  font-size: 12px;
  color: #6b7280;
  text-align: center;
  padding-top: 4px;
  line-height: 1.7;
  font-style: italic;
}

/* ── Trust verdict ───────────────────────────────────────── */
.cme-verdict {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  padding: 12px 14px;
  border-radius: 8px;
  margin-bottom: 14px;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.65;
}
.cme-verdict.verdict-good    { background: #f0fdf4; border: 1px solid #bbf7d0; color: #14532d; }
.cme-verdict.verdict-neutral { background: #fefce8; border: 1px solid #fde68a; color: #78350f; }
.cme-verdict.verdict-bad     { background: #fef2f2; border: 1px solid #fecaca; color: #7f1d1d; }
.verdict-icon { font-size: 16px; flex-shrink: 0; margin-top: 1px; }

/* ── 3 Key signals ───────────────────────────────────────── */
.cme-signals {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8px;
  margin-bottom: 16px;
}
.cme-signal {
  border-radius: 8px;
  padding: 10px 12px;
  text-align: center;
  border: 1px solid;
}
.cme-signal.signal-good    { background: #f0fdf4; border-color: #bbf7d0; }
.cme-signal.signal-neutral { background: #fefce8; border-color: #fde68a; }
.cme-signal.signal-bad     { background: #fef2f2; border-color: #fecaca; }
.signal-label {
  font-size: 9px;
  text-transform: uppercase;
  letter-spacing: .08em;
  font-weight: 700;
  color: #6b7280;
  margin-bottom: 5px;
}
.signal-val {
  font-size: 15px;
  font-weight: 800;
  color: #1a1040;
}

/* ── Casino overview tab ─────────────────────────────────── */
.cme-info-section-title {
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: .1em;
  color: #9ca3af;
  font-weight: 700;
  margin: 14px 0 8px;
}
.cme-info-support-note {
  font-size: 10px;
  text-transform: none;
  letter-spacing: 0;
  color: #6b7280;
  font-weight: 400;
  font-style: italic;
  margin-left: 6px;
}
.cme-info-highlight { border-left: 2px solid #22c55e !important; }
.cme-info-placeholder {
  padding: 20px;
  background: #faf9ff;
  border-radius: 8px;
  border: 1px dashed #ddd6fe;
  text-align: center;
  color: #6b7280;
  font-size: 13px;
  line-height: 1.7;
}

/* ── Market overview mobile ──────────────────────────────── */
@media (max-width: 600px) {
  .cme-market-overview { padding: 14px 14px; }
  .cme-market-kpis { grid-template-columns: 1fr 1fr; }
  .cme-market-kpi:last-child { grid-column: span 2; }
  .cmk-val { font-size: 22px; }
  .cme-signals { grid-template-columns: 1fr; }
  .cmbar-label { min-width: 70px; font-size: 11px; }
}

/* ── v2.9.1 additions ────────────────────────────────────── */
.cme-market-chart-note {
  font-size: 10px;
  color: #9ca3af;
  margin: 8px 0 0;
  line-height: 1.6;
  font-style: italic;
}

/* ── v2.9.2 — complaint rate chart additions ─────────────── */
.cmbar-grey { background: #d1d5db !important; }
.cmbar-raw {
  display: block;
  font-size: 10px;
  font-weight: 400;
  color: #9ca3af;
  line-height: 1.3;
}
.cmbar-count {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  min-width: 56px;
}

/* ── v2.9.3 — confidence badges ─────────────────────────── */
.cme-market-bar-row {
  align-items: center;
}
.cmconf-badge {
  font-size: 9px;
  font-weight: 700;
  padding: 2px 6px;
  border-radius: 10px;
  white-space: nowrap;
  flex-shrink: 0;
  margin-left: 6px;
  letter-spacing: .03em;
}
.cmconf-high { background: #dcfce7; color: #166534; }
.cmconf-mid  { background: #fef9c3; color: #854d0e; }
.cmconf-low  { background: #fee2e2; color: #991b1b; }
.cmconf-none { background: #f3f4f6; color: #6b7280; }


/* ── v2.10.0 final polish: clarity + mobile + premium chip ───────────────── */
.cme-complaint-note {
  margin-bottom: 12px;
  padding: 10px 12px;
  background: #faf9ff;
  border-left: 3px solid #7c3aed;
  border-radius: 0 8px 8px 0;
  color: #5b6474;
  font-size: 12px;
  line-height: 1.65;
}
.cme-market-chart-subnote {
  font-size: 12px;
  color: #6b7280;
  line-height: 1.65;
  margin: -4px 0 12px;
}
.cmk-text {
  font-size: 15px;
  line-height: 1.35;
  letter-spacing: 0;
}
.cme-market-kpis { grid-template-columns: repeat(4, minmax(0,1fr)); }
.cme-chip-svg { display: inline-block; vertical-align: middle; filter: drop-shadow(0 1px 2px rgba(17,24,39,.12)); }
.bestfor-cell { white-space: normal; line-height: 1.5; }
.cme-cti-tag {
  display: inline-flex;
  align-items: center;
  padding: 2px 7px;
  background: #f5f3ff;
  border: 1px solid #ddd6fe;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 700;
  color: #4c1d95;
}
.cme-cti-tag-sep { display:none; }
.casino-name-wrap { gap: 8px; flex-wrap: wrap; }
.cme-cti-trophy { background: #fff7ed; color: #9a6700; border-color: #f3d184; }
.cme-cti-ticker-bar, .cme-cti-wrap, .cme-cti-table-wrap { max-width: 100%; }
.cme-cti-table { width: 100%; table-layout: auto; }
.cme-cti-table th, .cme-cti-table td { font-size: 13px; vertical-align: middle; }
.cme-cti-table th:nth-child(1), .cme-cti-table td:nth-child(1) { width: 58px; }
.cme-cti-table th:nth-child(2), .cme-cti-table td:nth-child(2) { min-width: 180px; }
.cme-cti-table th:nth-child(4), .cme-cti-table td:nth-child(4) { min-width: 180px; }
.cme-cti-table th:nth-child(8), .cme-cti-table td:nth-child(8) { min-width: 150px; }
.cme-cti-table th:nth-child(9), .cme-cti-table td:nth-child(9) { min-width: 120px; }
.cme-cti-detail-toggle, .cta-btn, .cme-dd-tab { min-height: 44px; }
@media (max-width: 980px) {
  .cme-market-kpis { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .cme-cti-table-wrap { overflow-x: auto; -webkit-overflow-scrolling: touch; }
  .cme-cti-table { min-width: 980px; }
  .cme-cti-table th, .cme-cti-table td { font-size: 14px; }
  .trust-flex { gap: 10px; }
  .trust-badge { min-width: 44px; height: 44px; font-size: 16px; }
  .cta-btn { font-size: 13px; padding: 10px 14px; }
  .spark-wrap { min-width: 140px; }
}
@media (max-width: 640px) {
  .cme-market-overview { padding: 14px; }
  .cme-market-pulse, .cme-market-chart-subnote, .cme-market-bridge, .cme-complaint-note { font-size: 12px; }
  .cmbar-label { min-width: 82px; font-size: 12px; }
  .cmbar-count { min-width: 62px; }
  .cmconf-badge { font-size: 10px; }
  .cme-dd-tab { font-size: 13px; padding: 10px 12px; }
}

/* ── v2.10.1 market pulse refresh ─────────────────────────── */
.cmk-sub {
  margin-top: 6px;
  font-size: 11px;
  color: #6b7280;
  line-height: 1.45;
  font-weight: 600;
}
.cme-risk-trend-wrap { padding-bottom: 12px; }
.cme-risk-legend {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 12px;
  margin: 0 0 14px;
}
.cme-risk-legend-item {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 11px;
  color: #4b5563;
  font-weight: 600;
}
.cme-risk-swatch {
  width: 10px;
  height: 10px;
  border-radius: 3px;
  display: inline-block;
}
.risk-withdrawal { background: #ef4444; }
.risk-kyc        { background: #f59e0b; }
.risk-account    { background: #ec4899; }
.risk-support    { background: #8b5cf6; }
.risk-bonus      { background: #3b82f6; }
.cme-risk-chart {
  display: grid;
  grid-template-columns: repeat(14, minmax(0,1fr));
  gap: 8px;
  align-items: end;
  height: 170px;
  padding: 8px 2px 0;
}
.cme-risk-col {
  display: flex;
  flex-direction: column;
  align-items: center;
  min-width: 0;
}
.cme-risk-bar {
  width: 100%;
  height: 136px;
  background: linear-gradient(to top, #f3f4f6 0%, #f9fafb 100%);
  border-radius: 8px;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  padding: 4px;
  overflow: hidden;
}
.cme-risk-stack {
  width: 100%;
  min-height: 6px;
  display: flex;
  flex-direction: column-reverse;
  gap: 1px;
  border-radius: 6px;
  overflow: hidden;
}
.cme-risk-seg {
  display: block;
  width: 100%;
  min-height: 3px;
}
.cme-risk-zero {
  width: 100%;
  height: 2px;
  border-radius: 999px;
  background: #e5e7eb;
}
.cme-risk-day {
  margin-top: 7px;
  min-height: 16px;
  font-size: 10px;
  color: #9ca3af;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
}
@media (max-width: 980px) {
  .cme-risk-chart { gap: 6px; height: 156px; }
  .cme-risk-bar { height: 126px; }
}
@media (max-width: 640px) {
  .cme-market-kpis { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .cmk-sub { font-size: 10px; }
  .cme-risk-legend { gap: 6px 10px; }
  .cme-risk-legend-item { font-size: 10px; }
  .cme-risk-chart { gap: 4px; height: 144px; }
  .cme-risk-bar { height: 112px; padding: 3px; border-radius: 6px; }
  .cme-risk-day { font-size: 9px; }
}

/* ── v2.10.2 market donut refresh ────────────────────────── */
.risk-tech { background: #14b8a6; }
.cme-market-chart-top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 14px;
}
.cme-market-range {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 4px;
  background: #f3f4f6;
  border-radius: 999px;
  border: 1px solid #e5e7eb;
  flex-shrink: 0;
}
.cme-market-range-btn {
  appearance: none;
  border: 0;
  background: transparent;
  color: #6b7280;
  font-size: 12px;
  font-weight: 800;
  padding: 8px 12px;
  border-radius: 999px;
  line-height: 1;
  cursor: pointer;
}
.cme-market-range-btn.active {
  background: #4c2aa5;
  color: #fff;
  box-shadow: 0 4px 10px rgba(76,42,165,.18);
}
.cme-market-donut-grid {
  display: grid;
  grid-template-columns: minmax(240px, 320px) minmax(0, 1fr);
  gap: 18px;
  align-items: center;
}
.cme-market-donut-shell {
  display: flex;
  align-items: center;
  justify-content: center;
}
.cme-market-donut-visual {
  width: 240px;
  height: 240px;
  border-radius: 50%;
  position: relative;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.8), 0 10px 24px rgba(17,24,39,.06);
}
.cme-market-donut-visual::after {
  content: '';
  position: absolute;
  inset: 22px;
  border-radius: 50%;
  background: #fff;
  box-shadow: inset 0 0 0 1px #ece8f6;
}
.cme-market-donut-center {
  position: absolute;
  inset: 0;
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 0 28px;
}
.cme-donut-period {
  font-size: 12px;
  color: #6b7280;
  font-weight: 800;
  margin-bottom: 4px;
}
.cme-donut-total {
  font-size: 32px;
  line-height: 1;
  color: #1f2937;
  font-weight: 900;
  letter-spacing: -.02em;
}
.cme-donut-focus {
  margin-top: 8px;
  font-size: 12px;
  color: #6b7280;
  font-weight: 700;
}
.cme-market-donut-summary {
  display: flex;
  flex-direction: column;
  gap: 3px;
  margin-bottom: 12px;
}
.cme-market-summary-kicker {
  font-size: 11px;
  font-weight: 800;
  color: #8b92a3;
  letter-spacing: .04em;
}
.cme-market-summary-main {
  font-size: 24px;
  line-height: 1.2;
  color: #1f2937;
  font-weight: 900;
}
.cme-market-summary-sub {
  font-size: 12px;
  color: #6b7280;
  font-weight: 700;
}
.cme-risk-legend-vertical {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin: 0;
}
.cme-risk-legend-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 10px 12px;
  border-radius: 12px;
  background: #faf9fd;
  border: 1px solid #ece8f6;
}
.cme-risk-legend-metric {
  font-size: 12px;
  color: #4b5563;
  font-weight: 800;
  white-space: nowrap;
}
.cme-risk-legend-metric em {
  font-style: normal;
  color: #8b92a3;
  margin-left: 6px;
}
@media (max-width: 900px) {
  .cme-market-chart-top {
    flex-direction: column;
    align-items: stretch;
  }
  .cme-market-range {
    align-self: flex-start;
  }
  .cme-market-donut-grid {
    grid-template-columns: 1fr;
  }
  .cme-market-donut-shell {
    justify-content: flex-start;
  }
}
@media (max-width: 640px) {
  .cme-market-range-btn {
    font-size: 11px;
    padding: 8px 10px;
  }
  .cme-market-donut-shell {
    justify-content: center;
  }
  .cme-market-donut-visual {
    width: 210px;
    height: 210px;
  }
  .cme-market-donut-visual::after {
    inset: 20px;
  }
  .cme-donut-total {
    font-size: 28px;
  }
  .cme-market-summary-main {
    font-size: 21px;
  }
  .cme-risk-legend-row {
    padding: 9px 10px;
  }
}

/* ── v2.10.3 market context upgrade ───────────────────────── */
.risk-other { background: #9ca3af; }
.risk-dissatisfaction { background: #64748b; }
.risk-distrust { background: #475569; }
.risk-recurring { background: #0f766e; }
.cme-market-dual-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(320px, .85fr);
  gap: 16px;
  margin-bottom: 14px;
}
.cme-market-series-bars {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(18px, 1fr));
  gap: 8px;
  align-items: end;
  min-height: 196px;
  padding-top: 8px;
}
.cme-market-series-col {
  display: flex;
  flex-direction: column;
  align-items: center;
  min-width: 0;
}
.cme-market-series-count {
  font-size: 10px;
  color: #6b7280;
  font-weight: 700;
  margin-bottom: 6px;
  line-height: 1;
}
.cme-market-series-bar {
  width: 100%;
  height: 138px;
  background: linear-gradient(to top, #f3f4f6 0%, #faf7ff 100%);
  border-radius: 8px;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  padding: 3px;
  box-shadow: inset 0 0 0 1px #efe9fb;
}
.cme-market-series-bar span {
  display: block;
  width: 100%;
  border-radius: 6px;
  background: linear-gradient(180deg, #8b5cf6 0%, #4c2aa5 100%);
  min-height: 6px;
}
.cme-market-series-day {
  margin-top: 7px;
  min-height: 16px;
  font-size: 10px;
  color: #9ca3af;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
}
.cme-market-context-table-wrap {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}
.cme-market-context-table {
  width: 100%;
  border-collapse: collapse;
  min-width: 620px;
}
.cme-market-context-table th,
.cme-market-context-table td {
  padding: 10px 12px;
  border-bottom: 1px solid #ece8f6;
  text-align: right;
  font-size: 12px;
  color: #374151;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}
.cme-market-context-table th {
  font-size: 11px;
  color: #8b92a3;
  letter-spacing: .04em;
  text-transform: uppercase;
  font-weight: 800;
  background: #faf9fd;
}
.cme-market-context-table th:first-child,
.cme-market-context-table td:first-child {
  text-align: left;
}
.cme-market-context-table .ctx-name {
  color: #1f2937;
  font-weight: 700;
}
.cme-market-explain {
  margin-top: 14px;
  padding: 14px 16px;
  background: #faf9fd;
  border: 1px solid #ece8f6;
  border-radius: 12px;
}
.cme-market-explain p {
  margin: 0 0 10px;
  font-size: 12px;
  line-height: 1.8;
  color: #4b5563;
}
.cme-market-explain p:last-child { margin-bottom: 0; }
@media (max-width: 980px) {
  .cme-market-dual-grid {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 640px) {
  .cme-market-dual-grid { gap: 12px; }
  .cme-market-series-bars {
    grid-template-columns: repeat(auto-fit, minmax(14px, 1fr));
    gap: 5px;
    min-height: 170px;
  }
  .cme-market-series-bar { height: 118px; }
  .cme-market-series-count { font-size: 9px; }
  .cme-market-series-day { font-size: 9px; }
  .cme-market-context-table th,
  .cme-market-context-table td { padding: 9px 10px; font-size: 11px; }
}

/* ── v2.10.4 market block refinement ─────────────────────── */
.risk-payment { background: #06b6d4; }
.risk-ops { background: #64748b; }

.cme-market-chart-top {
  align-items: center;
}
.cme-market-pulse {
  max-width: 860px;
  line-height: 1.75;
}
.cme-market-kpi .cmk-sub {
  line-height: 1.55;
}

.cme-market-series-scroll {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  padding-bottom: 4px;
}
.cme-market-series-bars {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: minmax(46px, 1fr);
  min-width: max-content;
  gap: 10px;
  align-items: end;
  min-height: 214px;
  padding-top: 8px;
}
.cme-market-series-col {
  min-width: 46px;
}
.cme-market-series-count {
  font-size: 11px;
  color: #4b5563;
  font-weight: 800;
}
.cme-market-series-bar {
  height: 154px;
  border-radius: 10px;
  padding: 4px;
  background: linear-gradient(to top, #f1f5f9 0%, #faf7ff 100%);
  box-shadow: inset 0 0 0 1px #e8e1f6;
}
.cme-market-series-bar span {
  border-radius: 8px;
  background: linear-gradient(180deg, #7c3aed 0%, #4c2aa5 100%);
  box-shadow: 0 4px 10px rgba(76,42,165,.18);
}
.cme-market-series-col.is-zero .cme-market-series-bar span {
  height: 0 !important;
  min-height: 0;
  box-shadow: none;
}
.cme-market-series-col.is-zero .cme-market-series-count {
  color: #9ca3af;
}
.cme-market-series-day {
  color: #6b7280;
  font-weight: 800;
}

.cme-market-donut-grid {
  gap: 16px;
  align-items: center;
}
.cme-market-donut-side {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.cme-market-donut-summary {
  padding: 14px 16px;
  border-radius: 14px;
  background: #faf9fd;
  border: 1px solid #ece8f6;
}
.cme-market-summary-kicker {
  font-size: 12px;
  letter-spacing: .02em;
}
.cme-market-summary-main {
  font-size: 28px;
}
.cme-market-summary-sub {
  line-height: 1.6;
}
.cme-risk-legend-vertical {
  gap: 10px;
}
.cme-risk-legend-row {
  padding: 11px 12px;
}

.cme-market-context-table {
  min-width: 520px;
}
.cme-market-context-table th,
.cme-market-context-table td {
  font-size: 12px;
}
.cme-market-context-table th {
  text-transform: none;
}

@media (max-width: 980px) {
  .cme-market-pulse {
    max-width: none;
  }
}
@media (max-width: 640px) {
  .cme-market-range {
    width: 100%;
    justify-content: space-between;
  }
  .cme-market-range-btn {
    flex: 1 1 auto;
    text-align: center;
  }
  .cme-market-kpis {
    grid-template-columns: 1fr;
  }
  .cme-market-series-bars {
    grid-auto-columns: minmax(44px, 44px);
    min-height: 190px;
    gap: 8px;
  }
  .cme-market-series-bar {
    height: 132px;
  }
  .cme-market-series-count,
  .cme-market-series-day,
  .cme-market-chart-subnote,
  .cme-market-explain p,
  .cme-market-context-table th,
  .cme-market-context-table td {
    font-size: 12px;
  }
  .cme-market-donut-visual {
    width: 220px;
    height: 220px;
  }
  .cme-market-summary-main {
    font-size: 24px;
  }
  .cme-market-donut-summary {
    padding: 12px 14px;
  }
}


/* ── v2.10.5 market layout repair ────────────────────────── */
.cme-market-overview-rich .cme-market-dual-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 16px;
  margin-bottom: 16px;
}
.cme-market-overview-rich .cme-market-chart-wrap {
  padding: 18px 20px;
  border-radius: 16px;
}
.cme-market-overview-rich .cme-market-chart-label {
  font-size: 14px;
  font-weight: 800;
  color: #1f2937;
  margin-bottom: 8px;
}
.cme-market-overview-rich .cme-market-chart-subnote {
  max-width: 760px;
  font-size: 12px;
  line-height: 1.75;
  margin: 0 0 14px;
}
.cme-market-overview-rich .cme-market-series-bars {
  grid-auto-columns: minmax(54px, 54px);
  min-height: 196px;
  gap: 12px;
}
.cme-market-overview-rich .cme-market-series-col { min-width: 54px; }
.cme-market-overview-rich .cme-market-series-count {
  font-size: 12px;
  margin-bottom: 8px;
}
.cme-market-overview-rich .cme-market-series-bar {
  height: 132px;
  padding: 6px;
}
.cme-market-overview-rich .cme-market-series-bar span {
  display: block;
  width: 100%;
}
.cme-market-overview-rich .cme-market-donut-grid {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
}
.cme-market-overview-rich .cme-market-donut-shell {
  width: 100%;
  justify-content: center;
}
.cme-market-overview-rich .cme-market-donut-visual {
  width: 228px;
  height: 228px;
}
.cme-market-overview-rich .cme-market-donut-side {
  width: 100%;
  max-width: 760px;
  gap: 14px;
}
.cme-market-overview-rich .cme-market-donut-summary {
  text-align: center;
}
.cme-market-overview-rich .cme-risk-legend-vertical {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}
.cme-market-overview-rich .cme-risk-legend-row {
  min-width: 0;
}
.cme-market-overview-rich .cme-risk-legend-item {
  min-width: 0;
  max-width: calc(100% - 76px);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.cme-market-overview-rich .cme-market-context-wrap {
  margin-top: 2px;
}
.cme-market-overview-rich .cme-market-context-table {
  min-width: 640px;
}
.cme-market-overview-rich .cme-market-context-table th,
.cme-market-overview-rich .cme-market-context-table td {
  padding: 12px 14px;
  font-size: 12px;
}
.cme-market-overview-rich .ctx-total {
  font-weight: 800;
  color: #1f2937;
}
.cme-market-overview-rich .ctx-neutral {
  margin-top: 3px;
  font-size: 11px;
  color: #8b92a3;
  font-weight: 700;
}
.cme-market-overview-rich .cme-market-explain {
  margin-top: 16px;
}
@media (max-width: 767px) {
  .cme-market-overview-rich .cme-market-chart-wrap {
    padding: 14px 14px;
  }
  .cme-market-overview-rich .cme-market-chart-top {
    flex-direction: column;
    align-items: stretch;
    gap: 10px;
  }
  .cme-market-overview-rich .cme-market-range {
    width: 100%;
    justify-content: space-between;
  }
  .cme-market-overview-rich .cme-market-range-btn {
    flex: 1 1 0;
  }
  .cme-market-overview-rich .cme-market-kpis {
    grid-template-columns: 1fr;
  }
  .cme-market-overview-rich .cme-market-series-bars {
    grid-auto-columns: minmax(46px, 46px);
    gap: 8px;
    min-height: 172px;
  }
  .cme-market-overview-rich .cme-market-series-col {
    min-width: 46px;
  }
  .cme-market-overview-rich .cme-market-series-bar {
    height: 116px;
    padding: 4px;
  }
  .cme-market-overview-rich .cme-market-series-count,
  .cme-market-overview-rich .cme-market-series-day,
  .cme-market-overview-rich .cme-market-chart-subnote,
  .cme-market-overview-rich .cme-market-explain p,
  .cme-market-overview-rich .cme-market-context-table th,
  .cme-market-overview-rich .cme-market-context-table td {
    font-size: 11px;
  }
  .cme-market-overview-rich .cme-market-donut-visual {
    width: 200px;
    height: 200px;
  }
  .cme-market-overview-rich .cme-risk-legend-vertical {
    grid-template-columns: 1fr;
  }
  .cme-market-overview-rich .cme-market-context-table {
    min-width: 560px;
  }
}

/* ── v2.10.6 stability-first market layout ───────────────── */
.cme-market-overview-rich {
  overflow: hidden;
}
.cme-market-overview-rich .cme-market-chart-wrap {
  width: 100%;
  min-width: 0;
  margin-bottom: 16px;
  padding: 16px 18px;
  border-radius: 16px;
}
.cme-market-overview-rich .cme-market-chart-wrap:last-of-type {
  margin-bottom: 0;
}
.cme-market-overview-rich .cme-market-dual-grid {
  display: block !important;
  margin: 0;
}
.cme-market-overview-rich .cme-market-series-wrap,
.cme-market-overview-rich .cme-market-donut-wrap,
.cme-market-overview-rich .cme-market-context-wrap {
  display: block;
}
.cme-market-overview-rich .cme-market-series-scroll,
.cme-market-overview-rich .cme-market-context-table-wrap {
  width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}
.cme-market-overview-rich .cme-market-series-bars {
  width: max-content;
  min-width: 100%;
  grid-auto-flow: column;
  grid-auto-columns: minmax(54px, 1fr);
  gap: 10px;
  min-height: 0;
  align-items: end;
}
.cme-market-overview-rich .cme-market-series-col {
  min-width: 54px;
}
.cme-market-overview-rich .cme-market-series-count {
  margin-bottom: 6px;
  font-size: 11px;
  line-height: 1.1;
}
.cme-market-overview-rich .cme-market-series-bar {
  height: 110px;
  padding: 5px;
}
.cme-market-overview-rich .cme-market-series-bar span {
  display: block;
  width: 100%;
}
.cme-market-overview-rich .cme-market-series-day {
  margin-top: 6px;
  min-height: auto;
  font-size: 11px;
}
.cme-market-overview-rich .cme-market-donut-stack {
  display: grid;
  grid-template-columns: 1fr;
  gap: 14px;
  align-items: start;
}
.cme-market-overview-rich .cme-market-donut-shell {
  width: 100%;
  display: flex;
  justify-content: center;
}
.cme-market-overview-rich .cme-market-donut-visual {
  width: 220px;
  height: 220px;
  margin: 0 auto;
}
.cme-market-overview-rich .cme-market-donut-center,
.cme-market-overview-rich .cme-market-summary-kicker,
.cme-market-overview-rich .cme-market-summary-main,
.cme-market-overview-rich .cme-market-summary-sub,
.cme-market-overview-rich .cme-risk-legend-row,
.cme-market-overview-rich .cme-risk-legend-item,
.cme-market-overview-rich .cme-risk-legend-metric {
  writing-mode: horizontal-tb;
  text-orientation: mixed;
}
.cme-market-overview-rich .cme-market-donut-summary {
  width: 100%;
  max-width: 680px;
  margin: 0 auto;
  padding: 14px 16px;
  text-align: center;
  background: #faf9fd;
  border: 1px solid #ece8f6;
  border-radius: 14px;
}
.cme-market-overview-rich .cme-market-summary-kicker {
  display: block;
  margin-bottom: 6px;
}
.cme-market-overview-rich .cme-market-summary-main {
  display: block;
  font-size: 28px;
  line-height: 1.15;
  word-break: keep-all;
}
.cme-market-overview-rich .cme-market-summary-sub {
  display: block;
  margin-top: 6px;
  line-height: 1.6;
}
.cme-market-overview-rich .cme-risk-legend-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  width: 100%;
}
.cme-market-overview-rich .cme-risk-legend-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  min-width: 0;
  padding: 10px 12px;
  background: #fff;
  border: 1px solid #ece8f6;
  border-radius: 12px;
}
.cme-market-overview-rich .cme-risk-legend-item {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 12px;
}
.cme-market-overview-rich .cme-risk-legend-metric {
  white-space: nowrap;
  font-size: 12px;
}
.cme-market-overview-rich .cme-market-context-table {
  min-width: 640px;
  width: 100%;
  border-collapse: collapse;
}
.cme-market-overview-rich .cme-market-context-table th,
.cme-market-overview-rich .cme-market-context-table td {
  padding: 11px 12px;
  font-size: 12px;
}
.cme-market-overview-rich .ctx-total {
  font-weight: 800;
  color: #1f2937;
}
.cme-market-overview-rich .ctx-neutral {
  margin-top: 2px;
  font-size: 11px;
  color: #8b92a3;
}
.cme-market-overview-rich .cme-market-explain {
  margin-top: 16px;
}
@media (max-width: 767px) {
  .cme-market-overview-rich .cme-market-chart-wrap {
    padding: 14px;
    margin-bottom: 14px;
  }
  .cme-market-overview-rich .cme-market-chart-top {
    flex-direction: column;
    align-items: stretch;
    gap: 10px;
  }
  .cme-market-overview-rich .cme-market-range {
    width: 100%;
    justify-content: stretch;
  }
  .cme-market-overview-rich .cme-market-range-btn {
    flex: 1 1 0;
  }
  .cme-market-overview-rich .cme-market-kpis {
    grid-template-columns: 1fr;
  }
  .cme-market-overview-rich .cme-market-series-bars {
    min-width: max-content;
    grid-auto-columns: minmax(44px, 44px);
    gap: 8px;
  }
  .cme-market-overview-rich .cme-market-series-col {
    min-width: 44px;
  }
  .cme-market-overview-rich .cme-market-series-bar {
    height: 96px;
  }
  .cme-market-overview-rich .cme-market-series-count,
  .cme-market-overview-rich .cme-market-series-day,
  .cme-market-overview-rich .cme-market-chart-subnote,
  .cme-market-overview-rich .cme-market-explain p,
  .cme-market-overview-rich .cme-market-context-table th,
  .cme-market-overview-rich .cme-market-context-table td {
    font-size: 11px;
  }
  .cme-market-overview-rich .cme-market-donut-visual {
    width: 188px;
    height: 188px;
  }
  .cme-market-overview-rich .cme-risk-legend-grid {
    grid-template-columns: 1fr;
  }
  .cme-market-overview-rich .cme-market-summary-main {
    font-size: 24px;
  }
  .cme-market-overview-rich .cme-market-context-table {
    min-width: 560px;
  }
}

/* ===== v2.10.7 market professionalism overrides ===== */
.cme-market-overview-rich .cme-market-donut-wrap,
.cme-market-overview-rich .cme-market-context-wrap,
.cme-market-overview-rich .cme-market-explain {
  width: 100%;
  min-width: 0;
}
.cme-market-overview-rich .cme-market-donut-pro {
  display: grid;
  grid-template-columns: minmax(260px, 340px) minmax(0, 1fr);
  gap: 24px;
  align-items: center;
  margin-top: 12px;
}
.cme-market-overview-rich .cme-market-donut-maincol {
  min-width: 0;
}
.cme-market-overview-rich .cme-market-donut-shell {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 8px 0 4px;
}
.cme-market-overview-rich .cme-market-donut-visual {
  width: 286px;
  height: 286px;
  max-width: 100%;
  margin: 0 auto;
}
.cme-market-overview-rich .cme-market-donut-note {
  margin-top: 12px;
  padding: 12px 14px;
  border: 1px solid #ede9fe;
  border-radius: 12px;
  background: #faf9ff;
  color: #374151;
  font-size: 14px;
  line-height: 1.7;
}
.cme-market-overview-rich .cme-market-donut-side {
  min-width: 0;
  border-left: 1px solid #ede9fe;
  padding-left: 20px;
}
.cme-market-overview-rich .cme-market-donut-sidehead {
  margin: 0 0 12px;
  color: #6b7280;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.cme-market-overview-rich .cme-risk-legend-list {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.cme-market-overview-rich .cme-risk-legend-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 12px;
  align-items: center;
  padding: 10px 0;
  border-bottom: 1px solid #f0edf9;
}
.cme-market-overview-rich .cme-risk-legend-row:last-child {
  border-bottom: none;
}
.cme-market-overview-rich .cme-risk-legend-item {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
  color: #0d0d1a;
  font-weight: 700;
}
.cme-market-overview-rich .cme-risk-legend-metric {
  display: inline-flex;
  align-items: baseline;
  gap: 10px;
  white-space: nowrap;
  color: #374151;
}
.cme-market-overview-rich .cme-risk-legend-metric strong {
  font-size: 15px;
  color: #0d0d1a;
}
.cme-market-overview-rich .cme-risk-legend-metric em {
  font-style: normal;
  color: #6b7280;
}
.cme-market-overview-rich .cme-risk-legend-empty {
  padding: 10px 0;
  color: #6b7280;
  font-size: 14px;
}
.cme-market-overview-rich .cme-market-context-table-wrap {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}
.cme-market-overview-rich .cme-market-context-table {
  width: 100%;
  min-width: 680px;
  border-collapse: separate;
  border-spacing: 0;
}
.cme-market-overview-rich .cme-market-context-table th,
.cme-market-overview-rich .cme-market-context-table td {
  padding: 14px 16px;
  border-bottom: 1px solid #f0edf9;
  vertical-align: middle;
}
.cme-market-overview-rich .cme-market-context-table th {
  font-size: 13px;
  color: #6b7280;
  font-weight: 800;
  background: transparent;
}
.cme-market-overview-rich .cme-market-context-table td {
  font-size: 14px;
  color: #0d0d1a;
}
.cme-market-overview-rich .cme-market-context-table .ctx-name {
  font-weight: 800;
}
.cme-market-overview-rich .ctx-total {
  font-weight: 800;
  font-size: 15px;
  color: #0d0d1a;
}
.cme-market-overview-rich .ctx-neutral,
.cme-market-overview-rich .ctx-mini {
  margin-top: 4px;
  color: #6b7280;
  font-size: 12px;
}
.cme-market-overview-rich .ctx-rate {
  font-weight: 800;
  font-size: 15px;
  color: #0d0d1a;
}
.cme-market-overview-rich .cme-market-context-note {
  margin-top: 14px;
  padding: 14px 16px;
  border: 1px solid #ede9fe;
  border-radius: 12px;
  background: #faf9ff;
}
.cme-market-overview-rich .cme-market-context-note p {
  margin: 0 0 10px;
  color: #374151;
  font-size: 14px;
  line-height: 1.75;
}
.cme-market-overview-rich .cme-market-context-note p:last-child {
  margin-bottom: 0;
}
.cme-market-overview-rich .cme-market-explain {
  margin-top: 14px;
  padding: 14px 16px;
  border: 1px solid #ede9fe;
  border-radius: 12px;
  background: #fff;
}
.cme-market-overview-rich .cme-market-explain p {
  margin: 0;
  color: #374151;
  font-size: 14px;
  line-height: 1.75;
}
@media (max-width: 900px) {
  .cme-market-overview-rich .cme-market-donut-pro {
    grid-template-columns: 1fr;
    gap: 16px;
  }
  .cme-market-overview-rich .cme-market-donut-side {
    border-left: none;
    border-top: 1px solid #ede9fe;
    padding-left: 0;
    padding-top: 14px;
  }
}
@media (max-width: 640px) {
  .cme-market-overview-rich .cme-market-donut-visual {
    width: 240px;
    height: 240px;
  }
  .cme-market-overview-rich .cme-market-donut-note,
  .cme-market-overview-rich .cme-market-context-note,
  .cme-market-overview-rich .cme-market-explain {
    font-size: 13px;
    padding: 12px 13px;
  }
  .cme-market-overview-rich .cme-market-context-table {
    min-width: 620px;
  }
  .cme-market-overview-rich .cme-market-context-table th,
  .cme-market-overview-rich .cme-market-context-table td {
    padding: 12px 12px;
    font-size: 13px;
  }
}

/* ===== v2.10.8 targeted repairs ===== */
.cme-market-overview-rich .cme-market-series-wrap {
  overflow: hidden;
}
.cme-market-overview-rich .cme-market-series-scroll {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  padding: 10px 0 2px;
}
.cme-market-overview-rich .cme-market-series-bars {
  width: max-content;
  min-width: 100%;
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: 56px;
  gap: 16px;
  align-items: end;
  min-height: 0;
}
.cme-market-overview-rich .cme-market-series-col {
  min-width: 56px;
  display: grid;
  grid-template-rows: auto 138px auto;
  gap: 8px;
  align-items: end;
}
.cme-market-overview-rich .cme-market-series-count {
  margin: 0;
  text-align: center;
  font-size: 13px;
  font-weight: 800;
  color: #4b5563;
}
.cme-market-overview-rich .cme-market-series-bar {
  height: 138px;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  background: transparent;
  box-shadow: none;
  border: 0;
  padding: 0;
  position: relative;
}
.cme-market-overview-rich .cme-market-series-bar::after {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 2px;
  background: #ddd6fe;
  border-radius: 999px;
}
.cme-market-overview-rich .cme-market-series-bar span {
  display: block;
  width: 34px;
  min-height: 0;
  border-radius: 10px 10px 0 0;
  background: linear-gradient(180deg, #7c3aed 0%, #5b21b6 100%);
  box-shadow: 0 6px 14px rgba(91,33,182,.18);
  position: relative;
  z-index: 1;
}
.cme-market-overview-rich .cme-market-series-col.is-zero .cme-market-series-bar span {
  display: none;
}
.cme-market-overview-rich .cme-market-series-day {
  margin: 0;
  text-align: center;
  font-size: 12px;
  font-weight: 700;
  color: #6b7280;
}
.cme-market-overview-rich .cme-market-donut-note {
  margin-top: 14px;
  padding: 14px 16px;
  border: 1px solid #ede9fe;
  border-radius: 12px;
  background: #faf9ff;
  color: #374151;
  font-size: 14px;
  line-height: 1.75;
}
.cme-market-overview-rich .cme-market-donut-note-mini {
  display: block;
  margin-top: 6px;
  color: #6b7280;
  font-size: 12px;
}
.cme-market-overview-rich .cme-market-context-note-top {
  margin: 6px 0 14px;
}
.cme-market-overview-rich .cme-market-context-note-top p {
  font-size: 14px;
  line-height: 1.8;
}
@media (max-width: 767px) {
  .cme-market-overview-rich .cme-market-series-bars {
    grid-auto-columns: 50px;
    gap: 12px;
  }
  .cme-market-overview-rich .cme-market-series-col {
    min-width: 50px;
    grid-template-rows: auto 112px auto;
  }
  .cme-market-overview-rich .cme-market-series-bar {
    height: 112px;
  }
  .cme-market-overview-rich .cme-market-series-bar span {
    width: 28px;
  }
  .cme-market-overview-rich .cme-market-series-count,
  .cme-market-overview-rich .cme-market-series-day {
    font-size: 11px;
  }
}


/* ===== v2.10.9 clarity + chart fixes ===== */
.cmk-navy { color:#1f2a44; }
.cme-market-overview-rich .cme-market-kpi:first-child .cmk-sub { font-weight:700; }
.cme-market-overview-rich .cme-market-series-bars {
  display:flex;
  align-items:flex-end;
  gap:18px;
  width:max-content;
  min-width:100%;
}
.cme-market-overview-rich .cme-market-series-col {
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:flex-end;
  width:72px;
  min-width:72px;
  gap:10px;
}
.cme-market-overview-rich .cme-market-series-count {
  font-size:13px;
  font-weight:800;
  color:#4b5563;
}
.cme-market-overview-rich .cme-market-series-bar {
  position:relative;
  width:48px;
  height:124px;
  display:block;
  background:transparent;
  border:none;
  box-shadow:none;
  padding:0;
}
.cme-market-overview-rich .cme-market-series-bar::after {
  content:'';
  position:absolute;
  left:0; right:0; bottom:0;
  height:2px;
  background:#ddd6fe;
  border-radius:999px;
}
.cme-market-overview-rich .cme-market-series-bar span {
  position:absolute;
  left:0; right:0; bottom:2px;
  display:block;
  width:100%;
  min-height:0;
  border-radius:12px 12px 2px 2px;
  background:linear-gradient(180deg,#8b5cf6 0%,#6d28d9 100%);
  box-shadow:0 8px 20px rgba(109,40,217,.22);
}
.cme-market-overview-rich .cme-market-series-col.is-zero .cme-market-series-bar span { display:none; }
.cme-market-overview-rich .cme-market-series-day {
  font-size:12px;
  font-weight:700;
  color:#6b7280;
}
.cme-market-overview-rich .cme-market-donut-pro { align-items:center; }
.cme-market-overview-rich .cme-market-donut-side {
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.cme-market-overview-rich .cme-risk-legend-list { justify-content:center; }
@media (max-width: 767px) {
  .cme-market-overview-rich .cme-market-series-bars { gap:14px; }
  .cme-market-overview-rich .cme-market-series-col { width:58px; min-width:58px; }
  .cme-market-overview-rich .cme-market-series-bar { width:38px; height:108px; }
  .cme-market-overview-rich .cme-market-series-count,
  .cme-market-overview-rich .cme-market-series-day { font-size:11px; }
}


/* ===== v2.10.10 donut consistency + real bars ===== */
.cme-market-overview-rich .cme-market-series-bar {
  display:flex !important;
  align-items:flex-end !important;
  justify-content:center !important;
  width:48px !important;
  height:132px !important;
  border-bottom:2px solid #ddd6fe !important;
  background:transparent !important;
  box-shadow:none !important;
  padding:0 !important;
}
.cme-market-overview-rich .cme-market-series-bar::after { display:none !important; }
.cme-market-overview-rich .cme-market-series-fill {
  display:block !important;
  width:100% !important;
  border-radius:14px 14px 3px 3px !important;
  background:linear-gradient(180deg,#8b5cf6 0%,#6d28d9 100%) !important;
  box-shadow:0 10px 22px rgba(109,40,217,.22) !important;
}
.cme-market-overview-rich .cme-market-series-col.is-zero .cme-market-series-fill { display:none !important; }
.cme-market-overview-rich .cme-donut-focus {
  max-width: 220px;
  margin-inline:auto;
  line-height:1.4;
}
.cme-market-overview-rich .cme-market-donut-note-mini {
  display:block;
  margin-top:8px;
}
@media (max-width: 767px) {
  .cme-market-overview-rich .cme-market-series-bar { width:40px !important; height:110px !important; }
}
