/* menu.css — 사이드 메뉴 페이지들 (순위 / 맞대결 / 개인정보 / 이용약관) */

/* ═══ 공통: 메뉴 페이지 뒤로가기 바 ═══ */
.menu-backbar{
  height:var(--h-control);min-height:var(--h-control);
  display:flex;align-items:center;gap:0;
  padding:0;
  background:var(--color-bg);
  border-bottom:1px solid var(--color-line);
  position:sticky;top:0;z-index:30;
  margin-bottom:12px;
}
.menu-backbar-btn{
  width:var(--g36);height:var(--h-control);border:0;background:transparent;
  border-radius:0;display:flex;align-items:center;justify-content:center;
  color:var(--color-text);cursor:pointer;
}
.menu-backbar-btn .material-symbols-outlined{font-size:20px}
.menu-backbar-btn:active{background:var(--color-line)}
.menu-backbar-title{
  font-weight:var(--fw-black);font-size:var(--fs-16);
  letter-spacing:var(--ls-snug);color:var(--color-text);
}

/* ═══ 팀 순위 (standings) ═══ */
.standings-table-wrap{
  overflow-x:auto;-webkit-overflow-scrolling:touch;
  scrollbar-width:none;-ms-overflow-style:none;overscroll-behavior-x:contain;
}
.standings-table-wrap::-webkit-scrollbar{display:none}
.standings-table{
  border-collapse:collapse;
  font-size:var(--fs-12);font-weight:var(--fw-bold);
  letter-spacing:var(--ls-snug);
  min-width:520px;
}
.standings-table th,.standings-table td{
  padding:var(--g8) var(--g8);
  text-align:center;vertical-align:middle;
  border-bottom:1px solid var(--color-line);
  white-space:nowrap;
}
.standings-table th{
  font-size:var(--fs-11);font-weight:var(--fw-bold);
  color:var(--color-muted);
  position:sticky;top:0;background:var(--color-bg);z-index:2;
}
/* 순위+팀 고정 */
.standings-table th:first-child,.standings-table td:first-child{
  position:sticky;left:0;z-index:3;background:var(--color-bg);
  font-weight:var(--fw-black);color:var(--color-muted);
  min-width:32px;
}
.standings-table th:nth-child(2),.standings-table td:nth-child(2){
  position:sticky;left:32px;z-index:3;background:var(--color-bg);
  text-align:left;padding-left:var(--g4);min-width:60px;
}
.standings-table tr.is-myteam td{
  background:color-mix(in srgb,var(--color-accent) 5%,white);
  font-weight:var(--fw-black);
}
.standings-table tr.is-myteam td:first-child,
.standings-table tr.is-myteam td:nth-child(2){
  background:color-mix(in srgb,var(--color-accent) 5%,white);
}

.standings-team-cell{
  display:flex;align-items:center;gap:var(--g8);
}
.standings-team-dot{
  width:10px;height:10px;border-radius:50%;flex-shrink:0;
  display:inline-block;
}
.standings-team-name{
  font-weight:var(--fw-heavy);font-size:var(--fs-14);
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
}
.standings-record{color:var(--color-text)}
.standings-pct{font-weight:var(--fw-black);color:var(--color-text)}
.standings-gb{color:var(--color-muted)}

.standings-fixed{
  flex-shrink:0;background:var(--color-bg);
}
.standings-scroll{
  flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;
  scrollbar-width:none;-ms-overflow-style:none;
}
.standings-scroll::-webkit-scrollbar{display:none}
.page[data-page="season"]{overflow:hidden}
.page[data-page="season"] .app_pageInner{
  height:100%;display:flex;flex-direction:column;overflow:hidden;
}
.season-panel{flex:1;overflow:hidden}
.season-panel#season-standings{
  display:flex;flex-direction:column;
}
.season-panel#season-matchup,
.season-panel#season-top-rankings{
  overflow-y:auto;-webkit-overflow-scrolling:touch;
  scrollbar-width:none;-ms-overflow-style:none;
}
.season-panel#season-matchup::-webkit-scrollbar,
.season-panel#season-top-rankings::-webkit-scrollbar{display:none}

