/*
 * Running Coach visual-system unification.
 *
 * This layer maps established page-specific components onto the canonical
 * Fitness & performance language without replacing their data or behaviour.
 */

/* Shared page framing ---------------------------------------------------- */
.hero,
.page-intro,
.current-block-summary,
.logic-workflow,
.guardrails-card,
.faq-card{
  position:relative;
  overflow:hidden;
  padding:clamp(22px,3vw,34px);
  border:1px solid var(--border-subtle);
  border-radius:var(--radius-section);
  background:
    radial-gradient(ellipse at 12% 0,color-mix(in srgb,var(--rc-primary) 8%,transparent),transparent 44%),
    linear-gradient(145deg,var(--surface-section),color-mix(in srgb,var(--surface-section) 94%,var(--rc-primary-soft)));
  box-shadow:var(--rc-shadow);
}
.hero::before,
.page-intro::before,
.current-block-summary::before,
.logic-workflow::before,
.guardrails-card::before,
.faq-card::before{
  content:"";
  position:absolute;
  inset:0 0 auto;
  height:2px;
  background:linear-gradient(90deg,var(--border-accent),color-mix(in srgb,var(--border-accent) 14%,transparent) 66%,transparent);
  pointer-events:none;
}
.hero>*,.page-intro>*,.current-block-summary>*,.logic-workflow>*,.guardrails-card>*,.faq-card>*{position:relative}
.hero h2,.page-intro h2{letter-spacing:-.035em}

.card{
  border-color:var(--border-subtle);
  border-radius:var(--radius-card);
  background:var(--surface-section);
  box-shadow:none;
}
.card:hover{transform:none}
.card.page-intro,
.card.current-block-summary,
.card.logic-workflow,
.card.guardrails-card,
.card.faq-card{border-radius:var(--radius-section)}
.eyebrow,.section-number,.year-section-head .section-number{
  color:var(--rc-primary);
  font-size:.68rem;
  font-weight:850;
  letter-spacing:.11em;
  text-transform:uppercase;
}
.section-title{margin-top:var(--space-10)}
.section-title h2{letter-spacing:-.025em}

.button,button,input,select,textarea{border-radius:var(--radius-control)}
button,.button,.rc-interactive{
  transition:background-color var(--rc-motion-fast) var(--rc-ease),border-color var(--rc-motion-fast) var(--rc-ease),color var(--rc-motion-fast) var(--rc-ease),transform var(--rc-motion-fast) var(--rc-ease);
}
button:not(:disabled):active,.button:not([aria-disabled="true"]):active,.rc-interactive:active{transform:translateY(1px)}

.status-line:empty{display:none}
.status-line.rc-state{display:flex;margin-top:12px}

/* Trends ---------------------------------------------------------------- */
body:has(.fitness-performance-section) .trend-section{
  position:relative;
  margin-top:var(--space-12);
  padding:clamp(22px,3vw,34px);
  overflow:hidden;
  border:1px solid var(--border-subtle);
  border-radius:var(--radius-section);
  background:
    radial-gradient(ellipse at 14% 0,color-mix(in srgb,var(--rc-primary) 7%,transparent),transparent 42%),
    linear-gradient(145deg,var(--surface-section),color-mix(in srgb,var(--surface-section) 95%,var(--rc-primary-soft)));
  box-shadow:var(--rc-shadow);
}
body:has(.fitness-performance-section) .trend-section::before{
  content:"";
  position:absolute;
  inset:0 0 auto;
  height:2px;
  background:linear-gradient(90deg,var(--rc-primary),color-mix(in srgb,var(--rc-primary) 14%,transparent) 65%,transparent);
}
body:has(.fitness-performance-section) .trend-section>*{position:relative}
body:has(.fitness-performance-section) .trend-section+.trend-section{border-top-width:1px}
body:has(.fitness-performance-section) .trend-section>.section-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  margin:0 0 var(--space-5);
  padding:0;
  border:0;
}
body:has(.fitness-performance-section) .trend-section>.section-head>div{display:flex;align-items:center;gap:11px}
body:has(.fitness-performance-section) .trend-section>.section-head h2{margin:0;font-size:clamp(1.65rem,3vw,2.15rem);letter-spacing:-.035em}
body:has(.fitness-performance-section) .trend-section>.section-head p{margin:2px 0 0;color:var(--rc-text-muted);font-size:.82rem}
body:has(.fitness-performance-section) .training-summary,
body:has(.fitness-performance-section) .recovery-highlight-cards{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:0;
  overflow:hidden;
  border:1px solid var(--border-subtle);
  border-radius:16px;
  background:color-mix(in srgb,var(--surface-section) 64%,transparent);
}
body:has(.fitness-performance-section) .training-summary>article,
body:has(.fitness-performance-section) .recovery-highlight-cards>article{
  position:relative;
  margin:0;
  padding:16px 18px;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}
body:has(.fitness-performance-section) .training-summary>article+article::before,
body:has(.fitness-performance-section) .recovery-highlight-cards>article+article::before{
  content:"";
  position:absolute;
  inset:14px auto 14px 0;
  width:1px;
  background:var(--divider);
}
body:has(.fitness-performance-section) .training-analysis,
body:has(.fitness-performance-section) .recovery-overview-card{
  padding:clamp(17px,2.4vw,25px);
  border:1px solid var(--border-subtle);
  border-radius:18px;
  background:color-mix(in srgb,var(--surface-section) 72%,transparent);
  box-shadow:none;
}
body:has(.fitness-performance-section) .run-type-card,
body:has(.fitness-performance-section) .recovery-summary-panel,
body:has(.fitness-performance-section) .recovery-insights>article{
  border-color:var(--border-subtle);
  border-radius:15px;
  background:var(--surface-subtle);
  box-shadow:none;
}
body:has(.fitness-performance-section) .range-row,
body:has(.fitness-performance-section) .recovery-controls{
  border-color:var(--border-subtle);
  border-radius:var(--radius-control);
  background:var(--surface-subtle);
}
body:has(.fitness-performance-section) .statistics-review-entry{
  margin-top:var(--space-12);
  padding-top:var(--space-8);
  border-top:1px solid var(--divider);
}
body:has(.fitness-performance-section) .statistics-review-cards a{
  border-color:var(--border-subtle);
  border-radius:var(--radius-card);
  background:var(--surface-subtle);
  box-shadow:none;
}

