/* Top Matches — self-contained; picks up the theme's CSS variables when present. */
.tmx{--tmx-bg:var(--surface,#fff);--tmx-bg2:var(--surface-2,#f5f5f8);--tmx-line:var(--line,#e4e4ec);--tmx-text:var(--text,#161622);--tmx-text2:var(--text-2,#4b4b5e);--tmx-muted:var(--muted,#7c7c90);--tmx-accent:var(--accent,#b8062e);--tmx-accent2:var(--accent-2,#f2c230);--tmx-live:var(--rose,#ff5d73);--tmx-mint:var(--mint,#1fb98c);--tmx-r:14px;font-size:14px;color:var(--tmx-text);line-height:1.6}
.tmx *,.tmx *::before,.tmx *::after{box-sizing:border-box}
.tmx img{display:block;max-width:100%}
.tmx-head{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-block-end:14px}
.tmx-title{margin:0;font-size:clamp(18px,2.2vw,23px);font-weight:800;display:flex;align-items:center;gap:9px}
.tmx-dot{width:9px;height:9px;border-radius:50%;background:var(--tmx-live);box-shadow:0 0 0 4px rgba(255,93,115,.18);animation:tmx-pulse 1.6s infinite}
@keyframes tmx-pulse{0%,100%{box-shadow:0 0 0 3px rgba(255,93,115,.18)}50%{box-shadow:0 0 0 7px rgba(255,93,115,.05)}}
.tmx-updated{font-size:12px;color:var(--tmx-muted);white-space:nowrap}
.tmx-empty{padding:26px;text-align:center;border:1px dashed var(--tmx-line);border-radius:var(--tmx-r);color:var(--tmx-muted)}
.tmx-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:12px}
.tmx-match{background:var(--tmx-bg);border:1px solid var(--tmx-line);border-radius:var(--tmx-r);padding:14px;display:flex;flex-direction:column;gap:12px;transition:border-color .18s}
.tmx-match:hover{border-color:var(--tmx-accent)}
.tmx-league{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--tmx-muted);min-width:0}
.tmx-league-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tmx-league .tmx-day{margin-inline-start:auto;white-space:nowrap;color:var(--tmx-text2)}
.tmx-league-logo{width:18px;height:18px;object-fit:contain;flex:none;background:#fff;border-radius:4px;padding:1px}
.tmx-teams{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:8px}
.tmx-team{display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center;min-width:0}
.tmx-team b{font-size:13.5px;font-weight:700;line-height:1.4;overflow-wrap:anywhere}
.tmx-crest{width:46px;height:46px;object-fit:contain;flex:none;filter:drop-shadow(0 2px 4px rgba(0,0,0,.35))}
.tmx-picked b{color:var(--tmx-accent)}
.tmx-noimg{display:inline-block;background:var(--tmx-bg2);border:1px solid var(--tmx-line);border-radius:50%}
.tmx-noimg.tmx-crest{width:46px;height:46px}
.tmx-noimg.tmx-league-logo{width:18px;height:18px;border-radius:4px}
.tmx-vs{display:flex;flex-direction:column;align-items:center;gap:2px;min-width:64px}
.tmx-time{font-size:20px;font-weight:800;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.tmx-vs .tmx-day{font-size:11px;color:var(--tmx-muted)}
.tmx-status{font-size:11px;font-weight:700;padding:2px 9px;border-radius:99px;background:var(--tmx-bg2);color:var(--tmx-text2)}
.tmx-st-live .tmx-status{background:rgba(255,93,115,.14);color:var(--tmx-live)}
.tmx-st-ft{opacity:.75}
.tmx-odds{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
.tmx-odds span{display:flex;flex-direction:column;align-items:center;padding:6px 4px;border:1px solid var(--tmx-line);border-radius:9px;background:var(--tmx-bg2)}
.tmx-odds small{font-size:10.5px;color:var(--tmx-muted);font-weight:600}
.tmx-odds b{font-size:14px;font-variant-numeric:tabular-nums}
.tmx-odd-pick{border-color:rgba(184,6,46,.55) !important;background:rgba(184,6,46,.12) !important}
.tmx-odd-pick b{color:var(--tmx-accent)}
.tmx-pred{margin-block-start:auto;display:flex;flex-direction:column;gap:5px}
.tmx-bar{display:flex;height:6px;border-radius:99px;overflow:hidden;background:var(--tmx-bg2)}
.tmx-bar i{display:block;height:100%}
.tmx-bar-home{background:var(--tmx-accent)}
.tmx-bar-draw{background:var(--tmx-muted)}
.tmx-bar-away{background:var(--tmx-accent2)}
.tmx-pct{display:flex;justify-content:space-between;font-size:11px;color:var(--tmx-muted);font-variant-numeric:tabular-nums}
.tmx-pick{font-size:12.5px;color:var(--tmx-text2);display:flex;flex-wrap:wrap;gap:5px;align-items:baseline}
.tmx-pick b{color:var(--tmx-text)}
.tmx-pick em{font-style:normal;color:var(--tmx-mint);font-size:11.5px;margin-inline-start:auto}
/* list layout: one dense row per match on wide screens */
.tmx-list .tmx-grid{grid-template-columns:1fr;gap:8px}
.tmx-list .tmx-match{display:grid;grid-template-columns:170px minmax(0,1fr) 230px 186px;align-items:center;gap:16px;padding:10px 14px}
.tmx-list .tmx-league{flex-wrap:wrap;row-gap:0;column-gap:8px}
.tmx-list .tmx-league .tmx-day{margin:0;flex-basis:100%;padding-inline-start:26px;font-size:11px;color:var(--tmx-muted)}
.tmx-list .tmx-teams{gap:14px}
.tmx-list .tmx-team{flex-direction:row;gap:10px;text-align:start}
.tmx-list .tmx-home{flex-direction:row-reverse;justify-content:flex-start}
.tmx-list .tmx-away{justify-content:flex-start}
.tmx-list .tmx-team b{font-size:14px}
.tmx-list .tmx-crest,.tmx-list .tmx-noimg.tmx-crest{width:34px;height:34px}
.tmx-list .tmx-vs{min-width:72px;padding:4px 10px;border-radius:9px;background:var(--tmx-bg2)}
.tmx-list .tmx-time{font-size:17px}
.tmx-list .tmx-pred{margin:0;gap:4px}
.tmx-list .tmx-pct{display:none}
.tmx-list .tmx-pick{font-size:12px}
.tmx-list .tmx-odds{gap:5px}
.tmx-list .tmx-odds span{padding:4px 2px}
.tmx-list .tmx-odds b{font-size:13px}
@media (max-width:1100px){
  .tmx-list .tmx-match{grid-template-columns:150px minmax(0,1fr) 180px;grid-template-areas:"league teams odds" "league pred pred"}
  .tmx-list .tmx-league{grid-area:league}.tmx-list .tmx-teams{grid-area:teams}.tmx-list .tmx-odds{grid-area:odds}.tmx-list .tmx-pred{grid-area:pred}
  .tmx-list .tmx-pct{display:flex}
}
@media (max-width:760px){
  .tmx-list .tmx-match{display:flex;flex-direction:column;align-items:stretch;gap:12px;padding:14px}
  .tmx-list .tmx-league{flex-wrap:nowrap}
  .tmx-list .tmx-league .tmx-day{flex-basis:auto;margin-inline-start:auto;padding:0}
  .tmx-list .tmx-team{flex-direction:column;gap:8px;text-align:center}
  .tmx-list .tmx-home,.tmx-list .tmx-away{flex-direction:column;justify-content:center}
  .tmx-list .tmx-crest,.tmx-list .tmx-noimg.tmx-crest{width:46px;height:46px}
  .tmx-list .tmx-vs{background:none;padding:0}
  .tmx-list .tmx-time{font-size:20px}
}
@media (max-width:480px){.tmx-grid{grid-template-columns:1fr}}
@media (prefers-reduced-motion:reduce){.tmx-dot{animation:none}}