.matchup-team-picker{
  display:flex;align-items:center;justify-content:center;
  gap:var(--g4);padding:var(--g12) var(--pad-x);
  position:relative;cursor:pointer;
}
.matchup-team-picker-name{
  font-size:var(--fs-16);font-weight:var(--fw-black);
  letter-spacing:var(--ls-snug);color:var(--color-text);
}
.matchup-team-picker-arrow{
  font-size:var(--fs-18);color:var(--color-muted);
}
.matchup-team-picker-sel{
  position:absolute;inset:0;opacity:0;cursor:pointer;
  font-size:var(--fs-16);
}

.matchup-opp-tbl{
  width:100%;border-collapse:collapse;
  font-size:var(--fs-14);font-weight:var(--fw-bold);
}
.matchup-opp-tbl th{
  font-size:var(--fs-12);font-weight:var(--fw-bold);color:var(--color-muted);
  padding:var(--g8);text-align:center;border-bottom:1px solid var(--color-line);
}
.matchup-opp-tbl th:first-child{text-align:left;padding-left:var(--pad-x)}
.matchup-opp-tbl td{
  padding:var(--g12) var(--g8);text-align:center;
  border-bottom:1px solid var(--color-line);
}
.matchup-opp-team{
  text-align:left!important;padding-left:var(--pad-x)!important;
  display:flex;align-items:center;gap:var(--g8);
  font-weight:var(--fw-heavy);
}
.matchup-opp-tbl tr:active{background:rgba(0,0,0,.03)}

.matchup-detail-summary{
  padding:var(--g12) var(--pad-x);
  border-bottom:1px solid var(--color-line);
}
.standings-chart-wrap{
  width:100%;height:200px;
  padding:0;
  box-sizing:border-box;
}
.standings-chart-wrap canvas{
  width:100%!important;height:100%!important;
}

.standings-empty{
  padding:var(--g40) var(--g20);
  text-align:center;color:var(--color-muted);
  font-size:var(--fs-14);font-weight:var(--fw-bold);
}

/* ═══ 맞대결 v2 (select + bar) ═══ */
.matchup-selector-v2{
  display:flex;align-items:center;gap:var(--g8);
  padding:var(--g16) var(--pad-x) var(--g12);
}
.matchup-select-wrap{position:relative;flex:1}
.matchup-select-label{
  font-size:var(--fs-11);font-weight:var(--fw-bold);
  color:var(--color-muted);text-align:center;
  margin-bottom:var(--g4);
}
.matchup-select{
  width:100%;height:var(--g44);border-radius:10px;
  border:1.5px solid var(--color-line);background:var(--color-card);
  font-family:var(--ff-app);font-size:var(--fs-16);font-weight:var(--fw-black);
  letter-spacing:var(--ls-snug);text-align:center;
  padding:0 var(--g12);
  appearance:none;-webkit-appearance:none;cursor:pointer;outline:none;
  text-align-last:center;
  color:var(--color-text);
}
.matchup-swap-btn{
  width:var(--g32);height:var(--g32);border-radius:50%;
  border:1.5px solid var(--color-line);background:var(--color-card);
  cursor:pointer;display:flex;align-items:center;justify-content:center;
  font-size:var(--fs-14);color:var(--color-muted);flex-shrink:0;
  font-family:system-ui;
}
.matchup-swap-btn:active{background:var(--color-line)}

