/* ============================================================
   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:110px 1fr;gap:10px;align-items:center;padding:10px 14px;margin-bottom:18px;overflow:hidden;min-height:52px}
.tjc-live-rail-head{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:6px 10px;border-radius:14px;background:#1e163a;color:#fff}
.tjc-live-badge{font-size:10px;font-weight:900;letter-spacing:.1em;background:#ef4444;color:#fff;padding:2px 8px;border-radius:999px}
.tjc-live-head-note{font-size:10px;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}
.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-account{background:#ec4899}
.risk-kyc{background:#f59e0b}
.risk-withdrawal{background:#ef4444}
.risk-fraud{background:#dc2626}
.risk-seizure{background:#be123c}
.risk-bonus{background:#3b82f6}
.risk-tech{background:#14b8a6}
.risk-support{background:#8b5cf6}
.risk-other{background:#9ca3af}
.risk-distrust{background:#7c3aed}
.risk-payment{background:#0891b2}
.risk-promo{background:#6366f1}

/* 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}
.cme-cti-tag{display:inline-flex;background:#f8efcf;color:#8b6510;border:1px solid #f0dda4;border-radius:999px;padding:5px 9px;margin:3px;font-size:12px;font-weight:700}
.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
   Contained swipe strip. Badge inline.
   ══════════════════════════════════════ */
.tjc-live-rail {
  padding: 12px 12px 10px;
  margin-bottom: 12px;
  border-radius: 16px;
  /* Override desktop grid */
  display: block !important;
}
/* Hide desktop pseudo-wall on mobile */
.tjc-live-rail::before { display: none !important; }

.tjc-live-rail-head {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 8px !important;
  margin-bottom: 10px;
  background: transparent !important;
  color: #1e163a !important;
  padding: 0 !important;
  border-radius: 0 !important;
  min-width: unset !important;
  max-width: 100% !important;
  position: relative;
  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; }

/* Swipe container — JS animation disabled on mobile */
.tjc-live-track {
  display: grid !important;
  grid-auto-flow: column !important;
  grid-auto-columns: minmax(200px, 72vw) !important;
  gap: 10px !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  -webkit-overflow-scrolling: touch !important;
  scroll-snap-type: x proximity !important;
  padding-bottom: 6px;
  /* Ensure no transform from JS bleeds */
  will-change: unset !important;
  transform: none !important;
  white-space: nowrap;
}
/* Override any JS-injected inner scroller on mobile */
.tjc-live-track > div[style*="display:flex"] {
  display: contents !important;
  transform: none !important;
}

.tjc-live-item {
  scroll-snap-align: start;
  display: inline-flex !important;
  align-items: center;
  gap: 8px;
  padding: 8px 10px;
  border-radius: 12px;
  min-width: 200px;
  max-width: 72vw;
  width: auto;
  flex-shrink: 0;
  white-space: normal;
}
.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: 36px;
  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; }
.tjc-kpi:nth-last-child(-n+2)   { 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: 100px; 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 { 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: 110px 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; left: 0; bottom: 0;
    width: 130px;
    background: #fff;
    z-index: 15;
    pointer-events: none;
    border-radius: 14px 0 0 14px;
  }
  .tjc-live-rail-head {
    flex-direction: column !important;
    justify-content: center !important;
    background: #1e163a !important;
    color: #fff !important;
    padding: 6px 10px !important;
    border-radius: 14px !important;
    min-width: 100px !important;
    max-width: 110px !important;
    position: relative;
    z-index: 20;
  }
  .tjc-live-head-note { color: rgba(255,255,255,.6) !important; }
  .tjc-live-track {
    display: flex !important;
    overflow: hidden !important;
    white-space: nowrap !important;
    contain: paint !important;
    grid-auto-columns: unset !important;
    grid-auto-flow: unset !important;
    scroll-snap-type: none !important;
  }
  .tjc-live-item { max-width: 300px; }

  .tjc-top3-grid { 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; }

  .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;
}

.tjc-home .tjc-live-rail {
  display: block !important;
  padding: 14px;
  border-radius: 20px;
}
.tjc-home .tjc-live-rail-head {
  margin-bottom: 12px;
}
.tjc-home .tjc-live-track {
  display: grid !important;
  grid-template-columns: 1fr !important;
  grid-auto-flow: row !important;
  gap: 10px !important;
  overflow: visible !important;
  padding-bottom: 0 !important;
}
.tjc-home .tjc-live-item {
  min-width: 0 !important;
  max-width: none !important;
  width: 100% !important;
  padding: 12px 14px !important;
  border-radius: 16px !important;
  align-items: center !important;
}
.tjc-home .tjc-live-logo {
  width: 42px !important;
  height: 42px !important;
  padding: 4px !important;
}
.tjc-home .tjc-live-copy strong {
  font-size: 14px !important;
}
.tjc-home .tjc-live-copy span {
  font-size: 12px !important;
  white-space: normal !important;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}
.tjc-home .tjc-live-meta {
  margin-left: 8px;
}
.tjc-home .mini-live {
  font-size: 11px;
  padding: 5px 8px;
}

.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;
}
.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;
}

.tjc-top3-grid {
  gap: 14px !important;
}
.tjc-top3-card {
  padding: 16px !important;
}
.tjc-top3-logo {
  width: 56px !important;
  height: 56px !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;
}

.cme-market-overview-rich .cme-market-kpis {
  grid-template-columns: 1fr !important;
  gap: 12px !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-pro {
  display: block !important;
}
.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;
}

.cme-complaint-section .cme-kpi-row {
  grid-template-columns: 1fr !important;
}
.cme-complaint-section .cme-bar-chart {
  height: 170px !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;
}

#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: keep-all !important;
    overflow-wrap: anywhere !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;
  }
}


/* 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}
}
