﻿/* â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€
   PRINT / PDF STYLES
â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
@media print {
  * { -webkit-print-color-adjust: exact; print-color-adjust: exact }
  html, body { background: #ffffff !important; color: #111111 !important }
  body > * { display: none !important }
  body > #print-sheet { display: block !important }
  #print-sheet {
    display: block !important;
    position: static !important;
    visibility: visible !important;
    opacity: 1 !important;
    width: 100% !important;
    padding: 0 !important;
    background: #ffffff !important;
  }
  @page {
    size: A4 portrait;
    margin: 14mm 16mm 14mm 16mm;
  }
}

/* â”€â”€ Print sheet â€” hidden on screen â”€â”€ */
#print-sheet {
  display: none;
  font-family: 'Sarabun', 'DM Sans', Arial, Helvetica, sans-serif;
  font-size: 9.5pt;
  line-height: 1.55;
  color: #111111;
  background: #ffffff;
  padding: 36px 40px;
  box-sizing: border-box;
}

/* â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€
   HEADER
â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.ps-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  padding-bottom: 14px;
  border-bottom: 2px solid #111111;
  margin-bottom: 20px;
}
.ps-brand {
  font-family: 'Bebas Neue', Impact, 'Arial Black', sans-serif;
  font-size: 22pt;
  letter-spacing: .1em;
  color: #111111;
  line-height: 1;
}
.ps-brand-sub {
  font-size: 7pt;
  color: #999999;
  letter-spacing: .12em;
  text-transform: uppercase;
  margin-top: 3px;
}
.ps-title-block {
  text-align: right;
}
.ps-race-title {
  font-family: 'Bebas Neue', Impact, sans-serif;
  font-size: 18pt;
  letter-spacing: .05em;
  color: #111111;
  line-height: 1.1;
}
.ps-race-title em { font-style: normal }
.ps-meta {
  font-size: 8pt;
  color: #777777;
  margin-top: 4px;
  letter-spacing: .03em;
  line-height: 1.6;
}

/* â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€
   KPI BAR
â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.ps-kpi {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  border: 1px solid #cccccc;
  border-radius: 4px;
  overflow: hidden;
  margin-bottom: 22px;
}
.ps-kpi-item {
  padding: 10px 14px;
  border-right: 1px solid #cccccc;
}
.ps-kpi-item:last-child { border-right: none }
.ps-kpi-label {
  font-size: 6.5pt;
  color: #999999;
  letter-spacing: .14em;
  text-transform: uppercase;
  margin-bottom: 3px;
}
.ps-kpi-val {
  font-family: 'Bebas Neue', Impact, 'Arial Black', sans-serif;
  font-size: 24pt;
  color: #111111;
  line-height: 1;
  letter-spacing: .02em;
}
.ps-kpi-unit {
  font-size: 6.5pt;
  color: #aaaaaa;
  margin-top: 2px;
  letter-spacing: .06em;
}

/* â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€
   SECTION LABEL
â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.ps-section-lbl {
  font-size: 6.5pt;
  font-weight: 700;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: #999999;
  margin-bottom: 10px;
}
.ps-section {
  margin-bottom: 26px;
}

/* â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€
   ALERTS
â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.ps-alerts {
  margin-bottom: 20px;
  padding: 10px 14px;
  border: 1px solid #cccccc;
  border-radius: 4px;
  background: #f9f9f9;
}
.ps-alerts .al-row {
  font-size: 8.5pt;
  color: #333333;
  line-height: 1.6;
  padding: 3px 0;
}
.ps-alerts .al-row b { color: #111111 }

/* â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€
   STRATEGY â€” 3 COLUMNS
â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.ps-phases {
  display: grid;
  grid-template-columns: 1fr 2fr 1fr;
  border: 1px solid #cccccc;
  border-radius: 4px;
  overflow: hidden;
}
.ps-phase {
  border-right: 1px solid #cccccc;
  page-break-inside: avoid;
}
.ps-phase:last-child { border-right: none }
.ps-phase-head {
  font-size: 7.5pt;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: #ffffff;
  background: #222222;
  padding: 7px 12px;
}
.ps-strat-row {
  padding: 8px 12px;
  border-bottom: 1px solid #f0f0f0;
}
.ps-strat-row:last-child { border-bottom: none }
.ps-strat-head {
  font-size: 8.5pt;
  font-weight: 700;
  color: #111111;
  margin-bottom: 2px;
}
.ps-strat-body {
  font-size: 8pt;
  color: #555555;
  line-height: 1.5;
}

/* â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€
   FUELING TIMELINE â€” LINEAR TABLE
â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.ps-tl-table {
  width: 100%;
  border-collapse: collapse;
  border: 1px solid #cccccc;
  border-radius: 4px;
  overflow: hidden;
  font-size: 8.5pt;
}

/* Phase header row (BEFORE RACE DAY / RACE DAY / RECOVERY) */
.ps-tl-phase td {
  background: #222222;
  color: #ffffff;
  font-size: 7.5pt;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  padding: 6px 12px;
}