.matchup-summary{
  padding:var(--g4) var(--pad-x) var(--g12);
  border-bottom:1px solid var(--color-line);
}
.matchup-big-score{
  display:flex;align-items:center;justify-content:center;gap:var(--g12);
}
.matchup-big-num{
  font-size:28px;font-weight:var(--fw-black);
  letter-spacing:var(--ls-tight);
  min-width:var(--g32);text-align:center;
}
.matchup-big-num--draw{color:var(--color-muted)}
.matchup-big-sep{
  font-size:var(--fs-18);font-weight:var(--fw-bold);color:var(--color-line);
  min-width:8px;text-align:center;
}
.matchup-big-labels{
  display:flex;align-items:center;justify-content:center;gap:var(--g12);
  font-size:var(--fs-12);font-weight:var(--fw-bold);color:var(--color-muted);
}
.matchup-big-labels span{text-align:center}
.matchup-big-labels span:nth-child(odd){min-width:var(--g32)}
.matchup-big-labels span:nth-child(even){min-width:8px}
.matchup-total{
  text-align:center;padding-top:var(--g8);
  font-size:var(--fs-12);font-weight:var(--fw-bold);color:var(--color-muted2);
}

.matchup-game-list{padding:var(--g12) 0}
.matchup-month-header{
  padding:var(--g8) var(--pad-x) var(--g4);
  font-size:var(--fs-12);font-weight:var(--fw-black);
  color:var(--color-muted);background:#f8fafc;
}
.matchup-game-item{
  display:flex;align-items:center;gap:var(--g8);
  padding:var(--g8) var(--pad-x);
  border-bottom:1px solid #f1f5f9;
}
.matchup-game-date{
  width:60px;flex-shrink:0;
}
.matchup-game-date-main{
  font-size:var(--fs-12);font-weight:var(--fw-heavy);
  color:var(--color-text);letter-spacing:var(--ls-snug);
}
.matchup-game-date-time{
  font-size:var(--fs-11);font-weight:var(--fw-bold);color:var(--color-muted2);
}
.matchup-game-center{
  flex:1;display:flex;align-items:center;justify-content:center;gap:5px;
}
.matchup-game-team{font-size:var(--fs-14);font-weight:var(--fw-heavy)}
.matchup-game-score{font-size:var(--fs-16);font-weight:var(--fw-black)}
.matchup-game-vs{font-size:var(--fs-11);font-weight:var(--fw-black);color:var(--color-line)}
.matchup-game-dash{font-size:var(--fs-11);color:var(--color-line)}
.matchup-game-right{width:50px;flex-shrink:0;text-align:right}
.matchup-game-loc{
  font-size:var(--fs-11);font-weight:var(--fw-bold);color:var(--color-muted2);
}
.matchup-empty{
  padding:var(--g40) var(--g20);
  text-align:center;color:var(--color-muted);
  font-size:var(--fs-14);font-weight:var(--fw-bold);
}

/* 상대팀 행 화살표 */
.matchup-opp-arrow{
  font-size:var(--fs-18);color:var(--color-muted);
  vertical-align:middle;margin-left:auto;
  transition:transform .2s;
}

/* ── 드롭다운 (아코디언) ── */
.matchup-dropdown-row{background:var(--color-bg)}
.matchup-dropdown-cell{padding:0!important;border-bottom:1px solid var(--color-line)}
.matchup-dd-summary{padding:var(--g12) var(--g16);border-bottom:1px solid var(--color-line)}
.matchup-dropdown-cell .sch-games{padding:0 8px 8px}

.matchup-dd-game{
  display:flex;align-items:center;gap:6px;
  padding:var(--g8) var(--g16);
  border-bottom:1px solid #f1f5f9;
  font-size:var(--fs-13);
}
.matchup-dd-date{
  width:72px;flex-shrink:0;
  font-size:var(--fs-11);font-weight:var(--fw-heavy);
  color:var(--color-muted);letter-spacing:var(--ls-snug);
}
.matchup-dd-team{
  font-size:var(--fs-13);font-weight:var(--fw-heavy);
  flex-shrink:0;min-width:28px;text-align:center;
}
.matchup-dd-score{
  font-size:var(--fs-14);font-weight:var(--fw-black);
  min-width:16px;text-align:center;
}
.matchup-dd-sep{
  font-size:var(--fs-11);color:var(--color-line);
}
.matchup-dd-vs{
  font-size:var(--fs-11);font-weight:var(--fw-black);color:var(--color-line);
  min-width:20px;text-align:center;
}

