/* Fitness & performance: one graph-led analytics tile. */
.fitness-performance-section{
  position:relative;
  display:grid;
  gap:18px;
  margin-top:58px;
  padding:clamp(22px,3vw,34px);
  overflow:hidden;
  border:1px solid color-mix(in srgb,var(--line) 62%,transparent);
  border-radius:24px;
  background:
    radial-gradient(ellipse at 14% 0,color-mix(in srgb,var(--green) 10%,transparent),transparent 42%),
    linear-gradient(145deg,var(--card),color-mix(in srgb,var(--card) 94%,var(--green-soft)));
  box-shadow:0 20px 52px color-mix(in srgb,#000 11%,transparent);
}
.fitness-performance-section::before{content:"";position:absolute;inset:0 0 auto;height:2px;background:linear-gradient(90deg,var(--green),color-mix(in srgb,var(--green) 14%,transparent) 65%,transparent);pointer-events:none}
.fitness-performance-section>*{position:relative;min-width:0}
.fitness-tile-header{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-bottom:3px}
.fitness-tile-header>div{display:flex;align-items:center;gap:11px;min-width:0}
.fitness-tile-header h2{margin:0;font-size:clamp(1.65rem,3vw,2.15rem);letter-spacing:-.035em}
.fitness-tile-header p{margin:2px 0 0;color:var(--muted);font-size:13px}
.fitness-tile-header .info-disclosure{flex:0 0 auto}

.fitness-snapshot{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;border:1px solid color-mix(in srgb,var(--line) 58%,transparent);border-radius:16px;background:color-mix(in srgb,var(--card) 64%,transparent)}
.fitness-snapshot article{position:relative;min-width:0;padding:16px 18px;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important}
.fitness-snapshot article+article::before{content:"";position:absolute;left:0;top:14px;bottom:14px;width:1px;background:color-mix(in srgb,var(--line) 58%,transparent)}
.fitness-snapshot span{display:block;color:var(--muted);font-size:9px;font-weight:850;letter-spacing:.085em;text-transform:uppercase}
.fitness-snapshot strong{display:block;margin-top:7px;color:var(--ink);font-size:clamp(1.15rem,2vw,1.55rem);line-height:1.12;overflow-wrap:anywhere}
.fitness-snapshot article:first-child strong{color:var(--green)}
.fitness-snapshot article:nth-child(2) strong{color:color-mix(in srgb,var(--green) 76%,var(--ink))}
.fitness-snapshot article:last-child strong{font-size:clamp(.95rem,1.55vw,1.18rem);line-height:1.25}
.fitness-snapshot small{display:block;margin-top:5px;color:var(--muted);font-size:10px;line-height:1.35}

.fitness-trajectory-card{padding:clamp(17px,2.4vw,25px);overflow:hidden;border:1px solid color-mix(in srgb,var(--line) 53%,transparent);border-radius:18px;background:color-mix(in srgb,var(--card) 72%,transparent)}
.fitness-chart-title{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:8px}
.fitness-chart-title .eyebrow,.fitness-support-card>.eyebrow{display:block;margin-bottom:4px;color:var(--green);font-size:9px;font-weight:850;letter-spacing:.11em;text-transform:uppercase}
.fitness-chart-title h3{margin:0;font-size:clamp(1.05rem,2vw,1.35rem)}
.fitness-chart-title p{margin:4px 0 0;color:var(--muted);font-size:11px;line-height:1.45}
.compact-fitness-key{max-width:455px;padding-top:2px}
.compact-fitness-key span{white-space:nowrap}
.season-trajectory-chart{width:100%;min-height:0;overflow:hidden}
.season-trajectory-chart svg{display:block;width:100%;height:auto;min-width:0;overflow:visible}
.fitness-chart-tooltip{position:absolute;z-index:4;min-width:142px;max-width:220px;padding:9px 11px;border:1px solid color-mix(in srgb,var(--line) 72%,transparent);border-radius:10px;background:color-mix(in srgb,var(--card) 94%,transparent);box-shadow:0 10px 30px color-mix(in srgb,#000 24%,transparent);pointer-events:none;transform:translate(-50%,calc(-100% - 10px));backdrop-filter:blur(10px)}
.fitness-chart-tooltip[hidden]{display:none}.fitness-chart-tooltip b,.fitness-chart-tooltip span,.fitness-chart-tooltip small{display:block}.fitness-chart-tooltip b{font-size:11px}.fitness-chart-tooltip span{margin-top:3px;color:var(--green);font-size:10px;font-weight:800}.fitness-chart-tooltip small{margin-top:2px;color:var(--muted);font-size:8px}
.fitness-block-band{fill:color-mix(in srgb,var(--green) 5%,transparent)}
.fitness-block-band.block-1{fill:color-mix(in srgb,var(--violet) 5%,transparent)}
.fitness-block-band.block-2{fill:color-mix(in srgb,var(--gold) 5%,transparent)}
.fitness-trajectory-card .chart-line.fitness.fitness-smoothed-line{stroke:var(--green);stroke-width:3.4;filter:drop-shadow(0 3px 5px color-mix(in srgb,var(--green) 28%,transparent))}
.fitness-model-hit{fill:transparent;stroke:transparent;cursor:crosshair;pointer-events:all}
.fitness-model-hit:hover+.fitness-model-focus,.fitness-model-hit:focus-visible+.fitness-model-focus{opacity:1}
.fitness-model-focus{fill:var(--card);stroke:var(--green);stroke-width:3;opacity:0;pointer-events:none;transition:opacity .12s ease}
.fitness-current-label{fill:var(--green);font-size:9px;font-weight:850}
.fitness-goal-label{fill:var(--gold);font-size:8px;font-weight:850}
.fitness-race-point{transition:stroke-width .12s ease,filter .12s ease}
.fitness-race-point:hover,.fitness-race-point:focus-visible,.fitness-race-point.selected{stroke:var(--ink);stroke-width:3;filter:drop-shadow(0 2px 3px color-mix(in srgb,#000 30%,transparent))}
.fitness-event-drawer{margin-top:10px;padding:14px 44px 14px 15px;border:1px solid color-mix(in srgb,var(--line) 62%,transparent);border-radius:12px;background:color-mix(in srgb,var(--green-soft) 40%,var(--card))}
.fitness-event-drawer h4{margin:3px 0 2px;font-size:16px}.fitness-event-drawer p{margin:0;color:var(--muted);font-size:10px}
.fitness-detail-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:11px}
.fitness-detail-metrics span{min-width:0;padding-right:8px}.fitness-detail-metrics small,.fitness-detail-metrics b{display:block}.fitness-detail-metrics small{color:var(--muted);font-size:8px;text-transform:uppercase;letter-spacing:.06em}.fitness-detail-metrics b{margin-top:3px;font-size:11px;overflow-wrap:anywhere}

.fitness-support-grid{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,.9fr) minmax(0,1.02fr);gap:12px}
.fitness-support-card{min-width:0;padding:16px;border:1px solid color-mix(in srgb,var(--line) 52%,transparent);border-radius:15px;background:color-mix(in srgb,var(--card) 69%,transparent)}
.fitness-support-card h3{margin:3px 0 12px;font-size:16px;letter-spacing:-.015em}
.performance-evidence-list,.fitness-readiness-list{display:grid;grid-template-columns:1fr;gap:0}
.performance-evidence-list article,.fitness-readiness-list article{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:5px 12px;align-items:baseline;padding:9px 0;border:0;border-top:1px solid color-mix(in srgb,var(--line) 48%,transparent);border-radius:0;background:transparent}
.performance-evidence-list article:first-child,.fitness-readiness-list article:first-child{border-top:0;padding-top:0}
.performance-evidence-list span,.fitness-readiness-list span{color:var(--muted);font-size:9px;font-weight:800;letter-spacing:.055em;text-transform:uppercase}
.performance-evidence-list b,.fitness-readiness-list b{margin:0;color:var(--ink);font-size:11px;text-align:right;text-transform:capitalize}
.performance-evidence-list small,.fitness-readiness-list small{grid-column:1/-1;margin:0;color:var(--muted);font-size:9px;line-height:1.4}
.status-poor,.status-high,.status-warning{color:var(--gold)!important}.status-good,.status-stable,.status-normal{color:var(--green)!important}
.goal-comparison{display:grid;grid-template-columns:1fr auto 1fr;gap:8px;align-items:center;margin-bottom:10px;padding:10px 0;border-top:1px solid color-mix(in srgb,var(--line) 48%,transparent);border-bottom:1px solid color-mix(in srgb,var(--line) 48%,transparent)}
.goal-comparison>div{min-width:0}.goal-comparison>div:last-child{text-align:right}.goal-comparison span,.goal-comparison small,.goal-comparison strong{display:block}.goal-comparison span{color:var(--muted);font-size:8px;text-transform:uppercase;letter-spacing:.06em}.goal-comparison strong{margin-top:3px;font-size:16px}.goal-comparison small{color:var(--muted);font-size:8px}.goal-comparison>i{color:var(--gold);font-style:normal;font-size:11px;font-weight:850;white-space:nowrap}
.race-equivalent-table{gap:2px}.race-equivalent-head,.race-equivalent-row{grid-template-columns:.72fr 1fr 1fr;padding:6px 5px;background:transparent}.race-equivalent-row{border:0;border-top:1px solid color-mix(in srgb,var(--line) 42%,transparent);border-radius:0}.race-equivalent-row.priority{border:0;border-top:1px solid color-mix(in srgb,var(--gold) 36%,transparent);background:color-mix(in srgb,var(--gold) 7%,transparent)}
.fitness-method-note{margin-top:10px}

html[data-theme="dark"] .fitness-performance-section{background:radial-gradient(ellipse at 14% 0,rgba(127,189,152,.1),transparent 42%),linear-gradient(145deg,var(--rc-surface),color-mix(in srgb,var(--rc-surface) 91%,var(--green-soft)));box-shadow:0 22px 58px rgba(0,0,0,.23)}
html[data-theme="dark"] .fitness-trajectory-card,html[data-theme="dark"] .fitness-support-card{background:color-mix(in srgb,var(--rc-surface-subtle) 72%,transparent)}
html[data-theme="dark"] .fitness-event-drawer{background:color-mix(in srgb,var(--rc-surface-subtle) 78%,var(--green-soft))}

@media(max-width:900px){.fitness-support-grid{grid-template-columns:1fr 1fr}.race-equivalents{grid-column:1/-1}}
@media(max-width:760px){
  .fitness-performance-section{margin-top:42px;padding:20px 16px;border-radius:19px}
  .fitness-tile-header{align-items:flex-start}.fitness-tile-header>div{align-items:flex-start}.fitness-tile-header p{font-size:11px}
  .fitness-snapshot{grid-template-columns:1fr 1fr}.fitness-snapshot article:nth-child(3)::before{display:none}.fitness-snapshot article:nth-child(n+3){border-top:1px solid color-mix(in srgb,var(--line) 58%,transparent)!important}
  .fitness-chart-title{display:block}.compact-fitness-key{justify-content:flex-start;margin-top:12px;padding:0}
  .fitness-support-grid{grid-template-columns:1fr}.race-equivalents{grid-column:auto}
  .fitness-detail-metrics{grid-template-columns:1fr 1fr}
}
@media(max-width:480px){
  .fitness-performance-section{gap:14px;margin-inline:0;padding:17px 11px;border-radius:17px}
  .fitness-tile-header .section-number{margin-top:2px}.fitness-tile-header h2{font-size:1.45rem}.fitness-tile-header p{max-width:30ch}
  .fitness-snapshot article{padding:13px 11px}.fitness-snapshot strong{font-size:1rem}.fitness-snapshot article:last-child strong{font-size:.86rem}.fitness-snapshot small{font-size:8px}
  .fitness-trajectory-card{padding:14px 7px 12px}.fitness-chart-title{padding-inline:5px}.compact-fitness-key{gap:6px 10px;font-size:9px}
  .season-trajectory-chart{overflow:hidden}.season-trajectory-chart svg{width:100%;min-width:0}
  .fitness-support-card{padding:14px 12px}.fitness-detail-metrics{grid-template-columns:1fr 1fr}
  .goal-comparison{grid-template-columns:1fr}.goal-comparison>div:last-child{text-align:left}.goal-comparison>i{padding:2px 0}
  .race-equivalent-head,.race-equivalent-row{grid-template-columns:.7fr 1fr 1fr;padding-inline:3px}
}