/* Month review ---------------------------------------------------------- */
body[data-month] .month-hero{
  margin-top:18px;
  padding:clamp(22px,3vw,34px);
  border:1px solid var(--border-subtle);
  border-radius:var(--radius-section);
  background:
    radial-gradient(ellipse at 12% 0,color-mix(in srgb,var(--rc-primary) 8%,transparent),transparent 44%),
    linear-gradient(145deg,var(--surface-section),color-mix(in srgb,var(--surface-section) 94%,var(--rc-primary-soft)));
  box-shadow:var(--rc-shadow);
}
body[data-month] .selectors{
  padding:5px;
  border:1px solid var(--border-subtle);
  border-radius:var(--radius-control);
  background:var(--surface-subtle);
}
body[data-month] .selectors label{padding:3px 4px}
body[data-month] .selectors select{border-color:transparent;background:var(--surface-section)}
body[data-month] .kpi-strip{
  gap:0;
  margin:18px 0 var(--space-8);
  overflow:hidden;
  border:1px solid var(--border-subtle);
  border-radius:16px;
  background:color-mix(in srgb,var(--surface-section) 64%,transparent);
}
body[data-month] .kpi-strip article:first-child{padding-left:20px}
body[data-month] .kpi-strip article+article::before{background:var(--divider)}
body[data-month] .mileage-hero,
body[data-month] .coaching-card{
  border:1px solid var(--border-subtle);
  border-radius:var(--radius-section);
  background:linear-gradient(145deg,var(--surface-section),color-mix(in srgb,var(--surface-section) 94%,var(--rc-primary-soft)));
  box-shadow:var(--rc-shadow);
}
body[data-month] .mileage-hero{border-top:3px solid var(--rc-primary)}
body[data-month] .story-grid,
body[data-month] .outcome-grid{gap:12px}
body[data-month] .story-panel,
body[data-month] .outcome-panel{
  padding:var(--space-6);
  border:1px solid var(--border-subtle);
  border-radius:var(--radius-card);
  background:var(--surface-subtle);
}
body[data-month] .key-section{
  padding:clamp(20px,2.8vw,30px);
  border:1px solid var(--border-subtle);
  border-radius:var(--radius-section);
  background:var(--surface-section);
}
body[data-month] .key-session{
  border:1px solid var(--border-subtle);
  border-top:3px solid var(--rc-primary);
  border-radius:var(--radius-card);
  background:var(--surface-subtle);
  box-shadow:none;
}
body[data-month] .key-session:nth-child(2){border-top-color:var(--rc-chart-warning)}
body[data-month] .key-session:nth-child(3){border-top-color:var(--rc-info)}
body[data-month] .structure-strip div,
body[data-month] .supported-insight{background:var(--surface-interactive)}
body[data-month] .coaching-card{border-top:3px solid var(--rc-primary)}

/* Year review ----------------------------------------------------------- */
.year-review-page .year-hero{
  border:1px solid var(--border-subtle);
  border-radius:var(--radius-section);
  background:
    radial-gradient(ellipse at 12% 0,color-mix(in srgb,var(--rc-primary) 8%,transparent),transparent 44%),
    linear-gradient(145deg,var(--surface-section),color-mix(in srgb,var(--surface-section) 94%,var(--rc-primary-soft)));
  box-shadow:var(--rc-shadow);
}
.year-review-page .year-hero::before{content:"";position:absolute;inset:0 0 auto;height:2px;background:linear-gradient(90deg,var(--rc-primary),transparent 70%)}
.year-review-page .year-headline{
  gap:0;
  overflow:hidden;
  border:1px solid var(--border-subtle);
  border-radius:16px;
  background:var(--surface-section);
}
.year-review-page .headline-stat{
  position:relative;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}
.year-review-page .headline-stat+.headline-stat::before{content:"";position:absolute;inset:14px auto 14px 0;width:1px;background:var(--divider)}
.year-review-page .year-card{
  border-color:var(--border-subtle);
  border-radius:var(--radius-section);
  background:var(--surface-section);
  box-shadow:none;
}
.year-review-page .year-card.wide{padding:clamp(20px,2.5vw,28px)}
.year-review-page .month-bars,
.year-review-page .year-line-chart{
  margin-top:12px;
  padding:16px 12px 8px;
  border:1px solid var(--border-subtle);
  border-radius:var(--radius-card);
  background:var(--surface-subtle);
}
.year-review-page .year-fact,
.year-review-page .year-highlight,
.year-review-page .year-provenance{
  border-color:var(--border-subtle);
  background:var(--surface-subtle);
}
.year-review-page .review-nav a{border-color:var(--border-strong);background:var(--surface-section)}
.year-review-page .review-nav a.active{background:var(--rc-primary);color:var(--rc-on-primary)}

/* Home, Calendar, Training Phases and Activity Detail ------------------ */
body[data-view] #app>.hero,
body[data-view] #app>.page-intro,
body[data-view] #app>.card:first-child{margin-top:4px}
body[data-view="today"] .stats,
body[data-view="block"] .goal-evidence,
body[data-view="today"] .week-figures{
  gap:0;
  overflow:hidden;
  border:1px solid var(--border-subtle);
  border-radius:16px;
  background:var(--surface-section);
}
body[data-view="today"] .stat,
body[data-view="block"] .goal-field,
body[data-view="today"] .week-figure{
  position:relative;
  border:0;
  border-radius:0;
  background:transparent;
}
body[data-view="today"] .stat+.stat::before,
body[data-view="block"] .goal-field+.goal-field::before,
body[data-view="today"] .week-figure+.week-figure::before{
  content:"";
  position:absolute;
  inset:12px auto 12px 0;
  width:1px;
  background:var(--divider);
}
body[data-view="today"] .today-layout>.card,
body[data-view="today"] .today-session,
body[data-view="block"] #app>.card:not(.page-intro),
body[data-view="goals"] .horizon-card,
body[data-view="goals"] .suggestion-card{
  border-color:var(--border-subtle);
  background:var(--surface-subtle);
}
body[data-view="today"] .checkin{border-color:var(--border-accent)}
body[data-view="today"] .home-action,
body[data-view="today"] .goal-field,
body[data-view="block"] .block-purpose,
body[data-view="block"] .week-card{
  border-color:var(--border-subtle);
  border-radius:var(--radius-card);
  background:var(--surface-subtle);
}
body[data-view="block"] .week-card.current{border-left-color:var(--rc-primary);background:var(--surface-interactive)}
body[data-view="month"] .month-card{
  padding:clamp(16px,2.4vw,26px);
  border:1px solid var(--border-subtle);
  border-radius:var(--radius-section);
  background:var(--surface-section);
  box-shadow:var(--rc-shadow);
}
body[data-view="month"] .month{
  border-color:var(--border-subtle);
  border-radius:var(--radius-card);
  background:var(--surface-subtle);
}
body[data-view="month"] .month-head{padding-bottom:14px;border-bottom:1px solid var(--divider)}
body[data-view="month"] .week-figures{
  gap:0;
  overflow:hidden;
  border:1px solid var(--border-subtle);
  border-radius:var(--radius-card);
  background:var(--surface-subtle);
}
body[data-view="month"] .week-figure{position:relative;border:0;border-radius:0;background:transparent}
body[data-view="month"] .week-figure+.week-figure::before{content:"";position:absolute;inset:10px auto 10px 0;width:1px;background:var(--divider)}
body[data-view="month"] .cal-item{transition:filter var(--rc-motion-fast) var(--rc-ease),transform var(--rc-motion-fast) var(--rc-ease)}
body[data-view="month"] .cal-item:hover{filter:saturate(1.08) brightness(.98)}
body[data-view="month"] .calendar-notes{border-top:1px solid var(--divider)}

