/* ============================================================
   TJC Trust Index — front.css v2.23.1
   Intelligence-first · Light theme
   ============================================================ */

.tjc-home{background:#f5f1fb;color:#161233;font-family:'Noto Sans JP','Hiragino Sans','Yu Gothic',sans-serif;line-height:1.7}
.tjc-home *{box-sizing:border-box}
.tjc-wrap{max-width:1280px;margin:0 auto;padding:20px 18px 56px}
.tjc-hero,.tjc-section,.tjc-top3,.tjc-kpi-strip-wrap,.tjc-live-rail,.tjc-table{background:#fff;border:1px solid #e8def9;border-radius:24px;box-shadow:0 6px 22px rgba(111,67,214,.05)}

/* HERO */
.tjc-hero{padding:28px 36px;margin-bottom:16px}
.tjc-eyebrow{display:none!important}
.tjc-hero h1{margin:0 0 14px!important;font-size:clamp(22px,2.6vw,34px)!important;line-height:1.15!important;font-weight:900!important;letter-spacing:-.02em;color:#151235!important;max-width:860px}
.tjc-lead{margin:0;max-width:860px;font-size:14px;line-height:1.85;color:#5f5a78}

/* LIVE TAPE */
.tjc-live-rail{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;align-items:center;padding:10px 14px;margin-bottom:18px;overflow:hidden;min-height:0}
.tjc-live-rail-head{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;padding:5px 8px;border-radius:12px;background:#1e163a;color:#fff;white-space:nowrap;flex-shrink:0}
.tjc-live-badge{font-size:9px;font-weight:900;letter-spacing:.12em;background:#ef4444;color:#fff;padding:2px 6px;border-radius:999px}
.tjc-live-head-note{font-size:9px;color:rgba(255,255,255,.6)}
.tjc-live-track{display:flex;gap:12px;will-change:transform;white-space:nowrap}
.tjc-live-item{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;border:1px solid #e8def9;border-radius:14px;background:#faf8ff;min-width:220px;max-width:300px;flex-shrink:0}
.tjc-live-item.negative{border-color:rgba(239,68,68,.25);background:#fff7f7}
.tjc-live-item.positive{border-color:rgba(34,197,94,.25);background:#f6fff9}
.tjc-live-logo{width:24px;height:24px;border-radius:50%;object-fit:contain;background:#fff;border:1px solid #ece4fb;flex-shrink:0}
.tjc-live-copy{display:flex;flex-direction:column;overflow:hidden;flex:1;min-width:0}
.tjc-live-copy strong{font-size:12px;font-weight:800;color:#18153a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tjc-live-copy span{font-size:11px;color:#6b6485;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tjc-live-meta{display:flex;flex-direction:column;align-items:flex-end;gap:3px;flex-shrink:0}
.tjc-live-meta em{font-style:normal;font-size:10px;color:#9c96b2}
.mini-live{font-size:10px;font-weight:800;padding:2px 7px;border-radius:999px;color:#fff}
.mini-live.negative{background:#ef4444}
.mini-live.positive{background:#22c55e}
.mini-live.neutral{background:#8b7cc0}

/* TOP 3 */
.tjc-top3{padding:24px 28px;margin-bottom:18px}
.tjc-top3-head{margin-bottom:18px}
.tjc-top3-head h2{margin:0 0 8px!important;font-size:clamp(18px,2vw,24px)!important;font-weight:900!important;color:#18153a!important;letter-spacing:-.02em}
.tjc-top3-head p{margin:0;font-size:13px;color:#6b6485;line-height:1.7}
.tjc-top3-head a{color:#6f43d6}
.tjc-top3-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.tjc-top3-card{background:#fcfbff;border:1px solid #e8def9;border-radius:20px;padding:18px;display:flex;flex-direction:column;gap:10px}
.tjc-top3-top{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}
.tjc-top3-ident{display:flex;align-items:center;gap:8px;min-width:0}
.tjc-top3-medal{font-size:22px;flex-shrink:0}
.tjc-top3-logo{width:34px;height:34px;border-radius:50%;object-fit:contain;border:1px solid #ece4fb;background:#fff;padding:3px;flex-shrink:0}
.tjc-top3-ident h3{margin:0!important;font-size:14px!important;font-weight:800!important;color:#1b173c!important;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tjc-top3-ident p{margin:0;font-size:11px;color:#8a849e}
.tjc-top3-score{font-size:34px;font-weight:900;color:#1f184c;flex-shrink:0;line-height:1}
.tjc-top3-spark{color:#7c3aed}
.tjc-top3-meta{display:flex;gap:10px;font-size:12px;color:#7b7693;flex-wrap:wrap}
.tjc-top3-meta strong.up{color:#1d9c60;font-weight:800}
.tjc-top3-meta strong.down{color:#d85368;font-weight:800}
.tjc-top3-signals{display:flex;flex-wrap:wrap;gap:6px}
.tjc-top3-signal{display:inline-flex;align-items:center;padding:5px 9px;border-radius:999px;border:1px solid #e8def9;background:#faf7ff;color:#4f4a6b;font-size:11px;font-weight:700}
.tjc-top3-cta{display:block;text-align:center;text-decoration:none;background:#22c55e;color:#fff;padding:10px 14px;border-radius:14px;font-weight:800;font-size:13px;margin-top:4px}
.tjc-top3-cta.disabled{background:#d1cfe3;color:#8a849e;cursor:default}

/* KPI STRIP */
.tjc-kpi-strip-wrap{padding:20px 24px;margin-bottom:18px}
.tjc-kpi-strip-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px;gap:12px}
.tjc-kpi-strip-title{font-size:16px;font-weight:900;color:#18153a}
.tjc-kpi-strip-toggle{display:flex;gap:6px}
.tjc-kpi-strip-toggle button{border:1px solid #e6dcf8;background:#faf7ff;border-radius:10px;padding:7px 14px;color:#7b68b5;font-weight:800;font-size:13px;cursor:pointer}
.tjc-kpi-strip-toggle button.active{background:#6f43d6;color:#fff;border-color:#6f43d6}
.tjc-kpi-strip{display:grid;grid-template-columns:repeat(5,1fr);border:1px solid #ece4fb;border-radius:16px;overflow:hidden}
.tjc-kpi{padding:14px 16px;text-align:center;border-right:1px solid #ece4fb}
.tjc-kpi:last-child{border-right:0}
.tjc-kpi span{display:block;font-size:11px;color:#8a849e;margin-bottom:6px;font-weight:600}
.tjc-kpi strong{font-size:22px;font-weight:900;color:#1a173c;line-height:1.1}
.tjc-kpi strong small{font-size:12px;font-weight:600;color:#9c96b2}
.tjc-kpi strong.up{color:#ef4444}
.tjc-kpi strong.down{color:#22c55e}
/* Complaint trend: more complaints = bad (red), fewer = good (green), flat = neutral */
.tjc-kpi strong.trend-up   { color: #ef4444; font-weight: 900; }
.tjc-kpi strong.trend-down { color: #16a34a; font-weight: 900; }
.tjc-kpi strong.trend-flat { color: #64748b; font-weight: 700; }
.tjc-kpi-note{margin:12px 0 0;font-size:12px;color:#8a849e;line-height:1.7}

/* MARKET SHELL */
.tjc-market-shell{display:grid;grid-template-columns:1.5fr 0.75fr;gap:18px;margin-bottom:18px}
.tjc-section{padding:24px 22px}

/* NEWS ASIDE */
.tjc-news-header{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:14px}
.tjc-news-header h3{margin:0!important;font-size:15px!important;font-weight:900!important;color:#18153a!important;line-height:1.2}
.tjc-news-badge{font-size:10px;font-weight:800;color:#6f43d6;background:#ede9fe;border:1px solid #d0c6f6;border-radius:999px;padding:2px 8px;white-space:nowrap}
.tjc-news-list{list-style:none!important;margin:0!important;padding:0!important;display:flex;flex-direction:column;gap:0}
.tjc-news-item{border-bottom:1px solid #f0ebfb}
.tjc-news-item:last-child{border-bottom:0}
.tjc-news-link{display:flex;flex-direction:column;gap:4px;padding:10px 0;text-decoration:none}
.tjc-news-link:hover .tjc-news-title{color:#6f43d6}
.tjc-news-title{font-size:13px;font-weight:600;color:#1e1a3c;line-height:1.55;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.tjc-news-meta{display:flex;gap:8px;align-items:center}
.tjc-news-source{font-size:11px;color:#8a849e;font-weight:600}
.tjc-news-ago{font-size:11px;color:#aaa4c0}
.tjc-news-footer{margin:12px 0 0;font-size:11px;color:#aaa4c0}
.tjc-news-footer a{color:#7c3aed;text-decoration:none}
.tjc-empty-note{margin:0;color:#8a849e;font-size:13px;line-height:1.7}

/* MARKET OVERVIEW */
.cme-market-overview{background:transparent}
.cme-market-header{margin-bottom:12px}
.cme-market-icon{display:none}
.cme-market-title{font-size:20px!important;font-weight:900;color:#171437;line-height:1.1}
.cme-market-chart-top{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;margin-bottom:14px;flex-wrap:wrap}
.cme-market-pulse{font-size:13px;color:#66627f;line-height:1.8;flex:1;min-width:180px}
.cme-market-range{display:flex;gap:6px;flex-wrap:wrap;flex-shrink:0}
.cme-market-range-btn{padding:7px 13px;border:1px solid #e6dcf8;background:#faf7ff;border-radius:12px;color:#6f43d6;font-weight:800;font-size:12px;cursor:pointer}
.cme-market-range-btn.active{background:#6f43d6;color:#fff;border-color:#6f43d6}
.cme-market-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:14px}
.cme-market-kpi{background:#fcfafe;border:1px solid #ece4fb;border-radius:16px;padding:14px;text-align:center}
.cmk-label{color:#7b7693;font-size:12px;margin-bottom:5px}
.cmk-val{font-size:22px;font-weight:900}
.cmk-text{font-size:16px;word-break:break-word}
.cmk-sub{margin-top:4px;color:#7b7693;font-size:12px}
.cmk-green{color:#1d9c60}
.cmk-red{color:#d85368}
.cmk-amber{color:#c48a0c}
.cmk-navy{color:#1a173c}

/* BAR CHART — FIXED */
.cme-market-chart-wrap{background:#fcfafe;border:1px solid #ece4fb;border-radius:20px;padding:18px;margin-bottom:14px}
.cme-market-chart-label{font-size:15px;font-weight:900;color:#1a173c;margin-bottom:4px}
.cme-market-donut-sidehead{font-size:14px;font-weight:900;color:#1a173c;margin-bottom:8px}
.cme-market-chart-subnote{color:#7b7693;font-size:13px;line-height:1.7;margin-bottom:12px}
.cme-market-series-scroll{overflow-x:auto}

/* Container: fixed height, columns bottom-aligned */
.cme-market-series-bars{display:flex;gap:6px;align-items:flex-end;min-height:160px;padding:8px 0 0;border-bottom:2px solid #ece4fb}

/* Each day column */
.cme-market-series-col{min-width:32px;flex:1;display:flex;flex-direction:column;align-items:center;gap:5px}
.cme-market-series-count{font-size:11px;color:#7b7693;font-weight:600;min-height:15px}

/* Bar area: fixed height, content bottom-aligned */
.cme-market-series-bar{width:100%;height:120px;display:flex;align-items:flex-end;justify-content:center}

/* Fill bar */
.cme-market-series-fill{width:80%;max-width:30px;min-height:3px;background:linear-gradient(180deg,#b397f5,#6f43d6);border-radius:6px 6px 0 0;transition:height .3s ease}
.cme-market-series-col.is-zero .cme-market-series-fill{height:3px;background:#e0d8f5;border-radius:3px}

.cme-market-series-day{font-size:10px;color:#7b7693;margin-top:4px;white-space:nowrap}

/* DONUT */
.cme-market-donut-pro{display:grid;grid-template-columns:.95fr 1.05fr;gap:16px;align-items:start}
.cme-market-donut-shell{display:flex;justify-content:center}
.cme-market-donut-visual{width:260px;height:260px;border-radius:50%;display:grid;place-items:center;position:relative}
.cme-market-donut-center{position:absolute;inset:22px;border-radius:50%;background:#fff;display:grid;place-items:center;text-align:center;padding:14px;word-break:break-all}
.cme-donut-period{font-size:12px;color:#7b7693}
.cme-donut-total{font-size:30px;font-weight:900;color:#1a173c}
.cme-donut-focus{font-size:11px;color:#67627f;line-height:1.5;word-break:break-all;overflow-wrap:break-word}
.cme-market-donut-note{margin-top:10px;padding:12px;border:1px solid #ece4fb;border-radius:12px;background:#fff;color:#67627f;line-height:1.8;font-size:12px}
.cme-risk-legend-row{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:9px 0;border-bottom:1px solid #efe9f9}
.cme-risk-legend-row:last-child{border-bottom:0}
.cme-risk-legend-item{display:flex;align-items:center;gap:7px;font-size:12px;font-weight:700;color:#1d193d}
.cme-risk-legend-metric strong{font-size:13px;color:#1d193d}
.cme-risk-legend-metric em{font-style:normal;color:#7b7693;margin-left:5px;font-size:12px}
.cme-risk-swatch{width:10px;height:10px;border-radius:50%;display:inline-block;flex-shrink:0}
.risk-withdrawal   { background:#ef4444; }
.risk-seizure      { background:#be123c; }
.risk-kyc          { background:#f59e0b; }
.risk-account      { background:#ec4899; }
.risk-bonus        { background:#3b82f6; }
.risk-support      { background:#8b5cf6; }
.risk-payment      { background:#0891b2; }
.risk-tech         { background:#14b8a6; }
.risk-selfexclusion { background:#6366f1; }
.risk-fraud        { background:#7c3aed; }
.risk-multiaccount { background:#06b6d4; }
.risk-privacy      { background:#f97316; }
.risk-other        { background:#9ca3af; }
/* Tag colours */
.cme-cti-tag           { display:inline-flex;background:#f0fdf4;color:#166534;border:1px solid #bbf7d0;border-radius:999px;padding:5px 9px;margin:3px;font-size:12px;font-weight:700; }
.cme-cti-tag.tag-alert   { background:#fee2e2;color:#b91c1c;border-color:#fca5a5; }
.cme-cti-tag.tag-caution { background:#fef9c3;color:#854d0e;border-color:#fde68a; }
.cme-cti-tag.tag-kyc     { background:#fef3c7;color:#92400e;border-color:#fcd34d; }

/* REPUTATION TABLE */
.cme-market-context-note{padding:12px;border:1px solid #ece4fb;border-radius:12px;background:#fff;color:#66627f;line-height:1.8;margin-bottom:12px;font-size:13px}
.cme-market-context-note p{margin:0 0 4px}
.cme-market-context-note p:last-child{margin:0}
.cme-market-context-table-wrap{overflow-x:auto}
.cme-market-context-table{width:100%;border-collapse:separate;border-spacing:0}
.cme-market-context-table thead th{background:#f7f3ff;color:#5b4b93;font-size:12px;font-weight:900;padding:10px 12px;border-bottom:1px solid #ece4fb;text-align:center}
.cme-market-context-table thead th:first-child{text-align:left}
.cme-market-context-table tbody td{padding:10px 12px;border-bottom:1px solid #efe9f9;background:#fff;text-align:center;vertical-align:middle}
.cme-market-context-table tbody td:first-child{text-align:left}
.ctx-name{font-weight:800;color:#1d193e;font-size:13px}
.ctx-total{font-size:16px;font-weight:900;color:#1d193d}
.ctx-rate{font-size:16px;font-weight:900;color:#1d193d}
.ctx-neutral,.ctx-mini{font-size:11px;color:#7b7693}
.cmconf-badge{display:inline-flex;padding:4px 10px;border-radius:999px;font-weight:800;font-size:12px}
.cmconf-high{background:#dcfce7;color:#166534}
.cmconf-mid{background:#fef3c7;color:#92400e}
.cmconf-low{background:#fee2e2;color:#991b1b}
.cmconf-none{background:#eef2f7;color:#64748b}

/* TRUST TABLE */
.tjc-table{padding:24px;margin-top:18px}
.tjc-table-head{margin-bottom:16px}
.tjc-table-head h2{margin:0 0 8px!important;font-size:clamp(18px,2.2vw,26px)!important;font-weight:900!important;color:#18153a!important;letter-spacing:-.02em}
.tjc-table-head p{margin:0;font-size:13px;color:#6e6983;line-height:1.7}
.tjc-trust-wrap{overflow:auto}
.tjc-trust-table{width:100%;border-collapse:separate;border-spacing:0;min-width:1080px}
.tjc-trust-table thead th{background:#f7f3ff;color:#5b4b93;font-size:13px;font-weight:900;padding:12px;text-align:center;border-bottom:1px solid #ece4fb}
.tjc-trust-table thead th:nth-child(2){text-align:left}
.tjc-trust-table tbody td{padding:12px;border-bottom:1px solid #efe9f9;vertical-align:middle;background:#fff;text-align:center}
.tjc-trust-table tbody td:nth-child(2){text-align:left}
.center-cell{font-size:15px;font-weight:800;color:#322c59}
.tjc-casino-cell{display:flex;align-items:center;gap:10px}
.tjc-casino-cell img{width:34px;height:34px;border-radius:50%;border:1px solid #ece4fb;background:#fff;object-fit:contain;padding:3px}
.tjc-casino-cell strong{display:block;font-size:15px;line-height:1.2;color:#1b173c;font-weight:800}
.tjc-casino-cell span{display:block;color:#7b7693;font-size:12px}
.tjc-trust-score{display:inline-flex;min-width:60px;height:42px;border-radius:12px;align-items:center;justify-content:center;background:#eef7f1;border:1px solid #cae8d5;color:#2f9165;font-size:24px;font-weight:900}
.trend{display:block;margin-bottom:5px;font-size:14px}
.trend.pos{color:#1a9f5f;font-weight:900}
.trend.neg{color:#d85368;font-weight:900}
.mini-bars .spark-bars{height:30px}
.pill{display:inline-flex;padding:7px 11px;border-radius:999px;font-weight:800;font-size:12px;justify-content:center}
.pill-risk{background:#fff6d7;color:#916700;border:1px solid #f2dc8d}
.pill-wd{background:#dbf2e4;color:#137b4f;border:1px solid #95d8ad}
.pill-level-low{background:#dcfce7;color:#166534;border-color:#86efac}
.pill-level-high{background:#fee2e2;color:#991b1b;border-color:#fca5a5}
.cta-btn{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;background:#198f58;color:#fff;padding:10px 14px;border-radius:12px;font-weight:800;font-size:12px;white-space:nowrap}
.cta-btn.disabled{opacity:.55}
.cme-cti-detail-toggle{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:999px;border:1px solid #d9cbf6;background:#faf7ff;color:#6f43d6;font-weight:900;font-size:12px;cursor:pointer}

/* DROPDOWN */
.cme-cti-detail-row td{background:#fbf8ff!important;padding:0!important}
.cme-dd-wrap{background:#fbf8ff}
.cme-dd-tabs{display:flex;gap:0;border-bottom:1px solid #eae2f8;padding:0 18px;background:#f7f3ff}
.cme-dd-tab{padding:13px 16px;background:none;border:0;border-bottom:3px solid transparent;color:#6b63a0;font-weight:800;font-size:14px;cursor:pointer}
.cme-dd-tab.active{color:#382a74;border-bottom-color:#6f43d6;background:#fff}
.cme-dd-panel{display:none;padding:20px 22px}
.cme-dd-panel.active{display:block}

/* SCORE TAB */
.cme-verdict{display:flex;align-items:flex-start;gap:10px;border-radius:14px;padding:14px 16px;font-weight:700;font-size:14px;line-height:1.7;margin-bottom:14px}
.verdict-good{background:#f0fdf4;border:1px solid #86efac;color:#166534}
.verdict-neutral{background:#fff7dd;border:1px solid #f1d789;color:#7b5607}
.verdict-bad{background:#fff1f2;border:1px solid #fca5a5;color:#991b1b}
.verdict-icon{font-size:18px;line-height:1}
.cme-signals{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:14px}
.cme-signal{background:#fff;border:1px solid #ece4fb;border-radius:14px;padding:13px;text-align:center}
.cme-signal.signal-good{border-color:#86efac;background:#f0fdf4}
.cme-signal.signal-bad{border-color:#fca5a5;background:#fff1f2}
.signal-label{color:#7b7693;font-size:12px;margin-bottom:4px}
.signal-val{font-size:17px;font-weight:900;color:#1d183d}
.cme-score-header{display:flex;align-items:center;gap:14px;margin-bottom:14px}
.cme-score-ring{width:72px;height:72px;flex-shrink:0}
.ring-text{font-size:14px;font-weight:900}
.cme-score-label{font-size:14px;font-weight:800;color:#1e193f;margin-bottom:4px}
.cme-score-explain{font-size:12px;color:#696581;line-height:1.7}
.cme-score-components{display:flex;flex-direction:column;gap:0}
.cme-comp-row{padding:10px 0;border-bottom:1px solid #efe9f9}
.cme-comp-row:last-child{border-bottom:0}
.cme-comp-head{display:flex;justify-content:space-between;gap:8px;margin-bottom:5px}
.cme-comp-label{font-size:13px;font-weight:700;color:#1e193f}
.cme-comp-score{font-size:13px;font-weight:800}
.cme-comp-bar-bg{height:7px;background:#eee7f9;border-radius:999px;overflow:hidden}
.cme-comp-bar-fill{height:100%;border-radius:999px}
.cme-comp-note{font-size:11px;color:#7a7692;margin-top:3px}
.cme-score-footer{margin:14px 0 0;font-size:12px;color:#9a95b2}

/* COMPLAINT TAB */
.cme-complaint-note{font-size:12px;color:#6e6983;line-height:1.7;margin-bottom:10px}
.cme-complaint-period-row{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:12px}
.cme-comp-period-btn{padding:7px 12px;border:1px solid #e6dcf8;background:#faf7ff;border-radius:10px;color:#6f43d6;font-weight:800;font-size:12px;cursor:pointer}
.cme-comp-period-btn.active{background:#6f43d6;color:#fff;border-color:#6f43d6}
.cme-kpi-row{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:12px}
.cme-mini-kpi{background:#fff;border:1px solid #ece4fb;border-radius:14px;padding:13px}
.mini-kpi-label{font-size:12px;color:#7b7693;margin-bottom:4px}
.mini-kpi-val{font-size:20px;font-weight:900}
.cme-chart-block{background:#fff;border:1px solid #ece4fb;border-radius:14px;padding:14px;margin-bottom:2px}
.cme-chart-label{font-size:14px;font-weight:800;color:#1d193e;margin-bottom:8px}

/* Bar chart — flex, bottom-aligned, fixed height container */
.cme-bar-chart{display:flex;align-items:flex-end;gap:4px;height:150px;padding:8px 0 0;border-bottom:2px solid #ece4fb;overflow-x:auto}
.cme-bar-col{flex:1;min-width:18px;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:4px}
.cme-bar-tooltip{font-size:11px;color:#7a7692;font-weight:600;min-height:14px}
.cme-bar{width:80%;max-width:26px;min-height:3px;border-radius:5px 5px 0 0}
.cme-bar-label{font-size:10px;color:#7a7692;white-space:nowrap}

.cme-cat-list{background:#fff;border:1px solid #ece4fb;border-radius:14px;padding:12px;margin-top:10px}
.cme-cat-row{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center;padding:7px 0;border-bottom:1px solid #efe9f9}
.cme-cat-row:last-of-type{border-bottom:0}
.cme-cat-label{font-size:12px;color:#4b4668;font-weight:600}
.cme-cat-count{font-size:13px;font-weight:800;white-space:nowrap}
.cme-cat-count small{font-size:11px;color:#9c96b2;margin-left:3px}
.cme-cat-total{text-align:right;font-size:12px;color:#8a849e;margin-top:8px}

/* OPERATIONAL INFO */
.cme-info-section{display:flex;flex-direction:column;gap:0}
.cme-info-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:12px}
.cme-info-item{background:#fff;border:1px solid #ece4fb;border-radius:12px;padding:13px}
.cme-info-item.cme-info-highlight{border-color:#a78bfa;background:#faf5ff}
.cme-info-key{font-size:12px;color:#7b7693;margin-bottom:4px}
.cme-info-val{font-size:14px;font-weight:800;color:#1d193e;line-height:1.5}
.cme-info-val a{color:#6f43d6;text-decoration:underline}
.cme-info-section-title{font-size:14px;font-weight:900;color:#201b43;margin:12px 0 8px}
.cme-info-placeholder{background:#fff;border:1px solid #ece4fb;border-radius:12px;padding:16px;color:#67627f;line-height:1.8;font-size:13px}

@keyframes cmeSlideIn{from{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}

/* RESPONSIVE */
/* ═══════════════════════════════════════════════════════════════
   SECTION-BY-SECTION MOBILE CONTAINMENT — v2.25.1
   Japan is mobile-first. Every section is a self-contained box.
   Nothing can overflow the viewport. No horizontal scrolling
   except inside explicit scroll-containers.
   ═══════════════════════════════════════════════════════════════ */

/* ══════════════════════════════════════
   SECTION 0 — ROOT CONTAINMENT
   Hard wall. Nothing escapes the viewport.
   ══════════════════════════════════════ */
html, body { overflow-x: hidden; }

.tjc-home {
  width: 100%;
  max-width: 100vw;
  overflow-x: hidden;
  box-sizing: border-box;
}
.tjc-wrap {
  width: 100%;
  max-width: 1280px;
  margin: 0 auto;
  padding: 10px 12px 32px;
  box-sizing: border-box;
  overflow-x: hidden;
}
.tjc-home * { max-width: 100%; box-sizing: border-box; }
.tjc-home img { width: auto; height: auto; max-width: 100%; display: inline-block; }

/* Every top-level section card */
.tjc-hero,
.tjc-live-rail,
.tjc-top3,
.tjc-kpi-strip-wrap,
.tjc-section,
.tjc-market-shell,
.tjc-table {
  width: 100%;
  max-width: 100%;
  overflow: hidden;
  box-sizing: border-box;
}

/* ══════════════════════════════════════
   SECTION 1 — HERO
   ══════════════════════════════════════ */
.tjc-hero {
  padding: 18px 14px;
  border-radius: 16px;
  margin-bottom: 12px;
}
.tjc-home .tjc-hero h1,
.tjc-intel-hero h1 {
  font-size: 22px !important;
  line-height: 1.25 !important;
  font-weight: 900 !important;
  letter-spacing: -.02em;
  word-break: break-word;
  overflow-wrap: break-word;
  margin: 0 0 10px !important;
}
.tjc-lead {
  font-size: 13px;
  line-height: 1.75;
  word-break: break-word;
  overflow-wrap: break-word;
}
.cme-geo-statement {
  font-size: 12px;
  line-height: 1.7;
  padding: 10px 12px;
  border-radius: 12px;
  word-break: break-word;
  overflow-wrap: break-word;
  overflow: hidden;
  margin-bottom: 12px;
}

/* ══════════════════════════════════════
   SECTION 2 — LIVE TAPE
   Badge left, scrolling track right — always on one line.
   ══════════════════════════════════════ */
.tjc-live-rail {
  padding: 10px 12px;
  margin-bottom: 12px;
  border-radius: 16px;
  display: grid !important;
  grid-template-columns: auto 1fr;
  gap: 10px;
  align-items: center;
  overflow: hidden;
}
/* Hide desktop gradient mask on mobile */
.tjc-live-rail::before { display: none !important; }

.tjc-live-rail-head {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 4px !important;
  background: #1e163a !important;
  color: #fff !important;
  padding: 6px 10px !important;
  border-radius: 12px !important;
  min-width: 58px !important;
  flex-shrink: 0 !important;
  z-index: 2;
}
.tjc-live-badge {
  font-size: 10px;
  font-weight: 900;
  padding: 3px 8px;
  border-radius: 999px;
  background: #ef4444;
  color: #fff;
  flex-shrink: 0;
}
.tjc-live-head-note { font-size: 11px; color: #6b6485; }

/* Track: RAF marquee on ALL viewports — no scroll, no snap */
.tjc-live-track {
  display: flex !important;
  gap: 10px !important;
  overflow: hidden !important;
  white-space: nowrap;
  padding-bottom: 0;
  will-change: transform;
  scroll-snap-type: none !important;
  -webkit-overflow-scrolling: unset !important;
}
/* Never let JS inner marquee div collapse on any viewport */
.tjc-live-marquee {
  display: flex !important;
  gap: 10px !important;
  white-space: nowrap;
  will-change: transform;
  min-width: max-content;
  flex-shrink: 0;
}

.tjc-live-item {
  display: inline-flex !important;
  align-items: center;
  gap: 8px;
  padding: 8px 10px;
  border-radius: 12px;
  min-width: 210px;
  max-width: 270px;
  width: auto;
  flex-shrink: 0;
  white-space: normal;
  scroll-snap-align: none;
}
.tjc-live-logo { width: 22px; height: 22px; flex-shrink: 0; }
.tjc-live-copy { min-width: 0; flex: 1; overflow: hidden; }
.tjc-live-copy strong { font-size: 11px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.tjc-live-copy span   { font-size: 10px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.tjc-live-meta { flex-shrink: 0; display: flex; flex-direction: column; align-items: flex-end; gap: 2px; }
.mini-live { font-size: 9px; padding: 2px 6px; border-radius: 999px; color: #fff; white-space: nowrap; }

/* ══════════════════════════════════════
   SECTION 3 — TOP 3 CARDS
   Single column. Score always visible.
   ══════════════════════════════════════ */
.tjc-top3 {
  padding: 14px 12px;
  border-radius: 16px;
  margin-bottom: 12px;
}
.tjc-top3-head { margin-bottom: 12px; }
.tjc-top3-head h2 {
  font-size: 18px !important;
  font-weight: 900 !important;
  margin-bottom: 6px !important;
  word-break: break-word;
}
.tjc-top3-head p { font-size: 12px; line-height: 1.65; }

.tjc-top3-grid {
  display: flex !important;
  flex-direction: column !important;
  gap: 10px !important;
}
.tjc-top3-card {
  padding: 12px;
  border-radius: 16px;
  display: flex;
  flex-direction: column;
  gap: 8px;
  width: 100%;
}

/* Header row: medal + logo + name + SCORE */
.tjc-top3-top {
  display: grid !important;
  grid-template-columns: 1fr auto !important;
  align-items: flex-start !important;
  gap: 8px !important;
  width: 100%;
}
.tjc-top3-ident {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  min-width: 0 !important;
  overflow: hidden;
}
.tjc-top3-medal { font-size: 18px; flex-shrink: 0; }
.tjc-top3-logo { width: 30px; height: 30px; flex-shrink: 0; border-radius: 50%; }
.tjc-top3-ident > div { min-width: 0; overflow: hidden; }
.tjc-top3-ident h3 {
  font-size: 14px !important;
  font-weight: 800 !important;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  margin: 0 !important;
}
.tjc-top3-ident p { font-size: 10px; margin: 0; }

/* Score badge — always in grid col 2 */
.tjc-top3-score {
  font-size: 26px !important;
  font-weight: 900 !important;
  min-width: 52px !important;
  height: 52px !important;
  border-radius: 12px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-shrink: 0 !important;
  line-height: 1 !important;
}

/* Sparkline */
.tjc-top3-spark { color: #7c3aed; overflow: hidden; }
.tjc-top3-spark svg { max-width: 100%; height: 30px; }

/* Meta row */
.tjc-top3-meta {
  display: flex;
  gap: 8px;
  font-size: 11px;
  color: #7b7693;
  flex-wrap: wrap;
}
.tjc-top3-meta strong.up   { color: #1d9c60; font-weight: 800; }
.tjc-top3-meta strong.down { color: #d85368; font-weight: 800; }

/* Signal chips */
.tjc-top3-signals { display: flex; flex-wrap: wrap; gap: 5px; }
.tjc-top3-signal { font-size: 10px; padding: 4px 8px; border-radius: 999px; white-space: nowrap; }

/* CTA — full width, proper tap target */
.tjc-top3-cta {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 44px !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  border-radius: 12px !important;
  text-decoration: none !important;
  width: 100% !important;
}

/* ══════════════════════════════════════
   SECTION 4 — KPI STRIP
   2×N grid. All numbers readable.
   ══════════════════════════════════════ */
.tjc-kpi-strip-wrap {
  padding: 12px;
  border-radius: 16px;
  margin-bottom: 12px;
}
.tjc-kpi-strip-head {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: space-between !important;
  align-items: center !important;
  gap: 8px !important;
  margin-bottom: 10px;
}
.tjc-kpi-strip-title { font-size: 14px; font-weight: 900; }
.tjc-kpi-strip-toggle { display: flex; flex-wrap: wrap; gap: 5px; }
.tjc-kpi-strip-toggle button {
  min-height: 44px;
  padding: 5px 11px;
  font-size: 12px;
  border-radius: 10px;
}

.tjc-kpi-strip {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  width: 100%;
  border: 1px solid #ece4fb;
  border-radius: 12px;
  overflow: hidden;
}
.tjc-kpi {
  padding: 10px 8px;
  text-align: center;
  border-right: 0 !important;
  border-bottom: 1px solid #ece4fb;
  overflow: hidden;
}
.tjc-kpi:nth-child(odd)  { border-right: 1px solid #ece4fb !important; }
/* Remove bottom border from last real row — items 3 & 4 when 5th spans full width */
.tjc-kpi:nth-child(3),
.tjc-kpi:nth-child(4)    { border-bottom: 0 !important; }
/* If only 4 KPIs (no spanning 5th), last two still need no bottom border */
.tjc-kpi:nth-last-child(-n+2):not(:nth-child(5)) { border-bottom: 0 !important; }
.tjc-kpi:nth-child(5) {
  grid-column: 1 / -1 !important;
  border-right: 0 !important;
  border-bottom: 0 !important;
}
.tjc-kpi span   { font-size: 10px; color: #8a849e; font-weight: 600; display: block; margin-bottom: 3px; }
.tjc-kpi strong { font-size: 18px; font-weight: 900; line-height: 1.1; }
.tjc-kpi strong small { font-size: 10px; font-weight: 600; color: #9c96b2; }
.tjc-kpi-note { font-size: 11px; color: #8a849e; margin-top: 8px; line-height: 1.6; }

/* ══════════════════════════════════════
   SECTION 5 — MARKET SHELL
   Stacked single column. Each chart
   in its own overflow-safe box.
   ══════════════════════════════════════ */
.tjc-market-shell {
  display: flex !important;
  flex-direction: column !important;
  gap: 12px !important;
  margin-bottom: 12px;
}
.tjc-section { padding: 12px; border-radius: 16px; overflow: hidden; }

/* Market overview heading + toggle */
.cme-market-overview { overflow: hidden; }
.cme-market-header   { margin-bottom: 10px; }
.cme-market-title    { font-size: 16px !important; font-weight: 900 !important; }

.cme-market-chart-top {
  display: flex;
  flex-direction: column;
  gap: 8px;
  align-items: flex-start;
  margin-bottom: 12px;
}
.cme-market-pulse    { font-size: 12px; line-height: 1.65; word-break: break-word; }
.cme-market-range    { display: flex; flex-wrap: wrap; gap: 5px; }
.cme-market-range-btn { min-height: 36px; padding: 5px 10px; font-size: 11px; border-radius: 10px; }

/* KPI cards — single column */
.cme-market-kpis {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 8px;
  margin-bottom: 12px;
}
.cme-market-kpi   { padding: 10px 12px; border-radius: 12px; }
.cmk-label        { font-size: 11px; }
.cmk-val          { font-size: 18px; font-weight: 900; }
.cmk-text         { font-size: 14px; word-break: break-word; }
.cmk-sub          { font-size: 11px; }

/* ── 5a. Bar chart box ─ */
.cme-market-chart-wrap {
  padding: 10px;
  border-radius: 14px;
  margin-bottom: 10px;
  overflow: hidden;
}
.cme-market-chart-label   { font-size: 13px; font-weight: 800; margin-bottom: 4px; }
.cme-market-chart-subnote { font-size: 11px; line-height: 1.6; margin-bottom: 10px; }

/* Scroll container for chart — bounded */
.cme-market-series-scroll {
  width: 100%;
  overflow-x: auto;
  overflow-y: hidden;
  -webkit-overflow-scrolling: touch;
  scroll-snap-type: x mandatory;
}
.cme-market-series-bars {
  display: flex;
  gap: 4px;
  align-items: flex-end;
  min-height: 130px;
  /* Min-width keeps bars readable, scroll handles overflow */
  min-width: max(100%, 360px);
  padding: 6px 0 0;
  border-bottom: 2px solid #ece4fb;
}
.cme-market-series-col    { min-width: 28px; flex: 1; display: flex; flex-direction: column; align-items: center; gap: 3px; }
.cme-market-series-count  { font-size: 9px; color: #7b7693; font-weight: 600; }
.cme-market-series-bar    { width: 100%; height: 90px; display: flex; align-items: flex-end; justify-content: center; }
.cme-market-series-fill   { width: 80%; max-width: 28px; min-height: 3px; background: linear-gradient(180deg,#b397f5,#6f43d6); border-radius: 5px 5px 0 0; transition: height .3s ease; }
.cme-market-series-col.is-zero .cme-market-series-fill { height: 3px; background: #e0d8f5; border-radius: 3px; }
.cme-market-series-col.is-peak .cme-market-series-fill { background: linear-gradient(180deg,#ff8a80,#ef4444); }
.cme-market-series-day    { font-size: 9px; color: #7b7693; white-space: nowrap; }
.cme-avg-indicator        { font-size: 11px; color: #8a849e; margin-top: 6px; text-align: right; }
.cme-avg-indicator strong { color: #f59e0b; font-weight: 800; }
.cme-peak-label           { color: #ef4444; font-weight: 700; }

/* ── 5b. Donut box ─ */
.cme-market-donut-wrap { overflow: hidden; }
.cme-market-donut-pro {
  display: flex !important;
  flex-direction: column !important;
  gap: 14px !important;
}
.cme-market-donut-shell  { display: flex; justify-content: center; }
.cme-market-donut-visual {
  width: min(220px, 60vw);
  height: min(220px, 60vw);
  border-radius: 50%;
  display: grid;
  place-items: center;
  position: relative;
}
.cme-market-donut-center {
  position: absolute;
  inset: 16px;
  border-radius: 50%;
  background: #fff;
  display: grid;
  place-items: center;
  text-align: center;
  padding: 10px;
  word-break: break-all;
  overflow: hidden;
}
.cme-donut-period { font-size: 11px; color: #7b7693; }
.cme-donut-total  { font-size: min(28px, 6vw); font-weight: 900; color: #1a173c; }
.cme-donut-focus  { font-size: 10px; color: #67627f; line-height: 1.4; word-break: break-all; }
.cme-market-donut-note { margin-top: 10px; padding: 10px; border-radius: 12px; font-size: 12px; line-height: 1.7; }

/* ── 5c. Category legend ─ */
.cme-market-donut-sidehead { font-size: 13px; font-weight: 900; margin-bottom: 8px; }
.cme-risk-legend-row { display: flex; justify-content: space-between; gap: 8px; align-items: center; padding: 8px 0; border-bottom: 1px solid #efe9f9; }
.cme-risk-legend-row:last-child { border-bottom: 0; }
.cme-risk-legend-item { display: flex; align-items: center; gap: 6px; font-size: 12px; font-weight: 700; min-width: 0; overflow: hidden; }
.cme-risk-legend-item span { flex-shrink: 0; }
.cme-risk-legend-metric strong { font-size: 12px; white-space: nowrap; }
.cme-risk-legend-metric em     { font-size: 11px; color: #7b7693; margin-left: 4px; }

/* ── 5d. Reputation table box ─ */
.cme-market-context-wrap { overflow: hidden; }
.cme-market-context-note { font-size: 12px; padding: 10px; border-radius: 12px; margin-bottom: 10px; }
.cme-market-context-table-wrap {
  width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}
.cme-market-context-table { min-width: 420px; width: 100%; }
.cme-market-context-table thead th { font-size: 11px; padding: 8px; }
.cme-market-context-table tbody td { font-size: 12px; padding: 8px; }
.ctx-name  { font-size: 12px !important; font-weight: 800; }
.ctx-total { font-size: 13px !important; font-weight: 900; }
.ctx-rate  { font-size: 13px !important; font-weight: 900; }
.ctx-neutral, .ctx-mini { font-size: 10px !important; }
.cmconf-badge { font-size: 10px; padding: 3px 7px; }

/* ── 5e. News aside ─ */
.tjc-news-header { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-bottom: 10px; }
.tjc-news-header h3 { font-size: 14px !important; font-weight: 900 !important; margin: 0 !important; }
.tjc-news-badge { font-size: 9px; padding: 2px 7px; }
.tjc-news-list { list-style: none !important; margin: 0 !important; padding: 0 !important; }
.tjc-news-item { border-bottom: 1px solid #f0ebfb; }
.tjc-news-item:last-child { border-bottom: 0; }
.tjc-news-link { display: flex; flex-direction: column; gap: 3px; padding: 8px 0; text-decoration: none; }
.tjc-news-title { font-size: 12px; font-weight: 600; line-height: 1.5; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; color: #1e1a3c; }
.tjc-news-meta  { display: flex; gap: 6px; align-items: center; }
.tjc-news-source { font-size: 10px; color: #8a849e; font-weight: 600; }
.tjc-news-ago    { font-size: 10px; color: #aaa4c0; }
.tjc-news-footer { font-size: 10px; color: #aaa4c0; margin-top: 8px; }

/* ══════════════════════════════════════
   SECTION 6 — TRUST INDEX TABLE
   Cards on mobile. Each casino = 1 card.
   Table re-appears at 640px+ in scroll box.
   ══════════════════════════════════════ */
.tjc-table {
  padding: 12px;
  border-radius: 16px;
  margin-top: 12px;
  overflow: hidden;
}
.tjc-table-head { margin-bottom: 10px; }
.tjc-table-head h2 { font-size: 17px !important; font-weight: 900 !important; margin-bottom: 6px !important; }
.tjc-table-head p { font-size: 12px; line-height: 1.6; }

/* ── Mobile cards (< 640px) ─────────── */
.tjc-trust-wrap { overflow: visible; width: 100%; }

/* Force table elements into block layout for card view */
.tjc-trust-table           { display: block !important; width: 100%; }
.tjc-trust-table thead     { display: none !important; }
.tjc-trust-table tbody     { display: block !important; width: 100%; }

/* Each casino row = a card */
.tjc-trust-table tr.cme-cti-main-row {
  display: grid !important;
  grid-template-columns: 28px 1fr 58px 40px !important;
  grid-template-rows: auto auto auto auto !important;
  column-gap: 8px !important;
  row-gap: 0 !important;
  background: #fff;
  border: 1px solid #e8def9;
  border-radius: 16px;
  margin-bottom: 10px;
  padding: 12px 10px;
  width: 100%;
  box-sizing: border-box;
  position: relative;
}
.tjc-trust-table tr.cme-cti-main-row[data-expanded="1"] {
  border-color: #c4b5fd;
  border-radius: 16px 16px 0 0;
  border-bottom-color: transparent;
}

/* All cells default to hidden — we'll show what we need */
.tjc-trust-table td { display: none !important; padding: 0; border: 0; background: transparent; }

/* ── Row 1: rank | casino name | score | toggle ─ */
.tjc-trust-table td.center-cell {
  display: flex !important;
  align-items: center;
  justify-content: center;
  grid-column: 1; grid-row: 1;
  font-size: 13px; font-weight: 900; color: #5b21b6;
}
.tjc-trust-table td.casino-cell {
  display: flex !important;
  align-items: center;
  grid-column: 2; grid-row: 1;
}
.tjc-casino-cell { gap: 7px; }
.tjc-casino-cell img { width: 28px; height: 28px; border-radius: 50%; flex-shrink: 0; }
.tjc-casino-cell strong { display: block; font-size: 13px; font-weight: 800; line-height: 1.2; }
.tjc-casino-cell span   { display: block; font-size: 10px; color: #7b7693; }

/* Score */
.tjc-trust-table td:nth-child(3) {
  display: flex !important;
  align-items: center;
  justify-content: center;
  grid-column: 3; grid-row: 1;
}
.tjc-trust-score {
  font-size: 18px !important;
  min-width: 46px !important;
  height: 36px !important;
  border-radius: 8px !important;
  font-weight: 900 !important;
}

/* Toggle */
.tjc-trust-table td.td-toggle {
  display: flex !important;
  align-items: center;
  justify-content: center;
  grid-column: 4; grid-row: 1;
}
.cme-cti-detail-toggle {
  width: 34px !important; height: 34px !important;
  border-radius: 8px !important; font-size: 10px !important;
  display: inline-flex !important;
}
.toggle-label-open, .toggle-label-close { font-size: 10px; font-weight: 700; }

/* ── Row 2: trend + sparkline ─ */
.tjc-trust-table td:nth-child(4) {
  display: flex !important;
  align-items: center;
  flex-wrap: wrap;
  gap: 6px;
  grid-column: 1 / -1; grid-row: 2;
  padding-top: 8px !important;
  border-top: 1px solid #f0ebfb;
  margin-top: 6px;
}
.trend { font-size: 12px; font-weight: 900; margin-bottom: 0; }
.mini-bars .spark-bars { height: 26px; }

/* ── Row 3: KYC pill + withdrawal pill ─ */
.tjc-trust-table td:nth-child(6),
.tjc-trust-table td:nth-child(7) {
  display: inline-flex !important;
  align-items: center;
  grid-row: 3;
}
.tjc-trust-table td:nth-child(6) { grid-column: 1 / 3; }
.tjc-trust-table td:nth-child(7) { grid-column: 3 / -1; justify-content: flex-end; }
.pill { font-size: 11px; padding: 5px 9px; border-radius: 999px; }

/* ── Row 4: CTA full width ─ */
.tjc-trust-table td:nth-child(8) {
  display: flex !important;
  grid-column: 1 / -1; grid-row: 4;
  padding-top: 8px !important;
  border-top: 1px solid #f0ebfb;
  margin-top: 6px;
}
.tjc-trust-table td:nth-child(8) .cta-btn {
  width: 100%;
  min-height: 44px;
  font-size: 14px !important;
  border-radius: 12px;
  display: flex !important;
  align-items: center;
  justify-content: center;
}

/* ── Detail row ─ */
.tjc-trust-table tr.cme-cti-detail-row { display: block !important; width: 100%; }
.tjc-trust-table tr.cme-cti-detail-row[hidden] { display: none !important; }
.tjc-trust-table tr.cme-cti-detail-row td {
  display: block !important;
  border-radius: 0 0 16px 16px;
  border: 1px solid #c4b5fd;
  border-top: 0;
  padding: 0;
  background: #fbf8ff;
}
.cme-cti-detail-cell { padding: 0; }

/* ── Dropdown inside detail ─ */
.cme-dd-tabs { overflow-x: auto; white-space: nowrap; padding: 0 10px; -webkit-overflow-scrolling: touch; }
.cme-dd-tab  { padding: 11px 12px; font-size: 12px; min-height: 42px; white-space: nowrap; }
.cme-dd-panel { padding: 12px; }

/* Score tab */
.cme-verdict  { font-size: 12px; padding: 10px 12px; border-radius: 10px; margin-bottom: 10px; }
.cme-signals  { display: grid !important; grid-template-columns: 1fr !important; gap: 6px; margin-bottom: 10px; }
.cme-signal   { padding: 9px 10px; border-radius: 10px; }
.signal-label { font-size: 11px; }
.signal-val   { font-size: 15px; font-weight: 900; }
.cme-score-header { display: flex; align-items: center; gap: 10px; margin-bottom: 10px; }
.cme-score-ring   { width: 60px; height: 60px; flex-shrink: 0; }
.cme-score-label  { font-size: 13px; font-weight: 800; }
.cme-score-explain { font-size: 11px; line-height: 1.6; }
.cme-score-components { gap: 0; }
.cme-comp-row { padding: 8px 0; }
.cme-comp-label { font-size: 12px; }
.cme-comp-score { font-size: 12px; }
.cme-comp-note  { font-size: 11px; }

/* Complaint tab */
.cme-complaint-period-row { gap: 5px; flex-wrap: wrap; margin-bottom: 10px; }
.cme-comp-period-btn { min-height: 36px; padding: 5px 10px; font-size: 11px; border-radius: 8px; }
.cme-kpi-row { display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 6px; margin-bottom: 10px; }
.cme-mini-kpi { padding: 8px; border-radius: 10px; }
.mini-kpi-label { font-size: 10px; }
.mini-kpi-val   { font-size: 16px; font-weight: 900; }
.cme-chart-block { padding: 10px; border-radius: 10px; margin-bottom: 6px; }
.cme-chart-label { font-size: 12px; font-weight: 700; margin-bottom: 8px; }
.cme-bar-chart { height: 100px; overflow-x: auto; -webkit-overflow-scrolling: touch; }
.cme-bar-col { min-width: 28px; }
.cme-bar-label { font-size: 9px; }
.cme-bar-tooltip { font-size: 9px; }
.cme-cat-list { padding: 8px; border-radius: 10px; margin-top: 8px; }
.cme-cat-row { display: grid !important; grid-template-columns: 1fr auto !important; gap: 6px; padding: 6px 0; }
.cme-cat-label { font-size: 11px; }
.cme-cat-count { font-size: 12px; font-weight: 800; }
.cme-cat-count small { font-size: 10px; }
.cme-cat-total { font-size: 11px; margin-top: 6px; }

/* Info tab */
.cme-info-grid { display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 6px; }
.cme-info-item { padding: 8px; border-radius: 10px; }
.cme-info-key  { font-size: 10px; }
.cme-info-val  { font-size: 12px; font-weight: 700; line-height: 1.4; }
.cme-info-section-title { font-size: 12px; margin: 10px 0 6px; }
.cme-info-placeholder { font-size: 12px; padding: 10px; }

/* ══════════════════════════════════════
   640px — table reappears as scroll-table
   ══════════════════════════════════════ */
@media (min-width: 640px) {
  .tjc-trust-wrap  { overflow-x: auto; -webkit-overflow-scrolling: touch; }
  .tjc-trust-table { display: table !important; min-width: 760px; }
  .tjc-trust-table thead { display: table-header-group !important; }
  .tjc-trust-table tbody { display: table-row-group !important; }
  .tjc-trust-table tr.cme-cti-main-row {
    display: table-row !important;
    border: 0; margin: 0; padding: 0;
    background: transparent;
    border-radius: 0;
    grid-template-columns: unset;
  }
  .tjc-trust-table td {
    display: table-cell !important;
    padding: 10px 8px;
    border-bottom: 1px solid #efe9f9;
    vertical-align: middle;
    background: #fff;
  }
  .tjc-trust-table td:nth-child(4),
  .tjc-trust-table td:nth-child(6),
  .tjc-trust-table td:nth-child(7),
  .tjc-trust-table td:nth-child(8),
  .tjc-trust-table td.bestfor-cell,
  .tjc-trust-table td.td-toggle { display: table-cell !important; border-top: 0; margin-top: 0; padding: 10px 8px; }
  .tjc-trust-table td.td-toggle { padding: 10px 6px; }
  .tjc-trust-score { font-size: 18px !important; min-width: 50px !important; height: 38px !important; }
  .cta-btn { width: auto !important; min-height: auto; font-size: 11px !important; padding: 8px 10px !important; }
  .cme-cti-detail-toggle { width: 28px !important; height: 28px !important; border-radius: 999px !important; }
  .tjc-trust-table tr.cme-cti-detail-row { display: table-row !important; }
  .tjc-trust-table tr.cme-cti-detail-row[hidden] { display: none !important; }
  .tjc-trust-table tr.cme-cti-detail-row td {
    display: table-cell !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: #fbf8ff !important;
  }
  .cme-kpi-row { grid-template-columns: repeat(3,1fr) !important; }
  .cme-info-grid { grid-template-columns: repeat(3,1fr) !important; }
  .cme-signals { grid-template-columns: repeat(3,1fr) !important; }
  .tjc-top3-grid { display: grid !important; grid-template-columns: 1fr 1fr !important; }
  .tjc-kpi-strip { grid-template-columns: repeat(3,1fr) !important; }
  .tjc-kpi:nth-child(5) { grid-column: unset !important; }
  .tjc-kpi:nth-last-child(-n+2) { border-bottom: 0; }
  .tjc-kpi { border-right: 1px solid #ece4fb !important; }
  .tjc-kpi:last-child { border-right: 0 !important; }
  .cme-market-kpis { grid-template-columns: repeat(3,1fr) !important; }
}

/* ══════════════════════════════════════
   1024px — full desktop
   ══════════════════════════════════════ */
@media (min-width: 1024px) {
  .tjc-wrap { padding: 20px 18px 56px; }

  .tjc-hero { padding: 28px 36px !important; border-radius: 24px; }
  .tjc-home .tjc-hero h1 { font-size: clamp(24px,2.8vw,34px) !important; }
  .tjc-lead { font-size: 14px; }
  .cme-geo-statement { font-size: 13px; padding: 14px 18px; border-radius: 14px; }

  /* Live tape — desktop animated scroll */
  .tjc-live-rail {
    display: grid !important;
    grid-template-columns: auto 1fr !important;
    gap: 10px !important;
    align-items: center !important;
    padding: 10px 14px !important;
    position: relative;
    overflow: hidden;
  }
  .tjc-live-rail::before {
    display: block !important;
    content: '';
    position: absolute;
    top: 0; right: 0; bottom: 0;
    width: 60px;
    background: linear-gradient(to left, #fff 60%, transparent 100%);
    z-index: 15;
    pointer-events: none;
  }
  .tjc-live-rail-head {
    flex-direction: column !important;
    justify-content: center !important;
    align-items: center !important;
    background: #1e163a !important;
    color: #fff !important;
    padding: 5px 8px !important;
    border-radius: 12px !important;
    min-width: 0 !important;
    max-width: none !important;
    width: auto !important;
    position: relative;
    z-index: 20;
  }
  .tjc-live-head-note { color: rgba(255,255,255,.6) !important; font-size: 9px !important; }
  .tjc-live-track {
    display: flex !important;
    overflow: hidden !important;
    white-space: nowrap !important;
    contain: paint !important;
    scroll-snap-type: none !important;
    padding-bottom: 0;
  }
  .tjc-live-marquee {
    flex-shrink: 0;
    min-width: max-content;
    display: flex !important;
  }
  .tjc-live-item { max-width: 300px; }

  .tjc-top3-grid { display: grid !important; grid-template-columns: repeat(3,1fr) !important; gap: 16px !important; }
  .tjc-top3-card { padding: 18px; }
  .tjc-top3-score { font-size: 34px !important; min-width: 64px !important; height: 64px !important; border-radius: 18px !important; }
  .tjc-top3-ident h3 { font-size: 14px !important; }
  .tjc-top3-cta { min-height: auto !important; line-height: normal !important; padding: 10px 14px !important; font-size: 13px !important; }

  .tjc-kpi-strip { grid-template-columns: repeat(5,1fr) !important; border-radius: 16px; }
  .tjc-kpi { padding: 14px 16px !important; border-bottom: 0 !important; border-right: 1px solid #ece4fb !important; }
  .tjc-kpi:last-child { border-right: 0 !important; }
  .tjc-kpi:nth-child(5) { grid-column: unset !important; }
  .tjc-kpi strong { font-size: 22px !important; }

  .tjc-market-shell { display: grid !important; grid-template-columns: 1.5fr 0.75fr !important; gap: 18px !important; }
  .tjc-section { padding: 24px 22px !important; border-radius: 20px !important; }
  .cme-market-title { font-size: 20px !important; }
  .cme-market-chart-top { flex-direction: row !important; }
  .cme-market-kpis { grid-template-columns: repeat(3,1fr) !important; }
  .cme-market-donut-pro { display: grid !important; grid-template-columns: .95fr 1.05fr !important; gap: 16px !important; }
  .cme-market-donut-visual { width: 260px !important; height: 260px !important; }
  .cme-market-donut-center { inset: 22px !important; }
  .cme-donut-total { font-size: 28px !important; }
  .cme-market-overview-rich .cme-market-kpis { grid-template-columns: repeat(3,1fr) !important; gap: 10px !important; }
  .cme-market-overview-rich .cme-market-donut-pro { display: grid !important; grid-template-columns: .95fr 1.05fr !important; gap: 16px !important; }

  .tjc-table { padding: 24px !important; border-radius: 24px !important; }
  .tjc-trust-wrap { overflow-x: auto; }
  .tjc-trust-table { min-width: 1080px !important; }
  .tjc-trust-score { font-size: 24px !important; min-width: 60px !important; height: 42px !important; }
  .cta-btn { font-size: 12px !important; padding: 10px 14px !important; }
  .cme-cti-detail-toggle { width: 26px !important; height: 26px !important; border-radius: 999px !important; font-size: 12px !important; }
  .cme-signals { grid-template-columns: repeat(3,1fr) !important; }
  .cme-kpi-row { grid-template-columns: repeat(3,1fr) !important; }
  .cme-info-grid { grid-template-columns: repeat(3,1fr) !important; }
}


/* ===== v2.26.0 mobile / SEO / server-rendered cleanup ===== */
.sr-only,
.screen-reader-text,
.visually-hidden {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0,0,0,0) !important;
  clip-path: inset(50%) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

.tjc-home [hidden] { display: none !important; }

.tjc-home .cme-geo-statement {
  font-size: 14px;
  line-height: 1.85;
  color: #322c59;
  background: #fff;
  border: 1px solid #e8def9;
  border-radius: 20px;
  padding: 18px 20px;
  margin-bottom: 16px;
  overflow: visible;
}

/* ── Live tape item sizing — mobile ── */
@media (max-width: 1023px) {
  .tjc-home .tjc-live-item {
    min-width: 180px !important;
    max-width: 70vw !important;
    padding: 8px 10px !important;
    border-radius: 12px !important;
    align-items: center !important;
    flex-shrink: 0;
    scroll-snap-align: start;
  }
  .tjc-home .tjc-live-logo { width: 28px !important; height: 28px !important; }
  .tjc-home .tjc-live-copy strong { font-size: 12px !important; }
  .tjc-home .tjc-live-copy span { font-size: 11px !important; }
  .tjc-home .mini-live { font-size: 10px; padding: 3px 7px; }
}
.tjc-rank-section .tjc-table-head p { max-width: 760px; }

.tjc-rank-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 14px;
}
.tjc-rank-card {
  background: #fff;
  border: 1px solid #e8def9;
  border-radius: 22px;
  padding: 16px;
  box-shadow: 0 6px 18px rgba(111, 67, 214, .05);
}
.tjc-rank-card-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
  align-items: center;
  margin-bottom: 12px;
}
.tjc-rank-ident {
  display: grid;
  grid-template-columns: 22px 44px minmax(0, 1fr);
  gap: 10px;
  align-items: center;
  min-width: 0;
}
.tjc-rank-no {
  font-size: 18px;
  font-weight: 900;
  color: #6f43d6;
  text-align: center;
}
.tjc-rank-logo {
  width: 44px;
  height: 44px;
  border-radius: 999px;
  border: 1px solid #ece4fb;
  background: #fff;
  object-fit: contain;
  padding: 4px;
}
.tjc-rank-ident h3 {
  margin: 0 !important;
  font-size: 18px !important;
  line-height: 1.2 !important;
  color: #18153a !important;
  font-weight: 900 !important;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.tjc-rank-ident p {
  margin: 4px 0 0 !important;
  font-size: 13px !important;
  line-height: 1.3 !important;
  color: #7b7693 !important;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.tjc-rank-score {
  min-width: 56px;
  height: 56px;
  display: grid;
  place-items: center;
  padding: 0 10px;
  border-radius: 16px;
  background: #eef7f1;
  border: 1px solid #cae8d5;
  color: #2f9165;
  font-size: 28px;
  font-weight: 900;
}
.tjc-rank-card .spark-bars {
  width: 100%;
  max-width: 180px;
  height: 36px;
}
.tjc-rank-stats {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px 14px;
  padding: 12px 0;
  border-top: 1px solid #f0ebfb;
  border-bottom: 1px solid #f0ebfb;
  margin-bottom: 12px;
}
.tjc-rank-stats span {
  display: block;
  font-size: 12px;
  color: #7b7693;
  margin-bottom: 4px;
}
.tjc-rank-stats strong {
  display: block;
  font-size: 16px;
  line-height: 1.2;
  color: #18153a;
  font-weight: 800;
}
.tjc-rank-stats strong.up { color: #16a34a; }
.tjc-rank-stats strong.down { color: #dc2626; }
.tjc-rank-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 12px;
  min-height: 30px; /* always reserves space — prevents card resize when tags appear */
  align-items: center;
}
.tjc-rank-actions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}
.tjc-primary-btn,
.tjc-secondary-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 0 14px;
  border-radius: 14px;
  text-decoration: none;
  font-weight: 900;
  font-size: 14px;
  line-height: 1;
  white-space: nowrap;
}
.tjc-primary-btn {
  background: #22c55e;
  color: #fff;
  box-shadow: inset 0 -1px 0 rgba(0,0,0,.08);
}
.tjc-secondary-btn {
  background: #f6f1ff;
  border: 1px solid #d9c8ff;
  color: #5b21b6;
}
.tjc-primary-btn:hover,
.tjc-secondary-btn:hover {
  opacity: .96;
}

@media (max-width: 1023px) {
  .tjc-top3-grid { gap: 14px !important; }
  .tjc-top3-card { padding: 16px !important; }
  .tjc-top3-logo { width: 36px !important; height: 36px !important; }
  .tjc-top3-score { min-width: 60px !important; height: 60px !important; font-size: 28px !important; }
  .tjc-top3-cta { min-height: 48px !important; padding: 0 16px !important; }
}

@media (max-width: 1023px) {
  .cme-market-overview-rich .cme-market-kpis { grid-template-columns: 1fr !important; gap: 12px !important; }
  .cme-market-overview-rich .cme-market-donut-pro { display: block !important; }
}
.cme-market-overview-rich .cme-market-kpi {
  padding: 18px 16px !important;
}
.cme-market-overview-rich .cme-market-chart-wrap {
  padding: 16px !important;
}
.cme-market-overview-rich .cme-market-series-bars {
  min-height: 168px !important;
}
.cme-market-overview-rich .cme-market-series-col {
  min-width: 40px;
}
.cme-market-overview-rich .cme-market-donut-maincol {
  margin-bottom: 14px;
}
.cme-market-overview-rich .cme-market-donut-note {
  margin-top: 12px !important;
}
.cme-market-overview-rich .cme-risk-legend-row {
  padding: 12px 0 !important;
}
.cme-market-overview-rich .cme-market-context-note-top p {
  margin: 0;
}
.cme-market-overview-rich .cme-market-context-table-wrap {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}
.cme-market-overview-rich .cme-market-context-table {
  min-width: 620px;
}

.cme-dd-tabs {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}
.cme-dd-tab {
  white-space: nowrap;
}

@media (max-width: 1023px) {
  .cme-complaint-section .cme-kpi-row { grid-template-columns: 1fr !important; }
}
.cme-complaint-section .cme-bar-chart {
  height: 140px !important;
}
.cme-complaint-section .cme-cat-row {
  grid-template-columns: minmax(0, 1fr) minmax(100px, 1fr) auto !important;
  gap: 8px !important;
}
.cme-complaint-section .cme-cat-label {
  font-size: 12px !important;
  line-height: 1.4 !important;
}
.cme-complaint-section .cme-cat-count {
  font-size: 13px;
  white-space: nowrap;
}

.tjc-detail-page .tjc-detail-back a {
  display: inline-flex;
  align-items: center;
  min-height: 40px;
  color: #5b21b6;
  font-weight: 800;
  text-decoration: none;
}
.tjc-detail-page .tjc-detail-hero-card,
.tjc-detail-page .tjc-detail-section-card {
  background: #fff;
  border: 1px solid #e8def9;
  border-radius: 22px;
}
.tjc-detail-page .tjc-detail-hero-card {
  padding: 18px;
  margin-bottom: 16px;
}
.tjc-detail-page .tjc-detail-hero-main {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 12px;
  align-items: center;
}
.tjc-detail-page .tjc-detail-ident {
  min-width: 0;
}
.tjc-detail-page .tjc-detail-ident h2 {
  margin: 0 0 4px !important;
  font-size: 22px !important;
}
.tjc-detail-page .tjc-detail-ident p {
  margin: 0 !important;
  color: #7b7693 !important;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.tjc-detail-page .tjc-detail-logo {
  width: 56px;
  height: 56px;
}
.tjc-detail-page .tjc-detail-scorebox {
  min-width: 62px;
  height: 62px;
  border-radius: 16px;
  display: grid;
  place-items: center;
  background: #eef7f1;
  border: 1px solid #cae8d5;
  color: #2f9165;
  font-size: 28px;
  font-weight: 900;
}
.tjc-detail-page .tjc-detail-meta-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  margin: 14px 0;
}
.tjc-detail-page .tjc-mini-stat {
  background: #faf7ff;
  border: 1px solid #ece4fb;
  border-radius: 14px;
  padding: 12px;
}
.tjc-detail-page .tjc-mini-stat span {
  display: block;
  font-size: 12px;
  color: #7b7693;
  margin-bottom: 4px;
}
.tjc-detail-page .tjc-mini-stat strong {
  font-size: 16px;
  color: #18153a;
}
.tjc-detail-page .tjc-detail-hero-actions {
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px;
}
.tjc-detail-page .tjc-detail-sections {
  display: grid;
  gap: 16px;
}
.tjc-detail-page .tjc-detail-section-card {
  padding: 16px;
}
.tjc-detail-page .tjc-detail-section-card h3 {
  margin: 0 0 12px !important;
  font-size: 18px !important;
}
@media (min-width: 768px) {
  .tjc-detail-page .tjc-detail-hero-card { padding: 24px 28px; }
  .tjc-detail-page .tjc-detail-meta-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .tjc-detail-page .tjc-detail-hero-actions { grid-template-columns: 1fr 1fr; }
}

#scrollUp,
.scroll-top,
.scroll-up,
.back-to-top,
.go-top,
.to-top {
  bottom: 24px !important;
  right: 24px !important;
}
@media (max-width: 767px) {
  #scrollUp,
  .scroll-top,
  .scroll-up,
  .back-to-top,
  .go-top,
  .to-top {
    bottom: calc(env(safe-area-inset-bottom, 0px) + 88px) !important;
    right: 16px !important;
  }
}

@media (max-width: 767px) {
  .tjc-wrap {
    padding: 14px 12px calc(42px + env(safe-area-inset-bottom, 0px)) !important;
  }
  .tjc-home .tjc-hero h1,
  .tjc-intel-hero h1 {
    font-size: 20px !important;
    line-height: 1.25 !important;
    word-break: normal !important;
    overflow-wrap: break-word !important;
  }
  .tjc-home .tjc-lead,
  .tjc-home .cme-geo-statement,
  .tjc-home .tjc-top3-head p,
  .tjc-home .tjc-table-head p,
  .cme-market-overview-rich .cme-market-pulse,
  .cme-market-overview-rich .cme-market-chart-subnote,
  .tjc-news-copy,
  .tjc-news-title {
    font-size: 14px !important;
    line-height: 1.75 !important;
  }
  .tjc-home .tjc-live-track {
    display: grid !important;
  }
  .tjc-top3-grid {
    grid-template-columns: 1fr !important;
  }
  .tjc-top3-top {
    align-items: center !important;
  }
  .tjc-top3-ident {
    min-width: 0;
  }
  .tjc-top3-ident h3 {
    font-size: 18px !important;
  }
  .tjc-top3-ident p {
    font-size: 13px !important;
  }
  .tjc-rank-actions {
    grid-template-columns: 1fr !important;
  }
  .tjc-rank-ident {
    grid-template-columns: 22px 40px minmax(0, 1fr);
  }
  .tjc-rank-logo {
    width: 40px;
    height: 40px;
  }
  .tjc-rank-score {
    min-width: 52px;
    height: 52px;
    font-size: 24px;
  }
  .tjc-detail-page .tjc-detail-meta-grid {
    grid-template-columns: 1fr;
  }
}

@media (min-width: 768px) {
  .tjc-rank-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .tjc-home .tjc-live-track {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}
@media (min-width: 1100px) {
  .tjc-rank-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .tjc-home .tjc-live-track {
    display: flex !important;
    gap: 12px !important;
  }
}

.tjc-rank-spark {
  color: #7c3aed;
  margin-bottom: 12px;
}
.tjc-rank-spark .spark-bars {
  width: 100%;
  max-width: 180px;
  display: block;
}
@media (max-width: 767px) {
  .tjc-news-list .tjc-news-item:nth-child(n+6) {
    display: none;
  }
}


/* ── Horizontal bar chart — complaints.wiki style ── */
.tjc-home .cme-market-hbar-wrap { overflow: hidden; }
.tjc-home .cme-hbar-total { font-size: 12px !important; color: #7b7693 !important; margin-bottom: 14px; font-weight: 600; line-height: 1.5; }
.tjc-home .cme-hbar-list { display: flex !important; flex-direction: column !important; gap: 10px; }
.tjc-home .cme-hbar-row { display: grid !important; grid-template-columns: 200px 1fr auto !important; gap: 10px; align-items: center; width: 100%; }
.tjc-home .cme-hbar-label { font-size: 13px !important; font-weight: 700 !important; color: #1d193e !important; text-align: left; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; margin: 0 !important; padding: 0 !important; }
.tjc-home .cme-hbar-track { height: 16px !important; min-height: 16px !important; max-height: 16px !important; background: #f0ebfb; border-radius: 4px; overflow: hidden; width: 100%; flex-shrink: 0 !important; }
.tjc-home .cme-hbar-fill { height: 16px !important; min-height: 16px !important; max-height: 16px !important; border-radius: 4px; transition: width .4s ease; min-width: 3px; display: block !important; }
.tjc-home .cme-hbar-meta { display: flex !important; flex-direction: column; align-items: flex-end; gap: 1px; min-width: 64px; }
.tjc-home .cme-hbar-count { font-size: 13px !important; font-weight: 900 !important; color: #1d193e !important; white-space: nowrap; display: block; margin: 0 !important; }
.tjc-home .cme-hbar-pct { font-size: 11px !important; color: #7b7693 !important; white-space: nowrap; display: block; margin: 0 !important; }

@media (max-width: 767px) {
  .tjc-home .cme-hbar-row { grid-template-columns: 110px 1fr auto !important; gap: 8px; align-items: center; }
  .tjc-home .cme-hbar-label { font-size: 11px !important; }
  .tjc-home .cme-hbar-count { font-size: 12px !important; }
  .tjc-home .cme-hbar-track { height: 16px !important; min-height: 16px !important; max-height: 16px !important; }
  .tjc-home .cme-hbar-fill  { height: 16px !important; min-height: 16px !important; max-height: 16px !important; }
}

/* ── Section period toggles ── */
.cme-section-head-row { display: flex; justify-content: space-between; align-items: center; gap: 10px; margin-bottom: 6px; flex-wrap: wrap; }
.cme-section-toggle { display: flex; gap: 4px; flex-wrap: wrap; }
.cme-section-btn {
  padding: 4px 10px;
  min-height: 30px;
  font-size: 12px;
  font-weight: 700;
  border: 1px solid #d8d0f0;
  border-radius: 8px;
  background: #faf7ff;
  color: #5b21b6;
  cursor: pointer;
  transition: background .15s, color .15s;
  white-space: nowrap;
}
.cme-section-btn:hover { background: #ede9ff; }
.cme-section-btn.active { background: #6f43d6; color: #fff; border-color: #6f43d6; }

/* KPI strip toggle alignment */
.tjc-kpi-strip-head { align-items: flex-start; }
.tjc-kpi-strip-head .cme-section-toggle { margin-left: auto; }

@media (max-width: 767px) {
  .cme-section-btn { padding: 3px 7px; font-size: 11px; min-height: 28px; }
  .cme-section-head-row { gap: 8px; }
}

/* Methodology and detail dedup helpers */
.tjc-methodology-page .tjc-detail-hero-card{padding:28px 32px}
.tjc-methodology-kicker{margin:0 0 8px;font-size:12px;font-weight:800;letter-spacing:.08em;color:#7c3aed;text-transform:uppercase}
.tjc-methodology-lead{margin:0;font-size:15px;line-height:1.85;color:#5f5a78;max-width:840px}
.tjc-methodology-grid,.tjc-methodology-list,.tjc-methodology-faq{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
.tjc-methodology-item{padding:16px 18px;border:1px solid #e8def9;border-radius:16px;background:#fcfbff;display:flex;flex-direction:column;gap:8px}
.tjc-methodology-item strong{font-size:15px;color:#18153a}
.tjc-methodology-item span{font-size:14px;line-height:1.8;color:#5f5a78}
.tjc-methodology-bullets{margin:0;padding-left:20px;color:#5f5a78;line-height:1.9}
.tjc-methodology-bullets li{margin:0 0 8px}
.tjc-detail-intro{padding:14px 18px;border:1px solid #e8def9;border-radius:16px;background:#fcfbff}
.tjc-detail-intro p{margin:0 0 10px;color:#5f5a78;line-height:1.85}
.tjc-detail-intro p:last-child{margin-bottom:0}
.tjc-detail-method-link a{font-weight:700}
@media(max-width:780px){
  .tjc-methodology-grid,.tjc-methodology-list,.tjc-methodology-faq{grid-template-columns:1fr}
  .tjc-methodology-page .tjc-detail-hero-card{padding:22px 20px}
}


/* =====================================================
   SORTABLE TABLE HEADERS
   ===================================================== */
.cme-market-context-table th.js-sort-col {
  cursor: pointer;
  user-select: none;
  white-space: nowrap;
  transition: color .15s ease;
}
.cme-market-context-table th.js-sort-col:hover {
  color: #6f43d6;
}
.cme-market-context-table th.sort-active {
  color: #6f43d6;
  font-weight: 900;
}
.cme-market-context-table .sort-icon {
  font-size: 10px;
  opacity: .5;
  margin-left: 3px;
}
.cme-market-context-table th.sort-active .sort-icon {
  opacity: 1;
}

/* =====================================================
   INTELLIGENCE PLATFORM POLISH
   ===================================================== */

/* Table: tighter, more data-dense */
.cme-market-context-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 13px;
}
.cme-market-context-table thead th {
  padding: 8px 10px;
  text-align: left;
  font-size: 11px;
  font-weight: 800;
  color: #6b6485;
  text-transform: uppercase;
  letter-spacing: .04em;
  border-bottom: 2px solid #ece4fb;
  background: #faf8ff;
}
.cme-market-context-table tbody tr {
  border-bottom: 1px solid #f0ebfb;
  transition: background .12s ease;
}
.cme-market-context-table tbody tr:hover {
  background: #faf7ff;
}
.cme-market-context-table tbody td {
  padding: 9px 10px;
  vertical-align: middle;
}
.ctx-name { font-weight: 800; color: #18153a; }
.ctx-rate { font-size: 13px; font-weight: 800; color: #18153a; }
.ctx-mini { font-size: 10px; color: #9c96b2; margin-top: 1px; }
.ctx-total { font-size: 13px; font-weight: 700; color: #18153a; }
.ctx-neutral { font-size: 10px; color: #9c96b2; margin-top: 1px; }

/* Complaint bar chart polish */
.cme-hbar-label {
  font-size: 12px !important;
  font-weight: 700 !important;
  color: #18153a !important;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.cme-hbar-track {
  height: 16px !important;
  min-height: 16px !important;
  max-height: 16px !important;
  background: #f0ebfb;
  border-radius: 4px;
  overflow: hidden;
  flex-shrink: 0 !important;
}
.cme-hbar-fill {
  height: 100% !important;
  border-radius: 4px;
  transition: width .4s ease;
  min-width: 3px;
  display: block;
}

/* Section labels — bolder, more editorial */
.cme-market-chart-label {
  font-size: 15px !important;
  font-weight: 900 !important;
  color: #18153a !important;
  letter-spacing: -.01em;
}

/* KYC friction badge in top3 cards */
.tjc-kyc-low  { background: #dcfce7; color: #16a34a; border-color: rgba(34,197,94,.3); }
.tjc-kyc-med  { background: #fef9c3; color: #a16207; border-color: rgba(234,179,8,.3); }
.tjc-kyc-high { background: #fee2e2; color: #dc2626; border-color: rgba(239,68,68,.3); }

/* Improvement to live strip items — tighter, more terminal-like */
.tjc-live-badge {
  font-size: 9px !important;
  padding: 2px 6px !important;
  letter-spacing: .12em !important;
}
.tjc-live-head-note {
  font-size: 9px !important;
  color: rgba(255,255,255,.6) !important;
}
.tjc-live-copy strong { font-size: 11px !important; }
.tjc-live-copy span   { font-size: 10px !important; }
.mini-live { font-size: 9px !important; }

/* =====================================================
   KYC FRICTION INTELLIGENCE SECTION
   ===================================================== */
.tjc-kyc-section {
  padding: 24px 28px;
  margin-bottom: 18px;
}
.tjc-kyc-head { margin-bottom: 18px; }
.tjc-kyc-head h2 {
  margin: 0 0 8px !important;
  font-size: clamp(16px,1.8vw,22px) !important;
  font-weight: 900 !important;
  color: #18153a !important;
  letter-spacing: -.02em;
}
.tjc-kyc-head p {
  margin: 0;
  font-size: 13px;
  color: #6b6485;
  line-height: 1.7;
}
.tjc-kyc-grid {
  display: grid;
  grid-template-columns: repeat(3,1fr);
  gap: 14px;
  margin-bottom: 14px;
}
.tjc-kyc-card {
  background: #fcfbff;
  border: 1px solid #e8def9;
  border-radius: 18px;
  padding: 16px;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.tjc-kyc-card-top {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}
.tjc-kyc-rank {
  font-size: 13px;
  font-weight: 900;
  color: #6f43d6;
  flex-shrink: 0;
}
.tjc-kyc-logo {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  object-fit: contain;
  border: 1px solid #ece4fb;
  background: #fff;
  flex-shrink: 0;
}
.tjc-kyc-ident {
  flex: 1;
  min-width: 0;
}
.tjc-kyc-ident strong {
  display: block;
  font-size: 13px;
  font-weight: 800;
  color: #18153a;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.tjc-kyc-ident span {
  font-size: 11px;
  color: #8a849e;
}
.tjc-kyc-badge {
  font-size: 10px;
  font-weight: 800;
  padding: 2px 8px;
  border-radius: 999px;
  border: 1px solid transparent;
  white-space: nowrap;
  flex-shrink: 0;
}
.tjc-kyc-low  { background: #dcfce7; color: #16a34a; border-color: rgba(34,197,94,.3); }
.tjc-kyc-med  { background: #fef9c3; color: #a16207; border-color: rgba(234,179,8,.3); }
.tjc-kyc-high { background: #fee2e2; color: #dc2626; border-color: rgba(239,68,68,.3); }
.tjc-kyc-stats {
  display: flex;
  gap: 10px;
  font-size: 12px;
  color: #7b7693;
  flex-wrap: wrap;
}
.tjc-kyc-stats div { display: flex; flex-direction: column; gap: 1px; }
.tjc-kyc-stats span { font-size: 10px; color: #9c96b2; }
.tjc-kyc-stats strong { font-size: 13px; font-weight: 800; color: #18153a; }
.tjc-kyc-nokyc-flag {
  font-size: 11px;
  font-weight: 700;
  color: #16a34a;
  background: #dcfce7;
  border-radius: 8px;
  padding: 5px 9px;
}
.tjc-kyc-cta {
  display: block;
  text-align: center;
  text-decoration: none;
  background: #6f43d6;
  color: #fff;
  padding: 8px 12px;
  border-radius: 12px;
  font-weight: 800;
  font-size: 12px;
  margin-top: auto;
  transition: background .15s ease;
}
.tjc-kyc-cta:hover { background: #5b32b8; }
.tjc-kyc-notice {
  background: #f0fdf4;
  border: 1px solid rgba(34,197,94,.25);
  border-radius: 12px;
  padding: 10px 14px;
  font-size: 12px;
  color: #15803d;
  line-height: 1.7;
}
.tjc-kyc-notice strong { font-weight: 800; }
.tjc-kyc-notice-note {
  display: block;
  margin-top: 4px;
  font-size: 11px;
  color: #6b7280;
  font-style: italic;
}
@media (max-width: 767px) {
  .tjc-kyc-section { padding: 18px 16px; }
  .tjc-kyc-grid { grid-template-columns: 1fr; }
}

/* =====================================================
   LIVE STRIP — compact badge, items smaller than badge
   ===================================================== */
/* Badge: slightly taller so it has presence */
.tjc-live-rail-head {
  padding: 7px 10px !important;
  border-radius: 14px !important;
  gap: 4px !important;
}
.tjc-live-badge {
  font-size: 10px !important;
  padding: 3px 7px !important;
  letter-spacing: .1em !important;
}
.tjc-live-head-note {
  font-size: 10px !important;
  color: rgba(255,255,255,.7) !important;
}
/* Items: tighter, same height as badge block */
.tjc-live-item {
  padding: 6px 10px !important;
  gap: 7px !important;
  border-radius: 12px !important;
  min-width: 210px !important;
  max-width: 270px !important;
}
.tjc-live-logo {
  width: 20px !important;
  height: 20px !important;
}
.tjc-live-copy strong {
  font-size: 10px !important;
  font-weight: 800 !important;
}
.tjc-live-copy span {
  font-size: 9px !important;
}
.mini-live {
  font-size: 9px !important;
  padding: 1px 5px !important;
}
.tjc-live-meta em {
  font-size: 9px !important;
}

/* =====================================================
   TOP 3 — larger logos, larger medals, blurb
   ===================================================== */
.tjc-top3-medal {
  font-size: 28px !important;
  flex-shrink: 0;
  line-height: 1;
}
.tjc-top3-logo {
  width: 48px !important;
  height: 48px !important;
  border-radius: 50% !important;
  object-fit: contain !important;
  border: 1px solid #ece4fb !important;
  background: #fff !important;
  padding: 3px !important;
  flex-shrink: 0 !important;
}
.tjc-top3-blurb {
  font-size: 12px;
  line-height: 1.7;
  color: #6b6485;
  margin: 4px 0 0;
  padding: 8px 10px;
  background: #faf7ff;
  border-radius: 10px;
  border-left: 3px solid #e0d8f5;
}

/* Intel section — same card style as top3 but labelled differently */
.tjc-intel-section .tjc-top3-head h2 {
  font-size: clamp(16px,1.8vw,22px) !important;
}

/* KYC badge inline in signals row */
.tjc-top3-signal.tjc-kyc-low  { background: #dcfce7; color: #16a34a; border-color: rgba(34,197,94,.3); }
.tjc-top3-signal.tjc-kyc-med  { background: #fef9c3; color: #a16207; }
.tjc-top3-signal.tjc-kyc-high { background: #fee2e2; color: #dc2626; }
.tjc-kyc-notice {
  margin-top: 14px;
  background: #f0fdf4;
  border: 1px solid rgba(34,197,94,.25);
  border-radius: 12px;
  padding: 10px 14px;
  font-size: 12px;
  color: #15803d;
  line-height: 1.7;
}
.tjc-kyc-notice strong { font-weight: 800; }
.tjc-kyc-notice-note {
  display: block;
  margin-top: 4px;
  font-size: 11px;
  color: #6b7280;
  font-style: italic;
}

@media (min-width: 1024px) {
  .tjc-top3-logo { width: 52px !important; height: 52px !important; }
  .tjc-top3-medal { font-size: 32px !important; }
  .tjc-live-item  { min-width: 220px !important; max-width: 280px !important; }
}
@media (max-width: 767px) {
  .tjc-top3-logo  { width: 40px !important; height: 40px !important; }
  .tjc-top3-medal { font-size: 24px !important; }
}

/* =====================================================
   v2.27.7 — COMPREHENSIVE POLISH
   ===================================================== */

/* ── Live strip: RAF on all viewports, no scrollbar ── */
.tjc-live-rail {
  overflow: hidden !important;
}
.tjc-live-track {
  overflow: hidden !important;
  overflow-x: unset !important;
  scroll-snap-type: none !important;
  scrollbar-width: none !important;
  -webkit-overflow-scrolling: unset !important;
}
.tjc-live-track::-webkit-scrollbar { display: none !important; }
.tjc-live-marquee {
  display: flex !important;
  gap: 10px !important;
  white-space: nowrap !important;
  will-change: transform !important;
  min-width: max-content !important;
  flex-shrink: 0 !important;
}
/* Mobile: same layout as desktop — always badge left, track right */
@media (max-width: 767px) {
  .tjc-live-rail {
    display: grid !important;
    grid-template-columns: auto minmax(0,1fr) !important;
    align-items: center !important;
    gap: 8px !important;
    padding: 8px 10px !important;
    overflow: hidden !important;
  }
  .tjc-live-rail-head {
    flex-direction: column !important;
    padding: 5px 7px !important;
    border-radius: 10px !important;
    background: #1e163a !important;
    color: #fff !important;
    flex-shrink: 0 !important;
    width: auto !important;
    min-width: 0 !important;
  }
  .tjc-live-badge {
    font-size: 9px !important;
    padding: 2px 6px !important;
  }
  .tjc-live-head-note {
    font-size: 9px !important;
    color: rgba(255,255,255,.65) !important;
  }
  .tjc-live-item {
    min-width: 190px !important;
    max-width: 240px !important;
    padding: 6px 9px !important;
  }
}

/* ── Top3 blurb: lighter, no blockquote feel ── */
.tjc-top3-blurb {
  font-size: 12px !important;
  line-height: 1.75 !important;
  color: #6b6485 !important;
  margin: 6px 0 2px !important;
  padding: 0 !important;
  background: none !important;
  border-left: none !important;
  border-radius: 0 !important;
}

/* ── Score badge: green pill matching rank cards ── */
.tjc-top3-score {
  background: #22c55e !important;
  color: #fff !important;
  border-radius: 14px !important;
  font-size: 28px !important;
  font-weight: 900 !important;
  min-width: 60px !important;
  height: 60px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-shrink: 0 !important;
  line-height: 1 !important;
  padding: 0 10px !important;
}

/* ── Rank card: coloured left border by score range ── */
.tjc-rank-card {
  border-left: 4px solid #e8def9 !important;
  transition: border-color .2s ease;
}
.tjc-rank-card:has(.tjc-rank-score-high)  { border-left-color: #22c55e !important; }
.tjc-rank-card:has(.tjc-rank-score-mid)   { border-left-color: #f59e0b !important; }
.tjc-rank-card:has(.tjc-rank-score-low)   { border-left-color: #ef4444 !important; }

/* ── Score 0 / pending state ── */
.tjc-score-pending {
  background: #f0ebfb !important;
  color: #9c96b2 !important;
  font-size: 16px !important;
}
.tjc-rank-pending-note {
  font-size: 11px;
  color: #9c96b2;
  font-style: italic;
  margin: 2px 0 6px;
}

/* ── JP support signal: green not red ── */
.tjc-top3-signal.tjc-signal-jp {
  background: #dcfce7 !important;
  color: #16a34a !important;
  border-color: rgba(34,197,94,.3) !important;
}

/* ── KYC notice bar: pill badges not comma list ── */
.tjc-kyc-notice {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 6px !important;
}
.tjc-kyc-notice strong {
  flex-shrink: 0;
  margin-right: 4px;
}

/* ── Market KPI: 要注意カジノ sub-label ── */
.cmk-sub {
  font-size: 11px;
  color: #9c96b2;
  margin-top: 3px;
  line-height: 1.4;
}

/* ── Rank card secondary button ── */
.tjc-secondary-btn {
  border: 1.5px solid #d8d0f0 !important;
  background: transparent !important;
  color: #6f43d6 !important;
  border-radius: 12px !important;
  font-weight: 700 !important;
  font-size: 13px !important;
  padding: 9px 14px !important;
  text-align: center !important;
  text-decoration: none !important;
  display: inline-block !important;
  transition: background .15s ease, color .15s ease !important;
}
.tjc-secondary-btn:hover {
  background: #f5f0ff !important;
}

/* ── Intel section head — slightly smaller h2 ── */
.tjc-intel-section .tjc-top3-head h2 {
  font-size: clamp(15px,1.6vw,20px) !important;
}

/* ── Freshness timestamp ── */
.tjc-freshness-bar {
  font-size: 11px;
  color: #9c96b2;
  text-align: right;
  padding: 4px 0 10px;
  letter-spacing: .02em;
}

/* ── KYC notice pill badges ── */
.tjc-kyc-pill {
  display: inline-flex;
  align-items: center;
  background: #dcfce7;
  color: #16a34a;
  border: 1px solid rgba(34,197,94,.3);
  border-radius: 999px;
  font-size: 11px;
  font-weight: 700;
  padding: 2px 9px;
  white-space: nowrap;
}
.tjc-kyc-notice {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 5px !important;
  padding: 10px 14px !important;
}
.tjc-kyc-notice-note {
  width: 100%;
  display: block;
  margin-top: 5px;
  font-size: 11px;
  color: #6b7280;
  font-style: italic;
}

/* ── Freshness bar ── */
.tjc-freshness-bar {
  font-size: 11px;
  color: #9c96b2;
  text-align: right;
  padding: 0 4px 8px;
  letter-spacing: .01em;
}

/* ── Score green pill: consistent across all card types ── */
.tjc-rank-score.tjc-rank-score-high { background: #22c55e !important; color: #fff !important; }
.tjc-rank-score.tjc-rank-score-mid  { background: #f59e0b !important; color: #fff !important; }
.tjc-rank-score.tjc-rank-score-low  { background: #ef4444 !important; color: #fff !important; }
.tjc-top3-score.tjc-rank-score-high { background: #22c55e !important; color: #fff !important; }
.tjc-top3-score.tjc-rank-score-mid  { background: #f59e0b !important; color: #fff !important; }
.tjc-top3-score.tjc-rank-score-low  { background: #ef4444 !important; color: #fff !important; }

/* ── Rank card left border by score class ── */
article.tjc-rank-card { border-left: 4px solid #e8def9; transition: border-color .2s; }
article.tjc-rank-card:has(.tjc-rank-score-high) { border-left-color: #22c55e; }
article.tjc-rank-card:has(.tjc-rank-score-mid)  { border-left-color: #f59e0b; }
article.tjc-rank-card:has(.tjc-rank-score-low)  { border-left-color: #ef4444; }

/* ── JP support signal — green ── */
.tjc-top3-signal.tjc-signal-jp {
  background: #dcfce7 !important;
  color: #16a34a !important;
  border-color: rgba(34,197,94,.3) !important;
}

/* ── Rank card pending state ── */
.tjc-rank-pending-note {
  font-size: 11px;
  color: #9c96b2;
  font-style: italic;
  margin: 0 0 6px;
}
.tjc-score-pending {
  background: #f0ebfb !important;
  color: #9c96b2 !important;
  font-size: 16px !important;
}

/* ── Secondary button bordered ── */
.tjc-secondary-btn {
  border: 1.5px solid #d8d0f0 !important;
  background: transparent !important;
  color: #6f43d6 !important;
  border-radius: 12px !important;
  font-weight: 700 !important;
  padding: 9px 14px !important;
  text-decoration: none !important;
  text-align: center !important;
  display: inline-block !important;
  font-size: 13px !important;
  transition: background .15s ease !important;
}
.tjc-secondary-btn:hover { background: #f5f0ff !important; }

/* ── Top3 blurb: no blockquote ── */
.tjc-top3-blurb {
  font-size: 12px !important;
  line-height: 1.75 !important;
  color: #6b6485 !important;
  margin: 4px 0 6px !important;
  padding: 0 !important;
  background: none !important;
  border-left: none !important;
  border-radius: 0 !important;
}

/* =====================================================
   v2.27.8 — ALIGNMENT, HEIGHTS, CARD CONSISTENCY
   ===================================================== */

/* ── Rank card: always same height regardless of tags ── */
.tjc-rank-card {
  display: flex !important;
  flex-direction: column !important;
}
.tjc-rank-tags {
  min-height: 30px !important;   /* reserves space even when empty */
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 6px !important;
  margin-bottom: 12px !important;
}
/* Push actions to bottom so all cards align */
.tjc-rank-actions {
  margin-top: auto !important;
}

/* ── Rank grid: equal-height rows via align-items stretch ── */
.tjc-rank-grid {
  align-items: stretch !important;
}
@media (min-width: 760px) {
  .tjc-rank-grid {
    grid-template-columns: repeat(2, minmax(0,1fr)) !important;
    align-items: stretch !important;
  }
}
@media (min-width: 1100px) {
  .tjc-rank-grid {
    grid-template-columns: repeat(3, minmax(0,1fr)) !important;
  }
}

/* ── hbar: canonical 16px height everywhere, no exceptions ── */
.cme-hbar-track,
.tjc-home .cme-hbar-track {
  height: 16px !important;
  min-height: 16px !important;
  max-height: 16px !important;
  flex-shrink: 0 !important;
}
.cme-hbar-fill,
.tjc-home .cme-hbar-fill {
  height: 16px !important;
  min-height: 16px !important;
  max-height: 16px !important;
  display: block !important;
}
/* Row alignment: always vertically centred */
.cme-hbar-row,
.tjc-home .cme-hbar-row {
  align-items: center !important;
}

/* ── Support section card alignment on desktop ── */
.tjc-intel-section .tjc-top3-grid {
  align-items: stretch !important;
}
.tjc-intel-section .tjc-top3-card {
  display: flex !important;
  flex-direction: column !important;
}
.tjc-intel-section .tjc-top3-cta {
  margin-top: auto !important;
}

/* ── Top3 main section: equal card heights ── */
.tjc-top3-grid {
  align-items: stretch !important;
}
.tjc-top3-card {
  display: flex !important;
  flex-direction: column !important;
}
.tjc-top3-cta {
  margin-top: auto !important;
}

/* ── hbar meta numbers: always right-aligned, same width ── */
.cme-hbar-meta,
.tjc-home .cme-hbar-meta {
  min-width: 70px !important;
  text-align: right !important;
}

/* =====================================================
   v2.27.9 — DEFINITIVE CARD ALIGNMENT + HBAR FIX
   ===================================================== */

/* ── NUCLEAR hbar height lock — overrides everything ── */
* .cme-hbar-track,
.cme-hbar-track,
.tjc-home .cme-hbar-track,
[data-cme-section="hbar"] .cme-hbar-track {
  height: 16px !important;
  min-height: 16px !important;
  max-height: 16px !important;
  flex-shrink: 0 !important;
  box-sizing: content-box !important;
  overflow: hidden !important;
}
* .cme-hbar-fill,
.cme-hbar-fill,
.tjc-home .cme-hbar-fill,
[data-cme-section="hbar"] .cme-hbar-fill {
  height: 16px !important;
  min-height: 16px !important;
  max-height: 16px !important;
  display: block !important;
  flex-shrink: 0 !important;
}
.cme-hbar-row,
.tjc-home .cme-hbar-row {
  align-items: center !important;
  box-sizing: border-box !important;
}

/* ── Rank cards: equal height, buttons always bottom-aligned ── */
.tjc-rank-grid {
  align-items: stretch !important;
}
.tjc-rank-card {
  display: flex !important;
  flex-direction: column !important;
}
/* Reserved tag row — always takes same space whether empty or not */
.tjc-rank-tags {
  flex-shrink: 0 !important;
  min-height: 34px !important;
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 6px !important;
  margin-bottom: 10px !important;
  padding: 2px 0 !important;
}
.tjc-rank-actions {
  margin-top: auto !important;
  flex-shrink: 0 !important;
}

/* ── Top3 / intel / KYC / support / pachinko: equal card heights ── */
.tjc-top3-grid,
.tjc-intel-section .tjc-top3-grid {
  align-items: stretch !important;
}
.tjc-top3-card,
.tjc-intel-section .tjc-top3-card {
  display: flex !important;
  flex-direction: column !important;
}
/* Signals row always takes same space */
.tjc-top3-signals {
  flex-shrink: 0 !important;
  min-height: 32px !important;
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 6px !important;
  margin-top: 8px !important;
}
.tjc-top3-cta,
.tjc-intel-section .tjc-top3-cta {
  margin-top: auto !important;
  flex-shrink: 0 !important;
}
/* Blurb: fixed height so cards with longer/shorter text still align */
.tjc-top3-blurb {
  flex: 1 !important;
  min-height: 80px !important;
}


/* =====================================================
   v2.28.0 — AUDIT FIXES: ESTIMATED BADGE + SCHEMA SIGNALS
   ===================================================== */

/* Estimated component badge */
.cme-estimated-badge {
  display: inline-block;
  font-size: 10px;
  font-weight: 700;
  color: #9c96b2;
  background: #f0ebfb;
  border: 1px solid #e8def9;
  border-radius: 4px;
  padding: 1px 6px;
  margin-left: 6px;
  vertical-align: middle;
  cursor: help;
}

/* Evidence confidence tier badges */
.tjc-evidence-tier {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: 11px;
  font-weight: 700;
  padding: 3px 8px;
  border-radius: 999px;
}
.tjc-evidence-tier.high   { background: #dcfce7; color: #16a34a; }
.tjc-evidence-tier.medium { background: #fef9c3; color: #a16207; }
.tjc-evidence-tier.low    { background: #fee2e2; color: #dc2626; }
.tjc-evidence-tier.none   { background: #f0ebfb; color: #9c96b2; }

/* Coverage signals row */
.tjc-coverage-row {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  padding: 10px 14px;
  background: #faf7ff;
  border-radius: 10px;
  margin: 10px 0;
  font-size: 11px;
  color: #6b6485;
}
.tjc-coverage-row strong { color: #18153a; }
