/* =====================================================
   職業棋戰（pro.html）
   直播標示用朱印色（--hanko）：直播是這頁唯一要跳出來的資訊，
   其餘維持墨色與細線；「今天」用縹藍（--sat）標，不用木色。
   ===================================================== */

.pro-wrap { padding-top: clamp(1.75rem, 4vw, 2.5rem); padding-bottom: clamp(3rem, 6vw, 5rem); }

.pro-live-tile .head-tile-title { gap: 0.55rem; }

/* ---------- 下一個比賽日 ---------- */
.pro-next {
  border: 1px solid var(--line-strong);
  background: var(--paper-warm);
  padding: clamp(1.1rem, 3vw, 1.6rem) clamp(1.1rem, 3vw, 1.8rem);
  margin-bottom: clamp(1.5rem, 4vw, 2.25rem);
}
.pro-next:empty { display: none; }
.pro-next-head {
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 0.4rem 1rem;
  padding-bottom: 0.9rem;
  margin-bottom: 0.4rem;
  border-bottom: 1px solid var(--line);
}
.pro-next-label {
  font-size: 0.78rem;
  letter-spacing: 0.2em;
  color: var(--ink-mid);
}
.pro-next-date { font-family: var(--f-mincho); font-size: 1.05rem; color: var(--ink-soft); }
.pro-next-date b {
  font-family: var(--f-latin);
  font-size: 2rem;
  font-weight: 500;
  color: var(--ink);
  margin-right: 0.35rem;
  letter-spacing: 0.02em;
}
.pro-next-when {
  margin-left: 0.6rem;
  font-family: var(--f-sans);
  font-size: 0.75rem;
  padding: 0.12rem 0.5rem;
  color: var(--on-accent);
  background: var(--sat-deep);
  vertical-align: 0.2em;
  letter-spacing: 0.08em;
}
.pro-next-games { display: grid; gap: 0; }
.pro-next-item { padding: 0.85rem 0; }
.pro-next-item + .pro-next-item { border-top: 1px dashed var(--line); }
.pro-next-meta { display: inline-flex; align-items: center; gap: 0.6rem; margin-left: auto; }

/* ---------- 篩選 ---------- */
.pro-bar { margin-bottom: 0.5rem; }
.pro-chips { display: flex; flex-wrap: wrap; gap: 0.4rem; }

/* ---------- 日程列 ---------- */
.pro-month {
  display: flex;
  align-items: baseline;
  gap: 0.7rem;
  margin: 1.9rem 0 0.2rem;
  padding-bottom: 0.45rem;
  border-bottom: 1px solid var(--ink);
  font-family: var(--f-mincho);
  font-size: 1.15rem;
  font-weight: 600;
  letter-spacing: 0.1em;
}
.pro-month .latin { font-family: var(--f-latin); font-style: italic; font-weight: 400; font-size: 0.9rem; color: var(--ink-light); }

.pro-row {
  display: grid;
  grid-template-columns: 4.6rem 1fr auto;
  gap: 0.4rem 1.25rem;
  padding: 1rem 0;
  border-bottom: 1px solid var(--line);
}
.pro-row.is-today { box-shadow: inset 3px 0 0 var(--sat-deep); padding-left: 0.75rem; }
/* 從首頁月曆點過來的那一天 */
.pro-row.is-target { background: var(--violet-wash); scroll-margin-top: 6rem; }

.pro-date { display: flex; flex-direction: column; gap: 0.1rem; }
.pro-md { font-family: var(--f-latin); font-size: 1.45rem; line-height: 1.1; color: var(--ink); }
.pro-wd { font-size: 0.75rem; color: var(--ink-mid); letter-spacing: 0.1em; }
.pro-when { font-size: 0.7rem; color: var(--sat-deep); letter-spacing: 0.05em; margin-top: 0.15rem; }

.pro-title { display: flex; flex-wrap: wrap; align-items: baseline; gap: 0.2rem 0.7rem; }
.pro-series-name { font-family: var(--f-mincho); font-size: 1.05rem; font-weight: 600; letter-spacing: 0.05em; color: var(--ink); }
.pro-stage { font-size: 0.9rem; color: var(--ink-soft); }

.pro-games { margin-top: 0.55rem; font-size: 0.9rem; }

