/* ============================================================
 * 公开首页 (根域名 /) — 菲普莱赛事平台风格
 * 深蓝 #0F58A8 / 金 #D4AF37; 与后台首页同源视觉, 仅保留公开内容
 * ============================================================ */
* { box-sizing: border-box; }

/* 状态切换统一走 .hidden (JS 显隐依赖) */
.hidden { display: none !important; }

html, body {
  margin: 0;
  padding: 0;
}

body {
  min-height: 100vh;
  background: #f5f6f8;
  color: #333;
  font-family: 'PingFang SC', 'Microsoft YaHei', 'Noto Sans SC', sans-serif;
  display: flex;
  flex-direction: column;
}

/* ---------- 顶部导航 ---------- */
.home-header {
  background: #fff;
  border-top: 2px solid #d4af37;
  min-height: 60px;
  display: flex;
  align-items: center;
}

.header-inner {
  max-width: 1600px;
  width: 100%;
  margin: 0 auto;
  padding: 8px 16px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.brand-row {
  display: flex;
  align-items: center;
  gap: 16px;
  flex-wrap: wrap;
}

/* 白字标 logo 垫品牌蓝底板, 避免白底上不可见 */
.brand-logo-plate {
  display: inline-flex;
  align-items: center;
  background: #0f58a8;
  border-radius: 6px;
  padding: 7px 12px;
}

.brand-logo-plate img {
  display: block;
  height: 22px;
}

.nav-right {
  display: flex;
  align-items: center;
  gap: 14px;
  flex-shrink: 0;
}

.nav-link {
  font-size: 14px;
  color: #333;
  cursor: pointer;
  text-decoration: none;
  white-space: nowrap;
}

.nav-link:hover {
  color: #0f58a8;
}

/* ---------- Banner ---------- */
.home-banner {
  position: relative;
  height: 240px;
  background: #0f58a8; /* 背景图加载失败时的兜底底色 */
  overflow: hidden;
}

.banner-bg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 80%;
  display: block;
}

