/* Motion is decorative; the source widths, SVG paths and numbers stay in the page. */
.summary-glow-canvas{position:fixed;inset:0;width:100vw;height:100vh;z-index:50;pointer-events:none;display:block}
.monthly-training{position:relative;isolation:isolate}
#monthly-training-record{position:relative;isolation:isolate}
#monthly-training-record .monthly-training-row span,#monthly-training-record .monthly-training-row strong{position:relative;z-index:2}
#monthly-training-record .monthly-training-track{background:#e0e9d8;height:9px;border-radius:999px}
#monthly-training-record .monthly-training-track i{background:linear-gradient(90deg,#6c9a42,#a4d66b 70%,#c5f48a);border-radius:999px;box-shadow:0 0 10px #8fc96375}
#monthly-training-record .monthly-glow-canvas{position:absolute;inset:0;width:100%;height:100%;z-index:1;pointer-events:none;display:block}
.monthly-training.motion-started .monthly-training-row strong{color:#386928}

.training-weight,.stats .stat,#everfit-summary>div{position:relative;isolation:isolate}
.training-weight{overflow:hidden}
.training-weight .weight-comparison,.training-weight .weight-card-heading,.training-weight>.fine,.stats .stat>*,#everfit-summary>div>*{position:relative;z-index:1}
.training-weight:before{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:radial-gradient(circle at 30% 53%,#b2e78935,transparent 22%);opacity:0}
.training-weight.motion-started:before{animation:weight-transfer 2.6s ease-in-out 1 both}
@keyframes weight-transfer{0%{transform:translateX(-20%);opacity:0}25%{opacity:.8}65%{opacity:.9}100%{transform:translateX(60%);opacity:0}}
.training-weight .weight-journey-arrow{display:inline-block;color:#649947;text-shadow:0 0 7px #93d26770}
.training-weight.motion-started .weight-journey-arrow{animation:arrow-transfer 2.6s ease-in-out 1 both}
@keyframes arrow-transfer{0%,100%{filter:brightness(1)}50%{filter:brightness(1.8) drop-shadow(0 0 10px #a1e778);transform:translateX(3px)}}

.stats .mini-bars i{background:linear-gradient(0deg,#699641,#b8e77c);transform-origin:bottom;box-shadow:0 0 7px #9bcf6366}
.stats.motion-started .mini-bars i{animation:metric-bar-rise .85s cubic-bezier(.2,.8,.18,1) both;animation-delay:calc(var(--motion-index,0)*.11s)}
@keyframes metric-bar-rise{from{transform:scaleY(.06);opacity:.3}to{transform:scaleY(1);opacity:1}}
.stats .progress-bar{overflow:visible;border-radius:999px;background:#dce7d0}
.stats .progress-bar span{position:relative;border-radius:999px;background:linear-gradient(90deg,#72a04f,#afe274);box-shadow:0 0 12px #83bc5790}
.stats .progress-bar span:after{content:"";position:absolute;right:-2px;top:50%;width:10px;height:10px;border-radius:50%;transform:translateY(-50%);background:#d9f8b9;box-shadow:0 0 13px 3px #a8e875a8}
.stats.motion-started .progress-bar span{animation:meter-unveil 1.7s cubic-bezier(.2,.8,.2,1) .3s both}
@keyframes meter-unveil{from{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0 0 0 0)}}

#everfit-summary>div{overflow:hidden}
#everfit-summary>div:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(105deg,transparent 35%,#bdf39e45 49%,transparent 63%);transform:translateX(-130%)}
#everfit-program.motion-started #everfit-summary>div:after{animation:summary-sheen 1.4s ease-out both;animation-delay:calc(.35s + var(--motion-index,0)*.22s)}
@keyframes summary-sheen{to{transform:translateX(130%)}}
#everfit-summary strong{color:#3e7132}

.calorie-targets{position:relative;isolation:isolate;overflow:hidden}
.calorie-targets .food-phase{position:relative;z-index:2}
.calorie-targets .calorie-glow-canvas{position:absolute;inset:0;width:100%;height:100%;z-index:1;pointer-events:none;display:block}
.calorie-targets .target-arrow{position:relative;z-index:3;color:#6da948;text-shadow:0 0 8px #9bd77a99}
.calorie-targets.motion-started .target-arrow{animation:calorie-arrow 3s ease-in-out infinite}
@keyframes calorie-arrow{50%{filter:brightness(1.45) drop-shadow(0 0 11px #9ee07b);transform:scale(1.08)}}
.calorie-targets .food-phase{transition:box-shadow .5s ease,border-color .5s ease}
.calorie-targets.motion-started .bulk-phase{border-color:#a9d48d;box-shadow:0 0 0 1px #a6d68170,0 0 25px #a6d68132}
.calorie-targets .macro-day{position:relative}
.nutrition-count-visual{display:inline-block;font-variant-numeric:tabular-nums;white-space:nowrap}
.nutrition-count-accessible{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.calorie-targets .macro-day:after{content:"";position:absolute;top:-1px;left:0;height:2px;width:100%;background:linear-gradient(90deg,transparent,#9ad665,transparent);transform:scaleX(0);transform-origin:left;pointer-events:none}
.calorie-targets.motion-started .macro-day:after{animation:macro-line 1.3s ease-out both;animation-delay:calc(.6s + var(--motion-index,0)*.22s)}
@keyframes macro-line{to{transform:scaleX(1)}}

/* The trace duplicates only the existing solid data paths; missing bridges stay dashed. */
#trends #chart .trend-motion-trace{fill:none;stroke:#b9f386;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:.13 .87;pointer-events:none;filter:drop-shadow(0 0 5px #8cd94e) drop-shadow(0 0 10px #8cd94e88)}
#trends.motion-started #chart .trend-motion-trace{animation:trend-trace 7.5s linear infinite}
@keyframes trend-trace{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
#trends.motion-started #chart circle[data-point]:last-of-type{filter:drop-shadow(0 0 6px #91d85f);animation:trend-end-breathe 5s ease-in-out infinite;transform-box:fill-box;transform-origin:center}
@keyframes trend-end-breathe{50%{filter:drop-shadow(0 0 11px #a8f271);transform:scale(1.2)}}
.motion-paused .weight-journey-arrow,.motion-paused .mini-bars i,.motion-paused .progress-bar span,.motion-paused #chart .trend-motion-trace,.motion-paused #chart circle[data-point]:last-of-type,.motion-paused #everfit-summary>div:after,.motion-paused .target-arrow,.motion-paused .macro-day:after{animation-play-state:paused!important}
.training-weight.motion-paused:before{animation-play-state:paused}
@media(prefers-reduced-motion:reduce){
  .training-weight:before{display:none}
  .training-weight .weight-journey-arrow,.stats .mini-bars i,.stats .progress-bar span,#everfit-summary>div:after,#trends #chart .trend-motion-trace,#trends #chart circle[data-point]:last-of-type,.calorie-targets .target-arrow,.calorie-targets .macro-day:after{animation:none!important}
  #trends #chart .trend-motion-trace{display:none}
}

/* Counter wrappers inherit the original number typography, not generic span labels. */
.calorie-targets .nutrition-count-visual,.diet-log .nutrition-count-visual{font:inherit;letter-spacing:inherit;color:inherit;line-height:inherit;margin:0;padding:0;font-variant-numeric:tabular-nums}
