/* ===========================================================
   intel.css — NBA 情報中心專用樣式
   =========================================================== */

/* ---------- 1. Schedule ---------- */
.schedule-list {
  display: flex; flex-direction: column;
  gap: 10px;
  margin-bottom: 24px;
}
.sch-row {
  display: grid;
  grid-template-columns: 130px 1fr 160px 1.6fr;
  gap: 18px;
  align-items: center;
  padding: 14px 18px;
  background: var(--bg-1);
  border: 1px solid var(--line);
  font-size: var(--t-sm);
}
.sch-row.key {
  border-color: var(--accent);
  border-left: 3px solid var(--accent);
  background: linear-gradient(90deg, var(--accent-bg) 0%, var(--bg-1) 60%);
}
.sch-stage .stage-tag {
  font-family: var(--f-mono);
  font-size: var(--t-xs);
  color: var(--accent);
  letter-spacing: 0.1em;
  font-weight: 600;
  margin-bottom: 4px;
}
.sch-date {
  font-family: var(--f-mono);
  font-size: 11px;
  color: var(--fg-2);
}
.sch-teams {
  display: flex; align-items: baseline; gap: 8px;
  font-family: var(--f-serif);
  font-size: var(--t-md);
  font-weight: 500;
  color: var(--fg);
  flex-wrap: wrap;
}
.sch-at {
  color: var(--fg-3);
  font-family: var(--f-mono);
  font-size: 11px;
  margin: 0 4px;
}
.sch-home { color: var(--accent); }
.sch-venue {
  font-family: var(--f-mono);
  font-size: var(--t-xs);
  color: var(--fg-2);
  margin-top: 4px;
  letter-spacing: 0.04em;
}
.sch-time {
  font-family: var(--f-mono);
  font-size: 11px;
  display: flex; flex-direction: column;
  gap: 2px;
}
.sch-time .t-et { color: var(--fg); }
.sch-time .t-tw { color: var(--fg-2); }
.sch-time .t-bc { color: var(--accent); font-size: 10px; }
.sch-note {
  font-size: var(--t-xs);
  color: var(--fg-2);
  line-height: 1.55;
  border-left: 2px solid var(--accent-dim);
  padding-left: 12px;
}
@media (max-width: 900px) {
  .sch-row { grid-template-columns: 1fr; gap: 10px; padding: 14px 16px; }
  .sch-note { border-left: none; border-top: 1px dashed var(--line); padding: 8px 0 0; }
}

