.race-shell{max-width:1040px}
.race-top{margin-bottom:14px}
.race-hero{margin-bottom:14px}
.race-hero h1{max-width:760px}

.section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}
.section-heading.compact{margin-bottom:4px}
.section-heading h2{margin:5px 0 0}
.signal-pill,.pace-chip,.intensity-chip{
  display:inline-flex;align-items:center;justify-content:center;min-height:28px;padding:6px 9px;border-radius:999px;
  border:1px solid rgba(231,185,143,.22);background:rgba(213,161,115,.08);color:var(--accent3);
  font-size:10px;font-weight:950;letter-spacing:.07em;white-space:nowrap
}
.race-control{margin-top:14px}
.race-form{display:grid;grid-template-columns:1fr 1fr 1fr auto;gap:12px;align-items:end;margin-top:16px}
.race-form label{min-width:0}
.race-build{min-height:48px;white-space:nowrap}
.field-help{min-height:31px;color:#8f9b94;font-size:10px;line-height:1.45;font-weight:650}
.field-help strong{color:#cad2cd}
.form-status{margin:13px 0 0;padding:11px 12px;border-radius:13px;border:1px solid rgba(255,255,255,.07);background:#091116;color:#aeb8b2;font-size:11px;line-height:1.45}
.form-status[data-state="invalid"]{border-color:rgba(223,136,127,.32);color:#efb0a8}
.form-status[data-state="dirty"]{border-color:rgba(231,185,143,.2);color:#d8c1ad}

.race-signal-grid,.race-content-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:14px}
.race-metric{min-height:260px;display:flex;flex-direction:column;align-items:flex-start}
.race-metric .stat{font-size:clamp(42px,8vw,66px);margin:10px 0 2px;line-height:.95}
.metric-sub{font-size:13px;color:#dce2de;margin-top:8px}
.metric-note{margin:8px 0 0!important;color:#8f9b94!important;font-size:11px!important;line-height:1.5!important}
.phase-label{margin-top:10px;font-size:clamp(30px,6vw,50px);line-height:1;font-weight:1000;letter-spacing:-.055em;color:var(--accent3)}
.next-action{margin-top:auto;padding-top:14px;width:100%}
.next-btn{width:100%;min-height:48px}

.section-copy{margin:4px 0 14px!important;max-width:62ch}
.race-list{display:grid;gap:10px}
.race-item{display:grid;gap:6px;padding:13px;border:1px solid rgba(255,255,255,.07);border-radius:15px;background:rgba(7,13,17,.52);min-width:0}
.race-item__top{display:flex;align-items:center;justify-content:space-between;gap:10px;min-width:0}
.race-item__top strong{font-size:13px;overflow-wrap:anywhere}
.race-item p{margin:0!important;font-size:11px!important;color:#aab4ae!important;line-height:1.5!important}
.pace-chip,.intensity-chip{flex:0 0 auto}
.intensity-chip{color:#c9d7cf;border-color:rgba(137,199,157,.18);background:rgba(137,199,157,.06)}
.estimate-label,.date-label{font-size:10px;color:#8f9b94;letter-spacing:.04em;text-transform:uppercase}
.split-row{grid-template-columns:1fr}
.split-clock{font-size:15px;font-variant-numeric:tabular-nums;color:#eef2ef;font-weight:950;letter-spacing:-.02em}
.condition-row strong{color:#e4e9e6;font-size:12px}
.race-week-row{gap:5px;transition:border-color .18s ease,background .18s ease}
.race-week-row--today{border-color:rgba(231,185,143,.36);background:linear-gradient(135deg,rgba(213,161,115,.1),rgba(7,13,17,.58))}
.race-week-row--past{opacity:.68}
.date-row{display:flex;align-items:center;justify-content:space-between;gap:8px}
.day-state{display:inline-flex;align-items:center;min-height:22px;padding:4px 7px;border-radius:999px;border:1px solid rgba(255,255,255,.08);font-size:10px;font-weight:950;letter-spacing:.07em;color:#8f9b94}
.day-state--today{color:var(--accent3);border-color:rgba(231,185,143,.26);background:rgba(213,161,115,.08)}
.day-state--upcoming{color:#a9c7b4;border-color:rgba(137,199,157,.16)}

.check-list,.term-list{display:grid;gap:9px;margin-top:12px}
.check-item{grid-template-columns:auto 1fr;align-items:start;gap:11px;padding:12px;border:1px solid rgba(255,255,255,.07);border-radius:14px;background:rgba(7,13,17,.48);cursor:pointer}
.check-item input{width:20px;height:20px;margin:1px 0 0;accent-color:var(--accent)}
.check-item__copy{display:grid;gap:3px;min-width:0}
.check-item__copy strong{font-size:12px;color:#e3e8e5}
.check-item__copy small{font-size:10px;color:#929d96;line-height:1.45;font-weight:600}
.term-item{border:1px solid rgba(255,255,255,.07);border-radius:14px;background:rgba(7,13,17,.48);overflow:hidden}
.term-item summary{min-height:46px;display:flex;align-items:center;justify-content:space-between;padding:11px 13px;cursor:pointer;font-size:12px;font-weight:900;color:#e3e8e5;list-style:none}
.term-item summary::-webkit-details-marker{display:none}
.term-item summary:after{content:'+';font-size:17px;color:var(--accent2);font-weight:500}
.term-item[open] summary:after{content:'–'}
.term-item p{margin:0;padding:0 13px 13px!important;font-size:11px!important;color:#9da8a1!important;line-height:1.55!important}
.empty-state{margin:0!important;padding:13px;border:1px dashed rgba(255,255,255,.1);border-radius:13px;color:#8f9b94!important}
.race-disclaimer{margin:18px auto 0;max-width:760px;text-align:center;color:#76817b;font-size:10px;line-height:1.5;padding:0 12px}

@media(max-width:840px){
  .race-form{grid-template-columns:1fr 1fr}
  .race-build{width:100%}
  .race-form .race-build{grid-column:1/-1}
  .field-help{min-height:0}
}
@media(max-width:640px){
  .race-shell{padding-bottom:max(54px,calc(env(safe-area-inset-bottom) + 36px))}
  .race-hero{margin-bottom:10px}
  .race-control{margin-top:10px}
  .race-form,.race-signal-grid,.race-content-grid{grid-template-columns:1fr;gap:10px}
  .race-form{margin-top:13px}
  .race-signal-grid,.race-content-grid{margin-top:10px}
  .race-metric{min-height:auto}
  .next-action{margin-top:4px}
  .section-heading{align-items:center}
  .signal-pill{font-size:10px;padding-inline:8px}
  .race-item{padding:12px}
  .race-item__top{align-items:flex-start}
  .check-item{min-height:56px}
  .term-item summary{min-height:52px}
  .split-clock{font-size:14px}
}
@media(max-width:390px){
  .section-heading{display:grid;gap:8px}
  .signal-pill{justify-self:start}
  .race-item__top{display:grid;justify-content:stretch}
  .pace-chip,.intensity-chip{justify-self:start}
  .split-clock{justify-self:start}
  .date-row{align-items:flex-start}
  .race-metric .stat{font-size:44px}
}
@media(prefers-reduced-motion:reduce){
  .race-week-row{transition:none}
}


/* RUNNING RACE DESKTOP X4 — remove the old 1040px ceiling on wide desktop */
@media(min-width:1180px){
  .race-shell{max-width:none}
  .race-control{padding:24px}
  .race-signal-grid,.race-content-grid{gap:16px}
  .race-content-grid>.card{min-height:100%}
}
