:root{--brand-lime: oklch(.9 .22 125);--brand-spark: oklch(.78 .16 35);--radius: .95rem;--btn-height-md: 3.05rem;--background: oklch(.145 .01 280);--card: oklch(.225 .012 280);--border: oklch(.32 .014 280);--muted: oklch(.235 .012 280);--muted-foreground: oklch(.7 .014 280);--accent: oklch(.68 .19 250);--ring: oklch(.68 .19 250)}.app-shell{background:radial-gradient(ellipse 80% 50% at 50% -10%,color-mix(in oklch,var(--accent) 18%,transparent),transparent 55%),radial-gradient(ellipse 40% 30% at 100% 20%,color-mix(in oklch,var(--brand-lime) 6%,transparent),transparent 50%),radial-gradient(ellipse 35% 25% at 0% 80%,color-mix(in oklch,var(--brand-spark) 7%,transparent),transparent 50%),var(--background)}.app-frame{background:transparent}@media(min-width:48rem){.app-frame{background:radial-gradient(ellipse 60% 40% at 70% 0%,color-mix(in oklch,var(--accent) 12%,transparent),transparent 60%),color-mix(in oklch,var(--background) 92%,oklch(.2 .01 280))}}.brand-logo h1{font-weight:650;letter-spacing:-.04em;color:var(--foreground)}.brand-logo-mark{border-radius:1rem;background:radial-gradient(circle at 35% 25%,color-mix(in oklch,var(--brand-lime) 85%,white),var(--brand-lime) 55%,color-mix(in oklch,var(--brand-lime) 70%,black));border:1px solid color-mix(in oklch,var(--brand-lime) 55%,black);box-shadow:0 0 0 1px color-mix(in oklch,var(--brand-lime) 25%,transparent),0 8px 20px color-mix(in oklch,var(--brand-lime) 18%,transparent);transform:rotate(-2deg)}.brand-logo-copy p{color:color-mix(in oklch,var(--brand-lime) 40%,var(--muted-foreground));font-weight:560;letter-spacing:.01em}.eyebrow{color:color-mix(in oklch,var(--brand-spark) 35%,var(--muted-foreground));font-weight:540;font-size:.9rem;letter-spacing:-.01em}.screen-stack h2{font-size:clamp(1.45rem,1.05rem + 2.4vw,1.85rem);font-weight:650;letter-spacing:-.035em;line-height:1.08;max-width:12em}.hero-card,.soft-card,.metric-card,.run-card,.plan-card,.profile-card,.setting-row,.week-overview,.today-card,.app-modal{border-radius:calc(var(--radius) + .15rem);box-shadow:inset 0 1px #ffffff0f,0 1px #00000040;transition:transform .14s cubic-bezier(.22,1,.36,1),border-color .14s ease,background .14s ease}.soft-card[role=button]:active,.recent-run[role=button]:active,.plan-card:active{transform:scale(.985)}.section-label{position:relative;padding-left:.7rem;letter-spacing:.08em;font-weight:560;font-size:.7rem}.section-label:before{content:"";position:absolute;left:0;top:50%;width:.35rem;height:.35rem;border-radius:999px;background:var(--brand-lime);transform:translateY(-50%) rotate(12deg);box-shadow:0 0 10px color-mix(in oklch,var(--brand-lime) 55%,transparent)}.hero-metric{font-size:2.45rem;font-weight:620;letter-spacing:-.04em;line-height:.98}.today-card{border-left-width:5px;border-radius:calc(var(--radius) + .25rem);padding:1.15rem 1.1rem 1.2rem;background:linear-gradient(135deg,color-mix(in oklch,var(--effort-color, var(--accent)) 10%,transparent),transparent 42%),var(--card);box-shadow:inset 0 1px #ffffff0f,0 0 0 1px color-mix(in oklch,var(--effort-color, var(--border)) 18%,transparent),0 12px 32px color-mix(in oklch,var(--effort-color, var(--accent)) 8%,transparent)}.today-card.is-planned{border-left-color:var(--effort-color, var(--accent))}.today-card .hero-metric{font-size:2.55rem}.today-card .primary-button.effort{min-height:3.2rem;border-radius:999px;font-weight:620;letter-spacing:-.015em;box-shadow:0 8px 22px color-mix(in oklch,var(--effort-color, var(--primary)) 28%,transparent)}.today-card .done-check{box-shadow:0 0 0 3px color-mix(in oklch,var(--color-effort-easy) 25%,transparent)}.progress-ring{width:6.5rem;height:6.5rem}.progress-ring .track{stroke:color-mix(in oklch,var(--border) 70%,transparent)}.progress-ring .value{stroke:var(--brand-lime);filter:drop-shadow(0 0 6px color-mix(in oklch,var(--brand-lime) 45%,transparent))}.progress-ring strong{font-weight:620}.week-bar-track{height:3.35rem;border-radius:.75rem;background:color-mix(in oklch,var(--muted) 80%,transparent)}.week-bar-fill{width:70%;border-radius:999px 999px .45rem .45rem;transition:height .42s cubic-bezier(.22,1,.36,1)}.week-bar.today .week-bar-track{outline:2px solid color-mix(in oklch,var(--brand-lime) 70%,transparent);outline-offset:2px}.week-bar.today .week-bar-fill{background:var(--brand-lime);box-shadow:0 0 12px color-mix(in oklch,var(--brand-lime) 40%,transparent)}.week-bar.done .week-bar-fill{background:var(--color-effort-easy)}.week-bar.rest .week-bar-fill{width:.45rem;height:.45rem;background:color-mix(in oklch,var(--brand-spark) 40%,var(--border))}.week-bar-label{font-weight:600;font-size:.7rem}.week-bar.today .week-bar-label{color:var(--brand-lime);font-weight:700}.primary-button{border-radius:999px;font-weight:600;letter-spacing:-.015em;box-shadow:0 1px #ffffff14}.primary-button:active{transform:scale(.975)}.primary-button.effort{border-radius:999px}.icon-button{border-radius:1rem;background:color-mix(in oklch,var(--card) 85%,var(--muted));border:1px solid var(--border);transition:transform .14s ease,border-color .14s ease,background .14s ease}.icon-button:active{transform:scale(.94) rotate(-3deg)}.icon-button.active{border-color:color-mix(in oklch,var(--brand-lime) 45%,var(--border));box-shadow:0 0 0 1px color-mix(in oklch,var(--brand-lime) 25%,transparent)}.chip{border-radius:999px;font-weight:560}.chip.active{background:var(--primary);color:var(--primary-foreground);box-shadow:0 0 0 1px color-mix(in oklch,var(--brand-lime) 35%,transparent)}.workout-badge{border-radius:999px;font-weight:620;letter-spacing:.04em}.plan-card{border-left-width:4px;border-radius:calc(var(--radius) + .05rem)}.plan-card.today,.plan-card.today-anchor{background:linear-gradient(90deg,color-mix(in oklch,var(--effort-color, var(--accent)) 12%,transparent),transparent 55%),var(--card);box-shadow:inset 0 1px #ffffff0d,0 0 0 1px color-mix(in oklch,var(--effort-color, var(--accent)) 22%,transparent)}.day-pill{border-radius:.9rem}.plan-card.today .day-pill{background:var(--brand-lime);color:#0e1402;box-shadow:0 6px 16px color-mix(in oklch,var(--brand-lime) 30%,transparent)}@media(max-width:47.99rem){.bottom-nav{border-radius:1.35rem;border:1px solid color-mix(in oklch,var(--border) 80%,var(--brand-lime));box-shadow:0 0 0 1px #ffffff08,0 12px 40px #00000059}.bottom-nav button.active{background:var(--primary);color:var(--primary-foreground);box-shadow:0 0 0 1px color-mix(in oklch,var(--brand-lime) 40%,transparent)}}.soft-card.recovery-prompt{background:linear-gradient(145deg,color-mix(in oklch,var(--recovery) 12%,transparent),transparent 50%),var(--card);border-color:color-mix(in oklch,var(--recovery) 28%,var(--border))}.icon-tile.recovery{border-radius:1rem}::selection{background:color-mix(in oklch,var(--brand-lime) 28%,transparent);color:var(--foreground)}.support-copy{color:color-mix(in oklch,var(--muted-foreground) 92%,var(--brand-spark))}.empty-state h3{font-weight:620;letter-spacing:-.02em}.app-modal{border-radius:calc(var(--radius) + .2rem);border-color:color-mix(in oklch,var(--border) 85%,var(--accent))}.plan-summary{background:linear-gradient(145deg,color-mix(in oklch,var(--brand-lime) 7%,transparent),transparent 48%),var(--card);border-color:color-mix(in oklch,var(--border) 80%,var(--brand-lime))}.plan-summary strong{font-weight:620;letter-spacing:-.03em;font-size:1.85rem}.plan-summary span{color:var(--muted-foreground);font-size:.7rem;font-weight:560;letter-spacing:.08em;text-transform:uppercase}.plan-week-header{border-radius:.65rem;padding-inline:.35rem;transition:color .14s ease,background .14s ease}.plan-week-header:hover{background:color-mix(in oklch,var(--muted) 55%,transparent);color:var(--foreground)}.plan-week-header .week-chevron{color:var(--brand-lime);opacity:.85}.week-overview.current{border-color:color-mix(in oklch,var(--brand-lime) 40%,var(--border));box-shadow:inset 0 1px #ffffff0d,0 0 0 1px color-mix(in oklch,var(--brand-lime) 18%,transparent);background:linear-gradient(120deg,color-mix(in oklch,var(--brand-lime) 8%,transparent),transparent 50%),var(--card)}.volume-bar{background:color-mix(in oklch,var(--muted) 85%,transparent);border-radius:999px;overflow:hidden}.volume-bar span{background:linear-gradient(90deg,color-mix(in oklch,var(--accent) 70%,var(--brand-lime)),var(--brand-lime));border-radius:inherit}.phase-rail span{border-top-width:.45rem;font-weight:560;letter-spacing:.02em}.calendar-day{border-radius:.85rem;transition:transform .12s ease,border-color .14s ease,background .14s ease}.calendar-day:active:not(.blank){transform:scale(.94)}.calendar-day.today{border-color:color-mix(in oklch,var(--brand-lime) 55%,var(--border));box-shadow:inset 0 0 0 1px color-mix(in oklch,var(--brand-lime) 50%,transparent),0 0 16px color-mix(in oklch,var(--brand-lime) 12%,transparent)}.calendar-day.selected{border-color:color-mix(in oklch,var(--accent) 55%,var(--border));background:color-mix(in oklch,var(--accent) 12%,var(--card))}.calendar-day.done{border-color:color-mix(in oklch,var(--color-effort-easy) 45%,var(--border))}.calendar-day.done:after{color:var(--brand-lime)}.dot.matcha{background:var(--color-effort-easy)}.dot.yuzu{background:var(--color-effort-moderate)}.dot.strawberry{background:var(--color-effort-hard)}.metric-card{position:relative;overflow:hidden}.metric-card strong{font-weight:620;letter-spacing:-.03em}.metric-card.wide{background:linear-gradient(160deg,color-mix(in oklch,var(--accent) 8%,transparent),transparent 45%),var(--card)}.metric-card.accent-yuzu{background:linear-gradient(155deg,color-mix(in oklch,var(--color-effort-moderate) 14%,transparent),transparent 50%),var(--card);border-color:color-mix(in oklch,var(--color-effort-moderate) 28%,var(--border))}.metric-card.accent-strawberry{background:linear-gradient(155deg,color-mix(in oklch,var(--brand-spark) 12%,transparent),transparent 50%),var(--card);border-color:color-mix(in oklch,var(--brand-spark) 26%,var(--border))}.mini-chart .line{stroke:var(--brand-lime);stroke-width:3;filter:drop-shadow(0 0 5px color-mix(in oklch,var(--brand-lime) 40%,transparent))}.mini-chart .grid{stroke:color-mix(in oklch,var(--border) 75%,transparent)}.mini-chart circle{fill:var(--brand-lime)}.zone-bars span{background:linear-gradient(180deg,color-mix(in oklch,var(--brand-lime) 75%,var(--accent)),color-mix(in oklch,var(--accent) 80%,var(--card)));border-radius:.55rem .55rem .4rem .4rem;min-height:1.5rem}.chart-caption{color:color-mix(in oklch,var(--muted-foreground) 90%,var(--brand-spark))}.status-banner.warn{border-color:color-mix(in oklch,var(--warning) 35%,var(--border));background:color-mix(in oklch,var(--warning) 12%,var(--card))}.status-banner.info{border-color:color-mix(in oklch,var(--accent) 30%,var(--border));background:color-mix(in oklch,var(--accent) 10%,var(--card))}.fixed.inset-0.z-50>.bg-slate-900{background:radial-gradient(ellipse 70% 42% at 50% 0%,color-mix(in oklch,var(--brand-lime) 10%,transparent),transparent 55%),var(--card)!important;box-shadow:inset 0 1px #ffffff0f,0 -10px 40px #0006}.fixed.inset-0.z-50>.bg-slate-900 .sticky.bottom-0{background:color-mix(in oklch,var(--card) 94%,var(--background))!important}.fixed.inset-0.z-50>.bg-slate-900 .sticky.bottom-0>button[type=submit]{border-radius:999px!important;font-weight:620!important;letter-spacing:-.015em;box-shadow:0 8px 22px color-mix(in oklch,var(--primary) 22%,transparent)}.fixed.inset-0.z-50>.bg-slate-900 h2.text-3xl{font-weight:650!important;letter-spacing:-.03em!important;color:var(--foreground)!important}.fixed.inset-0.z-50>.bg-slate-900 .text-5xl{font-weight:650!important;letter-spacing:-.04em;color:var(--foreground)!important}.fixed.inset-0.z-50>.bg-slate-900 button.w-full.py-4.font-extrabold{border-radius:999px!important;background:var(--primary)!important;color:var(--primary-foreground)!important;font-weight:620!important;letter-spacing:-.015em;box-shadow:0 8px 22px color-mix(in oklch,var(--primary) 24%,transparent)}.fixed.inset-0.z-50>.bg-slate-900 button[class*=border-emerald]{background:linear-gradient(135deg,color-mix(in oklch,var(--color-effort-easy) 14%,transparent),transparent 55%),color-mix(in oklch,var(--card) 88%,var(--muted))!important}.fixed.inset-0.z-50>.bg-slate-900 p[class*=border-primary][class*=bg-primary]{background:linear-gradient(145deg,color-mix(in oklch,var(--accent) 12%,transparent),transparent 50%),color-mix(in oklch,var(--card) 88%,var(--muted))!important;color:var(--foreground)!important;font-weight:560!important}.fixed.inset-0.z-50>.bg-slate-900 button.border-primary{box-shadow:0 0 0 1px color-mix(in oklch,var(--brand-lime) 28%,transparent)}.workout-detail-head{position:relative}.workout-detail-head:after{content:"";position:absolute;left:0;bottom:-.35rem;width:2.25rem;height:.2rem;border-radius:999px;background:var(--brand-lime);box-shadow:0 0 12px color-mix(in oklch,var(--brand-lime) 45%,transparent);pointer-events:none}.workout-detail-sheet h2{font-weight:650;letter-spacing:-.03em}.segment-row{background:linear-gradient(90deg,color-mix(in oklch,var(--effort-color, var(--accent)) 10%,transparent),transparent 50%),color-mix(in oklch,var(--card) 92%,var(--muted))}.detail-results{border-color:color-mix(in oklch,var(--border) 80%,var(--brand-lime));background:linear-gradient(160deg,color-mix(in oklch,var(--brand-lime) 7%,transparent),transparent 45%),var(--card)}.detail-results h3,.detail-results-grid strong{font-weight:620;letter-spacing:-.02em}.detail-actions .primary-button.effort{box-shadow:0 8px 22px color-mix(in oklch,var(--effort-color, var(--primary)) 24%,transparent)}.plan-state-chip.custom{border-color:color-mix(in oklch,var(--brand-spark) 40%,var(--border));color:color-mix(in oklch,var(--brand-spark) 55%,var(--foreground))}@media(prefers-reduced-motion:reduce){.soft-card[role=button]:active,.recent-run[role=button]:active,.plan-card:active,.icon-button:active,.primary-button:active,.calendar-day:active,.brand-logo-mark{transform:none}.week-bar-fill{transition:none}}