.pro-note { margin: 0.45rem 0 0; font-size: 0.8rem; line-height: 1.7; color: var(--ink-mid); }
/* 預賽「其餘 N 局」：展開的是同一張 .res-grid 裡藏起來的列 */
.pro-more-btn {
  margin-top: 0.4rem;
  padding: 0;
  border: 0;
  background: none;
  font: inherit;
  font-size: 0.8rem;
  color: var(--ink-mid);
  cursor: pointer;
}
.pro-more-btn::before { content: '＋ '; }
.pro-more-btn[aria-expanded="true"]::before { content: '－ '; }
.pro-more-btn:hover { color: var(--ink); }

.pro-side { display: flex; flex-direction: column; align-items: flex-end; gap: 0.35rem; text-align: right; }
.pro-time { font-family: var(--f-latin); font-size: 1.05rem; color: var(--ink-soft); white-space: nowrap; }
.pro-src { font-size: 0.72rem; color: var(--ink-mid); text-decoration: underline; text-underline-offset: 3px; }
.pro-src:hover { color: var(--ink); }


.pro-list--past .pro-row { opacity: 0.72; }

.pro-past-toggle-wrap { margin-top: 1.25rem; }
.pro-past-toggle {
  font: inherit;
  font-size: 0.85rem;
  color: var(--ink-soft);
  background: none;
  border: 1px solid var(--line-strong);
  padding: 0.5rem 1rem;
  cursor: pointer;
  letter-spacing: 0.06em;
}
.pro-past-toggle:hover { border-color: var(--ink); color: var(--ink); }

.pro-empty, .pro-loading { color: var(--ink-mid); font-size: 0.9rem; padding: 1.5rem 0; }

/* ---------- 進行中的棋戰 ---------- */
.pro-series-wrap { margin-top: clamp(2.5rem, 6vw, 4rem); }
.pro-h2 {
  font-size: 1.35rem;
  font-weight: 500;
  letter-spacing: 0.08em;
  margin-bottom: 1rem;
}
.pro-h2 .latin { font-family: var(--f-latin); font-style: italic; font-size: 0.95rem; color: var(--ink-light); margin-left: 0.4rem; }

.pro-series { display: grid; grid-template-columns: repeat(auto-fill, minmax(17rem, 1fr)); gap: 1rem; }
.pro-card {
  display: flex;
  flex-direction: column;
  border: 1px solid var(--line-strong);
  background: var(--paper);
  padding: 1.1rem 1.2rem 1rem;
}
.pro-card-head { display: flex; align-items: baseline; justify-content: space-between; gap: 0.5rem; padding-bottom: 0.7rem; border-bottom: 1px solid var(--line); }
.pro-card-head h3 { font-family: var(--f-mincho); font-size: 1.15rem; font-weight: 600; letter-spacing: 0.06em; }
.pro-card-ed { font-size: 0.75rem; color: var(--ink-mid); white-space: nowrap; }
.pro-card dl { margin: 0.6rem 0 0.9rem; display: grid; gap: 0.5rem; flex: 1; }
.pro-card dl > div { display: grid; grid-template-columns: 4.2rem 1fr; gap: 0.5rem; font-size: 0.85rem; line-height: 1.6; }
.pro-card dt { color: var(--ink-mid); letter-spacing: 0.1em; }
.pro-card dd { margin: 0; color: var(--ink-soft); }
.pro-card-sub { margin-left: 0.45rem; font-size: 0.75rem; color: var(--ink-mid); }
.pro-card-links { display: flex; gap: 1.2rem; font-size: 0.8rem; }
.pro-card-links a { color: var(--ink-soft); text-decoration: underline; text-underline-offset: 3px; }
.pro-card-links a:hover { color: var(--ink); }

.pro-source { margin-top: 2.5rem; font-size: 0.78rem; line-height: 1.8; color: var(--ink-mid); }
.pro-source a { color: inherit; text-decoration: underline; text-underline-offset: 3px; }

/* ---------- 手機 ---------- */
@media (max-width: 640px) {
  .pro-row { grid-template-columns: 3.6rem 1fr; }
  .pro-date { grid-row: span 2; }   /* 日期欄三行比標題高，不跨兩列的話時間列會被推出空白 */
  .pro-side { grid-column: 2; flex-direction: row; align-items: center; justify-content: flex-start; flex-wrap: wrap; gap: 0.6rem; }
  .pro-md { font-size: 1.25rem; }
  .pro-next-meta { margin-left: 0; width: 100%; }
}

/* 今年已賽完的棋戰：淡色虛線，排在後面 */
.pro-chips .chip.is-ended:not(.is-active) { border-style: dashed; color: var(--ink-light); }