.activity-detail-page>header{
  padding:clamp(20px,2.8vw,30px);
  border:1px solid var(--border-subtle);
  border-radius:var(--radius-section);
  background:linear-gradient(145deg,var(--surface-section),color-mix(in srgb,var(--surface-section) 94%,var(--rc-primary-soft)));
  box-shadow:var(--rc-shadow);
}
.activity-primary-metrics{gap:0;overflow:hidden;border-color:var(--border-subtle);border-radius:var(--radius-card);background:var(--divider)}
.activity-metric{background:var(--surface-section)}
.activity-tabs{
  gap:4px;
  margin-top:14px;
  padding:4px;
  border:1px solid var(--border-subtle);
  border-radius:var(--radius-control);
  background:var(--surface-subtle);
}
.activity-tabs button{flex:1;border:0;border-radius:8px}
.activity-tabs button[aria-selected="true"]{border:0;background:var(--surface-section);box-shadow:0 1px 5px color-mix(in srgb,#000 10%,transparent)}
.activity-overview>section,.activity-stat-group,.activity-charts section{
  padding:16px;
  border:1px solid var(--border-subtle);
  border-radius:var(--radius-card);
  background:var(--surface-subtle);
}
.activity-overview{gap:12px}.activity-overview>section{margin-bottom:12px}
.activity-charts section{box-shadow:none}
.activity-route-panel .map-error span{
  display:block;
  max-height:2.8em;
  overflow:hidden;
  color:transparent;
  font-size:0;
}
.activity-route-panel .map-error span::after{
  content:"The interactive route could not be displayed on this device.";
  color:var(--rc-text-muted);
  font-size:.78rem;
  line-height:1.4;
}

/* Coaching -------------------------------------------------------------- */
body:not([data-view]) .two>.card,
body:not([data-view]) .future-block-card{
  padding:clamp(18px,2.2vw,24px);
  border-color:var(--border-subtle);
  border-radius:var(--radius-card);
  background:var(--surface-subtle);
}
.scope,.roadmap article,.evidence-topic,.future-block-grid>div,.block-events,.uncertainty{
  border:1px solid var(--border-subtle);
  border-radius:var(--radius-card);
  background:var(--surface-subtle);
}
.current-block-summary .metric-grid{
  gap:0;
  margin-top:18px;
  overflow:hidden;
  border:1px solid var(--border-subtle);
  border-radius:16px;
  background:color-mix(in srgb,var(--surface-section) 64%,transparent);
}
.current-block-summary .metric{position:relative;padding:16px 18px}
.current-block-summary .metric+.metric::before{content:"";position:absolute;inset:14px auto 14px 0;width:1px;background:var(--divider)}
.future-block-card{border-left:4px dashed var(--rc-warning)}
.provisional-note{background:var(--rc-warning-soft);color:var(--rc-warning)}
.notice,.context-card{border-color:var(--border-subtle);border-radius:var(--radius-card)}
.logic-workflow,.guardrails-card,.faq-card{margin-bottom:var(--space-6)}
.logic-workflow .diagram-node,
.guardrails-card article,
.formation-group{border-color:var(--border-subtle)}

/* Responsive behaviour ------------------------------------------------- */
@media(max-width:850px){
  body:has(.fitness-performance-section) .training-summary,
  body:has(.fitness-performance-section) .recovery-highlight-cards{grid-template-columns:repeat(2,minmax(0,1fr))}
  body:has(.fitness-performance-section) .training-summary>article:nth-child(3)::before,
  body:has(.fitness-performance-section) .recovery-highlight-cards>article:nth-child(3)::before{display:none}
  body:has(.fitness-performance-section) .training-summary>article:nth-child(n+3),
  body:has(.fitness-performance-section) .recovery-highlight-cards>article:nth-child(n+3){border-top:1px solid var(--divider)}
  .year-review-page .headline-stat:nth-child(3)::before{display:none}
  .year-review-page .headline-stat:nth-child(n+3){border-top:1px solid var(--divider)}
}

@media(max-width:760px){
  .hero,.page-intro,.current-block-summary,.logic-workflow,.guardrails-card,.faq-card,
  body:has(.fitness-performance-section) .trend-section,
  body[data-month] .month-hero,
  body[data-month] .mileage-hero,
  body[data-month] .coaching-card,
  .year-review-page .year-hero,
  body[data-view="month"] .month-card,
  .activity-detail-page>header{
    padding:20px 16px;
    border-radius:19px;
  }
  body:has(.fitness-performance-section) .trend-section>.section-head{align-items:flex-start}
  body:has(.fitness-performance-section) .training-analysis,
  body:has(.fitness-performance-section) .recovery-overview-card{padding:16px 12px}
  body[data-month] .story-panel,body[data-month] .outcome-panel{padding:18px 14px}
  body[data-month] .key-section{padding:18px 14px}
  body[data-view="today"] .stats{grid-template-columns:repeat(2,minmax(0,1fr))}
  body[data-view="today"] .stat:nth-child(3)::before{display:none}
  body[data-view="today"] .stat:nth-child(n+3){border-top:1px solid var(--divider)}
  body[data-view="block"] .goal-evidence{grid-template-columns:repeat(2,minmax(0,1fr))}
  body[data-view="block"] .goal-field:nth-child(3)::before{display:none}
  body[data-view="block"] .goal-field:nth-child(n+3){border-top:1px solid var(--divider)}
  .activity-overview{grid-template-columns:1fr}
  .activity-tabs{overflow-x:auto;scrollbar-width:none}
  .activity-tabs button{min-width:max-content;padding-inline:12px}
  .current-block-summary .metric-grid{grid-template-columns:1fr}
  .current-block-summary .metric+.metric::before{inset:0 12px auto;height:1px;width:auto}
}

@media(max-width:480px){
  body:has(.fitness-performance-section) .trend-section{padding:17px 11px}
  body[data-month] .kpi-strip article:first-child{padding-left:12px}
  body[data-month] .selectors{width:100%}
  body[data-month] .selectors label{width:100%}
  body[data-month] .selectors select{width:100%}
  .year-review-page .year-card{border-radius:17px}
  .activity-primary-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media(prefers-reduced-motion:reduce){
  button,.button,.rc-interactive,.cal-item{transition:none!important}
}

/* Home + Trends depth and de-nesting refinement ----------------------- */

/* RunnerScoutSprite is the one shared decorative header animation. */
.app-header__aside{
  flex:0 0 auto;
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:8px;
  margin-bottom:2px;
}
.runner-scout-sprite{
  --runner-scout-frame-width:72px;
  display:block;
  flex:0 0 auto;
  width:var(--runner-scout-frame-width);
  aspect-ratio:272/360;
}
.runner-scout-sprite>img{
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
  pointer-events:none;
  user-select:none;
  filter:none!important;
  image-rendering:crisp-edges;
  image-rendering:pixelated;
}

@media(max-width:760px){
  .app-header__aside{gap:4px;margin-top:0}
  .runner-scout-sprite{
    --runner-scout-frame-width:60px;
  }
}

@media(max-width:380px){
  .runner-scout-sprite{
    --runner-scout-frame-width:52px;
  }
}

/* Major surfaces share one low-contrast signature; domain variation is
   supplied through --surface-section-highlight, never a different system. */
.hero,
.page-intro,
.current-block-summary,
.logic-workflow,
.guardrails-card,
.faq-card,
body.trends-page .trend-section{
  background:var(--surface-section-gradient);
}
body.trends-page .trend-section:nth-of-type(2){--surface-section-highlight:color-mix(in srgb,var(--rc-info) 54%,var(--rc-primary))}

/* Home: today is the editorial hero. */
body[data-view="today"] .today-layout{
  display:grid;
  grid-template-columns:minmax(0,1.58fr) minmax(260px,.72fr);
  gap:10px;
  align-items:stretch;
}
body[data-view="today"] .today-session{
  grid-column:1;
  grid-row:1;
  height:100%;
  margin:0;
  isolation:isolate;
  min-height:0;
  padding:clamp(25px,3.2vw,38px);
  border-color:var(--border-strong);
  background:var(--surface-section-gradient);
  box-shadow:0 18px 48px color-mix(in srgb,#000 10%,transparent);
  animation:home-hero-arrival 820ms cubic-bezier(.22,.61,.36,1) 60ms both;
}
body[data-view="today"] .today-session>*{z-index:1}
body[data-view="today"] .today-session::before{height:3px}
body[data-view="today"] .today-session::after{
  content:"";
  position:absolute;
  z-index:0;
  inset:0;
  background:linear-gradient(105deg,transparent 16%,color-mix(in srgb,var(--rc-primary) 15%,transparent) 48%,transparent 76%);
  transform:translateX(-70%);
  pointer-events:none;
  animation:home-hero-sweep 1160ms cubic-bezier(.22,.61,.36,1) 130ms both;
}
body[data-view="today"] .today-session-copy{min-width:0}
body[data-view="today"] .today-session .eyebrow{
  display:inline-flex;
  align-items:center;
  min-height:25px;
  padding:5px 9px;
  border-radius:999px;
  background:color-mix(in srgb,var(--rc-primary) 13%,transparent);
}
body[data-view="today"] .today-session h2{
  max-width:19ch;
  margin:.34em 0 .2em;
  font-size:clamp(2rem,4.6vw,3.45rem);
  line-height:.98;
  letter-spacing:-.045em;
  animation:home-session-title 700ms cubic-bezier(.22,.61,.36,1) 170ms both;
}
body[data-view="today"] .today-distance{
  display:inline-grid;
  gap:1px;
  min-width:150px;
  margin:13px 0 4px;
  padding:10px 15px 11px;
  border:1px solid color-mix(in srgb,var(--tone,var(--rc-primary)) 54%,var(--rc-border));
  border-radius:13px;
  background:color-mix(in srgb,var(--tone,var(--rc-primary)) 11%,var(--surface-section));
}
body[data-view="today"] .today-distance span{
  color:var(--rc-text-muted);
  font-size:.61rem;
  font-weight:850;
  letter-spacing:.12em;
  text-transform:uppercase;
}
body[data-view="today"] .today-distance strong{
  color:var(--rc-text);
  font-size:clamp(1.45rem,2.7vw,2rem);
  letter-spacing:-.035em;
  line-height:1.05;
}
body[data-view="today"] .today-session .today-reason{
  max-width:66ch;
  margin-bottom:0;
  color:var(--rc-text-muted);
}
body[data-view="today"] .today-session .chips{margin-top:12px}
body[data-view="today"] .today-session .chip{border:1px solid var(--border-subtle);background:var(--surface-interactive)}

/* A data-driven ambient instrument using the existing Month in Review
   key-stimulus weighted plan-execution score. */
body[data-view="today"] .month-execution{
  --execution-main:var(--rc-info);
  --execution-core:var(--rc-primary);
  display:grid;
  grid-template-columns:1fr;
  align-content:center;
  justify-items:center;
  gap:2px;
  min-width:0;
  margin:0;
  padding:16px 12px;
  border:1px solid color-mix(in srgb,var(--execution-main) 26%,var(--border-subtle));
  border-radius:var(--radius-section);
  background:radial-gradient(circle at 50% 34%,color-mix(in srgb,var(--execution-main) 11%,transparent),transparent 48%),linear-gradient(145deg,var(--surface-interactive),var(--surface-section));
  box-shadow:inset 0 1px 0 color-mix(in srgb,var(--execution-main) 18%,transparent),0 18px 48px color-mix(in srgb,#000 9%,transparent);
}
body[data-view="today"] .month-execution[data-execution-state="high"]{--execution-main:#e8673f;--execution-core:#f2ad50}
body[data-view="today"] .month-execution[data-execution-state="moderate"]{--execution-main:#d88d3f;--execution-core:#e5b75b}
body[data-view="today"] .month-execution[data-execution-state="low"]{--execution-main:#4d8e9a;--execution-core:#77b6a1}
body[data-view="today"] .month-execution[data-execution-state="unavailable"]{--execution-main:#68766e;--execution-core:#829189}
body[data-view="today"] .execution-instrument,
.rc-flame-instrument{
  position:relative;
  width:88px;
  height:90px;
}
body[data-view="today"] .execution-aura,
.rc-flame-instrument .execution-aura{
  position:absolute;
  left:50%;
  bottom:12px;
  width:72px;
  height:72px;
  border-radius:50%;
  background:radial-gradient(circle,color-mix(in srgb,var(--execution-main) 18%,transparent),transparent 68%);
  transform:translateX(-50%);
  animation:home-execution-aura 4.3s ease-in-out infinite;
}
body[data-view="today"] .execution-shape,
.rc-flame-instrument .execution-shape{
  position:absolute;
  left:50%;
  bottom:23px;
  width:54px;
  height:54px;
  border-radius:56% 8% 58% 46%;
  background:linear-gradient(135deg,var(--execution-core),var(--execution-main) 68%);
  box-shadow:inset -8px -7px 14px color-mix(in srgb,#000 13%,transparent);
  transform:translateX(-50%) rotate(-45deg);
  transform-origin:50% 58%;
  animation:home-execution-flame 3.8s ease-in-out infinite;
}
body[data-view="today"] .month-execution[data-execution-state="moderate"] .execution-shape{width:47px;height:47px;animation-duration:4.2s}
body[data-view="today"] .execution-shape i,
.rc-flame-instrument .execution-shape i{
  position:absolute;
  right:10px;
  bottom:9px;
  width:19px;
  height:27px;
  border-radius:58% 12% 60% 48%;
  background:color-mix(in srgb,#ffd878 80%,var(--execution-core));
  opacity:.72;
  animation:home-execution-core 3.1s ease-in-out infinite;
}
body[data-view="today"] .month-execution[data-execution-state="low"] .execution-shape,
body[data-view="today"] .month-execution[data-execution-state="unavailable"] .execution-shape{
  bottom:30px;
  width:61px;
  height:36px;
  border-radius:48% 52% 44% 56% / 58% 47% 53% 42%;
  background:linear-gradient(110deg,var(--execution-main),var(--execution-core));
  transform:translateX(-50%);
  transform-origin:center;
  animation:home-execution-ember 4.4s ease-in-out infinite;
}
body[data-view="today"] .month-execution[data-execution-state="low"] .execution-shape i,
body[data-view="today"] .month-execution[data-execution-state="unavailable"] .execution-shape i{
  right:10px;
  bottom:7px;
  width:25px;
  height:16px;
  border-radius:50%;
  background:color-mix(in srgb,var(--execution-core) 78%,#d7fff1);
}
body[data-view="today"] .month-execution[data-execution-state="unavailable"] .execution-shape,
body[data-view="today"] .month-execution[data-execution-state="unavailable"] .execution-shape i,
body[data-view="today"] .month-execution[data-execution-state="unavailable"] .execution-aura{animation:none}
body[data-view="today"] .execution-base,
.rc-flame-instrument .execution-base{
  position:absolute;
  left:50%;
  bottom:17px;
  width:62px;
  height:1px;
  background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--execution-main) 52%,var(--rc-border)),transparent);
  transform:translateX(-50%);
}
body[data-view="today"] .execution-copy{display:grid;justify-items:center;gap:1px;min-width:0;text-align:center}
body[data-view="today"] .execution-copy span{
  color:var(--rc-text-muted);
  font-size:.6rem;
  font-weight:850;
  letter-spacing:.11em;
  text-transform:uppercase;
}
body[data-view="today"] .execution-copy strong{
  color:var(--execution-main);
  font-size:2.15rem;
  letter-spacing:-.045em;
  line-height:1.05;
}
body[data-view="today"] .execution-copy small{max-width:17ch;color:var(--rc-text-muted);font-size:.68rem;line-height:1.3}

/* Home: the week owns containment, so its metrics only need alignment and
   dividers—not another rounded rectangle. */
body[data-view="today"] .today-week{
  grid-column:1;
  grid-row:2;
  position:relative;
  isolation:isolate;
  overflow:hidden;
  padding:clamp(18px,2.4vw,25px);
  border-color:var(--border-subtle);
  background-color:#18201b;
  background-image:
    radial-gradient(ellipse at 5% -8%,rgba(126,201,160,.17) 0%,rgba(126,201,160,0) 48%),
    linear-gradient(145deg,#222c25 0%,#18201b 100%)!important;
}
body[data-view="today"] .today-week>*{position:relative;z-index:1}
body[data-view="today"] .today-week::before{
  content:"";
  position:absolute;
  z-index:0;
  inset:0 auto auto 0;
  width:54%;
  height:2px;
  background:linear-gradient(90deg,var(--rc-primary),color-mix(in srgb,var(--rc-primary) 35%,transparent),transparent);
  opacity:.7;
}
body[data-view="today"] .today-week .week-figures{
  overflow:visible;
  margin:14px 0 4px;
  border:0;
  border-radius:0;
  background:transparent;
}
body[data-view="today"] .today-week .week-figure{
  padding:13px 15px;
  border:0;
  background:transparent;
}
body[data-view="today"] .today-week .week-figure:nth-child(odd){padding-left:0}
body[data-view="today"] .today-week .week-figure:nth-child(3)::before{display:none}
body[data-view="today"] .today-week .week-figure:nth-child(n+3){border-top:1px solid var(--divider)}
body[data-view="today"] .today-week .week-figure strong{font-size:clamp(1.08rem,2vw,1.35rem)}
body[data-view="today"] .goal-evidence{margin-top:14px;border-top:1px solid var(--divider)}
body[data-view="today"] .goal-field{border-radius:0;background:transparent}

/* Home: execution and the three independent actions form one right rail. */
body[data-view="today"] .home-right-rail{
  grid-column:2;
  grid-row:1 / span 2;
  display:flex;
  flex-direction:column;
  gap:8px;
  min-width:0;
}
body[data-view="today"] .home-right-rail>.home-actions{
  flex:1 1 auto;
  display:grid;
  grid-template-columns:1fr;
  grid-template-rows:repeat(3,minmax(0,1fr));
  gap:8px;
  margin:0;
}
body[data-view="today"] .home-right-rail>.home-actions .home-action{
  position:relative;
  overflow:hidden;
  display:flex;
  min-height:154px;
  align-items:flex-start;
  justify-content:space-between;
  gap:15px;
  padding:17px 18px;
  border:1px solid color-mix(in srgb,var(--rc-primary) 22%,var(--border-subtle));
  border-radius:var(--radius-card);
  background:radial-gradient(circle at 100% 0,color-mix(in srgb,var(--rc-primary) 8%,transparent),transparent 42%),linear-gradient(145deg,var(--surface-interactive),var(--surface-subtle));
  box-shadow:inset 0 1px 0 color-mix(in srgb,var(--rc-primary) 12%,transparent),0 12px 30px color-mix(in srgb,#000 7%,transparent);
}
body[data-view="today"] .home-right-rail>.home-actions .home-action::before{
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:2px;
  background:linear-gradient(180deg,color-mix(in srgb,var(--rc-primary) 68%,transparent),color-mix(in srgb,var(--rc-primary) 8%,transparent));
}
body[data-view="today"] .home-right-rail>.home-actions .home-action.primary{
  border-color:color-mix(in srgb,var(--rc-primary) 42%,var(--rc-border));
  background:radial-gradient(circle at 100% 0,color-mix(in srgb,var(--rc-primary) 13%,transparent),transparent 44%),linear-gradient(145deg,color-mix(in srgb,var(--surface-interactive) 90%,var(--rc-primary-soft)),var(--surface-subtle));
}
body[data-view="today"] .home-right-rail>.home-actions .home-action>div{min-width:0;text-align:left}
body[data-view="today"] .home-right-rail>.home-actions .home-action>div:first-child{width:100%;min-height:0}
body[data-view="today"] .home-right-rail>.home-actions .home-action .eyebrow{display:block;margin:0 0 5px;color:color-mix(in srgb,var(--rc-primary) 84%,var(--rc-text))}
body[data-view="today"] .home-right-rail>.home-actions .home-action h3{margin:0 0 5px;font-size:1.04rem;line-height:1.18}
body[data-view="today"] .home-right-rail>.home-actions .home-action p{max-width:30ch;margin:0;color:var(--rc-text-muted);font-size:.72rem;line-height:1.4}
body[data-view="today"] .home-right-rail>.home-actions .home-action button{
  align-self:flex-start;
  min-height:37px;
  margin:auto 0 0;
  padding:8px 12px;
  border:1px solid color-mix(in srgb,var(--rc-primary) 34%,var(--rc-border));
  border-radius:9px;
  background:color-mix(in srgb,var(--rc-primary) 16%,var(--surface-interactive));
  color:color-mix(in srgb,var(--rc-primary) 88%,var(--rc-text));
  font-size:.7rem;
  font-weight:850;
  white-space:nowrap;
}
body[data-view="today"] .home-right-rail>.home-actions .home-action.primary button{background:var(--rc-primary);color:var(--rc-on-primary)}
body[data-view="today"] .home-action-coach{
  transition:border-color var(--rc-motion-standard) var(--rc-ease),background-color var(--rc-motion-standard) var(--rc-ease);
}
body[data-view="today"] .home-action-coach:hover,
body[data-view="today"] .home-action-coach:focus-within{
  border-color:color-mix(in srgb,var(--rc-info) 55%,var(--rc-border));
  background:color-mix(in srgb,var(--rc-info) 7%,var(--surface-subtle));
}
body[data-view="today"] .home-action-coach:hover button,
body[data-view="today"] .home-action-coach:focus-within button{transform:translateY(-2px)}
body[data-view="today"] .coach-signal{
  position:relative;
  display:block;
  flex:0 0 auto;
  width:68px;
  height:48px;
  margin:8px 0 7px;
  border:0;
  background:radial-gradient(circle at 50% 50%,color-mix(in srgb,var(--rc-primary) 17%,transparent),transparent 63%);
  align-self:center;
}
body[data-view="today"] .coach-signal span{
  position:absolute;
  z-index:1;
  left:50%;
  top:50%;
  font-size:2rem;
  line-height:1;
  filter:grayscale(.28) saturate(.8) drop-shadow(0 0 8px color-mix(in srgb,var(--rc-primary) 44%,transparent));
  transform:translate(-50%,-50%);
  animation:home-coach-brain 1.55s ease-in-out infinite;
}
body[data-view="today"] .coach-signal i{
  position:absolute;
  z-index:2;
  display:block;
  left:0;
  top:0;
  width:5px;
  height:5px;
  border-radius:50%;
  background:color-mix(in srgb,var(--rc-primary) 78%,#d6fff0);
  box-shadow:0 0 7px color-mix(in srgb,var(--rc-primary) 65%,transparent);
  offset-path:ellipse(29px 18px at 34px 24px);
  offset-rotate:0deg;
  animation:home-coach-data-dot 1.48s linear infinite;
}
body[data-view="today"] .coach-signal i:nth-of-type(2){animation-delay:-.3s}
body[data-view="today"] .coach-signal i:nth-of-type(3){animation-delay:-.6s}
body[data-view="today"] .coach-signal i:nth-of-type(4){offset-path:ellipse(20px 11px at 34px 24px);animation-direction:reverse;animation-delay:-.25s;animation-duration:1.05s}
body[data-view="today"] .coach-signal i:nth-of-type(5){offset-path:ellipse(20px 11px at 34px 24px);animation-direction:reverse;animation-delay:-.75s;animation-duration:1.05s}
body[data-view="today"] .home-action-coach:hover .coach-signal i,
body[data-view="today"] .home-action-coach:focus-within .coach-signal i{animation-duration:.9s}

/* Home: one semantic progress track and a warm, geometrically neutral current day. */
body[data-view="today"] .mini-week{
  --today-warm:#e8673f;
  --today-warm-core:#f2ad50;
  position:relative;
  isolation:isolate;
  gap:2px;
  margin-bottom:14px;
}
body[data-view="today"] .mini-week::before,
body[data-view="today"] .mini-week::after{
  content:"";
  position:absolute;
  z-index:0;
  left:var(--week-track-start,calc(100% / 14));
  bottom:-7px;
  height:2px;
  pointer-events:none;
}
body[data-view="today"] .mini-week::before{
  right:calc(100% - var(--week-track-end,calc(100% - (100% / 14))));
  background:repeating-linear-gradient(90deg,color-mix(in srgb,var(--rc-text-muted) 35%,transparent) 0 4px,transparent 4px 8px);
}
body[data-view="today"] .mini-week::after{
  width:calc(var(--week-current-x,var(--week-progress,50%)) - var(--week-track-start,calc(100% / 14)));
  border-radius:999px;
  background:color-mix(in srgb,var(--rc-primary) 70%,var(--rc-border));
  transform:scaleX(0);
  transform-origin:left;
}
body[data-view="today"] .mini-week.is-ready::after{animation:home-week-progress 520ms var(--rc-ease) 220ms forwards}
body[data-view="today"] .mini-day{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-rows:14px 20px 18px;
  align-content:start;
  box-sizing:border-box;
  height:64px;
  min-height:64px;
  padding:6px 2px;
  overflow:visible;
  border:1px solid transparent;
  border-radius:9px;
  background:transparent;
  transition:opacity var(--rc-motion-standard) var(--rc-ease),background-color var(--rc-motion-fast) var(--rc-ease),box-shadow var(--rc-motion-fast) var(--rc-ease);
}
body[data-view="today"] .mini-day>span:first-child{
  height:14px;
  margin:0;
  line-height:14px;
}
body[data-view="today"] .mini-day>b{
  height:20px;
  margin:0;
  line-height:20px;
}
body[data-view="today"] .mini-day .calendar-markers{
  align-self:start;
  height:18px;
  min-height:18px;
  padding-block:1px;
}
body[data-view="today"] .mini-day.is-past{background:color-mix(in srgb,var(--rc-primary-soft) 22%,transparent)}
body[data-view="today"] .mini-day.is-future{opacity:.52}
body[data-view="today"] .mini-day.today{
  isolation:isolate;
  overflow:hidden;
  border:2px solid var(--today-warm);
  background:var(--surface-interactive);
  box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--today-warm-core) 12%,transparent),0 0 10px color-mix(in srgb,var(--today-warm) 12%,transparent);
}
body[data-view="today"] .mini-day.today>*{position:relative;z-index:1}
body[data-view="today"] .mini-day.today>b{color:color-mix(in srgb,var(--today-warm-core) 76%,var(--rc-text))}
body[data-view="today"] .mini-day.today::before{
  content:"";
  position:absolute;
  z-index:0;
  left:-35%;
  top:-45%;
  width:170%;
  height:190%;
  border-radius:42%;
  background:radial-gradient(ellipse at 25% 36%,color-mix(in srgb,var(--today-warm-core) 42%,transparent),transparent 28%),radial-gradient(ellipse at 72% 68%,color-mix(in srgb,var(--today-warm) 34%,transparent),transparent 31%);
  opacity:.65;
  filter:blur(6px) saturate(1.12);
  animation:home-today-glow-weave 3.3s ease-in-out infinite;
  pointer-events:none;
}
body[data-view="today"] .mini-day.today::after{content:none}
body[data-view="today"].home-day-overlay-open{overflow:hidden}
body[data-view="today"] .home-day-overlay{
  position:fixed;
  z-index:120;
  inset:0;
  display:grid;
  place-items:center;
  padding:clamp(14px,4vw,30px);
  background:radial-gradient(circle at 50% 12%,color-mix(in srgb,var(--rc-primary) 16%,transparent),transparent 40%),rgba(5,10,8,.82);
  -webkit-backdrop-filter:blur(10px) saturate(.9);
  backdrop-filter:blur(10px) saturate(.9);
}
body[data-view="today"] .home-day-overlay.hidden{display:none}
body[data-view="today"] .home-day-dialog{
  position:relative;
  width:min(680px,100%);
  max-height:min(82vh,760px);
  padding:clamp(24px,4vw,38px);
  overflow:auto;
  border:1px solid color-mix(in srgb,var(--rc-primary) 56%,var(--rc-border));
  border-radius:22px;
  background:radial-gradient(circle at 90% 4%,color-mix(in srgb,var(--rc-primary) 18%,transparent),transparent 36%),linear-gradient(145deg,color-mix(in srgb,var(--surface-interactive) 92%,#16241d),var(--rc-surface));
  box-shadow:inset 0 1px 0 color-mix(in srgb,var(--rc-primary) 34%,transparent),0 30px 90px rgba(0,0,0,.48),0 0 34px color-mix(in srgb,var(--rc-primary) 9%,transparent);
}
body[data-view="today"] .home-day-dialog::before{
  content:"";
  position:absolute;
  inset:0 0 auto;
  height:4px;
  background:linear-gradient(90deg,var(--rc-primary),color-mix(in srgb,var(--today-warm,#e8673f) 80%,var(--rc-primary)),transparent 88%);
}
body[data-view="today"] .home-day-close{
  position:absolute;
  z-index:2;
  top:14px;
  right:14px;
  display:grid;
  width:32px;
  min-width:32px;
  height:32px;
  min-height:32px;
  place-items:center;
  padding:0;
  border:1px solid color-mix(in srgb,var(--rc-text-muted) 42%,transparent);
  border-radius:50%;
  background:rgba(8,15,11,.62);
  color:var(--rc-text);
  font-size:1.25rem;
  font-weight:500;
  line-height:1;
}
body[data-view="today"] .home-day-close:hover,
body[data-view="today"] .home-day-close:focus-visible{border-color:var(--rc-primary);background:var(--rc-primary-soft)}
body[data-view="today"] .home-day-content>.eyebrow{display:block;margin:0 42px 8px 0}
body[data-view="today"] .home-day-content>h2{max-width:560px;margin:0 42px 8px 0;font-size:clamp(1.8rem,5vw,3rem);letter-spacing:-.045em}
body[data-view="today"] .home-day-summary{margin:0 0 24px;color:var(--rc-text-muted);font-size:.82rem}
body[data-view="today"] .home-day-items{display:grid;gap:10px}
body[data-view="today"] .home-day-item{
  display:grid;
  grid-template-columns:10px minmax(0,1fr) auto;
  gap:12px;
  align-items:center;
  width:100%;
  padding:15px 16px;
  border:1px solid color-mix(in srgb,var(--tone,var(--rc-primary)) 38%,var(--rc-border));
  border-radius:13px;
  background:linear-gradient(100deg,color-mix(in srgb,var(--tone,var(--rc-primary)) 12%,var(--rc-surface-subtle)),var(--rc-surface-subtle) 74%);
  color:var(--rc-text);
  text-align:left;
}
body[data-view="today"] .home-day-item-dot{width:9px;height:9px;border-radius:50%;background:var(--tone,var(--rc-primary));box-shadow:0 0 10px color-mix(in srgb,var(--tone,var(--rc-primary)) 55%,transparent)}
body[data-view="today"] .home-day-item-copy{min-width:0}
body[data-view="today"] .home-day-item-copy small{display:block;margin-bottom:3px;color:color-mix(in srgb,var(--tone,var(--rc-primary)) 76%,var(--rc-text));font-size:.61rem;font-weight:850;letter-spacing:.08em;text-transform:uppercase}
body[data-view="today"] .home-day-item-copy b{display:block;font-size:.96rem;line-height:1.3}
body[data-view="today"] .home-day-item-copy span{display:block;margin-top:4px;overflow:hidden;color:var(--rc-text-muted);font-size:.71rem;line-height:1.35;text-overflow:ellipsis}
body[data-view="today"] .home-day-item-arrow{color:var(--rc-primary);font-size:1.1rem}
body[data-view="today"] .home-day-empty{padding:20px;border:1px dashed var(--rc-border);border-radius:13px;background:color-mix(in srgb,var(--rc-surface-subtle) 74%,transparent);color:var(--rc-text-muted)}
body[data-view="today"] .week-at-glance>.marker-key{
  gap:6px 13px;
  color:color-mix(in srgb,var(--rc-text-muted) 86%,var(--rc-text));
  font-size:.62rem;
}
body[data-view="today"] .week-at-glance>.marker-key>span{align-items:center;gap:5px}
body[data-view="today"] .week-at-glance>.marker-key .day-marker{margin:0}

/* Trends: the major section owns containment. Only true analytical canvases,
   selected states and expandable diagnostics remain boxed. */
body.trends-page .training-analysis{
  overflow:visible;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}
body.trends-page .training-analysis-head{
  padding:0 0 18px;
  border-bottom:1px solid var(--divider);
}
body.trends-page .training-analysis-head>.range-row{padding:0;background:transparent}
body.trends-page .training-analysis-block{margin-inline:0;border:0}
body.trends-page .training-analysis .primary-load-card{
  margin-top:18px;
  padding:20px 20px 0;
  overflow:hidden;
  border:1px solid var(--border-subtle);
  border-radius:18px;
  background:color-mix(in srgb,var(--surface-raised) 78%,transparent);
}
body.trends-page .training-analysis .primary-load-card .training-summary{margin-inline:0;padding-inline:0}
body.trends-page .training-analysis .training-composition{
  margin-top:22px;
  padding:22px 0 0;
  border-top:1px solid var(--divider);
}
body.trends-page .training-analysis .run-type-card{padding:0;border:0;border-radius:0;background:transparent}

body.trends-page .recovery-overview-card{
  padding:0;
  overflow:visible;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}
body.trends-page .recovery-controls{padding:0;border:0;background:transparent}
body.trends-page .recovery-chart-shell{
  margin-top:14px;
  padding:16px 14px 12px;
  overflow:hidden;
  border:1px solid var(--border-subtle);
  border-radius:18px;
  background:color-mix(in srgb,var(--surface-raised) 78%,transparent);
}

/* Metric strips are divider systems, not inset cards. */
body.trends-page .training-summary,
body.trends-page .recovery-highlight-cards,
body.trends-page .fitness-snapshot{
  overflow:visible;
  border:0;
  border-radius:0;
  background:transparent;
}
body.trends-page .recovery-highlight-cards>article{
  border:0;
  border-radius:0;
  background:transparent;
}
body.trends-page .recovery-insights{padding:18px 0 0;border-top:1px solid var(--divider)}
body.trends-page .key-insights{padding-inline:0}

body.trends-page .fitness-support-grid{
  gap:0;
  padding-top:4px;
  border-top:1px solid var(--divider);
}
body.trends-page .fitness-support-card{
  padding:16px 18px;
  border:0;
  border-radius:0;
  background:transparent;
}
body.trends-page .fitness-support-card+.fitness-support-card{border-left:1px solid var(--divider)}

@keyframes home-hero-arrival{from{opacity:.22;transform:translateY(18px) scale(.988)}to{opacity:1;transform:none}}
@keyframes home-hero-sweep{from{transform:translateX(-70%);opacity:0}46%{opacity:1}to{transform:translateX(70%);opacity:0}}
@keyframes home-session-title{from{opacity:.04;transform:translateY(16px)}to{opacity:1;transform:none}}
@keyframes home-support-arrival{from{opacity:0;transform:translateY(11px)}to{opacity:1;transform:none}}
@keyframes home-week-progress{to{transform:scaleX(1)}}
@keyframes home-today-glow-weave{0%,100%{transform:translate3d(-12%,8%,0) rotate(-8deg) scale(.94)}38%{transform:translate3d(13%,-11%,0) rotate(7deg) scale(1.08)}72%{transform:translate3d(-2%,10%,0) rotate(-2deg) scale(1.02)}}
@keyframes home-execution-flame{0%,100%{transform:translateX(-50%) rotate(-45deg) scale(.97,1)}34%{transform:translateX(calc(-50% + 4px)) translateY(-3px) rotate(-40deg) scale(1.07,1.11)}68%{transform:translateX(calc(-50% - 3px)) translateY(2px) rotate(-50deg) scale(.94,1.04)}}
@keyframes home-execution-ember{0%,100%{transform:translateX(-50%) translateY(0) rotate(-1deg) scale(1)}42%{transform:translateX(calc(-50% + 6px)) translateY(-5px) rotate(6deg) scale(1.1,.9)}72%{transform:translateX(calc(-50% - 4px)) translateY(3px) rotate(-5deg) scale(.94,1.1)}}
@keyframes home-execution-core{0%,100%{opacity:.58;transform:scale(.92)}50%{opacity:.88;transform:scale(1.08)}}
@keyframes home-execution-aura{0%,100%{opacity:.42;transform:translateX(-50%) scale(.88)}50%{opacity:.8;transform:translateX(-50%) scale(1.08)}}
@keyframes home-coach-brain{0%,100%{transform:translate(-50%,-50%) scale(.94) rotate(-2deg)}48%{transform:translate(-50%,-50%) scale(1.06) rotate(2deg)}72%{transform:translate(-50%,-50%) scale(1) rotate(-1deg)}}
@keyframes home-coach-data-dot{to{offset-distance:100%}}
@keyframes home-execution-ember-reduced{0%,100%{transform:translateX(-50%) translateY(0) scale(1)}45%{transform:translateX(calc(-50% + 3px)) translateY(-5px) scale(1.075,.93)}75%{transform:translateX(calc(-50% - 2px)) translateY(2px) scale(.97,1.06)}}
@keyframes home-execution-flame-reduced{0%,100%{transform:translateX(-50%) rotate(-45deg) scale(.98,1)}45%{transform:translateX(calc(-50% + 3px)) translateY(-4px) rotate(-41deg) scale(1.06,1.08)}75%{transform:translateX(calc(-50% - 2px)) translateY(2px) rotate(-48deg) scale(.96,1.04)}}
@keyframes home-execution-core-reduced{0%,100%{opacity:.58;transform:scale(.94)}50%{opacity:.9;transform:scale(1.05)}}
@keyframes home-execution-aura-reduced{0%,100%{opacity:.4;transform:translateX(-50%) scale(.92)}50%{opacity:.7;transform:translateX(-50%) scale(1.04)}}
@keyframes home-coach-data-dot-reduced{to{offset-distance:100%}}

body[data-view="today"] .today-week{animation:home-support-arrival 540ms var(--rc-ease) 170ms both}
body[data-view="today"] .home-action{animation:home-support-arrival 540ms var(--rc-ease) both}
body[data-view="today"] .home-action:nth-child(1){animation-delay:240ms}
body[data-view="today"] .home-action:nth-child(2){animation-delay:330ms}
body[data-view="today"] .home-action:nth-child(3){animation-delay:420ms}

@media(max-width:760px){
  body[data-view="today"] .today-layout{grid-template-columns:1fr;gap:10px}
  body[data-view="today"] .today-week{grid-column:1}
  body[data-view="today"] .today-session{padding:22px 17px}
  body[data-view="today"] .today-session h2{font-size:clamp(1.75rem,8.5vw,2.35rem)}
  body[data-view="today"] .today-distance{min-width:136px;margin-top:10px;padding:8px 12px 9px}
  body[data-view="today"] .today-distance strong{font-size:1.45rem}
  body[data-view="today"] .month-execution{
    grid-template-columns:1fr;
    align-content:center;
    justify-self:stretch;
    gap:0;
    min-width:0;
    padding:12px 8px;
    border:1px solid color-mix(in srgb,var(--execution-main) 26%,var(--border-subtle));
  }
  body[data-view="today"] .execution-instrument{width:62px;height:64px}
  body[data-view="today"] .execution-aura{bottom:2px;width:52px;height:52px}
  body[data-view="today"] .execution-shape{bottom:13px;width:36px;height:36px}
  body[data-view="today"] .month-execution[data-execution-state="moderate"] .execution-shape{width:32px;height:32px}
  body[data-view="today"] .month-execution[data-execution-state="low"] .execution-shape,
  body[data-view="today"] .month-execution[data-execution-state="unavailable"] .execution-shape{bottom:17px;width:42px;height:25px}
  body[data-view="today"] .execution-shape i{right:7px;bottom:6px;width:13px;height:18px}
  body[data-view="today"] .month-execution[data-execution-state="low"] .execution-shape i,
  body[data-view="today"] .month-execution[data-execution-state="unavailable"] .execution-shape i{right:7px;bottom:5px;width:17px;height:11px}
  body[data-view="today"] .execution-base{bottom:9px;width:48px}
  body[data-view="today"] .execution-copy strong{font-size:1.7rem}
  body[data-view="today"] .execution-copy small{max-width:none}
  body[data-view="today"] .home-right-rail{grid-column:1;grid-row:auto}
  body[data-view="today"] .home-right-rail>.home-actions{grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:1fr}
  body[data-view="today"] .home-right-rail>.home-actions .home-action{display:flex;padding:14px;background:linear-gradient(145deg,var(--surface-interactive),var(--surface-subtle));border:1px solid color-mix(in srgb,var(--rc-primary) 22%,var(--border-subtle))}
  body[data-view="today"] .home-right-rail>.home-actions .home-action>div{display:block}
  body[data-view="today"] .home-right-rail>.home-actions .home-action>.coach-signal{display:block;transform:scale(.86);margin-block:5px}
  body[data-view="today"] .home-right-rail>.home-actions .home-action.primary{background:linear-gradient(145deg,color-mix(in srgb,var(--surface-interactive) 90%,var(--rc-primary-soft)),var(--surface-subtle))}
  body[data-view="today"] .home-right-rail>.home-actions .home-action button{width:auto;min-width:84px;min-height:40px;padding:8px 10px}
  body[data-view="today"] .home-right-rail>.home-actions .home-action button.secondary{border:1px solid var(--border-subtle);background:var(--surface-interactive);color:var(--rc-primary)}
  body[data-view="today"] .action-full{display:inline}
  body[data-view="today"] .action-short{display:none}
  body[data-view="today"] .mini-day{height:60px;min-height:60px;padding-inline:1px}
  body[data-view="today"] .week-at-glance>.marker-key{max-width:280px;gap:6px 11px}
  body.trends-page .training-analysis-head{display:block;padding-bottom:15px}
  body.trends-page .training-analysis .primary-load-card{padding:16px 10px 0}
  body.trends-page .recovery-chart-shell{padding:12px 7px 9px}
  body.trends-page .fitness-support-card{padding:15px 2px}
  body.trends-page .fitness-support-card+.fitness-support-card{border-left:0;border-top:1px solid var(--divider)}
}

@media(max-width:480px){
  body[data-view="today"] .month-execution{grid-template-columns:66px minmax(0,1fr);justify-items:stretch;gap:9px;padding:11px 14px}
  body[data-view="today"] .month-execution .execution-copy{justify-items:start;text-align:left}
  body[data-view="today"] .month-execution .execution-copy small{max-width:none}
  body[data-view="today"] .home-right-rail>.home-actions{grid-template-columns:1fr;grid-template-rows:repeat(3,auto)}
  body[data-view="today"] .home-right-rail>.home-actions .home-action{gap:10px;padding:12px}
  body[data-view="today"] .home-right-rail>.home-actions .home-action p{display:block}
  body[data-view="today"] .home-right-rail>.home-actions .home-action button{min-width:78px;font-size:.7rem}
  body[data-view="today"] .today-week{padding:17px 13px}
  body[data-view="today"] .today-week .week-figure{padding:11px 9px}
  body.trends-page .training-analysis .primary-load-card{margin-inline:-2px;padding-inline:7px}
  body.trends-page .recovery-chart-shell{margin-inline:-2px}
  body[data-view="today"] .home-day-overlay{place-items:end center;padding:10px}
  body[data-view="today"] .home-day-dialog{width:100%;max-height:88vh;padding:27px 18px 20px;border-radius:19px}
}

@media(prefers-reduced-motion:reduce){
  body[data-view="today"] .today-session::after,
  body[data-view="today"] .today-session,
  body[data-view="today"] .today-session h2,
  body[data-view="today"] .today-week,
  body[data-view="today"] .home-action,
  body[data-view="today"] .mini-week.is-ready::after,
  body[data-view="today"] .mini-day.today{
    animation:none!important;
    transform:none!important;
  }
  body[data-view="today"] .execution-aura{animation:home-execution-aura-reduced 4.8s ease-in-out infinite!important}
  .rc-flame-instrument .execution-aura{animation:home-execution-aura-reduced 4.8s ease-in-out infinite!important}
  body[data-view="today"] .execution-shape{animation:home-execution-flame-reduced 4.2s ease-in-out infinite!important}
  .rc-flame-instrument .execution-shape{animation:home-execution-flame-reduced 4.2s ease-in-out infinite!important}
  body[data-view="today"] .execution-shape i{animation:home-execution-core-reduced 3.8s ease-in-out infinite!important}
  .rc-flame-instrument .execution-shape i{animation:home-execution-core-reduced 3.8s ease-in-out infinite!important}
  body[data-view="today"] .month-execution[data-execution-state="low"] .execution-shape{animation:home-execution-ember-reduced 4.5s ease-in-out infinite!important}
  body[data-view="today"] .coach-signal span{animation:home-coach-brain 2.7s ease-in-out infinite!important}
  body[data-view="today"] .coach-signal i{animation:home-coach-data-dot-reduced 2.25s linear infinite!important}
  body[data-view="today"] .month-execution[data-execution-state="unavailable"] .execution-shape,
  body[data-view="today"] .month-execution[data-execution-state="unavailable"] .execution-shape i,
  body[data-view="today"] .month-execution[data-execution-state="unavailable"] .execution-aura{animation:none!important}
  body[data-view="today"] .mini-day.today::before{animation:home-today-glow-weave 5.8s ease-in-out infinite!important;opacity:.5}
  body[data-view="today"] .mini-day.today::after{content:none!important}
  body[data-view="today"] .mini-week::after{transform:scaleX(1)}
}