/* ---------- 2. Injuries ---------- */
.injuries-list {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
  margin-bottom: 24px;
}
@media (max-width: 900px) { .injuries-list { grid-template-columns: 1fr; } }
.inj-team {
  background: var(--bg-1);
  border: 1px solid var(--line);
  padding: 16px 18px;
}
.inj-team-head {
  display: flex; justify-content: space-between; align-items: baseline;
  padding-bottom: 10px;
  margin-bottom: 12px;
  border-bottom: 1px solid var(--line);
}
.inj-team-head .nm {
  font-family: var(--f-serif);
  font-size: var(--t-md);
  font-weight: 600;
  color: var(--fg);
}
.inj-team-head .count {
  font-family: var(--f-mono);
  font-size: var(--t-xxs);
  color: var(--fg-3);
  letter-spacing: 0.08em;
}
.inj-players { display: flex; flex-direction: column; gap: 12px; }
.inj-player {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 10px 14px;
  padding: 10px 12px;
  background: var(--bg-2);
  border: 1px solid var(--line);
}
.ip-name {
  font-family: var(--f-serif);
  font-size: var(--t-sm);
  color: var(--fg);
  font-weight: 600;
  display: block;
}
.ip-injury {
  font-family: var(--f-mono);
  font-size: var(--t-xxs);
  color: var(--fg-2);
  letter-spacing: 0.04em;
  display: block;
  margin-top: 2px;
}
.ip-right {
  display: flex; flex-direction: column;
  gap: 4px; align-items: flex-end;
  font-family: var(--f-mono);
  font-size: 10px;
}
.ip-status {
  padding: 2px 7px;
  border: 1px solid;
  letter-spacing: 0.06em;
  font-weight: 600;
}
.ip-status.status-out          { color: var(--down); border-color: rgba(194,84,80,0.5); background: rgba(194,84,80,0.10); }
.ip-status.status-questionable { color: var(--warn); border-color: rgba(201,154,61,0.5); background: rgba(201,154,61,0.10); }
.ip-status.status-probable     { color: var(--info); border-color: rgba(90,141,184,0.5); background: rgba(90,141,184,0.10); }
.ip-status.status-active       { color: var(--up); border-color: rgba(74,157,109,0.5); background: rgba(74,157,109,0.10); }
.ip-status.status-clean        { color: var(--up); border-color: rgba(74,157,109,0.5); background: rgba(74,157,109,0.10); }
.ip-impact { color: var(--fg-2); letter-spacing: 0.04em; }
.ip-impact.impact-high { color: var(--down); }
.ip-impact.impact-mid  { color: var(--warn); }
.ip-impact.impact-low  { color: var(--up); }
.ip-impact.impact-none { color: var(--fg-3); }
.ip-note {
  grid-column: 1 / -1;
  font-size: var(--t-xs);
  color: var(--fg-2);
  line-height: 1.55;
  padding-top: 8px;
  border-top: 1px dashed var(--line);
}

