/* ==========================================================================
   手机端适配层（≤600px）
   方向：工业实用（Industrial / utilitarian）—— 发丝线分隔、等宽数字、单一品牌蓝强调。
   为什么单独一层：桌面端样式分散在 style.css / theme.css / 各模板内联 <style>，
   统一追加在本层并最后加载，可在不动桌面规则的前提下整体重构小屏布局。
   ========================================================================== */

/* 小屏专属品牌标识：桌面端由 .login-art 承担，此处仅移动端显示 */
.login-brand { display: none; }

@media (max-width: 600px) {
  :root {
    /* 语义令牌：表面 / 发丝线 / 墨色 / 强调 */
    --m-bg: #f2f6fc;
    --m-surface: #ffffff;
    --m-surface-soft: #fafcff;
    --m-line: #dfe8f4;
    --m-line-soft: #edf2f9;
    --m-ink: #12203a;
    --m-muted: #6d809c;
    --m-brand: #1763ef;
    --m-live: #e2453c;
    --m-radius: 14px;
    --m-tap: 44px;
    --m-ease: cubic-bezier(0.16, 1, 0.3, 1);
  }

  html { -webkit-text-size-adjust: 100%; }
  body { background: var(--m-bg); }

  /* ---------------------------------------------------------------- 顶栏 */
  /* 一行 56px：返回图标 44×44 → 赛事名（可截断） → 退出 */
  .topbar {
    height: 56px;
    min-height: 56px;
    padding: 0 8px 0 6px;
    gap: 0;
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    background: #fffffff2;
    -webkit-backdrop-filter: saturate(180%) blur(14px);
    backdrop-filter: saturate(180%) blur(14px);
    border-bottom: 1px solid var(--m-line);
    box-shadow: none;
  }
  .topbar .brand {
    gap: 0;
    justify-self: start;
    min-width: var(--m-tap);
    min-height: var(--m-tap);
    justify-content: center;
    font-size: 0;
  }
  /* 比赛列表页：返回箭头保留图标，隐藏文字，把标题让给赛事名 */
  .matches-topbar .brand > span:not(.brand-mark) { display: none; }
  .topbar .brand-mark,
  .topbar .brand-logo-frame {
    width: 40px;
    height: 40px;
    border-radius: 12px;
  }
  .topbar .brand-mark svg { width: 22px; height: 22px; }
  .topbar .topbar-title {
    grid-column: 2;
    grid-row: 1;
    order: 0;
    flex-basis: auto;
    min-width: 0;
    margin: 0;
    font-size: 15px;
    font-weight: 650;
    line-height: 1.3;
    letter-spacing: -0.01em;
    color: var(--m-ink);
    text-align: center;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .topbar .top-right {
    grid-column: 3;
    grid-row: 1;
    justify-self: end;
    gap: 0;
    min-width: 0;
  }
  .topbar .top-right .avatar,
  .topbar .top-right .account-name { display: none; }
  .topbar .top-right .quiet {
    min-height: var(--m-tap);
    padding: 0 8px;
    font-size: 14px;
    font-weight: 600;
    color: var(--m-brand);
  }
  .topbar .top-right form { margin: 0; }

  /* 赛事列表页保留品牌标记，标题文字隐藏（页面标题已说明位置） */
  .tournaments-page .topbar .brand > .brand-name { display: none; }

  /* ------------------------------------------------------------ 页面容器 */
  #app,
  #remote-match {
    padding: 12px 14px calc(22px + env(safe-area-inset-bottom));
  }
  #app[data-page="remote-list"] { margin-top: var(--matches-header-height, 56px); }

  /* ------------------------------------------------------- 概览统计条 */
  /* 四格并排，发丝线分隔：从 2×2 卡片改为单条仪表盘，节省约 110px 首屏高度 */
  .overview,
  #match-overview {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0;
    margin: 0 0 10px;
    background: var(--m-surface);
    border: 1px solid var(--m-line);
    border-radius: var(--m-radius);
    overflow: hidden;
  }
  .overview .stat,
  #match-overview .stat {
    display: block;
    padding: 11px 8px 12px;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
  }
  .overview .stat + .stat,
  #match-overview .stat + .stat { border-left: 1px solid var(--m-line-soft); }
  .overview .stat-icon,
  #match-overview .stat-icon { display: none; }
  .overview .stat div > span,
  #match-overview .stat div > span {
    display: block;
    font-size: 11px;
    line-height: 1.3;
    letter-spacing: 0.02em;
    color: var(--m-muted);
    white-space: nowrap;
  }
  .overview .stat strong,
  #match-overview .stat strong {
    display: block;
    margin-top: 3px;
    font-size: 21px;
    line-height: 1.15;
    font-weight: 750;
    letter-spacing: -0.02em;
    font-variant-numeric: tabular-nums;
  }
  .overview .stat strong small,
  #match-overview .stat strong small {
    margin-left: 1px;
    font-size: 10px;
    font-weight: 500;
    letter-spacing: 0;
    color: var(--m-muted);
  }
  .stat-en { display: none; }

  /* ---------------------------------------------------------- 筛选工具条 */
  /* 第 1 行：日期 / 场地 / 刷新（图标键）；第 2 行：时段分段控件占满整行 */
  #app .filters {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) var(--m-tap);
    gap: 8px;
    align-items: center;
    margin: 0;
    padding: 10px;
    background: var(--m-surface);
    border: 1px solid var(--m-line);
    border-radius: var(--m-radius);
  }
  #app .filters #match-date {
    grid-column: 1;
    grid-row: 1;
    width: 100%;
    min-width: 0;
    height: var(--m-tap);
    padding: 0 10px;
    font-size: 14px;
    font-variant-numeric: tabular-nums;
    border-radius: 10px;
    background: var(--m-surface-soft);
  }
  #app .filters #match-court-trigger {
    grid-column: 2;
    grid-row: 1;
    width: 100%;
    min-width: 0;
    height: var(--m-tap);
    padding: 0 8px 0 12px;
    font-size: 14px;
    border-radius: 10px;
    background: var(--m-surface-soft);
    justify-content: space-between;
  }
  /* 刷新降级为纯图标键，避免与日期/场地争抢宽度 */
  #app .filters #match-refresh {
    grid-column: 3;
    grid-row: 1;
    min-height: var(--m-tap);
    width: var(--m-tap);
    padding: 0;
    margin: 0;
    font-size: 0;
    line-height: 0;
    border-radius: 10px;
    color: var(--m-brand);
    background: #eff5ff;
    border-color: #d3e2fb;
  }
  #app .filters #match-refresh::before {
    content: '↻';
    font-size: 20px;
    line-height: 1;
  }
  #app .filters .segmented {
    grid-column: 1 / -1;
    grid-row: 2;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 2px;
    padding: 3px;
    background: #eef3fb;
    border-radius: 11px;
  }
  #app .filters .segmented button {
    min-height: 42px;
    padding: 0;
    font-size: 13px;
    font-weight: 500;
    color: #63799a;
    border-radius: 9px;
    box-shadow: none;
  }
  #app .filters .segmented button.active {
    color: var(--m-brand);
    font-weight: 650;
    background: #fff;
    box-shadow: 0 1px 3px rgba(20, 45, 90, 0.12);
  }

  /* -------------------------------------------------------- 状态切换标签 */
  /* 吸顶 + 四等分，整行可点；来源数据按钮为动态渲染 */
  #app #match-status {
    position: sticky;
    top: var(--matches-header-height, 56px);
    z-index: 19;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0;
    margin: 8px -14px 10px;
    padding: 0 6px;
    background: #f2f6fcf2;
    -webkit-backdrop-filter: blur(10px);
    backdrop-filter: blur(10px);
    border-bottom: 1px solid var(--m-line);
    overflow: visible;
    white-space: normal;
  }
  #app #match-status button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 3px;
    min-height: 46px;
    padding: 0 2px;
    font-size: 13px;
    font-weight: 500;
    color: #5d7392;
    border-radius: 0;
    background: none;
  }
  #app #match-status button.active { color: var(--m-brand); font-weight: 650; }
  #app #match-status button.active:after {
    bottom: -1px;
    height: 2px;
    border-radius: 2px 2px 0 0;
  }
  #app #match-status button small {
    display: inline;
    padding: 0;
    background: none;
    font-size: 10px;
    font-weight: 500;
    color: #93a6bf;
    font-variant-numeric: tabular-nums;
  }
  #app #match-status button.active small { color: var(--m-brand); }

  /* -------------------------------------------------------------- 比赛卡片 */
  #app .match-grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 10px;
  }
  #app .match-card {
    min-height: 0;
    height: auto;
    border: 1px solid var(--m-line);
    border-radius: var(--m-radius);
    background: var(--m-surface);
    box-shadow: 0 1px 2px rgba(18, 40, 80, 0.04);
    overflow: hidden;
  }
  #app .match-card:hover { transform: none; box-shadow: 0 1px 2px rgba(18, 40, 80, 0.04); border-color: var(--m-line); }
  #app .match-card:active { background: #f7faff; }
  /* 进行中：左侧 3px 状态条，颜色只用于状态，不做装饰 */
  #app .match-card.is-live { border-left: 3px solid var(--m-live); }

  #app .card-head {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: start;
    gap: 8px;
    padding: 11px 13px 9px;
    background: none;
    border-bottom: 1px solid var(--m-line-soft);
  }
  #app .card-heading { min-width: 0; flex: none; }
  #app .match-identification {
    margin-bottom: 4px;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.02em;
    color: #5f7fa8;
  }
  #app .match-group {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    margin: 0;
    font-size: 16.5px;
    line-height: 1.35;
    font-weight: 700;
    letter-spacing: -0.01em;
    color: var(--m-ink);
  }
  #app .match-code {
    padding-left: 9px;
    font-size: 13px;
    font-weight: 650;
    line-height: 1.4;
  }
  #app .match-code:before { top: 3px; width: 3px; height: 14px; }
  #app .card-badges {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: flex-end;
    gap: 5px;
  }
  #app .card-badges .badge,
  #app .card-head > .badge {
    padding: 2px 6px;
    border-radius: 5px;
    font-size: 10.5px;
    line-height: 1.6;
    white-space: nowrap;
  }

  /* 对阵区：双方名称 16px 上限两行，中间 VS / 比分列固定 30px */
  #app .versus {
    grid-template-columns: minmax(0, 1fr) 30px minmax(0, 1fr);
    align-items: center;
    gap: 0 4px;
    min-height: 0;
    flex: none;
    padding: 13px;
    overflow: visible;
  }
  #app .versus > div > strong {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    margin-bottom: 2px;
    font-size: 16px;
    line-height: 1.38;
    font-weight: 650;
    letter-spacing: -0.01em;
    text-wrap: balance;
  }
  #app .versus small {
    font-size: 11.5px;
    line-height: 1.45;
    letter-spacing: 0;
    color: var(--m-muted);
  }
  #app .versus em {
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.06em;
    color: #a8b8cd;
  }
  #app .versus.has-score { row-gap: 8px; }
  #app .card-scoreline b { font-size: 24px; font-weight: 750; letter-spacing: -0.01em; }
  #app .card-scoreline span { font-size: 15px; }

  #app .card-foot {
    padding: 9px 13px;
    gap: 6px;
    flex-wrap: nowrap;
    font-size: 11.5px;
    line-height: 1.5;
    color: #6f839e;
    background: var(--m-surface-soft);
    border-top: 1px solid var(--m-line-soft);
    white-space: normal;
  }
  #app .card-foot span:first-child {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-variant-numeric: tabular-nums;
  }
  #app .card-foot .match-action {
    padding-left: 4px;
    font-size: 12px;
    font-weight: 650;
    color: var(--m-brand);
    white-space: nowrap;
  }

  /* 分页 */
  #app .match-pagination {
    gap: 8px;
    padding: 16px 0 4px;
    font-size: 12px;
    color: var(--m-muted);
  }
  #app .match-pagination button { min-height: var(--m-tap); padding: 0 16px; font-size: 13px; }

  #app .match-empty,
  #app .empty { padding: 56px 12px; font-size: 14px; }

  /* ---------------------------------------------------- 团体赛单项列表态 */
  #app[data-team-detail="true"] { padding-top: 12px; }
  #app[data-team-detail="true"] .status-controls {
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 8px;
    min-height: 0;
    padding: 6px 0;
    margin-bottom: 10px;
    border-bottom: 0;
    background: transparent;
  }
  #app[data-team-detail="true"] #match-status {
    position: static;
    display: flex;
    gap: 2px;
    margin: 0;
    padding: 3px;
    border: 1px solid var(--m-line);
    border-radius: 11px;
    background: var(--m-surface);
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }
  #app[data-team-detail="true"] #match-status::-webkit-scrollbar { display: none; }
  #app[data-team-detail="true"] #match-status button {
    flex: 0 0 auto;
    min-height: 38px;
    padding: 0 9px;
    font-size: 12.5px;
    white-space: nowrap;
    border-radius: 8px;
  }
  #app[data-team-detail="true"] #match-status button small { font-size: 9.5px; }
  #app[data-team-detail="true"] #match-status button.active {
    background: #eaf1ff;
    color: var(--m-brand);
  }
  #app[data-team-detail="true"] #match-status button.active:after { display: none; }
  /* 团体赛详情：刷新保持图标键，把整行宽度让给状态标签 */
  #app[data-team-detail="true"] #match-refresh {
    width: var(--m-tap);
    min-height: var(--m-tap);
    padding: 0;
  }
  #team-summary:not(:empty) {
    padding: 12px 13px;
    margin-bottom: 10px;
    font-size: 14px;
    font-weight: 650;
    line-height: 1.5;
    background: var(--m-surface);
    border: 1px solid var(--m-line);
    border-radius: var(--m-radius);
  }

  /* ------------------------------------------------------- 入场动效编排 */
  @media (prefers-reduced-motion: no-preference) {
    #app .match-grid > .match-card {
      animation: mobile-card-in 0.42s var(--m-ease) both;
    }
    #app .match-grid > .match-card:nth-child(2) { animation-delay: 55ms; }
    #app .match-grid > .match-card:nth-child(3) { animation-delay: 110ms; }
    #app .match-grid > .match-card:nth-child(4) { animation-delay: 165ms; }
    #app .match-grid > .match-card:nth-child(5) { animation-delay: 220ms; }
    #app .match-grid > .match-card:nth-child(n + 6) { animation-delay: 260ms; }
  }

  /* ------------------------------------------- 执裁页：顶栏（返回 / 编号 / 用时） */
  #match-nav {
    grid-template-columns: 44px minmax(0, 1fr) auto;
    gap: 8px;
    height: auto;
    min-height: 56px;
    padding: 7px 12px;
  }
  #match-nav .match-nav-back {
    gap: 0;
    min-width: 44px;
    justify-content: center;
  }
  /* 竖屏优先保留对局编号与规则，隐藏返回文案只留箭头 */
  #match-nav .match-nav-back > div { display: none; }
  #match-nav .match-nav-back .brand-mark { width: 40px; height: 40px; border-radius: 12px; }
  #match-nav .match-nav-back .brand-mark svg { width: 22px; height: 22px; }
  #match-nav #remote-title {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    font-size: 12.5px;
    line-height: 1.35;
    font-weight: 600;
    text-align: left;
    letter-spacing: 0;
  }
  #match-nav .match-nav-actions { gap: 6px; min-width: 0; }
  #match-nav .match-nav-actions > button {
    min-height: 40px;
    padding: 0 9px;
    font-size: 12px;
    white-space: nowrap;
  }
  #match-nav .match-nav-clock { min-width: 0; }
  #match-nav .match-nav-clock strong { font-size: 13px; letter-spacing: 0.5px; }
  #match-nav .match-nav-clock small { font-size: 9.5px; }

  /* --------------------------------------- 执裁页：比赛中的球员姓名块与发球标记 */
  /* 竖屏两半场只隔 14px，38px 的发球图标会同时压住两块姓名牌；改为收进姓名块内侧 */
  #remote-match .remote-live-court .remote-player-label > span {
    height: 46px;
    padding: 0 12px;
    font-size: 16.5px;
    font-weight: 650;
    line-height: 1;
    letter-spacing: -0.01em;
    white-space: nowrap;
    overflow: hidden;
    border-radius: 12px;
  }
  #remote-match .remote-live-court .remote-player-label .athlete-gender {
    width: 13px;
    height: 13px;
    margin-left: 4px;
    flex: none;
  }
  /* 与桌面端保持同一套外观：45° 倾斜 + 蓝色填充，只把尺寸和落点按手机收进姓名块 */
  #remote-match .remote-live-court .remote-serve {
    left: auto;
    right: 7px;
    top: 50%;
    bottom: auto;
    width: 24px;
    height: 24px;
    margin-top: -12px;
    transform: rotate(45deg);
    filter: brightness(0) saturate(100%) invert(30%) sepia(96%) saturate(2120%)
      hue-rotate(211deg) brightness(94%) contrast(94%);
  }
  #remote-match .remote-live-court .remote-half-1 .remote-serve {
    left: 7px;
    right: auto;
  }
  /* 发球方文字给图标让位，避免长名字压到标记上 */
  #remote-match .remote-live-court .is-serving .remote-player-label > span { padding-right: 34px; }
  #remote-match .remote-live-court .remote-half-1 .is-serving .remote-player-label > span {
    padding-right: 12px;
    padding-left: 34px;
  }

  /* ------------------------------------------- 执裁页：赛前准备球场（竖屏） */
  /* 竖屏宽度有限：把站位交换按钮贴到球场外侧边线，让出球员与姓名区域 */
  #remote-match .remote-court { height: 420px; }
  #remote-match .remote-half { padding: 18px 4%; }
  #remote-match .remote-prep-swap {
    left: 4px;
    right: auto;
    width: 42px;
    min-width: 42px;
    height: 104px;
    min-height: 104px;
    padding: 8px 3px;
    font-size: 12px;
  }
  #remote-match .remote-prep-swap-1 { left: auto; right: 4px; }
  #remote-match .remote-prep-swap-icon { font-size: 17px; }
  /* 交换场区与羽毛球标记分列净线上下，避免互相遮挡 */
  #remote-match .remote-court-swap {
    top: 50%;
    padding: 8px 14px;
    font-size: 13px;
    background: #fffffff2;
  }
  #remote-match .remote-prep-shuttle {
    left: calc(50% + 26px);
    top: calc(50% - 46px);
    width: 34px;
    height: 34px;
  }
  #remote-match .remote-avatar { width: 46px; height: 46px; font-size: 21px; }
  #remote-match .remote-player { gap: 7px; font-size: 14px; }
  #remote-match .remote-player-label { line-height: 1.4; }
  #remote-match .prepare-controls { gap: 10px; }
  #remote-match .arena-head { padding: 4px 0 8px; }

  /* ------------------------------------------ 赛事列表页（tournaments） */
  .tournaments-page > .topbar { flex-wrap: nowrap; }
  .tournament-filter-panel {
    padding: 10px 14px 12px;
    border-bottom: 1px solid var(--m-line);
    background: var(--m-surface);
  }
  .tournament-filters {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 8px;
    margin: 0;
    padding: 0;
    background: none;
    border: 0;
  }
  .tournament-date {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: center;
    gap: 10px;
    font-size: 13px;
    color: var(--m-muted);
  }
  .tournament-date input {
    width: 100%;
    max-width: none;
    min-width: 0;
    height: var(--m-tap);
    font-size: 14px;
    font-variant-numeric: tabular-nums;
    border-radius: 10px;
    background: var(--m-surface-soft);
  }
  .tournament-status-options {
    order: 0;
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 2px;
    width: 100%;
    padding: 3px;
    border-radius: 11px;
    background: #eef3fb;
  }
  .tournament-status-options span {
    display: grid;
    place-items: center;
    min-height: 42px;
    padding: 0;
    font-size: 13px;
    border-radius: 9px;
  }
  .tournament-status-options label.active span {
    background: #fff;
    color: var(--m-brand);
    font-weight: 650;
    box-shadow: 0 1px 3px rgba(20, 45, 90, 0.12);
  }
  .tournament-actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
    width: 100%;
    margin: 0;
  }
  .tournament-actions > * {
    min-height: var(--m-tap);
    width: 100%;
    font-size: 13px;
    border-radius: 10px;
  }
  .tournaments-list {
    padding: 12px 14px calc(20px + env(safe-area-inset-bottom));
    gap: 10px;
  }
  .tournament-card {
    padding: 15px 14px;
    gap: 10px;
    border-radius: var(--m-radius);
    border-color: var(--m-line);
    box-shadow: 0 1px 2px rgba(18, 40, 80, 0.04);
  }
  .tournament-card:active { background: #f7faff; }
  .tournament-heading h2 { font-size: 16.5px; line-height: 1.4; letter-spacing: -0.01em; }
  .tournament-content p { margin: 0; font-size: 12px; line-height: 1.5; }
  .tournament-arrow { width: 32px; height: 32px; padding: 6px; }

  /* ------------------------------------------------------------ 登录页 */
  .login { display: block; min-height: 100dvh; background: var(--m-bg); }
  .login-art { display: none; }
  .login-form {
    display: block;
    min-height: 0;
    padding: 0 16px calc(24px + env(safe-area-inset-bottom));
  }
  .login-brand {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: calc(28px + env(safe-area-inset-top)) 4px 22px;
    font-size: 18px;
    font-weight: 700;
    letter-spacing: 0.02em;
    color: var(--m-ink);
  }
  .login-brand img { width: 38px; height: 38px; border-radius: 11px; }
  .login-brand small { display: block; font-size: 10px; font-weight: 500; letter-spacing: 0.16em; color: var(--m-muted); }
  .login-box {
    width: 100%;
    max-width: none;
    padding: 22px 18px 20px;
    background: var(--m-surface);
    border: 1px solid var(--m-line);
    border-radius: 18px;
    box-shadow: 0 12px 32px rgba(18, 48, 100, 0.06);
  }
  .login-box h2 { margin: 14px 0 8px; font-size: 26px; letter-spacing: -0.02em; }
  .login-box .muted { margin-bottom: 8px; font-size: 13px; line-height: 1.6; }
  .login-box label { margin-top: 18px; font-size: 13px; color: var(--m-muted); }
  .login-box input {
    min-height: 50px;
    margin-top: 8px;
    font-size: 16px;
    border-radius: 10px;
    background: var(--m-surface-soft);
  }
  .login-box button.primary { min-height: 50px; margin-top: 24px; font-size: 16px; border-radius: 12px; }
  .demo { margin-top: 18px; font-size: 11.5px; line-height: 1.6; }
  .login-foot { position: static; padding: 18px 0 0; text-align: center; }
}

@keyframes mobile-card-in {
  from { opacity: 0; transform: translateY(10px); }
  to { opacity: 1; transform: none; }
}

/* 601–900px（竖持平板 / 折叠屏内屏）：顶栏放不下账号名，交给头像表达 */
@media (min-width: 601px) and (max-width: 900px) {
  .matches-topbar .top-right .account-name { display: none; }
}

@media (prefers-reduced-motion: reduce) {
  #app .match-grid > .match-card { animation: none !important; }
}
