/* ── MOBILE MATCH CARDS ── */
.m-cards { display: none; padding: 10px; }
.m-card {
  background: var(--panel); border: 1px solid var(--m-card-border); box-shadow:var(--card-shadow);
  border-radius: 8px; overflow: hidden; margin-bottom: 8px;
}
.m-card-top {
  display: flex; align-items: center; gap: 7px; flex-wrap: wrap;
  padding: 9px 12px; border-bottom: 1px solid var(--m-card-border);
}
.m-card-teams { display: flex; gap: 0; }
.m-team {
  display: flex; align-items: center; gap: 6px;
  padding: 9px 12px; font-size: 15px; font-weight: 600;
  flex: 1;
}
.m-team.blue-bg { background: var(--b-blue-bg); }
.m-team.red-bg  { background: var(--b-red-bg); }
.m-team.won { color: var(--green); }
.m-dot { width: 6px; height: 6px; border-radius: 50%; flex-shrink: 0; }
.m-lmh { font-family: 'DM Sans', sans-serif; font-size: 12px; color: var(--lmh-color); font-weight: 700; margin-left: 3px; }
.m-sep { width: 1px; background: var(--m-sep-bg); flex-shrink: 0; }

@media (max-width: 768px) {
  /* position:sticky already establishes a containing block for the
     absolutely-positioned .header-extra dropdown below, same as relative
     would — don't override it to relative, that breaks the header's own
     stickiness. Once the header scrolls away non-sticky, .tabs (which sticks
     at top:var(--header-h), assuming the header is still docked above it)
     leaves a header-height gap of blank page where the header used to be. */
  header { padding: 10px 14px; }
  .logo { font-size: 20px; }
  .header-extra { right: 14px; }
  .tabs { padding: 0 8px; }
  .tab { padding: 10px 10px; font-size: 10px; letter-spacing: 1px; }

  /* Hide grid, show m-cards */
  .table-wrap { padding: 0; overflow-x: hidden; }
  .match-grid { display: none; }
  .m-cards { display: block; }

  .bracket-toolbar-divs {
    padding: 7px 10px 6px; gap: 6px;
    overflow-x: auto; -webkit-overflow-scrolling: touch; flex-wrap: nowrap;
  }
  .bracket-toolbar-divs::-webkit-scrollbar { display: none; }
  .bracket-toolbar-controls {
    padding: 6px 10px; gap: 6px; flex-wrap: nowrap;
  }
  .bracket-search-wrap { margin-right: auto; }
  .bracket-search { width: 110px; }
  .bracket-search:focus { width: 130px; }
  .div-btn { font-size: 10px; padding: 3px 9px; white-space: nowrap; flex-shrink: 0; }
  .refresh-btn { flex-shrink: 0; white-space: nowrap; }
  .bracket-outer-wrap { padding: 10px 12px; overflow-x: scroll; -webkit-overflow-scrolling: touch; }
  .bracket-scaler { min-width: max-content; }
}