/* Sport segment row (SWIM / BIKE / RUN â€” triathlon only) */
.ps-tl-seg td {
  background: #f2f2f2;
  color: #444444;
  font-size: 7pt;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  padding: 4px 12px;
  border-bottom: 1px solid #e0e0e0;
}

/* Milestone row (START / FINISH / T1 / T2) */
.ps-tl-mile .ps-tl-time {
  font-weight: 700;
  color: #111111;
}
.ps-tl-mile .ps-tl-name {
  font-size: 9.5pt;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: #111111;
}

/* Normal event row */
.ps-tl-table tr { border-bottom: 1px solid #f0f0f0 }
.ps-tl-table tr:last-child { border-bottom: none }

.ps-tl-time {
  padding: 5px 6px 5px 12px;
  color: #888888;
  font-family: 'DM Mono', 'Courier New', monospace;
  font-size: 7.5pt;
  white-space: nowrap;
  vertical-align: middle;
  width: 48px;
}
.ps-tl-name {
  padding: 5px 8px;
  color: #111111;
  font-size: 8.5pt;
  font-weight: 500;
  vertical-align: middle;
}
.ps-tl-note {
  padding: 5px 12px 5px 4px;
  color: #888888;
  font-size: 7.5pt;
  text-align: right;
  vertical-align: middle;
  white-space: nowrap;
}

/* â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€
   NUMBERS â€” 2 COLUMNS
â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.ps-nums {
  display: grid;
  grid-template-columns: 1fr 1fr;
  border: 1px solid #cccccc;
  border-radius: 4px;
  overflow: hidden;
}
.ps-num-group {
  border-right: 1px solid #cccccc;
}
.ps-num-group:last-child { border-right: none }
.ps-num-head {
  font-size: 7.5pt;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: #ffffff;
  background: #222222;
  padding: 7px 14px;
}
.ps-num-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 9pt;
}
.ps-num-table tr { border-bottom: 1px solid #f0f0f0 }
.ps-num-table tr:last-child { border-bottom: none }
.ps-num-label {
  padding: 7px 10px 7px 14px;
  color: #555555;
}
.ps-num-value {
  padding: 7px 14px 7px 8px;
  text-align: right;
  font-weight: 600;
  color: #111111;
  white-space: nowrap;
}
.ps-num-value.hi {
  font-weight: 700;
  color: #111111;
}

/* â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€
   ELEVATION PROFILE
â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.ps-elev {
  width: 100%;
  overflow: hidden;
  border: 1px solid #cccccc;
  border-radius: 4px;
  background: #f8f8f8;
  padding: 8px 6px;
  box-sizing: border-box;
}
.ps-elev svg {
  display: block;
  width: 100% !important;
  height: auto !important;
}

/* â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€
   DISCLAIMER
â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.ps-disclaimer {
  margin-top: 18px;
  padding-top: 10px;
  border-top: 1px solid #e0e0e0;
  font-size: 7.5pt;
  color: #aaaaaa;
  font-style: italic;
  line-height: 1.55;
}

/* â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€
   FOOTER
â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.ps-footer {
  margin-top: 14px;
  padding-top: 8px;
  border-top: 1px solid #dddddd;
  display: flex;
  justify-content: space-between;
  font-size: 7pt;
  color: #bbbbbb;
  letter-spacing: .06em;
  text-transform: uppercase;
}