/* 승패 배지 (기준팀 관점) */
.matchup-game-badge{
  font-size:var(--fs-10);font-weight:var(--fw-black);
  padding:2px 6px;border-radius:5px;display:inline-block;
  margin-left:auto;flex-shrink:0;
}
.matchup-badge-win{background:rgba(37,99,235,.10);color:#2563eb}
.matchup-badge-lose{background:rgba(239,68,68,.10);color:#ef4444}
.matchup-badge-draw{background:rgba(107,114,128,.10);color:#6B7280}

/* ═══ 시즌정보 탭 ═══ */
.season-tabs{
  display:flex;border-bottom:1px solid var(--color-line);
  flex-shrink:0;
}
.season-tab{
  flex:1;padding:var(--g12) 0;border:none;
  border-bottom:2.5px solid transparent;
  background:transparent;cursor:pointer;
  font-family:var(--ff-app);font-size:var(--fs-14);
  font-weight:var(--fw-bold);letter-spacing:var(--ls-snug);
  color:var(--color-muted2);
}
.season-tab.active{
  border-bottom-color:var(--color-text);
  font-weight:var(--fw-black);color:var(--color-text);
}
.standings-ref{
  display:flex;align-items:center;justify-content:center;
  padding:var(--g12) var(--pad-x);gap:var(--g4);
  font-size:var(--fs-12);font-weight:var(--fw-bold);color:var(--color-muted);
}
.standings-ref-badge{
  font-size:var(--fs-11);font-weight:var(--fw-bold);
  color:var(--color-muted2);background:#f1f5f9;
  border-radius:4px;padding:2px 6px;
}
.standings-my-badge{
  font-size:9px;font-weight:var(--fw-black);color:#fff;
  border-radius:3px;padding:1px 4px;display:inline-block;
  vertical-align:middle;margin-left:var(--g4);
}

/* ═══ 설정 하단 법적 링크 ═══ */
/* 설정 페이지 flex column → legal/version이 하단에 붙음 */
.page[data-page="settings"] .app_pageInner{
  display:flex;flex-direction:column;
}
.settings-legal{
  display:flex;justify-content:center;gap:var(--g16);
  padding:var(--g40) var(--pad-x) var(--g8);
  margin-top:auto;
}
.settings-legal-link{
  font-size:var(--fs-12);font-weight:var(--fw-mid);
  color:var(--color-line);cursor:pointer;
  text-decoration:none;border:none;background:none;
}
.settings-legal-sep{font-size:var(--fs-12);color:#e5e7eb}
.settings-version{
  padding:0 var(--pad-x) var(--g4);text-align:center;
  font-size:var(--fs-11);color:#e5e7eb;font-weight:var(--fw-mid);
}
.settings-disclaimer{
  padding:0 var(--pad-x) var(--g20);text-align:center;
  font-size:var(--fs-11);color:#9ca3af;
}

/* ═══ 법적 페이지 공통 (privacy / terms) ═══ */
.legal-content{
  padding:var(--g16) var(--pad-x) var(--g40);
  line-height:1.7;color:var(--color-text);
}
.legal-content h2{
  font-size:var(--fs-18);font-weight:var(--fw-black);
  letter-spacing:var(--ls-snug);
  margin:var(--g24) 0 var(--g12);
  color:var(--color-text);
}
.legal-content h2:first-child{margin-top:var(--g8)}
.legal-content h3{
  font-size:var(--fs-16);font-weight:var(--fw-heavy);
  letter-spacing:var(--ls-snug);
  margin:var(--g20) 0 var(--g8);
  color:var(--color-text);
}
.legal-content p{
  font-size:var(--fs-14);font-weight:var(--fw-normal);
  margin:0 0 var(--g12);
  color:var(--color-text);
}
.legal-content ul{
  margin:0 0 var(--g12);
  padding-left:var(--g20);
}
.legal-content li{
  font-size:var(--fs-14);font-weight:var(--fw-normal);
  margin-bottom:var(--g4);
  color:var(--color-text);
}
.legal-content .legal-date{
  font-size:var(--fs-12);color:var(--color-muted);
  font-weight:var(--fw-bold);
  margin-top:var(--g24);
}

/* ═══ 톱랭킹 ═══ */
.tr-tabs{
  display:flex;gap:0;padding:0 16px;overflow-x:auto;
  border-bottom:1px solid var(--color-line);margin-bottom:12px;
  -webkit-overflow-scrolling:touch;scrollbar-width:none;
}
.tr-tabs::-webkit-scrollbar{display:none}
.tr-tab{
  flex-shrink:0;padding:8px 14px;font-size:var(--fs-13);font-weight:var(--fw-bold);
  color:var(--color-muted);border:none;background:none;cursor:pointer;
  border-bottom:2px solid transparent;font-family:inherit;white-space:nowrap;
}
.tr-tab.active{color:var(--color-text);border-bottom-color:var(--color-brand)}
.tr-team-picker{
  display:flex;align-items:center;justify-content:center;
  gap:var(--g4);padding:var(--g8) var(--pad-x);
  position:relative;cursor:pointer;
}
.tr-team-picker-name{
  font-size:var(--fs-14);font-weight:var(--fw-black);
  letter-spacing:var(--ls-snug);color:var(--color-text);
}
.tr-team-picker-arrow{
  font-size:var(--fs-16);color:var(--color-muted);
}
.tr-team-picker-sel{
  position:absolute;inset:0;opacity:0;cursor:pointer;
  font-size:var(--fs-16);width:100%;
}
.tr-section-title{
  font-size:var(--fs-14);font-weight:var(--fw-black);
  padding:16px 16px 8px;color:var(--color-text);
}
.tr-card{
  margin:0 16px 12px;
  border:1px solid var(--color-line);
  border-radius:var(--r-md);
  overflow:hidden;
}
.tr-card-header{
  font-size:var(--fs-12);font-weight:var(--fw-black);
  padding:8px 12px;
  background:#f9fafb;
  border-bottom:1px solid var(--color-line);
  color:var(--color-text);
}
.tr-card-body{
  padding:0;
}
.tr-row{
  display:flex;align-items:center;
  padding:8px 12px;
  border-bottom:1px solid #f0f0f0;
  gap:8px;
}
.tr-row:last-child{border-bottom:none}
.tr-row.tr-hidden{display:none}
.tr-rank{
  width:18px;
  font-size:var(--fs-14);font-weight:var(--fw-black);
  color:var(--color-muted);text-align:center;flex-shrink:0;
}
.tr-name{
  font-size:var(--fs-14);font-weight:var(--fw-bold);
  flex:1;min-width:0;
}
.tr-team{
  font-size:var(--fs-10);font-weight:var(--fw-bold);
  flex-shrink:0;
}
.tr-val{
  font-size:var(--fs-14);font-weight:var(--fw-black);
  flex-shrink:0;min-width:40px;text-align:right;
  font-variant-numeric:tabular-nums;
}
.tr-more-btn{
  display:block;width:100%;padding:7px 0;border:none;background:none;
  font-size:var(--fs-12);color:var(--color-muted);cursor:pointer;
  font-family:inherit;border-top:1px solid #f0f0f0;
}
.tr-more-btn:hover{background:#f9fafb}

/* ═══ 경기일정 (SPA 내부 페이지) ═══ */
.sch-badge{
  font-size:var(--fs-11);font-weight:var(--fw-bold);
  padding:3px 8px;border-radius:var(--r-full);color:#fff;
  margin-left:auto;
}
.sch-cal{padding:14px 16px 10px}
.sch-cal-nav{
  display:flex;align-items:center;justify-content:center;
  gap:4px;margin-bottom:12px;
}
.sch-cal-btn{
  width:32px;height:32px;display:flex;align-items:center;justify-content:center;
  background:none;border:none;cursor:pointer;color:var(--color-muted);
  border-radius:50%;-webkit-tap-highlight-color:transparent;
}
.sch-cal-btn:active{background:#f0f0f0}
.sch-cal-btn .material-symbols-outlined{font-size:20px}
.sch-cal-ym{
  font-size:var(--fs-15);font-weight:var(--fw-black);
  letter-spacing:var(--ls-snug);min-width:110px;text-align:center;
  line-height:32px;
}
.sch-cal-grid{display:grid;grid-template-columns:repeat(7,1fr);text-align:center}
.sch-cal-dow{font-size:var(--fs-10);font-weight:var(--fw-bold);color:var(--color-muted2);padding:4px 0 6px}
.sch-cal-dow.sun{color:#EF4444}.sch-cal-dow.sat{color:#3b82f6}
.sch-cal-day{
  padding:7px 0;font-size:var(--fs-12);font-weight:var(--fw-bold);
  color:var(--color-line);border-radius:var(--r-sm);
  cursor:pointer;position:relative;-webkit-tap-highlight-color:transparent;
}
.sch-cal-day:active:not(.empty){background:#f5f5f5}
.sch-cal-day.has{color:var(--color-text);font-weight:var(--fw-black)}
.sch-cal-day.has::after{
  content:'';position:absolute;bottom:2px;left:50%;transform:translateX(-50%);
  width:4px;height:4px;border-radius:50%;background:var(--dtc,var(--color-text));
}
.sch-cal-day.today{background:#f1f5f9}
.sch-cal-day.sel{background:var(--dtc,var(--color-text));color:#fff!important}
.sch-cal-day.sel::after{background:#fff}
.sch-cal-day.empty{pointer-events:none}

/* 경기 행 */
.sch-row{
  display:flex;align-items:center;padding:11px 0;
  border-bottom:1px solid #f0f0f0;
}
.sch-row:last-child{border-bottom:none}
.sch-time{width:42px;flex-shrink:0;font-size:var(--fs-11);font-weight:var(--fw-mid);color:var(--color-muted)}
.sch-away{flex:1;display:flex;align-items:center;justify-content:flex-end;gap:5px;padding-right:4px}
.sch-home{flex:1;display:flex;align-items:center;justify-content:flex-start;gap:5px;padding-left:4px}
.sch-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}
.sch-name{font-size:var(--fs-14);font-weight:var(--fw-bold);letter-spacing:var(--ls-snug)}
.sch-name.win{font-weight:var(--fw-black)}
.sch-name.lose{color:var(--color-muted2)}
.sch-score{
  width:52px;flex-shrink:0;text-align:center;
  font-size:var(--fs-16);font-weight:var(--fw-black);
  letter-spacing:1px;font-variant-numeric:tabular-nums;
}
.sch-score .sep{color:var(--color-line);font-size:var(--fs-12);margin:0 1px}
.sch-score .vs{font-size:var(--fs-12);font-weight:var(--fw-bold);color:var(--color-muted2);letter-spacing:0}
.sch-score .win{font-weight:var(--fw-black)}
.sch-info{width:56px;flex-shrink:0;text-align:right}
.sch-venue{font-size:var(--fs-10);font-weight:var(--fw-mid);color:var(--color-muted2);display:block}
.sch-st{font-size:var(--fs-10);font-weight:var(--fw-bold);color:var(--color-muted);display:block}
.sch-st.live{color:#EF4444}

.sch-allbtn{
  display:block;margin:4px 16px 24px;padding:11px 0;
  border:1.5px solid var(--color-accent,var(--color-text));border-radius:var(--r-sm);
  background:none;color:var(--color-accent,var(--color-text));
  font-size:var(--fs-13);font-weight:var(--fw-bold);letter-spacing:var(--ls-snug);
  text-align:center;cursor:pointer;font-family:inherit;
  width:calc(100% - 32px);-webkit-tap-highlight-color:transparent;
}
.sch-allbtn:active{opacity:.5}

/* 팀 전체일정 — 월 네비게이션 */
.sch-month-nav{
  display:flex;align-items:center;justify-content:center;
  gap:4px;margin:var(--g8) 0;padding:0;
}
.sch-month-btn{
  width:36px;height:36px;display:flex;align-items:center;justify-content:center;
  background:none;border:none;cursor:pointer;color:var(--color-text);
  border-radius:50%;-webkit-tap-highlight-color:transparent;
}
.sch-month-btn:active{background:var(--color-line)}
.sch-month-btn.disabled{color:var(--color-line);pointer-events:none}
.sch-month-btn svg{width:20px;height:20px}
.sch-month-label{
  font-size:var(--fs-16);font-weight:var(--fw-black);
  letter-spacing:var(--ls-snug);min-width:100px;text-align:center;
  line-height:36px;
}
/* 경기일정 — 6열 경기 행 */
.sch-games{padding:0 8px 16px}
.sch-row{
  display:grid;
  grid-template-columns:52px 1fr 30px 30px 1fr 44px;
  align-items:center;text-align:center;
  padding:11px 4px;
  border-bottom:1px solid #f0f0f0;
  gap:2px;
  min-height:44px;
}
.sch-row:last-child{border-bottom:none}
.sch-c-date{
  font-size:var(--fs-12);font-weight:var(--fw-heavy);
  color:var(--color-text);letter-spacing:var(--ls-snug);
}
.sch-c-team{
  font-size:var(--fs-14);font-weight:var(--fw-heavy);
  letter-spacing:var(--ls-snug);text-align:center;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.sch-c-team.win{font-weight:var(--fw-black)}
.sch-c-team.lose{color:var(--color-muted2)}
.sch-c-score{
  font-size:var(--fs-16);font-weight:var(--fw-black);
  font-variant-numeric:tabular-nums;
}
.sch-c-score.lose{color:var(--color-muted2);font-weight:var(--fw-bold)}
.sch-c-score.dash{color:var(--color-line);font-weight:var(--fw-bold);font-size:var(--fs-14)}
.sch-c-venue{
  font-size:var(--fs-11);font-weight:var(--fw-mid);
  color:var(--color-muted2);
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}

/* 모드 전환 버튼 */
.sch-mode-toggle{
  display:flex;justify-content:center;padding:0 16px 10px;
}
.sch-mode-btn{
  font-size:var(--fs-12);font-weight:var(--fw-bold);
  color:var(--color-accent,var(--color-text));
  background:none;border:none;cursor:pointer;
  padding:6px 12px;font-family:inherit;
  -webkit-tap-highlight-color:transparent;
}
.sch-mode-btn:active{opacity:.5}

/* ═══ 응원영상 탭/컨트롤 (시즌기록실 스타일) ═══ */
.cheer-tabs{
  display:flex;align-items:stretch;border-bottom:1px solid var(--color-line);
  flex-shrink:0;
}
.cheer-tab{
  flex:1;padding:var(--g12) 0;border:none;
  border-bottom:2.5px solid transparent;
  background:transparent;cursor:pointer;
  font-family:var(--ff-app);font-size:var(--fs-14);
  font-weight:var(--fw-bold);letter-spacing:var(--ls-snug);
  color:var(--color-muted2);text-align:center;
}
.cheer-tab.active{
  border-bottom-color:var(--color-text);
  font-weight:var(--fw-black);color:var(--color-text);
}
/* 팀셀렉트 (토글 사이) */
.cheer-team-picker{
  display:flex;align-items:center;justify-content:center;
  cursor:pointer;position:relative;
  padding:var(--g12) 14px;flex-shrink:0;
  border-bottom:2.5px solid transparent;
}
.cheer-team-picker-name{
  font-size:var(--fs-14);font-weight:var(--fw-bold);
  letter-spacing:var(--ls-snug);color:var(--color-text);
}

/* 전체재생 */
.cheer-control-bar{
  display:flex;align-items:center;justify-content:center;
  padding:var(--g8) var(--pad-x);
  border-bottom:1px solid var(--color-line);
}
.cheer-team-picker-arrow{
  font-size:11px;color:var(--color-muted);
  position:absolute;bottom:2px;left:50%;transform:translateX(-50%);
}
.cheer-team-picker-sel{
  position:absolute;inset:0;opacity:0;cursor:pointer;
  font-size:var(--fs-16);
}
.cheer-viewall-btn{flex-shrink:0}
