.timing-coach { grid-column: 1 / -1; border-top: 1px solid var(--line); padding-top: 24px; font: 15px/1.5 -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
.timing-coach h3 { margin: 0; font-size: 24px; font-weight: 650; letter-spacing: -.03em; }
.timing-coach h4 { margin: 24px 0 12px; font-size: 15px; font-weight: 600; }
.timing-coach p { color: var(--muted); max-width: 780px; }
.timing-coach-table { width: 100%; border-collapse: collapse; font-variant-numeric: tabular-nums; }
.timing-coach-table caption { text-align: left; color: var(--muted); padding: 6px 0 12px; font-size: 13px; }
.timing-coach-table th, .timing-coach-table td { padding: 11px 14px; border-bottom: 1px solid var(--line); text-align: right; }
.timing-coach-table th:first-child { text-align: left; padding-left: 0; }
.timing-coach-table th { font-weight: 500; }
.timing-coach-table thead th { font-size: 12px; color: var(--muted); }
.timing-coach-table td { color: var(--paper); }
.timing-coach-sections { display: grid; grid-template-columns: 1fr 1fr; gap: 10px 32px; padding: 0; list-style: none; }
.timing-coach-sections li { display: grid; grid-template-columns: 76px 1fr 54px; align-items: center; gap: 14px; font-size: 13px; }
.timing-coach-sections strong { text-align: right; font-weight: 500; font-variant-numeric: tabular-nums; }
.timing-coach-sections meter { width: 100%; height: 7px; background: #30252d; border: none; border-radius: 0; }
.timing-coach-sections meter::-webkit-meter-bar { background: #30252d; border: none; border-radius: 0; }
.timing-coach-sections meter::-webkit-meter-optimum-value { background: var(--pink); }
.timing-coach-sections meter::-moz-meter-bar { background: var(--pink); }
.timing-coach button { min-height: 44px; font-size: 15px; }
.result-screen { overflow-y: auto; touch-action: pan-y; overscroll-behavior: contain; align-content: start; grid-template-rows: auto; grid-template-columns: minmax(90px, .2fr) minmax(0, 1fr); gap: 24px 38px; }
.result-grade { grid-column: 1; grid-row: 1; }
.result-grade strong { font-size: 96px; }
.result-main { grid-column: 2; grid-row: 1; }
.result-main h2 { font-size: clamp(40px, 5vw, 64px); margin: 10px 0 12px; }
.result-stats { grid-column: 1 / -1; grid-row: 3; grid-template-columns: repeat(8, minmax(0, 1fr)); gap: 12px; }
.result-stats div { padding: 8px 0; }
.result-stats small { font-size: 11px; }
.result-stats strong { font-size: 16px; }
.result-actions { grid-column: 1 / -1; grid-row: 4; flex-wrap: wrap; }
.timing-coach { grid-row: 5; }
#activities-results { grid-column: 1 / -1; grid-row: 2; }
@media (max-width: 900px) {
  .result-screen { grid-template-columns: minmax(64px, .25fr) minmax(0, 1fr); gap: 24px 18px; padding: 105px 24px 42px; }
  .result-grade strong { font-size: 80px; }
  .result-main h2 { font-size: 42px; }
  .result-stats { grid-column: 1 / -1; grid-row: 3; grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .result-actions { grid-row: 4; }
  .timing-coach { grid-row: 5; }
  #activities-results { grid-row: 2; }
  .timing-coach-sections { grid-template-columns: 1fr; }
  .timing-coach-table th, .timing-coach-table td { padding: 10px 7px; }
  .timing-coach-table thead th { font-size: 11px; }
}