/* ---------- 3. Player Form ---------- */
.form-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  margin-bottom: 24px;
}
@media (max-width: 900px) { .form-grid { grid-template-columns: 1fr; } }
.form-col { display: flex; flex-direction: column; gap: 10px; }
.form-title {
  font-family: var(--f-serif);
  font-size: var(--t-lg);
  margin: 0 0 4px;
  font-weight: 600;
  display: flex; align-items: center; gap: 8px;
  padding-bottom: 10px;
  border-bottom: 1px solid var(--line);
}
.form-title.hot  { color: #ff8b61; }
.form-title.cold { color: var(--info); }
.form-row {
  display: grid;
  grid-template-columns: 36px 1fr;
  gap: 12px;
  padding: 12px 14px;
  background: var(--bg-1);
  border: 1px solid var(--line);
}
.form-row.hot  { border-left: 3px solid #ff8b61; }
.form-row.cold { border-left: 3px solid var(--info); }
.form-flame {
  font-size: 22px;
  text-align: center;
  line-height: 1;
  padding-top: 4px;
}
.form-row.cold .form-flame { color: var(--info); }
.form-name {
  font-family: var(--f-serif);
  font-size: var(--t-md);
  font-weight: 600;
  color: var(--fg);
}
.form-team {
  font-family: var(--f-mono);
  font-size: var(--t-xxs);
  color: var(--fg-2);
  letter-spacing: 0.06em;
  margin-left: 6px;
  font-weight: 400;
}
.form-stat {
  font-family: var(--f-mono);
  font-size: var(--t-sm);
  color: var(--accent);
  margin: 4px 0;
  letter-spacing: 0.04em;
}
.form-row.cold .form-stat { color: var(--info); }
.form-note {
  font-size: var(--t-xs);
  color: var(--fg-2);
  line-height: 1.6;
}

/* ---------- 4. Season Records ---------- */
.records-scroll {
  overflow-x: auto; -webkit-overflow-scrolling: touch;
  margin-bottom: 24px;
}
.records-tbl {
  width: 100%;
  border-collapse: collapse;
  font-size: var(--t-sm);
  min-width: 600px;
}
.records-tbl th {
  text-align: left;
  font-family: var(--f-mono);
  font-size: var(--t-xs);
  color: var(--fg-2);
  letter-spacing: 0.08em;
  padding: 12px 16px;
  border-bottom: 1px solid var(--line);
  font-weight: 500;
  background: var(--bg-2);
}
.records-tbl th.num { text-align: right; }
.records-tbl td {
  padding: 14px 16px;
  border-bottom: 1px solid var(--line);
  vertical-align: middle;
}
.records-tbl td.num { text-align: right; font-family: var(--f-mono); font-variant-numeric: tabular-nums; font-weight: 600; }
.records-tbl td.num.accent { color: var(--accent); }
.records-tbl .rec-team {
  font-family: var(--f-serif);
  font-size: var(--t-md);
  font-weight: 600;
  display: flex; align-items: center; gap: 12px;
}
.records-tbl .seed {
  font-family: var(--f-mono);
  font-size: 10px;
  padding: 3px 8px;
  letter-spacing: 0.06em;
  border: 1px solid;
}
.records-tbl .seed.conf-west { color: var(--accent); border-color: var(--accent-dim); background: var(--accent-bg); }
.records-tbl .seed.conf-east { color: var(--info);   border-color: rgba(90,141,184,0.5); background: rgba(90,141,184,0.10); }
.records-tbl .rec-note { color: var(--fg-2); font-size: var(--t-xs); line-height: 1.55; }

/* ---------- 5. Trades ---------- */
.trades-list {
  display: flex; flex-direction: column;
  gap: 10px;
  margin-bottom: 24px;
}
.trade-row {
  display: grid;
  grid-template-columns: 130px 1fr;
  gap: 18px;
  padding: 16px 18px;
  background: var(--bg-1);
  border: 1px solid var(--line);
  border-left: 2px solid var(--accent-dim);
  position: relative;
}
.tr-date {
  font-family: var(--f-mono);
  font-size: var(--t-xs);
  color: var(--fg-2);
  letter-spacing: 0.04em;
  padding-top: 2px;
}
.tr-head {
  display: flex; align-items: center; gap: 10px; flex-wrap: wrap;
  margin-bottom: 6px;
}
.tr-action {
  font-family: var(--f-mono);
  font-size: 10px;
  color: var(--accent);
  letter-spacing: 0.1em;
  padding: 2px 8px;
  background: var(--accent-bg);
  border: 1px solid var(--accent-dim);
}
.tr-teams {
  font-family: var(--f-mono);
  font-size: var(--t-sm);
  color: var(--fg-1);
  letter-spacing: 0.02em;
}
.tr-impact {
  margin-left: auto;
  font-family: var(--f-mono);
  font-size: 10px;
  letter-spacing: 0.08em;
  padding: 2px 7px;
  border: 1px solid;
}
.tr-impact.impact-high { color: var(--down); border-color: rgba(194,84,80,0.5); background: rgba(194,84,80,0.10); }
.tr-impact.impact-mid  { color: var(--warn); border-color: rgba(201,154,61,0.5); background: rgba(201,154,61,0.10); }
.tr-impact.impact-low  { color: var(--fg-2); border-color: var(--line-2); }
.tr-impact.impact-none { color: var(--fg-3); border-color: var(--line-2); }
.tr-player {
  font-family: var(--f-serif);
  font-size: var(--t-lg);
  font-weight: 600;
  color: var(--accent);
  margin-bottom: 4px;
}
.tr-note {
  font-size: var(--t-xs);
  color: var(--fg-2);
  line-height: 1.6;
}
@media (max-width: 700px) {
  .trade-row { grid-template-columns: 1fr; gap: 8px; }
  .tr-head { gap: 6px; }
  .tr-impact { margin-left: 0; }
}

/* ---------- 6. Chemistry ---------- */
.chemistry-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
  margin-bottom: 24px;
}
@media (max-width: 800px) { .chemistry-grid { grid-template-columns: 1fr; } }
.chem-card {
  padding: 18px 20px;
  background: var(--bg-1);
  border: 1px solid var(--line);
  border-top: 3px solid var(--line-2);
}
.chem-card.grade-5 { border-top-color: var(--up); }
.chem-card.grade-4 { border-top-color: var(--accent); }
.chem-card.grade-3 { border-top-color: var(--warn); }
.chem-card.grade-2 { border-top-color: var(--down); }
.chem-card.grade-1 { border-top-color: var(--down); opacity: 0.8; }
.chem-head {
  display: flex; justify-content: space-between; align-items: baseline;
  margin-bottom: 8px;
}
.chem-team {
  font-family: var(--f-serif);
  font-size: var(--t-lg);
  font-weight: 600;
  color: var(--fg);
}
.chem-level {
  font-family: var(--f-mono);
  font-size: var(--t-xs);
  letter-spacing: 0.06em;
}
.chem-card.grade-5 .chem-level { color: var(--up); }
.chem-card.grade-4 .chem-level { color: var(--accent); }
.chem-card.grade-3 .chem-level { color: var(--warn); }
.chem-card.grade-2 .chem-level,
.chem-card.grade-1 .chem-level { color: var(--down); }
.chem-grade {
  font-family: var(--f-mono);
  font-size: 14px;
  letter-spacing: 4px;
  color: var(--accent);
  margin-bottom: 12px;
  padding-bottom: 12px;
  border-bottom: 1px dashed var(--line);
}
.chem-card.grade-5 .chem-grade { color: var(--up); }
.chem-card.grade-4 .chem-grade { color: var(--accent); }
.chem-card.grade-3 .chem-grade { color: var(--warn); }
.chem-card.grade-2 .chem-grade,
.chem-card.grade-1 .chem-grade { color: var(--down); }
.chem-summary {
  font-size: var(--t-sm);
  color: var(--fg-1);
  line-height: 1.75;
}

/* ---------- Print: simplify for sharing/printing ---------- */
@media print {
  .schedule-list, .injuries-list, .trades-list,
  .chemistry-grid, .form-grid, .records-scroll {
    page-break-inside: auto;
  }
  .sch-row, .inj-team, .form-row, .trade-row, .chem-card {
    background: #fff !important;
    color: #000 !important;
    border: 1px solid #ccc !important;
    page-break-inside: avoid;
    margin-bottom: 6px !important;
  }
  .stage-tag, .tr-action, .ip-status, .seed { background: #fff !important; }
  .records-tbl th { background: #efebe0 !important; color: #333 !important; }
  .form-name, .chem-team, .tr-player, .rec-team { color: #000 !important; }
  .form-stat, .accent, .accent-c { color: #a68238 !important; }
}


/* ============================================================
   Mobile: keep schedule + trades horizontal layout
   instead of collapsing to vertical stack
   ============================================================ */
@media (max-width: 760px) {
  /* Schedule — h-scroll instead of vertical stack */
  .schedule-list {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    touch-action: pan-x pan-y;
    margin: 0 -16px;
    padding: 0 16px 6px;
  }
  .sch-row {
    grid-template-columns: 110px 200px 130px 250px !important;
    min-width: 720px;
    gap: 14px !important;
  }
  .sch-row .sch-note {
    border-left: 2px solid var(--accent-dim) !important;
    border-top: none !important;
    padding: 0 0 0 12px !important;
  }

  /* Trades — keep date column + body horizontal */
  .trade-row {
    grid-template-columns: 100px 1fr !important;
    gap: 12px !important;
    padding: 14px 16px !important;
  }
  .tr-head { gap: 6px; }
  .tr-impact { margin-left: 0; flex-shrink: 0; }

  /* Records table — wider min, keep h-scroll */
  .records-tbl { min-width: 560px !important; }

  /* Injury players — denser cards */
  .inj-player {
    grid-template-columns: 1fr auto;
    padding: 10px 12px;
  }
  .ip-note { font-size: 11px; line-height: 1.5; }

  /* Chemistry — keep 2-col where possible on phones */
  .chemistry-grid { grid-template-columns: 1fr !important; }
}