.banner-inner {
  position: relative;
  max-width: 1600px;
  margin: 0 auto;
  height: 100%;
  padding: 0 16px;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.banner-left {
  position: relative;
}

.banner-logo {
  display: block;
  height: 34px;
  margin-bottom: 8px;
}

.banner-year {
  font-size: 64px;
  font-weight: 800;
  line-height: 1;
  background: linear-gradient(180deg, #f7df9a 0%, #d4af37 55%, #a8811f 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  font-family: 'Arial Black', 'Microsoft YaHei', sans-serif;
}

.banner-title-plate {
  display: inline-block;
  background: #fff;
  color: #0f58a8;
  font-size: 26px;
  font-weight: 800;
  padding: 8px 22px;
  border-radius: 6px;
  margin-top: 10px;
  letter-spacing: 2px;
}

.banner-sub {
  margin-top: 10px;
  color: rgba(255, 255, 255, 0.75);
  font-size: 13px;
  letter-spacing: 3px;
}

/* ---------- 内容容器 ---------- */
.home-container {
  max-width: 1600px;
  width: 100%;
  margin: 0 auto;
  padding: 16px;
  flex: 1;
}

.panel-card {
  background: #fff;
  border-radius: 8px;
  border: 1px solid #ebeef2;
}

/* ---------- 筛选栏 ---------- */
.filter-bar {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 16px;
  flex-wrap: wrap;
  border-bottom: 1px solid #eef0f3;
}

.f-input {
  height: 36px;
  border: 1px solid #dcdfe6;
  border-radius: 5px;
  background: #fff;
  color: #333;
  font-size: 14px;
  padding: 0 10px;
  font-family: inherit;
  outline: none;
}

.f-input:focus {
  border-color: #0f58a8;
}

.f-year { width: 110px; }
.f-mid { width: 140px; }
.f-keyword { width: 260px; }

.f-btn {
  height: 36px;
  border: none;
  background: #0f58a8;
  color: #fff;
  font-size: 14px;
  padding: 0 18px;
  border-radius: 5px;
  cursor: pointer;
  font-family: inherit;
}

.f-btn:hover {
  background: #0c4686;
}

/* ---------- 自定义下拉 (原生 select 的展开面板不可定制, 触发器与选项面板均自绘) ---------- */
.f-dd {
  position: relative;
}

.f-dd-trigger {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  width: 100%;
  height: 36px;
  padding: 0 10px;
  background: #fff;
  border: 1px solid #dcdfe6;
  border-radius: 5px;
  color: #333;
  font-size: 14px;
  font-family: inherit;
  cursor: pointer;
  outline: none;
}

.f-dd-trigger:hover,
.f-dd-trigger:focus-visible,
.f-dd.open .f-dd-trigger {
  border-color: #0f58a8;
}

.f-dd-arrow {
  flex: none;
  width: 7px;
  height: 7px;
  border-right: 1.5px solid #99a1af;
  border-bottom: 1.5px solid #99a1af;
  transform: rotate(45deg);
  transition: transform 0.15s ease;
}

.f-dd.open .f-dd-arrow {
  transform: rotate(-135deg);
}

.f-dd-panel {
  position: absolute;
  top: calc(100% + 4px);
  left: 0;
  min-width: 100%;
  max-width: 240px;
  margin: 0;
  padding: 4px;
  list-style: none;
  background: #fff;
  border: 1px solid #e4e7ed;
  border-radius: 6px;
  box-shadow: 0 6px 16px rgba(31, 45, 61, 0.08);
  max-height: 260px;
  overflow-y: auto;
  z-index: 60;
  display: none;
}

.f-dd.open .f-dd-panel {
  display: block;
}

.f-dd-option {
  height: 32px;
  line-height: 32px;
  padding: 0 10px;
  font-size: 14px;
  color: #333;
  border-radius: 4px;
  cursor: pointer;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.f-dd-option:hover,
.f-dd-option.hovered {
  background: #f0f4fa;
}

.f-dd-option.selected {
  color: #0f58a8;
  font-weight: 600;
  background: #f0f4fa;
}

.f-dd-empty {
  padding: 8px 10px;
  font-size: 13px;
  color: #99a1af;
  text-align: center;
}

/* ---------- 月份标签栏 ---------- */
.month-bar {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 12px 16px;
  border-bottom: 1px solid #eef0f3;
  flex-wrap: wrap;
}

.month-tab {
  padding: 5px 13px;
  font-size: 13px;
  color: #333;
  border-radius: 5px;
  cursor: pointer;
  user-select: none;
  white-space: nowrap;
}

.month-tab:hover {
  background: #f0f4fa;
}

.month-tab.active {
  background: #0f58a8;
  color: #fff;
}

/* ---------- 提示状态 ---------- */
.state-tip {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  padding: 28px 16px;
  color: #c0392b;
  font-size: 14px;
}

.state-tip .f-btn {
  height: 30px;
  padding: 0 14px;
  font-size: 13px;
}

.empty-tip {
  padding: 48px 16px;
  text-align: center;
  color: #9aa5b1;
  font-size: 14px;
}

/* ---------- 赛事卡片列表 (参考 FairPlay 赛事列表) ---------- */
.comp-cards {
  padding: 16px;
  display: flex;
  flex-direction: column;
  gap: 12px;
  min-height: 160px;
}

.comp-card {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 15px 18px;
  border: 1px solid #e8eaee;
  border-radius: 8px;
  background: #fff;
  cursor: pointer;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.comp-card:hover {
  border-color: #0f58a8;
  box-shadow: 0 2px 10px rgba(15, 88, 168, 0.08);
}

.comp-card:focus-visible {
  outline: 2px solid #0f58a8;
  outline-offset: 2px;
}

.card-main {
  flex: 1;
  min-width: 0;
}

.card-title-row {
  display: flex;
  align-items: center;
  gap: 10px;
}

.card-name {
  font-size: 16px;
  font-weight: 600;
  color: #1c2b3a;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.tag-status {
  flex-shrink: 0;
}

.card-info {
  margin-top: 8px;
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 4px 24px;
  font-size: 13px;
  color: #55606c;
}

.info-label {
  color: #8a94a0;
}

.card-side {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  gap: 14px;
}

.card-ops {
  display: flex;
  align-items: center;
  gap: 8px;
}

.muted { color: #b9c2cc; }

.tag-level {
  display: inline-block;
  background: #e8f3ff;
  color: #165dff;
  font-size: 12px;
  padding: 2px 10px;
  border-radius: 4px;
}

.tag-status {
  display: inline-block;
  font-size: 12px;
  padding: 2px 10px;
  border-radius: 4px;
}

.tag-status.s-signup {
  background: #0f58a8;
  color: #fff;
}

.tag-status.s-active,
.tag-status.s-finished {
  background: #f5e6d3;
  color: #a67c52;
}

.op-btn {
  border: 1px solid #d5dbe3;
  background: #fff;
  color: #0f58a8;
  font-size: 12px;
  padding: 4px 12px;
  border-radius: 4px;
  cursor: pointer;
  font-family: inherit;
  text-decoration: none;
  white-space: nowrap;
}

.op-btn:hover {
  border-color: #0f58a8;
  background: #f0f6ff;
}

/* ---------- 分页 ---------- */
.pagination {
  padding: 14px 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  border-top: 1px solid #f0f1f3;
}

.page-btn {
  height: 30px;
  border: 1px solid #d5dbe3;
  background: #fff;
  color: #333;
  font-size: 13px;
  padding: 0 14px;
  border-radius: 4px;
  cursor: pointer;
  font-family: inherit;
}

.page-btn:hover:not(:disabled) {
  border-color: #0f58a8;
  color: #0f58a8;
}

.page-btn:disabled {
  color: #b9c2cc;
  cursor: not-allowed;
}

.page-info {
  font-size: 13px;
  color: #666;
}

/* ---------- 页脚 ---------- */
.home-footer {
  text-align: center;
  color: #9aa5b1;
  font-size: 12px;
  padding: 20px 0 26px;
}

/* ---------- 赛程页 (schedule.html) ---------- */
.sched-head {
  padding: 14px 20px 16px;
  border-bottom: 1px solid #eef0f3;
}

.sched-head-top {
  margin-bottom: 10px;
}

.back-link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 13px;
  color: #55606c;
  text-decoration: none;
}

.back-link:hover {
  color: #0f58a8;
}

/* 返回箭头 (CSS 自绘, 与下拉箭头同风格) */
.back-arrow {
  width: 6px;
  height: 6px;
  border-left: 1.5px solid currentColor;
  border-bottom: 1.5px solid currentColor;
  transform: rotate(45deg);
}

.sched-title-row {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
}

.sched-title {
  margin: 0;
  font-size: 20px;
  font-weight: 700;
  color: #0f58a8;
}

.sched-note {
  font-size: 12px;
  color: #8a94a0;
}

.sched-name {
  margin: 6px 0 0;
  font-size: 14px;
  font-weight: 600;
  color: #1c2b3a;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.sched-meta {
  margin: 6px 0 0;
  font-size: 13px;
  color: #55606c;
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 4px 24px;
}

.sched-body {
  padding: 4px 20px 20px;
}

/* 赛程: 按日期分组 */
.sched-day {
  margin-top: 16px;
}

.sched-day:first-child {
  margin-top: 0;
}

.sched-day-head {
  display: flex;
  align-items: baseline;
  gap: 10px;
  padding-bottom: 8px;
  border-bottom: 1px solid #e8eaee;
}

.sched-day-title {
  font-size: 15px;
  font-weight: 700;
  color: #0f58a8;
}

.sched-day-unit {
  font-size: 12px;
  color: #8a94a0;
}

.sched-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 13px;
  margin-top: 4px;
}

.sched-table th {
  text-align: left;
  font-weight: 600;
  color: #55606c;
  background: #f7f9fb;
  padding: 8px 10px;
  white-space: nowrap;
}

.sched-table td {
  padding: 8px 10px;
  border-bottom: 1px solid #f0f1f3;
  vertical-align: middle;
}

.sched-table .t-time {
  white-space: nowrap;
  color: #0f58a8;
  font-weight: 600;
}

.sched-table .t-stage {
  white-space: nowrap;
}

.sched-tag-pending {
  display: inline-block;
  background: #f5e6d3;
  color: #a67c52;
  font-size: 12px;
  padding: 1px 8px;
  border-radius: 4px;
}

/* ---------- 项目成绩 (event) / 运动员详情 (athlete) / 考试分数 (exam) 页 ---------- */
/* 表格可点行 (赛程页同构): 悬停浅蓝底, 键盘焦点描边 */
.sched-row { cursor: pointer; }
.sched-row:hover > td,
.sched-row:focus-visible > td { background: #f2f7fd; }
.sched-row:focus-visible { outline: 2px solid #0f58a8; outline-offset: -2px; }

.sched-table .t-lane { white-space: nowrap; color: #55606c; }
.sched-table .t-name { font-weight: 600; }
.sched-table .t-result { white-space: nowrap; }

/* 成绩附注 (风速/反应时) 收进成绩单元格小字 */
.ev-extras { display: block; font-size: 11px; color: #8a94a0; font-weight: 400; }

/* 名次列: 前三名加金/银/铜圆点徽记 */
.sched-table .ev-rank { white-space: nowrap; font-weight: 700; color: #333; }
.medal-dot { display: inline-block; width: 8px; height: 8px; border-radius: 50%; margin-right: 6px; }
.medal-dot-1 { background: #d4af37; }
.medal-dot-2 { background: #9aa7b4; }
.medal-dot-3 { background: #b0703c; }

/* 运动员详情: 基本信息卡 (参考 FairPlay 运动员详情: 白卡 + 照片左侧 + 资料网格, 保持深蓝主题) */.at-profile {
  margin-top: 12px;
  position: relative;
  overflow: hidden;
  border: 1px solid #e8eaee;
  border-radius: 8px;
  padding: 18px 20px;
  background: linear-gradient(115deg, rgba(15, 88, 168, 0.05) 0%, rgba(15, 88, 168, 0) 46%), #fff;
}

/* 右上角淡蓝斜纹装饰, 对应参考页对角水印 (纯 CSS, 不引图片) */
.at-profile::after {
  content: '';
  position: absolute;
  top: -34px;
  right: -26px;
  width: 230px;
  height: 150px;
  background: repeating-linear-gradient(115deg, rgba(15, 88, 168, 0.07) 0 6px, transparent 6px 20px);
  pointer-events: none;
}

.at-profile-main {
  position: relative;
  z-index: 1;
  display: flex;
  gap: 18px;
  align-items: center;
}

.at-photo {
  width: 84px;
  height: 84px;
  border-radius: 10px;
  object-fit: cover;
  flex-shrink: 0;
  border: 1px solid #e3e9f1;
  background: #fff;
}

.at-photo-empty {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #eef3f9;
  color: #0f58a8;
  font-size: 30px;
  font-weight: 700;
}

.at-profile-info {
  flex: 1;
  min-width: 0;
}

.at-name-row {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}

.at-name {
  font-size: 20px;
  font-weight: 700;
  color: #1c2b3a;
  line-height: 1.3;
}

.at-number {
  display: inline-block;
  background: #e8f3ff;
  color: #0f58a8;
  font-size: 12px;
  font-weight: 600;
  padding: 2px 10px;
  border-radius: 4px;
  white-space: nowrap;
}

.at-flag {
  height: 14px;
  margin-right: 4px;
  vertical-align: -2px;
  border-radius: 2px;
}

/* 资料项两列网格, 项数多时自动换行 */
.at-items {
  margin-top: 12px;
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
  gap: 8px 24px;
  font-size: 13px;
  color: #333;
}

.at-item {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.at-item .info-label { color: #8a94a0; }

/* 运动员详情: 参赛成绩区块 (参考 FairPlay 区块标题条: 左色条标题 + 右侧赛事名) */
.at-results { margin-top: 20px; }

.at-section-head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 16px;
  padding-bottom: 10px;
  border-bottom: 1px solid #e8eaee;
}

.at-section-title {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  flex-shrink: 0;
  font-size: 15px;
  font-weight: 700;
  color: #1c2b3a;
}

.at-section-title::before {
  content: '';
  width: 4px;
  height: 14px;
  border-radius: 2px;
  background: #0f58a8;
}

.at-section-meet {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 13px;
  font-weight: 600;
  color: #0f58a8;
}

.at-table-wrap { overflow-x: auto; }

/* 参考页表格观感: 灰底表头 + 加高行 + 首列/成绩列强调 (仅作用于 athlete 页; 窄屏横向滚动防挤压) */
.at-table { min-width: 600px; }
.at-table th { padding: 10px 12px; }
.at-table td { padding: 12px; font-size: 13px; }
.at-table td:first-child { font-weight: 600; color: #1c2b3a; }
.at-table .t-result { font-weight: 600; color: #1c2b3a; }

/* 项目成绩页 (event.html): 参考 FairPlay 官方成绩页 — 姓名带头像蓝名 / 加高行 / 组次色条标题 */
.ev-group-title {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 15px;
  font-weight: 700;
  color: #1c2b3a;
}

.ev-group-title::before {
  content: '';
  width: 4px;
  height: 14px;
  border-radius: 2px;
  background: #0f58a8;
}

/* 窄屏横向滚动防挤压 (道次/号码/姓名/单位/成绩/名次 六列) */
.ev-table { min-width: 560px; }
.ev-table th { padding: 10px 12px; }
.ev-table td { padding: 10px 12px; font-size: 13px; }
.ev-table-wrap { overflow-x: auto; }

/* 姓名列: 头像 + 蓝色姓名 (行可点进运动员详情, 蓝名即链接色暗示) */
.ev-table .t-name { color: #0f58a8; }
.ev-name-text { vertical-align: middle; }
/* 单位行: 桌面隐藏(走独立 t-unit 列), 手机档显示在姓名下方 (参考官方成绩页头像+姓名/单位堆叠) */
.ev-unit-text { display: none; }
.ev-avatar {
  width: 32px;
  height: 32px;
  border-radius: 6px;
  object-fit: cover;
  vertical-align: middle;
  margin-right: 8px;
  border: 1px solid #e3e9f1;
  background: #fff;
}

.ev-avatar-empty {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #eef3f9;
  color: #0f58a8;
  font-size: 14px;
  font-weight: 700;
}

.ev-table .t-result { font-weight: 600; color: #1c2b3a; }

/* 考试分数列表 */
.ex-table .ex-rank { font-weight: 700; color: #0f58a8; white-space: nowrap; }
.ex-table .ex-total { font-weight: 700; color: #0f58a8; white-space: nowrap; }

/* ---------- 筛选 chips 行 (赛程页/成绩页共用, 参考菲普莱筛选条) ---------- */
.chip-row {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  padding: 10px 0;
  border-bottom: 1px solid #f0f1f3;
}

.chip {
  display: inline-block;
  padding: 4px 14px;
  font-size: 13px;
  line-height: 1.6;
  color: #333;
  background: #f5f6f8;
  border: none;
  border-radius: 14px;
  cursor: pointer;
  user-select: none;
  white-space: nowrap;
  text-decoration: none;
  font-family: inherit;
}

.chip:hover {
  color: #0f58a8;
  background: #eaf2fb;
}

.chip.active {
  background: #0f58a8;
  color: #fff;
  font-weight: 600;
}

/* ---------- 赛程页: 工具行 (性别 chips + 搜索框; 手机端 chips 收进折叠条) ---------- */
.sc-toolbar {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
  padding-top: 6px;
}

/* 桌面端排布: 第一行=性别chips+搜索框, 其后组别/项目/日期各行占满 */
.sc-toolbar .sc-gender-row { order: 1; flex: 1 1 auto; min-width: 240px; }
.sc-toolbar .sc-search { order: 2; margin-left: auto; }
.sc-toolbar #sc-group,
.sc-toolbar #sc-event,
.sc-toolbar #sc-day { order: 3; width: 100%; }

/* 折叠开关: 桌面隐藏, 窄屏显示; 徽标=已选条件数 */
.sc-filter-toggle { display: none; }

.sc-filter-count {
  display: inline-block;
  min-width: 16px;
  text-align: center;
  background: #0f58a8;
  color: #fff;
  font-size: 11px;
  line-height: 16px;
  padding: 0 5px;
  border-radius: 8px;
}

.sc-caret {
  width: 7px;
  height: 7px;
  border-right: 1.5px solid #99a1af;
  border-bottom: 1.5px solid #99a1af;
  transform: rotate(45deg);
  transition: transform 0.15s ease;
}

.sc-gender-row {
  border-bottom: none;
  padding-bottom: 0;
}

.sc-search {
  display: flex;
  flex-shrink: 0;
}

.sc-input {
  width: 230px;
  height: 34px;
  border: 1px solid #dcdfe6;
  border-right: none;
  border-radius: 5px 0 0 5px;
  padding: 0 10px;
  font-size: 13px;
  color: #333;
  font-family: inherit;
  outline: none;
}

.sc-input:focus {
  border-color: #0f58a8;
}

.sc-btn {
  height: 34px;
  padding: 0 16px;
  border: none;
  background: #0f58a8;
  color: #fff;
  font-size: 13px;
  border-radius: 0 5px 5px 0;
  cursor: pointer;
  font-family: inherit;
  white-space: nowrap;
}

.sc-btn:hover {
  background: #0c4686;
}

/* 搜索态提示条 (关键词 + 命中数 + 返回列表) */
.sc-searchbar {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
  margin-top: 12px;
  padding: 9px 14px;
  background: #f0f6ff;
  border: 1px solid #dbe8f7;
  border-radius: 6px;
  font-size: 13px;
  color: #0f58a8;
}

.sc-back {
  border: 1px solid #c6d8ef;
  background: #fff;
  color: #0f58a8;
  font-size: 12px;
  padding: 3px 12px;
  border-radius: 12px;
  cursor: pointer;
  font-family: inherit;
}

.sc-back:hover {
  border-color: #0f58a8;
  background: #f0f6ff;
}

/* ---------- 赛程页: 分块表格 ---------- */
.sc-block-title {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 15px;
  font-weight: 700;
  color: #1c2b3a;
}

.sc-block-title::before {
  content: '';
  width: 4px;
  height: 14px;
  border-radius: 2px;
  background: #0f58a8;
}

.sc-table-wrap { overflow-x: auto; }

.sc-table { min-width: 760px; }
.sc-table .t-idx { width: 48px; color: #55606c; }
.sc-table .t-num { color: #55606c; }
.sc-table .t-event { min-width: 200px; }
.sc-table .t-op { text-align: right; }

.sc-ev-line {
  font-size: 14px;
  font-weight: 700;
  color: #1c2b3a;
}

/* 决赛前三名: 奖牌色点 + 姓名 + 成绩 */
.sc-top3 {
  list-style: none;
  margin: 6px 0 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 3px;
  font-size: 12px;
  color: #55606c;
}

.sc-top3 em {
  font-style: normal;
  margin-left: 8px;
  color: #1c2b3a;
  font-weight: 600;
}

/* 状态标签 */
.sc-status {
  display: inline-block;
  font-size: 12px;
  padding: 2px 10px;
  border-radius: 4px;
  white-space: nowrap;
}

.sc-status-fin {
  background: #e8f6ee;
  color: #2e9e5b;
}

.sc-status-pending {
  background: #fdf3e0;
  color: #c58a1a;
}

/* 成绩入口 (行内悬停联动浅蓝底) */
.sc-result-btn {
  display: inline-block;
  border: 1px solid #0f58a8;
  color: #0f58a8;
  font-size: 12px;
  padding: 4px 14px;
  border-radius: 14px;
  background: #fff;
  white-space: nowrap;
}

.sched-row:hover .sc-result-btn {
  background: #f0f6ff;
}

/* ---------- 项目成绩页: 副行时间 / 8列表格 / 注释图例 ---------- */
.ev-sub-time {
  margin-left: 16px;
  font-size: 13px;
  font-weight: 400;
  color: #55606c;
}

.ev-table-wide { min-width: 680px; }
.ev-table .t-note { color: #55606c; white-space: nowrap; }

.ev-legend {
  margin-top: 18px;
  padding: 12px 14px;
  background: #f7f9fb;
  border-radius: 6px;
  font-size: 12px;
  color: #55606c;
}

.ev-legend-title {
  display: block;
  margin-bottom: 6px;
  font-weight: 700;
  color: #1c2b3a;
}

.ev-legend ul {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  gap: 4px 22px;
}

.ev-legend li b {
  font-weight: 700;
  color: #1c2b3a;
  margin-right: 6px;
}

/* ---------- 响应式 ---------- */
@media (max-width: 900px) {
  .home-banner {
    height: 180px;
  }

  .banner-year {
    font-size: 44px;
  }

  .banner-title-plate {
    font-size: 20px;
    padding: 6px 16px;
  }

  .banner-sub {
    letter-spacing: 2px;
  }

  .f-keyword {
    width: 100%;
  }

  .f-year,
  .f-mid {
    flex: 1;
    width: auto;
  }

  .sched-head {
    padding: 12px 12px 14px;
  }

  .sched-body {
    padding: 0 12px 14px;
  }

  /* 窄屏卡片纵向堆叠, 操作行独占一行 */
  .comp-card {
    flex-direction: column;
    align-items: stretch;
    gap: 10px;
  }

  .card-name {
    white-space: normal;
  }

  .card-side {
    justify-content: space-between;
    gap: 10px;
  }

  /* 运动员详情窄屏: 信息卡收紧, 区块标题条纵向堆叠 */
  .at-profile { padding: 14px; }
  .at-profile::after { display: none; }
  .at-photo { width: 64px; height: 64px; }
  .at-items { grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 6px 14px; }
  .at-section-head { flex-direction: column; gap: 6px; align-items: flex-start; }

  /* 赛程页窄屏: 搜索框占满一行; 四行筛选 chips 默认收起, 经「筛选」折叠条展开 */
  .sc-toolbar {
    flex-direction: column;
    align-items: stretch;
    gap: 0;
  }

  .sc-filter-toggle {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    order: 0;
    align-self: flex-start;
    height: 32px;
    padding: 0 12px;
    background: #fff;
    border: 1px solid #d5dbe3;
    border-radius: 5px;
    color: #333;
    font-size: 13px;
    cursor: pointer;
    font-family: inherit;
  }

  .sc-filter-toggle:active {
    border-color: #0f58a8;
    color: #0f58a8;
  }

  .sc-toolbar.filters-open .sc-filter-toggle {
    border-color: #0f58a8;
    color: #0f58a8;
  }

  .sc-toolbar.filters-open .sc-caret {
    transform: rotate(-135deg);
  }

  .sc-toolbar .sc-search {
    order: 1;
    width: 100%;
    margin-left: 0;
    margin-top: 10px;
  }

  .sc-toolbar .chip-row {
    display: none;
    order: 2;
  }

  .sc-toolbar.filters-open .chip-row {
    display: flex;
  }

  .sc-input {
    flex: 1;
    width: auto;
  }

  .sc-searchbar { margin-top: 8px; }
}

/* ============================================================
 * 手机档 (≤600px): 公开五页适配 —— 窄屏不再左右拉动
 * 根因: 赛程/运动员/项目三表强制 min-width(760/600/560px) +
 * 全 nowrap, 包裹层 overflow-x:auto 在手机上必触发横向滚动。
 * 思路: 去最小宽让表格自适应容器; 文字列(项目含组别前缀/姓名/
 * 单位/备注)放开换行保证组别名完整展示; 数据列(时间/组次道次/
 * 成绩/名次/总分/操作)逐列锁回 nowrap 防断行; 序号列手机上隐藏
 * (td/th 均带 t-idx 类, 两侧同步隐藏不错位); 筛选纵排/卡片纵排。
 * 仅 ≤600px 生效, 桌面端样式零影响。
 * ============================================================ */
@media (max-width: 600px) {
  /* 三张成绩表去强制最小宽: 包裹层 overflow-x:auto 不再触发 */
  .sc-table,
  .sc-table .t-event,
  .at-table,
  .ev-table,
  .ev-table-wide,
  .sched-table {
    min-width: 0;
  }

  /* 文字列放开换行(组别名/项目名/单位/备注完整展示) */
  .sc-table td,
  .at-table td,
  .ev-table td,
  .ex-table td {
    white-space: normal;
  }

  /* 数据列逐列锁回 nowrap, 防止时间/成绩/名次被拆行 */
  .sc-table .t-time,
  .sc-table .t-op,
  .at-table .t-lane,
  .at-table .t-result,
  .at-table .t-time,
  .ev-table .t-lane,
  .ev-table .t-result,
  .ev-table .t-name,
  .ex-table .t-name,
  .ex-table .ex-total,
  .ex-table .ex-rank {
    white-space: nowrap;
  }

  /* 项目成绩姓名列参考官方成绩页手机排法: 头像居左, 姓名右上/单位右下堆叠, 独立单位列收起 */
  .ev-table th.t-unit,
  .ev-table td.t-unit { display: none; }

  .ev-table .ev-person { display: flex; align-items: center; }

  .ev-table .ev-person-info {
    display: flex;
    flex-direction: column;
    min-width: 0;
  }

  .ev-table .ev-unit-text {
    display: block;
    white-space: normal;
    font-size: 11px;
    font-weight: 400;
    color: #8a94a0;
    line-height: 1.5;
  }

  /* 序号列收起: 手机上索引价值低, 让位给项目/组别名 */
  .sc-table .t-idx {
    display: none;
  }

  /* 表格密度收紧(基础 .sched-table th/td 是 8px 10px/13px) */
  .sched-table th,
  .sched-table td {
    padding: 8px 6px;
    font-size: 12px;
  }

  /* 首页筛选输入纵排占满(桌面固定 110/140/260px) */
  .f-year,
  .f-mid,
  .f-keyword {
    width: 100%;
  }

  /* 赛事卡片纵排: 信息区在上, 操作区独占一行两端对齐 */
  .comp-card {
    flex-direction: column;
    align-items: stretch;
    gap: 10px;
  }

  .card-side {
    justify-content: space-between;
  }
}
