.readinessCard{--readiness-tone: var(--muted)}.readiness-low{--readiness-tone: var(--danger)}.readiness-middle{--readiness-tone: var(--run)}.readiness-high{--readiness-tone: var(--accent)}.readinessHeader{display:flex;align-items:center;justify-content:space-between;gap:16px}.readinessHeader h2{margin:0}.readinessSummary{display:flex;align-items:center;gap:28px;min-height:120px;padding:12px 0}.readinessSummary h3{margin:0 0 6px}.readinessSummaryContent{min-width:0;flex:1}.readinessMetrics{display:grid;gap:8px;margin:14px 0 0;max-width:300px}.readinessMetrics>div{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.readinessMetrics dt{color:var(--muted);font-size:.8rem}.readinessMetrics dd{margin:0;font-size:.9rem;font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap}.readinessSummary p{margin:6px 0;line-height:1.5}.readinessValue{display:flex;align-items:baseline;gap:7px;white-space:nowrap}.readinessValue strong{font-size:4.5rem;line-height:1;color:var(--readiness-tone);font-variant-numeric:tabular-nums}.readinessValue span,.readinessQuality{color:var(--muted);font-size:.85rem}.readinessGauge{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));gap:7px;padding:2px 0 22px}.readinessGauge span{text-align:center;color:var(--muted)}.readinessGauge i{display:block;height:18px;background:var(--surface-3);border:1px solid var(--line);border-radius:4px;margin-bottom:8px}.readinessGauge [data-active=true][data-zone=low] i{background:var(--danger)}.readinessGauge [data-active=true][data-zone=middle] i{background:var(--run)}.readinessGauge [data-active=true][data-zone=high] i{background:var(--accent)}.readinessDetails>h3{font-size:.9rem;margin:18px 0 8px}.readinessDetails>h3:first-child{margin-top:0}.readinessFactors{display:grid;grid-template-columns:minmax(0,1fr);border-top:1px solid var(--line);padding-top:16px;gap:16px}.readinessFactors h3{color:var(--muted);font-size:.82rem;margin:0 0 8px}.readinessFactors strong{font-size:1.15rem;font-variant-numeric:tabular-nums}.readinessFactors p{color:var(--muted);font-size:.8rem;line-height:1.5}.readinessCard summary{cursor:pointer}.readinessCard :is(button,summary):focus-visible{outline:2px solid var(--run);outline-offset:4px}@media(max-width:700px){.readinessSummary{align-items:flex-start;gap:18px}.readinessValue strong{font-size:3.5rem}.readinessGauge{gap:4px}}@media(forced-colors:active){.readinessGauge [data-active=true] i{background:Highlight;forced-color-adjust:none}}.vo2Heading{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}.vo2Heading h2,.vo2Heading h3{margin:6px 0}.vo2Heading p{margin:8px 0}.vo2Summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;padding:20px 0;border-block:1px solid var(--line)}.vo2Summary>div{min-width:0}.vo2Summary>div>span{color:var(--muted);font-size:.9rem}.vo2Value{display:flex;align-items:baseline;flex-wrap:wrap;gap:8px;font-size:2.5rem;font-variant-numeric:tabular-nums;color:var(--ink)}.vo2Value small{font-size:.8rem;font-weight:500;color:var(--muted)}.vo2Confidence{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:.8rem}.vo2Confidence>span:first-child{color:var(--accent);letter-spacing:2px}.vo2Chart{margin:16px 0}.vo2Chart svg{display:block;width:100%;height:auto;touch-action:pan-y}.vo2Chart text{fill:var(--muted);font-size:13px}.vo2Chart figcaption{display:flex;flex-wrap:wrap;gap:20px;font-size:.8rem}.vo2Chart figcaption span:first-child{color:var(--run)}.vo2Chart figcaption span:last-child{color:var(--accent)}.vo2Details{font-size:.88rem;line-height:1.6}.vo2Details dl>div{display:flex;justify-content:space-between;flex-wrap:wrap;gap:6px 16px}.vo2Details dd{margin:0;font-weight:650}.vo2Details ul{padding-left:20px;color:var(--muted)}.vo2Workout{display:block;position:relative}.vo2WorkoutHeader{display:flex;align-items:center;justify-content:space-between;gap:12px}.vo2WorkoutHeader h3{margin:0}.vo2WorkoutSummary{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px 20px}.vo2Workout .vo2Confidence{flex-direction:column;align-items:flex-start;gap:3px}.vo2Workout .cardInfo{position:static}.vo2Workout .cardInfoContent{right:16px;top:64px;width:min(340px,calc(100% - 32px));z-index:4}.vo2Workout summary:focus-visible{outline:2px solid var(--run);outline-offset:4px}.vo2Workout .vo2Value{font-size:1.8rem}.vo2Overview .performanceControls [aria-pressed=true]{background:var(--primary-soft);border-color:var(--run)}.vo2Overview summary:focus-visible,.vo2Overview button:focus-visible{outline:2px solid var(--run);outline-offset:4px}.vo2Loading{min-height:200px;display:grid;align-items:center}@media(max-width:600px){.vo2Summary{gap:16px}.vo2Value{font-size:2rem}.vo2Summary p{font-size:.8rem;line-height:1.5}}.healthMetricExpanded{grid-column:1 / -1}.healthMetric header{flex-wrap:wrap}.healthMetricValue{display:block;margin-top:8px;font-size:1.35rem;font-variant-numeric:tabular-nums}.healthMetric .healthTrendPlot{width:100%;height:auto;max-height:none;touch-action:pan-y}.healthMetric .healthTrendPlot text{font-size:11px}.healthPointValue{min-height:28px;padding-top:6px;font-size:.82rem;font-variant-numeric:tabular-nums}.healthChartSlider{display:flex;flex-direction:column;gap:5px;color:var(--muted);font-size:.75rem}.healthChartSlider input{width:100%;min-height:26px;accent-color:var(--accent)}.workoutAnalysis{padding:18px;border:1px solid var(--line);border-radius:12px;margin-block:18px}.analysisHeader,.analysisMetric header{display:flex;justify-content:space-between;align-items:center;gap:12px}.analysisHeader h3,.analysisMetric h4{display:flex;align-items:center;gap:8px;margin-block:8px}.analysisSummary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-block:18px}.analysisSummary span,.analysisMetricStats div{display:flex;flex-direction:column;gap:4px}.analysisSummary strong{font-size:1.2rem}.analysisMap{height:320px;width:100%;border-radius:10px;background:#102434;z-index:0}.analysisRouteLegend{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;font-size:.75rem;margin-block:8px;color:var(--muted)}.analysisCursor{margin-block:22px;display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center}.analysisCursor label{grid-column:1 / -1;display:flex;justify-content:space-between;gap:8px}.analysisCursor input{width:100%;min-width:0}.analysisCharts{display:grid;gap:14px}.analysisMetric{padding:14px;border:1px solid var(--line);border-radius:10px;min-width:0}.analysisMetric header svg,.analysisMetricStats strong{color:var(--metric-color)}.analysisMetricStats{display:flex;flex-wrap:wrap;gap:12px 30px;margin-block:12px}.analysisMetricStats strong{font-size:1.35rem}.analysisMetricStats span{font-size:.8rem;color:var(--muted)}.analysisChart{display:block;width:100%;overflow:visible;color:var(--text)}.analysisChart text{fill:var(--muted);font-size:12px}.analysisGridLine{stroke:var(--line);stroke-width:1}.analysisEmpty{border:1px dashed var(--line);border-radius:10px;padding:18px;color:var(--muted)}@media(max-width:600px){.workoutAnalysis{padding:12px}.analysisHeader{flex-wrap:wrap}.analysisSummary{font-size:.8rem;gap:8px}.analysisMap{height:240px}.analysisCursor{grid-template-columns:1fr}.analysisMetricStats{gap:18px}}.workoutInsights{margin-top:24px}.analysisZoneRow{display:grid;grid-template-columns:28px 1fr 65px;gap:12px;align-items:center;margin:10px 0}.analysisZoneRow progress{width:100%;accent-color:#30e59f}.insightBests{display:flex;gap:16px;flex-wrap:wrap}.insightBests span{display:grid;gap:4px}.insightSplits{display:grid;gap:6px;max-height:360px;overflow:auto}.insightSplits button{display:flex;gap:18px;justify-content:space-between;text-align:left}.performanceGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:16px}.healthMetric svg{width:100%;max-height:130px}.healthMetric svg text{fill:var(--muted);font-size:10px}.healthChartGrid{stroke:var(--line);stroke-width:1}.healthMetric header{display:flex;gap:10px;justify-content:space-between}.performanceControls{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}.workoutInsights .analysisCharts{grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr))}.analysisMetric>svg{display:block;width:100%;max-height:190px}.insightSplits{justify-items:stretch}.insightSplits button{width:100%}:root{color-scheme:dark;--ink: #eef7ff;--text: var(--ink);--muted: #91a8bc;--line: #203447;--paper: #07131f;--surface: #0d1c2b;--surface-2: #13283b;--surface-3: #172f45;--run: #3ea7ff;--bike: #24d99b;--swim: #6bd8ff;--strength: #7c9cff;--primary: #0f7cff;--primary-strong: #0649d8;--primary-soft: rgba(15, 124, 255, .16);--blue: var(--primary);--blue-strong: var(--primary-strong);--accent: #30e59f;--accent-2: var(--accent);--accent-strong: #17bf7f;--danger: #ff6b7a;--danger-bg: #37151d;--danger-line: #74303a;--shadow: rgba(0, 0, 0, .32);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(circle at top left,rgba(15,124,255,.18),transparent 34rem),radial-gradient(circle at 82% 10%,rgba(48,229,159,.08),transparent 28rem),linear-gradient(180deg,#09192a 0%,var(--paper) 42%);color:var(--ink)}button,select,input,textarea{font:inherit}button{border:1px solid var(--line);background:linear-gradient(180deg,var(--primary),var(--primary-strong));color:#f4f9ff;min-height:40px;padding:0 14px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;gap:8px;cursor:pointer;font-size:.88rem;font-weight:650;letter-spacing:0;text-rendering:geometricPrecision;-webkit-font-smoothing:antialiased;transition:background .14s ease,border-color .14s ease,color .14s ease,box-shadow .14s ease}button:hover{border-color:#4d9aff94;background:linear-gradient(180deg,#157eea,#0758cf);color:#fff;box-shadow:0 6px 16px #0077ff24;filter:none}button:active{box-shadow:inset 0 1px 8px #00000029}button:disabled{cursor:not-allowed;opacity:.54;box-shadow:none}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid rgba(15,124,255,.34);outline-offset:2px}main{width:min(1480px,100%);margin:0 auto;padding:20px}.topbar{min-height:86px;display:flex;align-items:center;justify-content:space-between;gap:18px;border-bottom:1px solid var(--line)}.brand,.actions,.sectionTitle,.sessionTop,.chips{display:flex;align-items:center}.brand{gap:12px}.brand img{display:block;width:clamp(168px,18vw,230px);height:auto;border-radius:8px}h1,h2,h3,p{margin:0}h1{font-size:1.55rem;line-height:1.1}.brand p,.weekHeader p,.hint,.session p{color:var(--muted)}.actions{gap:10px}.authShell{min-height:100vh;width:min(1180px,100%);display:grid;align-content:center;gap:18px;padding:24px}.landingHero{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(340px,.85fr);gap:20px;align-items:stretch}.landingCopy,.landingAuthCard,.landingFeature{background:#0d1c2be0;border:1px solid var(--line);border-radius:8px;box-shadow:0 22px 60px var(--shadow)}.landingCopy{min-height:540px;padding:clamp(24px,4vw,48px);display:grid;align-content:center;gap:18px;overflow:hidden;position:relative}.landingCopy:after{content:"";position:absolute;inset:auto -18% -32% 34%;height:260px;background:linear-gradient(90deg,#0f7cff57,#30e59f29);filter:blur(80px);pointer-events:none}.landingBrand img{display:block;width:min(330px,78vw);height:auto}.landingKicker{width:fit-content;display:inline-flex;align-items:center;gap:8px;color:#b9dcff;background:#0f7cff24;border:1px solid rgba(77,154,255,.34);border-radius:999px;padding:7px 10px;font-size:.82rem;font-weight:700}.landingCopy h1{max-width:700px;font-size:clamp(2.2rem,5vw,4.8rem);line-height:.98;letter-spacing:0}.landingLead{max-width:720px;color:#abc4d9;font-size:clamp(1rem,1.7vw,1.2rem);line-height:1.65}.landingActions,.landingProof,.landingSections{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.landingActions{margin-top:6px}.landingProof{color:var(--muted);font-size:.9rem}.landingProof span{display:inline-flex;align-items:center;gap:8px}.landingProof svg,.landingFeature svg{color:var(--accent)}.landingAuthCard{padding:22px;display:grid;align-content:center;gap:18px}.landingAuthCard .authBrand{gap:8px}.landingAuthCard .authBrand strong{font-size:1.25rem;line-height:1.25}.landingSections{align-items:stretch}.landingFeature{flex:1 1 240px;padding:18px;display:grid;gap:10px}.landingFeature h2{font-size:1.12rem}.landingFeature p{color:var(--muted);line-height:1.5}.authBrand{display:grid;gap:14px}.authBrand img{display:block;width:min(320px,100%);height:auto;border-radius:8px}.authBrand p,.authNotice p,.authStatus{color:var(--muted)}.authForm,.authNotice{display:grid;gap:14px}.authHint{color:var(--muted);margin:0}.authActions,.accountBar{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.accountBar>a{color:var(--muted);font-size:.85rem}.accountDeleteButton{color:var(--danger, #f08080);justify-self:start}.authActions button{flex:1}.textButton{min-height:auto;padding:0;border:0;background:transparent;color:var(--accent);justify-self:start}.textButton:disabled{color:var(--muted);cursor:not-allowed}.accountBar{display:grid;gap:12px;background:linear-gradient(145deg,#0f7cff2e,#30e59f0f),var(--surface);border:1px solid rgba(77,154,255,.28);border-radius:8px;padding:12px;box-shadow:inset 0 1px #ffffff0a}.syncMenu{position:relative}.syncMenuButton{position:relative;min-height:40px;padding:0 13px 0 9px;border-color:#4d9aff57;background:linear-gradient(180deg,#144b84f5,#092038f5);color:#eef7ff;box-shadow:inset 0 1px #ffffff14,0 8px 24px #0003}.syncMenuButton.active{border-color:#0f7cffb3;background:linear-gradient(180deg,#0f7cff57,#0a2746fa);color:#fff}.syncMenuButton:hover{border-color:#30e59f7a;background:linear-gradient(180deg,#185c9efa,#0b2f4efa);box-shadow:0 10px 28px #0f7cff2e}.syncOrb{width:26px;height:26px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;background:radial-gradient(circle at 35% 25%,rgba(255,255,255,.3),transparent 34%),linear-gradient(180deg,var(--primary),var(--primary-strong));color:#fff}.syncMenuLabel{font-size:.84rem;font-weight:800}.syncMenuCount{position:absolute;top:-7px;right:-7px;min-width:20px;height:20px;display:inline-flex;align-items:center;justify-content:center;border:2px solid var(--paper);border-radius:999px;background:var(--accent);color:#032015;font-size:.66rem;font-weight:800}.syncMenuPopover{position:absolute;top:calc(100% + 10px);right:0;z-index:60;width:min(360px,calc(100vw - 28px));box-shadow:0 18px 48px var(--shadow)}.syncMenuPopover .accountBar{width:100%}.accountMeta{display:grid;gap:2px;min-width:0}.accountHeader,.accountCloudLine{display:flex;align-items:center;gap:10px}.accountHeader{min-width:0}.accountAvatar{width:38px;height:38px;flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(48,229,159,.36);border-radius:999px;background:radial-gradient(circle at 30% 20%,rgba(255,255,255,.28),transparent 36%),linear-gradient(145deg,var(--primary),#082c83);color:#fff;font-weight:900}.accountCloudLine{justify-content:space-between;flex-wrap:wrap}.accountSyncState{display:inline-flex;align-items:center;gap:7px;min-height:30px;padding:0 9px;border:1px solid rgba(77,154,255,.28);border-radius:999px;background:#0f7cff1a;color:#cfe6ff;font-size:.76rem;font-weight:750}.accountSyncState span{width:7px;height:7px;border-radius:999px;background:var(--accent);box-shadow:0 0 0 4px #30e59f1f}.accountMeta strong,.accountMeta small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.syncBadge{display:inline-flex;align-items:center;gap:6px;min-height:34px;padding:0 10px;border-radius:8px;background:#31e69f1f;color:var(--accent);font-weight:700}.accountMeta strong{color:var(--text);font-size:.86rem}.accountMeta small{color:var(--muted);font-size:.75rem}.cloudNotice{position:fixed;top:18px;right:18px;z-index:80;display:flex;align-items:center;gap:10px;width:min(420px,calc(100vw - 32px));border:1px solid rgba(57,211,138,.34);border-radius:8px;background:#0a1826f0;box-shadow:0 14px 38px #00000047;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);color:var(--ink);padding:9px 12px;pointer-events:none}.cloudNotice.warning{border-color:#6bd8ff5c;background:#0a1826f0}.cloudNotice svg{color:var(--accent-2);flex:0 0 auto}.cloudNotice span{min-width:0;flex:1;overflow-wrap:anywhere}.iconOnly{width:34px;min-height:34px;padding:0;justify-content:center}.workspace{display:grid;grid-template-columns:minmax(260px,320px) minmax(0,1fr);gap:18px;padding-top:18px;align-items:start}.panel{background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:16px}.controls{display:grid;gap:16px;position:sticky;top:12px}.sectionTitle{gap:8px;font-size:.92rem;text-transform:uppercase;letter-spacing:0;color:var(--ink)}label{display:grid;gap:7px;color:var(--muted);font-size:.9rem}select{width:100%;min-height:42px;border:1px solid var(--line);border-radius:8px;background:var(--surface-2);color:var(--ink);padding:0 12px}input,textarea{width:100%;border:1px solid var(--line);border-radius:8px;background:var(--surface-2);color:var(--ink);padding:10px 12px}textarea{min-height:86px;resize:vertical}.tabs{display:flex;align-items:center;gap:8px;border-bottom:1px solid var(--line);padding:14px 0;flex-wrap:wrap}.tabs button{background:var(--surface);color:var(--ink)}.tabs button.active{background:#0f7cff38;border-color:#30e59f94;color:#f4f9ff;box-shadow:inset 0 0 0 1px #30e59f2e}.menuUtilities{display:inline-flex;align-items:center;gap:7px;margin-left:auto;padding-left:12px}.menuUtilities button{min-height:34px;padding:0 10px;font-size:.8rem;border-color:#4d9aff40;background:#0d1c2bb3}.hint{font-size:.88rem;line-height:1.4}.range span{display:flex;justify-content:space-between;gap:8px}.range strong{color:var(--ink)}.numberSetting span{display:flex;justify-content:space-between;gap:8px}.numberSetting strong{color:var(--ink);font-size:.82rem}.numberSetting input{min-height:38px}input[type=range]{width:100%;accent-color:var(--primary)}.mainview{min-width:0}.homeWorkspace{display:grid;gap:18px;padding-top:18px}.homeHero{display:flex;align-items:center;justify-content:space-between;gap:18px}.homeHero h2{margin-top:8px;font-size:1.35rem}.homeHero p,.nextWorkoutPanel p{color:var(--muted);line-height:1.42}.dashboardGrid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:18px}.clickablePanel,.clickableRow{cursor:pointer;transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}.clickablePanel:hover,.clickablePanel:focus-visible,.clickableRow:hover,.clickableRow:focus-visible{border-color:#2f7affb8;box-shadow:0 0 0 3px #2f7aff1f;outline:none}.clickablePanel:hover,.clickableRow:hover{transform:translateY(-1px)}.dashboardHeroActions,.weekDashboardHeader,.weekDashboardHeader>div{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.dashboardHeroActions{justify-content:flex-end}.weekDashboardHeader{justify-content:space-between}.weekDashboardTitle{display:grid;gap:3px}.weekDashboardTitle span{color:var(--muted);font-size:.86rem}.tsbPanel,.nextWorkoutPanel,.weekDashboard{display:grid;gap:14px}.tsbScore{display:flex;align-items:baseline;gap:12px}.tsbScore strong{color:var(--accent);font-size:3rem;line-height:1}.tsbScore span{color:var(--ink);font-size:1rem;font-weight:700}.tsbBars{display:grid;gap:10px}.tsbBars div{display:grid;grid-template-columns:42px 44px minmax(0,1fr);gap:8px;align-items:center}.tsbBars span{color:var(--muted);font-size:.82rem}.tsbBars strong{font-size:.9rem}.tsbBars i{display:block;height:9px;max-width:100%;border-radius:999px;background:linear-gradient(90deg,var(--primary),var(--accent))}.weekSessionList{display:grid;gap:8px}.weekSessionItem{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid var(--line);border-radius:8px;background:var(--surface-2);padding:10px 12px}.weekSessionItem.completed{background:#30e59f1f}.weekSessionItem strong{display:block;font-size:.94rem}.weekSessionItem span{color:var(--muted);font-size:.84rem}.successPill,.pendingPill{flex:0 0 auto;border-radius:999px;padding:5px 8px;font-size:.78rem}.successPill{background:#30e59f29;color:#8ff5ca}.pendingPill{background:var(--surface-3);color:var(--muted)}.summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(118px,1fr));gap:8px}.metric{border-bottom:3px solid var(--accent);background:var(--surface);border-radius:8px;padding:9px 11px;min-height:58px}.metric span{color:var(--muted);font-size:.74rem}.metric strong{display:block;margin-top:5px;font-size:1.12rem;line-height:1.05}.weekNav{display:grid;grid-template-columns:repeat(auto-fit,minmax(40px,1fr));gap:6px;margin:16px 0}.weekNav button{padding:0;min-height:38px;background:var(--surface);color:var(--ink)}.weekNav button.active{background:linear-gradient(135deg,var(--accent),#16c884);border-color:#30e59fb8;color:#061421}.weekHeader{display:flex;justify-content:space-between;gap:14px;align-items:center;margin:16px 0}.weekHeader h2{font-size:1.35rem}.weekHeader strong{background:var(--surface-2);border-radius:8px;min-width:82px;text-align:center;padding:12px}.weekHeaderMetrics{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.weekHeaderMetrics strong{min-width:92px}.sessions{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px}.generatorHero{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:16px}.generatorHero>div:first-child{min-width:240px}.generatorHero h2{margin-top:8px;font-size:1.25rem}.generatorHero p{color:var(--muted);margin-top:6px;max-width:720px}.generatorHeroActions{display:grid;grid-template-columns:repeat(2,minmax(150px,1fr));gap:10px;align-items:end;min-width:min(100%,520px)}.generatorHeroActions button,.generatorHeroActions label{margin:0}.generatorHeroActions label{font-size:.78rem}.generatorHeroActions input{margin-top:6px}.generatorHeroActions button{min-height:44px}.generatorHeroActions .setupWizardButton{grid-column:1 / -1}.setupWizardButton{border-color:#3ea4ff8c;background:#0f7cff2e;color:#eaf4ff}.generatorWeekGrid{display:grid;grid-template-columns:repeat(7,minmax(128px,1fr));gap:10px;align-items:stretch;overflow-x:auto;padding-bottom:4px}.generatorDayColumn{min-width:128px;background:#0d1c2ba3;border:1px solid var(--line);border-radius:8px;padding:8px;display:grid;align-content:start;gap:8px}.generatorDayHeader{min-height:34px;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0 2px 7px;border-bottom:1px solid rgba(144,166,191,.16)}.generatorDayHeader strong{font-size:.92rem}.generatorDayHeader span{color:var(--muted);font-size:.76rem;font-weight:800}.generatorRestDay{min-height:92px;display:grid;place-items:center;border:1px dashed rgba(144,166,191,.24);border-radius:8px;color:var(--muted);font-size:.82rem}.compactGeneratorSession{min-height:0;padding:10px;gap:8px}.compactGeneratorSession .sessionTop{justify-content:flex-end}.compactGeneratorSession h3{font-size:.92rem;line-height:1.2}.compactGeneratorSession p{font-size:.82rem;line-height:1.35;flex:initial}.compactGeneratorSession .ghost{width:100%;min-height:34px;justify-content:center}.session{background:var(--surface);border:1px solid var(--line);border-top:4px solid var(--accent);border-radius:8px;min-height:240px;padding:14px;display:flex;flex-direction:column;gap:10px}.session.run{border-top-color:var(--run)}.session.bike{border-top-color:var(--bike)}.session.swim{border-top-color:var(--swim)}.session.strength{border-top-color:var(--strength)}.sessionTop{justify-content:space-between}.sessionMetrics{display:inline-flex;align-items:center;justify-content:flex-end;gap:6px;flex-wrap:wrap}.sessionDurationBadge,.sessionTssBadge{display:inline-flex;align-items:center;min-height:25px;border-radius:8px;padding:0 8px;font-weight:800;line-height:1;white-space:nowrap}.sessionDurationBadge{border:1px solid rgba(15,124,255,.48);background:#0f7cff2e;color:#d9ebff;font-size:.86rem}.sessionTssBadge{border:1px solid rgba(48,229,159,.34);background:#30e59f1a;color:#a9f7d6;font-size:.72rem}.day{font-weight:700;color:var(--muted)}.session h3{font-size:1.05rem}.session p{line-height:1.45;flex:1}.intervalSummary{display:grid;gap:6px;border-left:3px solid var(--accent);background:#30e59f14;border-radius:8px;padding:8px 10px}.intervalSummary.compact{padding:7px 9px}.intervalSummary span{display:grid;gap:2px;color:var(--muted);font-size:.78rem;line-height:1.3}.intervalSummary strong{color:var(--ink);font-size:.78rem}.chips{flex-wrap:wrap;gap:6px}.chips span{background:var(--surface-2);border-radius:999px;color:var(--ink);font-size:.78rem;padding:5px 8px}.ghost{background:var(--surface-2);color:var(--ink);width:fit-content}.ghost:hover,.secondary:hover{border-color:#4d9aff8f;background:#0f7cff29;color:#fff}.wide{width:100%}.secondary{background:var(--surface-2);color:var(--ink)}.danger{background:var(--danger-bg);color:#ffd6dc;border-color:var(--danger-line)}.danger:hover{border-color:#ff6b7a9e;background:#461722;color:#fff}.emptyLibrary{color:var(--muted);font-size:.88rem;line-height:1.35}.libraryList{display:grid;gap:6px}.libraryPanel{display:grid;gap:12px}.libraryWorkspace{display:grid;gap:18px;padding-top:18px}.libraryGroup{display:grid;gap:8px;min-width:0}.libraryGroupHeader{display:flex;align-items:center;justify-content:space-between;gap:10px;border-bottom:1px solid var(--line);padding-bottom:8px}.libraryGroup h3{color:var(--muted);font-size:.78rem;text-transform:uppercase;letter-spacing:0}.folderCreateButton{min-height:34px;white-space:nowrap}.folderModalOverlay{z-index:35}.folderModal{width:min(440px,100%);display:grid;background:var(--surface);border:1px solid var(--line);border-radius:8px;box-shadow:0 24px 80px var(--shadow)}.folderForm{display:grid;gap:16px;padding:18px}.folderForm label{display:grid;gap:8px;color:var(--muted);font-size:.84rem}.folderForm input{min-height:40px;padding:0 12px}.folderedLibrary{display:grid;gap:8px}.folderSection{display:grid;gap:6px;border:1px solid var(--line);border-radius:8px;background:#0a16236b;padding:7px}.folderTitle{display:flex;align-items:center;gap:7px;color:var(--ink)}.folderToggle{width:100%;min-height:34px;border:0;background:transparent;justify-content:flex-start;padding:0;text-align:left}.folderToggle:hover{filter:none;color:var(--primary)}.folderChevron{color:var(--muted)!important;flex:0 0 auto;transition:transform .16s ease}.folderChevron.open{transform:rotate(90deg)}.folderContent{display:grid;gap:6px}.folderTitle svg{color:var(--blue)}.folderTitle span{margin-left:auto;min-width:24px;border-radius:999px;background:var(--surface-2);color:var(--muted);font-size:.76rem;text-align:center;padding:2px 7px}.libraryItem{display:grid;gap:8px;border:1px solid var(--line);border-radius:8px;background:var(--surface-2);padding:8px}.libraryItem.draggableTemplate{cursor:grab}.libraryItem.draggableTemplate:active{cursor:grabbing}.libraryItemTitle{display:flex;align-items:flex-start;gap:8px}.libraryItemTitle svg{color:var(--accent);flex:0 0 auto;margin-top:2px}.libraryItem strong{display:block;font-size:.9rem}.libraryItem span{color:var(--muted);font-size:.8rem}.folderSelect{display:grid;gap:4px;color:var(--muted);font-size:.76rem}.folderSelect select{min-height:34px;font-size:.84rem}.libraryActions{display:flex;gap:6px;align-items:center;justify-content:space-between}.libraryActions .ghost{min-height:34px;font-size:.84rem}.stackedActions{align-items:stretch}.stackedActions button{flex:1;justify-content:center;min-height:34px;font-size:.84rem}.scheduledPlanItem{background:#30e59f14}.scheduledPlanItem .danger{justify-content:center;min-height:34px;font-size:.84rem}.libraryColumns{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px;align-items:start}.libraryImportBar{display:grid;grid-template-columns:minmax(0,1fr) minmax(170px,230px) auto;align-items:end;gap:10px;border:1px solid var(--line);border-radius:8px;background:#0a162385;padding:10px}.libraryImportTitle{display:flex;align-items:center;gap:8px;color:var(--ink);font-weight:800;font-size:.92rem}.compactImportField{display:grid;gap:5px;color:var(--muted);font-size:.76rem}.compactImportField select{min-height:38px;padding:0 10px}.importButton{min-height:38px;display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid rgba(44,126,255,.58);border-radius:8px;background:linear-gradient(135deg,var(--blue),var(--blue-strong));color:#fff;cursor:pointer;font-weight:800;padding:0 13px;white-space:nowrap}.importButton:hover{border-color:#30e59fb8;background:linear-gradient(135deg,var(--blue),#0a66ee);color:#fff}.importButton input{display:none}.importMessage{color:var(--muted);font-size:.84rem;line-height:1.35}.calendarWorkspace{display:grid;grid-template-columns:minmax(0,1fr);gap:14px;padding-top:18px;align-items:start}.compactCalendar.withSidebar{grid-template-columns:320px minmax(0,1fr)}.compactCalendar.sidebarClosed{grid-template-columns:46px minmax(0,1fr)}.compactCalendar .compactSummary{grid-template-columns:repeat(4,minmax(92px,1fr));gap:8px}.calendarMetricsSplit{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.95fr);gap:10px}.calendarMetricsSplit>div{display:grid;gap:6px}.metricsLabel{color:var(--muted);font-size:.76rem;font-weight:800;letter-spacing:0;text-transform:uppercase}.compactCalendar .weekSummary{grid-template-columns:repeat(3,minmax(90px,1fr))}.compactCalendar .weekSummary .metric{border-bottom-color:var(--blue)}.compactCalendar .metric{min-height:58px;padding:9px 10px}.compactCalendar .metric span{font-size:.74rem}.compactCalendar .metric strong{margin-top:4px;font-size:1.08rem}.calendarContent{display:grid;gap:12px;min-width:0}.calendarLibrarySidebar{display:grid;gap:12px;max-height:calc(100vh - 190px);overflow:auto;position:sticky;top:12px;border:1px solid var(--line);border-radius:8px;background:var(--surface);padding:12px}.sidebarHeader,.sidebarFolderTitle{display:flex;align-items:center;justify-content:space-between;gap:8px}.libraryRail{position:sticky;top:12px;min-height:150px;writing-mode:vertical-rl;text-orientation:mixed;justify-content:center;gap:8px;padding:10px 0;background:var(--surface);color:var(--ink)}.compactLibrarySidebarContent,.sidebarWorkoutList,.sidebarFolder{display:grid;gap:10px}.sidebarFolderTitle{color:var(--muted);font-size:.78rem;text-transform:uppercase}.sidebarFolderTitle.folderToggle{min-height:30px;color:var(--muted);text-transform:none}.sidebarFolderTitle svg{color:var(--blue)}.sidebarFolderTitle span{border-radius:999px;background:var(--surface-2);padding:2px 7px}.sidebarWorkoutItem{display:flex;align-items:flex-start;gap:8px;border:1px solid var(--line);border-radius:8px;background:var(--surface-2);cursor:grab;padding:8px}.sidebarWorkoutItem:active{cursor:grabbing}.sidebarWorkoutItem svg{color:var(--accent);flex:0 0 auto;margin-top:2px}.sidebarWorkoutItem strong,.sidebarWorkoutItem span{display:block}.sidebarWorkoutItem strong{font-size:.84rem;line-height:1.2}.sidebarWorkoutItem span{color:var(--muted);font-size:.76rem}.sidebarDangerZone{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px;align-items:end;border:1px solid var(--danger-line);border-radius:8px;background:#ff6b7a14;padding:8px}.sidebarDangerZone .sectionTitle{color:#ffd6dc;grid-column:1 / -1;font-size:.82rem;margin-bottom:-2px}.sidebarDangerZone .sectionTitle svg{width:14px;height:14px}.dateRangeFields{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:6px;min-width:0}.dateRangeFields label{gap:3px;font-size:.72rem}.dateRangeFields input{min-height:30px;padding:6px 7px;font-size:.76rem}.compactDangerButton{min-height:30px;padding:6px 9px;font-size:.78rem;white-space:nowrap}.compactCalendar .calendarHeader{grid-template-columns:34px minmax(0,1fr) auto minmax(0,1fr) 34px;gap:8px}.compactCalendar .calendarHeader h2{font-size:1.08rem}.compactCalendar .calendarHeader p{font-size:.82rem}.compactCalendar .calendarHeader .iconButton{min-width:34px;min-height:34px}.compactCalendar .todayButton{min-height:34px;padding:0 10px;font-size:.82rem}.calendarFilterBar{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center}.calendarFilterRows{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(260px,.75fr);gap:8px;min-width:0}.calendarFilterGroup{display:flex;align-items:center;gap:4px;border:1px solid var(--line);border-radius:8px;background:var(--surface);padding:4px;min-width:0}.calendarFilterGroup.filtered{border-color:#30e59fb3;box-shadow:0 0 0 3px #30e59f1a}.calendarFilterChip{flex:1 1 0;min-width:0;min-height:32px;padding:4px 7px;border:0;border-radius:6px;background:transparent;color:var(--muted);font-size:.72rem;font-weight:650;white-space:nowrap;position:relative}.calendarFilterChip svg{width:14px;height:14px}.calendarFilterChip.active{background:#0f7cff47;color:#fff;box-shadow:inset 0 0 0 1px #4d9aff47}.calendarFilterChip.filtered{background:#30e59f2e;color:#c7ffe7;box-shadow:inset 0 0 0 1px #30e59f42;text-shadow:none}.calendarFilterChip.filtered svg,.calendarFilterChip.active svg{color:currentColor;stroke-width:2.4}.calendarFilterChip.filtered:after{content:"";position:absolute;top:4px;right:4px;width:6px;height:6px;border-radius:999px;background:var(--accent);box-shadow:0 0 0 2px #04111f6b}.calendarFilterChip:not(.active):hover{background:#0f7cff33;color:#fff}.activeFilterSummary{min-height:34px;padding:0 9px;border-color:#30e59fa8;background:#30e59f1f;color:var(--accent);font-size:.76rem;font-weight:650;white-space:nowrap}.activeFilterSummary span{max-width:160px;overflow:hidden;text-overflow:ellipsis}.compactCalendar .dayHeader{min-height:38px}.compactCalendar .dayHeader strong{font-size:.82rem}.compactCalendar .dayHeader span{font-size:.72rem}.compactCalendar .todayPill{padding:2px 5px}.compactCalendar .sessionTop span{font-size:.7rem}.compactCalendar .sessionDurationBadge{min-height:22px;padding:0 6px;font-size:.74rem}.compactCalendar .sessionTssBadge{min-height:22px;padding:0 6px;font-size:.66rem}.compactCalendar .miniChart{height:28px;border-radius:6px;padding:3px}.compactCalendar .miniBlock{min-width:4px;border-radius:2px 2px 0 0}.compactCalendar .chips{gap:4px}.compactCalendar .chips span{padding:3px 6px;font-size:.66rem}.quickLoadGrid.compact{grid-template-columns:1fr;gap:8px}.quickLoadGrid.compact label{gap:4px}.quickLoadGrid.compact button{min-height:36px;width:100%}.settingsWorkspace{display:grid;grid-template-columns:1fr;gap:18px;padding-top:18px;align-items:start}.settingsCalculatorGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;align-items:start}.settingsPanel{display:grid;gap:16px}.settingsGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.settingsGrid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.settingsGrid.two,.settingsCalculatorGrid .settingsGrid.three,.settingsCalculatorGrid .paceSummary{grid-template-columns:repeat(2,minmax(0,1fr))}.settingsSnapshot{display:grid;gap:8px;border:1px solid var(--line);border-radius:8px;background:var(--surface-2);padding:10px}.settingsSnapshot span{color:var(--muted);font-size:.88rem}.paceSummary{display:grid;grid-template-columns:repeat(4,minmax(110px,1fr));gap:10px}.performanceTargetBox{display:grid;gap:10px}.performanceAssessment{display:grid;gap:10px;border:1px solid rgba(48,229,159,.28);border-radius:8px;background:#30e59f14;padding:10px}.performanceAssessment.warning{border-color:#627cff6b;background:#627cff1f}.performanceAssessment.danger{border-color:#ff637c70;background:#ff637c1a}.performanceAssessmentHeader{display:flex;justify-content:space-between;gap:10px;align-items:center}.performanceAssessmentHeader span{color:var(--muted);font-size:.82rem;font-weight:800}.performanceAssessmentHeader strong{color:var(--ink);font-size:.9rem;text-align:right}.performanceMetrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.performanceMetrics .metric{min-height:66px;padding:10px}.performanceMetrics .metric strong{font-size:1.06rem}.performanceAdvice{margin:0;padding-left:18px;color:var(--muted);display:grid;gap:5px;font-size:.84rem;line-height:1.35}.applyThresholdButton{border-color:#30e59f9e;background:#30e59f2e;color:#c7ffe7;box-shadow:inset 0 0 0 1px #30e59f1f;font-weight:700}.applyThresholdButton:hover{border-color:#4d9affad;background:#0f7cff38;color:#fff;box-shadow:0 6px 16px #0f7cff24}.zoneTable{display:grid;overflow-x:auto;border:1px solid var(--line);border-radius:8px}.zoneHeader,.zoneRow{display:grid;grid-template-columns:68px minmax(150px,1fr) minmax(140px,.8fr) minmax(130px,.75fr);gap:10px;align-items:center;min-width:620px;padding:10px 12px}.zoneHeader{background:var(--surface-3);color:var(--muted);font-size:.76rem;font-weight:700;text-transform:uppercase}.zoneRow{border-top:1px solid var(--line);background:var(--surface-2);font-size:.9rem}.zoneRow strong{color:var(--accent)}.zoneRow span{color:var(--ink)}.calendarTools{display:grid;gap:14px;position:sticky;top:12px}.calendarControls{display:grid;gap:10px;border:1px solid var(--line);border-radius:8px;background:var(--surface);padding:10px}.calendarClearButton{justify-self:end;min-height:36px;min-width:36px;width:36px}.calendarControlGrid{display:grid;grid-template-columns:minmax(160px,.85fr) minmax(240px,1.4fr) auto;gap:12px;align-items:end}.calendarNote{display:grid;gap:4px;border-left:3px solid var(--accent);padding-left:10px}.calendarNote span{color:var(--muted);font-size:.9rem}.calendarLibrary{display:grid;gap:12px;border-top:1px solid var(--line);padding-top:12px}.loadedPlansHeader{display:grid;gap:8px}.loadedPlanList{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:8px}.loadedPlanItem{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;border:1px solid rgba(48,229,159,.26);border-radius:8px;background:#30e59f14;padding:8px}.loadedPlanItem strong,.loadedPlanItem span{display:block}.loadedPlanItem span{color:var(--muted);font-size:.82rem}.loadedPlanItem .libraryActions{justify-content:flex-end}.loadedPlanItem .stackedActions{align-items:center}.loadedPlanItem .stackedActions button{flex:0 0 auto;white-space:nowrap}.loadedPlanItem .stackedActions .iconButton{min-height:34px;min-width:34px;width:34px}.planAdjustIcon{border-color:#2c7eff57;color:var(--blue-soft)}.planAdjustIcon:hover{border-color:#30e59fb8;background:#2c7eff33;color:#fff}.planAdjustmentDialog{max-width:520px}.planAdjustmentForm{display:grid;gap:12px}.planAdjustmentForm label{color:var(--muted);font-size:.8rem}.planAdjustmentForm input,.planAdjustmentForm select{margin-top:6px;width:100%}.planAdjustmentMode{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.planAdjustmentMode button{justify-content:center;min-height:38px}.planAdjustmentMode button.active{border-color:#30e59f94;background:#0f7cff38;color:#f4f9ff;box-shadow:inset 0 0 0 1px #30e59f24}.calendarMain{min-width:0}.calendarQuickLoad{display:grid;gap:12px}.quickLoadGrid{display:grid;grid-template-columns:minmax(150px,.8fr) minmax(220px,1fr) auto minmax(220px,1fr) auto;gap:12px;align-items:end}.quickLoadGrid button{min-height:42px;white-space:nowrap}.emptyCalendar{min-height:420px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;text-align:center;background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:24px}.emptyCalendar svg{color:var(--accent)}.emptyCalendar p{color:var(--muted);max-width:520px}.calendarHeader{display:grid;grid-template-columns:42px minmax(0,1fr) auto minmax(0,1fr) 42px;align-items:center;gap:12px;margin:12px 0}.calendarHeader .todayButton{justify-self:center}.calendarHeader .iconButton:last-child{grid-column:5}.calendarHeader h2{font-size:1.28rem}.calendarHeader p{color:var(--muted)}.iconButton{min-width:42px;padding:0;background:var(--surface-2);color:var(--ink)}.todayButton{min-height:38px;padding:0 14px;background:linear-gradient(135deg,var(--blue),var(--blue-strong));color:#fff;white-space:nowrap}.todayButton:hover{border-color:#30e59fb8;background:linear-gradient(135deg,#1689ff,#075de8);color:#fff}.calendarGrid{display:grid;grid-template-columns:repeat(7,minmax(118px,1fr));gap:8px;padding-bottom:8px}.dayColumn{min-width:0;background:#0d1c2bd1;border:1px solid var(--line);border-radius:8px;min-height:245px;overflow:hidden}.dayColumn:has(.daySessions:hover){background:#13283bf5}.dayColumn.dropTarget{border-color:#3ea4fff2;background:#0d44746b;box-shadow:inset 0 0 0 2px #27e89a6b,0 14px 34px #0077ff2e}.dayColumn.todayColumn{border-color:#3ea4ffc7;box-shadow:inset 0 0 0 1px #27e89a52}.dayColumn.dropTarget .dayHeader{border-bottom-color:#3ea4ffa6}.dayHeader{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:5px 8px;min-height:48px;padding:8px;border-bottom:1px solid var(--line)}.weatherBadge{display:inline-flex;align-items:center;gap:4px;border:1px solid rgba(107,216,255,.46);border-radius:999px;background:#2c7eff33;color:#fff!important;font-size:.72rem!important;font-weight:900;line-height:1;padding:4px 6px;white-space:nowrap;box-shadow:inset 0 0 0 1px #ffffff0f}.weatherBadge svg{color:var(--accent);flex:0 0 auto;stroke-width:2.4}.dayHeader span{color:var(--muted);font-size:.82rem;white-space:nowrap}.dayHeader strong{display:inline-flex;align-items:center;flex-wrap:wrap;gap:7px;min-width:0;grid-column:1}.todayPill{padding:3px 7px;border:1px solid rgba(39,232,154,.42);border-radius:999px;background:#07f3;color:var(--ink)!important;font-size:.68rem!important;line-height:1}.daySessions{display:grid;gap:6px;padding:7px}.restDay{color:var(--muted);font-size:.88rem;padding:10px}.calendarCard{display:grid;gap:6px;background:var(--surface-2);border:1px solid var(--line);border-left:4px solid var(--accent);border-radius:8px;padding:8px;cursor:grab}.calendarCard.completed{background:#24d99b21;border-color:#24d99b70}.calendarCard.completed h3,.calendarCard.completed p{opacity:.72}.calendarCard:hover{border-color:#30e59f75;box-shadow:0 12px 28px var(--shadow)}.calendarCard:focus-visible{outline:3px solid rgba(48,229,159,.32);outline-offset:2px}.calendarCard:active{cursor:grabbing}.editorCard{cursor:default;grid-column:1 / -1}.calendarCard.run{border-left-color:var(--run)}.calendarCard.bike{border-left-color:var(--bike)}.calendarCard.swim{border-left-color:var(--swim)}.calendarCard.strength{border-left-color:var(--strength)}.calendarCard h3{font-size:.86rem;line-height:1.18;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.calendarCard p{color:var(--muted);font-size:.86rem;line-height:1.35;overflow-wrap:anywhere}.actualMetricsPreview{display:flex;flex-wrap:wrap;gap:5px}.actualMetricsPreview span{display:inline-flex;align-items:center;gap:4px;min-height:21px;border:1px solid rgba(48,229,159,.24);border-radius:999px;background:#30e59f1c;color:#9ff7d0;font-size:.68rem;font-weight:800;line-height:1;padding:0 6px;white-space:nowrap}.actualMetricsPreview span.distance{border-color:#ff994057;background:#ff994021;color:#ffbd7c}.actualMetricsPreview span.heart{border-color:#ff56705c;background:#ff567021;color:#ff8fa0}.actualMetricsPreview span.power{border-color:#a86fff61;background:#a86fff24;color:#c6a3ff}.actualMetricsPreview span.effort{border-color:color-mix(in srgb,var(--metric-color, #30e59f) 34%,transparent);background:color-mix(in srgb,var(--metric-color, #30e59f) 13%,transparent);color:var(--metric-color, #30e59f)}.completionToggle{justify-self:start;min-height:24px;padding:0 7px;border-color:var(--line);background:var(--surface);color:var(--ink);font-size:.7rem}.completionToggle.done,.success{background:#30e59f29;border-color:#30e59f8c;color:#8ff5ca}.workoutSummary{display:flex;justify-content:space-between;gap:8px;background:var(--surface-3);border-radius:8px;padding:8px 10px}.workoutSummary span{color:var(--muted)}.miniChart{height:48px;display:flex;align-items:end;gap:2px;background:#081827;border:1px solid var(--line);border-radius:8px;padding:5px}.miniChart.interactive{height:58px}.miniBlock{display:block;min-width:5px;min-height:auto;flex:0 0 auto;border-radius:3px 3px 0 0;background:#1f77c7;border:0;padding:0;color:transparent;gap:0;cursor:default;transition:filter .16s ease,outline-color .16s ease,transform .16s ease}.miniChart.interactive .miniBlock{cursor:pointer}.miniBlock.active{outline:2px solid var(--primary);outline-offset:2px;filter:brightness(1.2);transform:translateY(-2px)}.miniBlock:disabled{opacity:1}.miniBlock.warmup{background:#4fb6e8}.miniBlock.work{background:var(--primary)}.miniBlock.recovery{background:#57708a}.miniBlock.cooldown{background:#34506a}.blockEditor{display:grid;gap:8px}.intervalDetails{display:grid;gap:9px;border:1px solid var(--line);border-radius:8px;background:var(--surface-2);padding:10px}.intervalDetailsHeader{display:flex;align-items:center;justify-content:space-between;gap:10px}.intervalDetailsHeader h3{font-size:.92rem}.intervalDetailsHeader span{color:var(--muted);font-size:.78rem}.intervalDetailGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.intervalDetailRow{display:grid;gap:5px;border:1px solid var(--line);border-radius:8px;background:#0b1c2c94;color:var(--ink);padding:8px 9px;text-align:left;cursor:pointer}.intervalDetailRow:hover{border-color:#3ea4ff85;filter:none}.intervalDetailRow.active{border-color:#0f7cffc7;background:var(--primary-soft)}.intervalDetailTop{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.intervalDetailRow strong{min-width:0;font-size:.84rem;line-height:1.2}.intervalDetailTop span{flex:0 0 auto;border-radius:999px;background:var(--surface-3);color:var(--muted);font-size:.74rem;font-weight:800;padding:2px 7px}.intervalGuidance{color:var(--muted);font-size:.8rem;line-height:1.3}.blockLegend{display:none}.blockRow{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:8px;align-items:end;min-width:0;border:1px solid var(--line);border-radius:8px;background:var(--surface-2);padding:9px;transition:background .16s ease,box-shadow .16s ease;cursor:grab}.blockRow.active{background:var(--primary-soft);box-shadow:inset 0 0 0 1px #0f7cff94}.blockRow.dropTarget{border-color:#3ea4fff2;box-shadow:inset 0 0 0 2px #27e89a57,0 14px 30px #0077ff2e}.blockDragHandle{grid-column:span 1;display:grid;place-items:center;gap:3px;min-height:32px;border:1px solid var(--line);border-radius:8px;background:var(--surface-3);color:var(--muted);cursor:grab}.blockDragHandle span{font-size:.72rem;font-weight:800}.blockDragHandle svg{color:var(--blue)}.blockRow:active .blockDragHandle{cursor:grabbing}.blockField{grid-column:span 3;display:grid;gap:4px;min-width:0;color:var(--muted);font-size:.72rem;font-weight:700;text-transform:uppercase}.blockField.name,.blockField.pace{grid-column:span 4}.blockField.paceMode,.blockField.paceSplit{grid-column:span 3}.blockField.small{grid-column:span 2}.blockField input,.blockField select{min-height:32px;padding:5px 7px;font-size:.8rem;text-transform:none;font-weight:500}.blockRowActions{grid-column:span 2;display:flex;gap:4px;align-items:center;align-self:end}.blockRowActions>span{display:none}.computedTarget{min-height:32px;display:flex;align-items:center;border:1px solid var(--line);border-radius:8px;background:var(--surface-3);color:var(--ink);padding:5px 7px;font-size:.8rem;white-space:nowrap}.cardActions,.editRow{display:flex;gap:6px}.cardActions{flex-wrap:wrap}.cardActions button{min-height:34px;padding:0 10px;font-size:.84rem}.editRow label{flex:1}.modalOverlay{position:fixed;inset:0;z-index:20;display:grid;place-items:center;background:#01080eb8;padding:24px}.confirmOverlay{z-index:30}.planSaveDialog label{margin:2px 0 4px}.setupWizardOverlay{z-index:28}.setupWizardModal{width:min(860px,100%);max-height:min(820px,calc(100vh - 48px));display:grid;grid-template-rows:auto auto minmax(0,1fr) auto;background:var(--surface);border:1px solid var(--line);border-radius:8px;box-shadow:0 28px 80px var(--shadow);overflow:hidden}.setupWizardHeader p{color:var(--muted);margin-top:4px}.setupWizardProgress{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;padding:12px 18px;border-bottom:1px solid var(--line);background:#0d1c2bb8}.setupWizardProgress button{min-height:42px;justify-content:flex-start;gap:8px;padding:0 10px;background:var(--surface-2);color:var(--muted);font-size:.82rem}.setupWizardProgress button span{width:22px;height:22px;display:grid;place-items:center;border-radius:999px;background:#90a6bf29;color:var(--ink);font-size:.72rem;font-weight:800}.setupWizardProgress button.active,.setupWizardProgress button.done{border-color:#3ea4ff85;color:var(--ink)}.setupWizardProgress button.active{background:#0f7cff38}.setupWizardProgress button.done span{background:#30e59f38;color:#a9f7d6}.setupWizardBody{overflow:auto;padding:18px}.setupWizardStep{display:grid;gap:14px}.wizardCoachNote,.wizardCoachPanel,.wizardFinalVerdict,.wizardWarningBox{display:grid;gap:7px;border-radius:8px;padding:12px}.wizardCoachNote{border:1px solid rgba(62,164,255,.34);background:#0f7cff1a}.wizardCoachNote strong,.wizardCoachPanel strong,.wizardFinalVerdict strong{color:var(--ink)}.wizardCoachNote span,.wizardCoachPanel span,.wizardCoachPanel small,.wizardFinalVerdict span,.wizardFinalVerdict small{color:var(--muted);line-height:1.35}.wizardWarningBox{border:1px solid rgba(255,99,124,.38);background:#ff637c17}.wizardWarningBox span{color:#ffd3da;font-size:.84rem;line-height:1.35}.wizardActionGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:8px}.wizardActionGrid button{width:100%;justify-content:center}.wizardCoachPanel.success,.wizardFinalVerdict.success{border:1px solid rgba(48,229,159,.34);background:#30e59f17}.wizardCoachPanel.warning,.wizardFinalVerdict.warning{border:1px solid rgba(98,124,255,.44);background:#627cff1f}.wizardCoachPanel.danger,.wizardFinalVerdict.danger{border:1px solid rgba(255,99,124,.46);background:#ff637c1f}.confirmDialog{width:min(440px,100%);display:grid;gap:18px;border:1px solid var(--line);border-radius:8px;background:var(--surface);box-shadow:0 22px 70px var(--shadow);padding:20px}.confirmDialog h2{font-size:1.18rem;margin-bottom:8px}.confirmDialog p{color:var(--muted);line-height:1.45}.confirmActions{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap}.workoutModal{width:min(920px,100%);max-height:min(860px,calc(100vh - 48px));display:grid;grid-template-rows:auto minmax(0,1fr) auto;background:var(--surface);border:1px solid var(--line);border-radius:8px;box-shadow:0 28px 80px var(--shadow)}.modalHeader,.modalFooter{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 18px}.modalHeader{border-bottom:1px solid var(--line)}.modalHeader span{color:var(--muted);font-size:.88rem}.modalHeader h2{margin-top:2px;font-size:1.24rem}.modalSubtitle{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-top:10px}.modalDurationBadge,.modalTargetBadge{display:inline-flex;align-items:center;min-height:30px;border-radius:8px;padding:0 10px;font-weight:800;line-height:1}.modalDurationBadge{border:1px solid rgba(15,124,255,.55);background:#0f7cff33;color:#dbeeff;font-size:.96rem}.modalTargetBadge{border:1px solid rgba(48,229,159,.4);background:#30e59f1a;color:#9ff4d0;font-size:.82rem}.actualWorkoutPanel{display:grid;gap:12px;border:1px solid rgba(15,124,255,.32);border-radius:10px;padding:14px;background:linear-gradient(135deg,#0f7cff24,#30e59f14)}.actualWorkoutPanel h3{margin:2px 0 0;font-size:.98rem}.panelEyebrow{color:var(--blue-200);font-size:.72rem;font-weight:800;letter-spacing:0;text-transform:uppercase}.actualWorkoutGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:8px}.actualWorkoutMetric{display:grid;gap:4px;border:1px solid rgba(255,255,255,.08);border-radius:8px;padding:10px;background:#05121f75}.actualWorkoutMetric span{color:var(--muted);font-size:.76rem;font-weight:700}.actualWorkoutMetric strong{color:var(--text);font-size:1rem}.modalBody{display:grid;gap:14px;overflow:auto;padding:18px}.modalFooter{border-top:1px solid var(--line)}.modalFooterActions{display:flex;gap:8px}.sessionActions{position:relative;display:flex;align-items:center;gap:10px;min-height:44px}.sessionActions .sessionActionButton,.sessionActions .sessionActionDisclosure>summary{display:inline-flex;align-items:center;justify-content:center;position:relative;width:44px;height:44px;min-width:44px;padding:0;color:var(--accent);background:var(--surface-2);border:1px solid var(--line);border-radius:8px;cursor:pointer}.sessionActions .sessionActionDisclosure{position:static}.sessionActions .sessionActionDisclosure>summary:hover,.sessionActions .sessionActionButton:hover{background:var(--surface);border-color:var(--accent)}.sessionActions .sessionActionDisclosure[open]>summary,.sessionActions .sessionActionButton:active{background:var(--surface);border-color:var(--accent)}.sessionActions .sessionActionDisclosure>summary:focus-visible,.sessionActions .sessionActionButton:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.sessionActions .cardInfoContent{top:calc(100% + 8px);left:0;right:auto;width:min(340px,100%);z-index:4;display:grid;gap:10px}.sessionActionBadge{position:absolute;top:-3px;right:-3px;border-radius:50%;background:var(--surface);color:var(--accent)}.sessionActionBadge.warning{color:var(--danger)}@media(max-width:1120px){.workspace{grid-template-columns:280px minmax(0,1fr)}.calendarWorkspace{grid-template-columns:1fr}.compactCalendar.withSidebar{grid-template-columns:minmax(260px,.32fr) minmax(0,1fr)}.compactCalendar.sidebarClosed{grid-template-columns:42px minmax(0,1fr)}.calendarControlGrid,.quickLoadGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.calendarGrid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.compactCalendar .calendarGrid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.calendarMetricsSplit,.calendarFilterBar,.calendarFilterRows{grid-template-columns:1fr}.activeFilterSummary{justify-content:center;width:100%}.dashboardGrid,.settingsWorkspace,.settingsCalculatorGrid{grid-template-columns:1fr}.calendarTools{position:static}.libraryImportBar{grid-template-columns:minmax(0,1fr) minmax(170px,220px) auto}}@media(max-width:760px){main{padding:14px}.authShell{padding:14px}.landingHero{grid-template-columns:1fr}.landingCopy{min-height:auto;padding:22px}.landingAuthCard{padding:18px}.landingActions button,.landingAuthCard .authActions button{width:100%}.topbar{align-items:flex-start;flex-direction:column;padding-bottom:14px}.actions{width:100%}.actions button,.tabs button{flex:1}.workspace{grid-template-columns:1fr}.summary{grid-template-columns:repeat(auto-fit,minmax(105px,1fr))}.generatorHero{align-items:flex-start;flex-direction:column}.generatorHeroActions{grid-template-columns:1fr;min-width:0;width:100%}.generatorHero button{width:100%}.setupWizardProgress{grid-template-columns:1fr}.setupWizardProgress button{min-height:36px}.compactCalendar.withSidebar,.compactCalendar.sidebarClosed,.compactCalendar .compactSummary,.compactCalendar .weekSummary{grid-template-columns:1fr}.calendarLibrarySidebar{max-height:none;position:static}.libraryRail{min-height:42px;padding:0 12px;position:static;text-orientation:initial;writing-mode:horizontal-tb;width:100%}.settingsGrid,.settingsGrid.three,.settingsCalculatorGrid .settingsGrid.three,.settingsCalculatorGrid .paceSummary,.paceSummary{grid-template-columns:1fr}.controls{position:static}.weekHeader{align-items:flex-start;flex-direction:column}.calendarControlGrid,.quickLoadGrid,.loadedPlanItem{grid-template-columns:1fr}.calendarHeader{grid-template-columns:42px minmax(0,1fr) 42px}.calendarHeader .iconButton:last-child{grid-column:3}.calendarHeader .todayButton{grid-column:1 / -1;width:max-content;justify-self:center}.homeHero,.weekSessionItem,.libraryGroupHeader{align-items:stretch;flex-direction:column}.tabs{overflow-x:auto}.menuUtilities{flex:0 0 100%;margin-left:0;padding-left:0}.menuUtilities button{flex:0 0 auto}.calendarGrid{grid-template-columns:1fr;overflow:visible}.dayColumn{min-height:auto;min-width:0}.calendarHeader{grid-template-columns:38px minmax(0,1fr) 38px}.compactCalendar .calendarHeader{grid-template-columns:36px minmax(0,1fr) 36px}.compactCalendar .calendarHeader .iconButton:last-child{grid-column:3}.compactCalendar .calendarHeader .todayButton{grid-column:1 / -1;width:max-content;justify-self:center}.calendarFilterGroup{overflow-x:auto}.calendarFilterChip{flex:0 0 auto}.blockRow{grid-template-columns:1fr}.blockField,.blockField.name,.blockField.pace,.blockField.small,.blockDragHandle,.blockRowActions{grid-column:1 / -1}.intervalDetailGrid{grid-template-columns:1fr}.modalOverlay{padding:10px}.workoutModal{max-height:calc(100vh - 20px)}.modalFooter{align-items:stretch;flex-direction:column-reverse}.modalFooterActions{display:grid;grid-template-columns:1fr 1fr}}@media(max-width:620px){.libraryColumns,.libraryImportBar{grid-template-columns:1fr}.importButton{width:100%}}.homeNextHero{display:grid;grid-template-columns:minmax(0,1fr) 240px;gap:32px;padding:32px;background:linear-gradient(120deg,rgba(15,124,255,.12),transparent 75%),var(--surface)}.homeNextContent{display:grid;gap:16px}.homeNextHero h1{max-width:760px;font-size:clamp(1.6rem,3vw,2.5rem);line-height:1.15}.homeNextHero p{color:var(--muted);line-height:1.6}.homeEyebrow{display:flex;gap:10px;align-items:center;color:var(--accent);font-weight:700}.homeNextActions{display:flex;gap:10px;flex-wrap:wrap}.homeNextActions button{min-height:46px}.homePlanLabel{font-size:.85rem;color:var(--muted)}.homeNextVisual{display:flex;flex-direction:column;justify-content:center;gap:14px;padding:24px;background:#3ea4ff12;border-radius:12px}.homeNextVisual>strong{font-size:2rem;color:var(--ink)}.homeNextVisual>span{color:var(--muted);font-size:.9rem}.homeNextVisual .homeStep{padding:10px 0;border-bottom:1px solid var(--line)}.homeWeekSummary{margin:20px 0}.homeSessionRow{width:100%;text-align:left;background:var(--surface-2);color:var(--ink);min-height:76px}.homeSessionRow>div{min-width:0}.homeSessionRow strong{overflow-wrap:anywhere}.trainingLoadDetails summary,.calendarOverview summary,.calendarControls summary,.wizardAdvanced summary{cursor:pointer;padding:12px 0;font-weight:600;min-height:44px}.trainingLoadDetails p{margin:12px 0}button:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid #80c6ff;outline-offset:3px}@media(max-width:760px){.homeNextHero{grid-template-columns:minmax(0,1fr);padding:22px 18px;gap:18px}.homeNextVisual{display:none}.homeNextActions{display:grid}.homeNextActions button{width:100%}.homeWeekSummary{grid-template-columns:repeat(2,minmax(0,1fr))}.homeSessionRow{gap:10px;align-items:flex-start}.homeSessionRow .pendingPill,.homeSessionRow .successPill{white-space:normal}.weekDashboardHeader button{min-height:44px;min-width:44px}}@media(max-width:760px){.topbar{flex-direction:row;align-items:center;gap:12px;padding-bottom:10px}.topbar .brand img{width:132px;height:auto}.topbar .actions{width:auto}.topbar .syncMenuButton{min-height:44px}.tabs{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:5px}.tabs>button{flex-direction:column;min-width:0;min-height:56px;gap:5px;padding:6px 2px;font-size:.63rem;grid-column:auto}.tabs>.menuUtilities{grid-column:1 / -1;display:flex;justify-content:flex-end;padding-top:4px}.tabs .menuUtilities button{min-height:44px;font-size:.75rem}}.weekDashboard .emptyCalendar{min-height:180px;padding:24px}.agendaNavigation{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:8px 0 20px}.agendaNavigation h2{font-size:1.2rem;margin-top:8px}.agendaNavigationActions{display:flex;gap:6px}.agendaNavigationActions button{min-width:44px;min-height:44px}.calendarAgenda{display:none}.calendarOverview{margin-top:20px;border-top:1px solid var(--line)}.calendarOverview .calendarMetricsSplit{margin-top:12px}.calendarControls>summary{color:var(--muted)}@media(max-width:760px){.compactCalendar .calendarGrid{display:none}.compactCalendar .calendarContent{display:flex;flex-direction:column;min-width:0}.compactCalendar .calendarMain{order:0;min-width:0}.compactCalendar .calendarControls{order:1;margin:12px 0}.compactCalendar .calendarContent>.calendarControls{order:1}.agendaNavigation{flex-direction:column;align-items:stretch;gap:14px}.agendaNavigationActions{justify-content:space-between}.agendaNavigation h2{font-size:1.15rem;line-height:1.4}.calendarAgenda{display:grid;gap:20px;margin-top:18px}.agendaDay{min-width:0}.agendaDay h3{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:.86rem;color:var(--muted);margin-bottom:8px;text-transform:capitalize}.agendaDay.isToday h3{color:#8bcbff}.agendaDay h3 small{text-transform:none;background:#0f7cff2e;border-radius:5px;padding:4px 6px}.agendaSession{display:flex;align-items:center;border:1px solid var(--line);border-left:3px solid var(--accent);border-radius:8px;background:var(--surface-2);margin-bottom:8px;overflow:hidden}.agendaSession.run{border-left-color:var(--run)}.agendaSession.bike{border-left-color:var(--bike)}.agendaSession.swim{border-left-color:var(--swim)}.agendaSession.strength{border-left-color:var(--strength)}.agendaSessionOpen{display:grid;gap:7px;flex:1;min-width:0;padding:14px;background:transparent;color:var(--ink);border:0;text-align:left;justify-content:stretch;border-radius:0}.agendaSessionOpen strong{font-size:.95rem;overflow-wrap:anywhere}.agendaSessionOpen span,.agendaSessionOpen small{font-size:.78rem;color:var(--muted)}.agendaCompletion{background:transparent;border:1px solid var(--line);color:var(--muted);min-width:44px;min-height:44px;padding:10px;margin:8px}.agendaCompletion.done{color:#30e59f;background:#30e59f14}.agendaRest{color:var(--muted);font-size:.82rem;padding:8px 0}.compactCalendar .calendarFilterGroup{flex-wrap:wrap}.compactCalendar .calendarFilterChip{min-height:44px}.compactCalendar .calendarFilterRows{min-width:0}.calendarOverview .summary{grid-template-columns:repeat(2,minmax(0,1fr))}}.availabilityFields{min-width:0;border:0;margin:0;padding:0;display:grid;gap:16px}.availabilityFields legend{font-weight:700;font-size:1.15rem;margin-bottom:10px}.availabilityDays{display:grid;gap:8px}.availabilityDay{display:grid;grid-template-columns:130px minmax(0,1fr) 170px;align-items:center;gap:16px;padding:12px;border:1px solid var(--line);border-radius:8px;background:var(--surface-2)}.availabilityDay:not(:has(.checkLabel:nth-child(3))){grid-template-columns:130px minmax(0,1fr)}.availabilityDay.enabled{border-color:#3ea4ff52}.availabilityFields .checkLabel{display:flex;align-items:center;gap:10px;min-height:44px;margin:0}.availabilityFields input[type=checkbox]{width:20px;height:20px;flex-shrink:0;accent-color:#138cff}.availabilityDay label{margin:0;font-size:.8rem}.availabilityDay input[type=number]{min-height:44px}.availabilityBudget{padding:14px;border-radius:8px;background:#30e59f12;font-size:.9rem;line-height:1.5}.wizardAdvanced{border-top:1px solid var(--line)}.wizardAdvanced>.setupWizardStep{padding:12px 0}.setupWizardProgress{grid-template-columns:repeat(4,minmax(0,1fr))}.availabilityNotice{display:grid;gap:8px;border:1px solid rgba(48,229,159,.3);border-radius:8px;background:#30e59f0f;padding:16px;margin:14px 0}.availabilityNotice p,.availabilityNotice li{color:var(--muted);font-size:.86rem;line-height:1.5}.availabilityNotice ul{padding-left:20px;margin:0}.availabilityNotice button{justify-self:start}.availabilityNotice.conflict{border-color:#ffa05e80;background:#ffa05e0f}.availabilityNotice.conflict>strong{color:#ffbf90}.proposalWeek{list-style:none;padding:0;margin:0}.proposalWeek li{display:grid;grid-template-columns:44px minmax(0,1fr);gap:12px;padding:12px 0;border-top:1px solid var(--line)}.proposalWeek p{margin-bottom:6px;font-size:.85rem;line-height:1.5}.proposalWeek p span{color:#8bcbff;white-space:nowrap}@media(max-width:760px){.setupWizardProgress{grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;padding:8px}.setupWizardProgress button{flex-direction:column;padding:8px 2px;gap:5px;min-width:0;min-height:60px;font-size:.64rem}.setupWizardModal{max-height:calc(100dvh - 16px)}.setupWizardBody,.setupWizardHeader{padding:14px}.setupWizardHeader p{font-size:.82rem}.setupWizardModal .modalFooter{padding:10px;gap:6px}.setupWizardModal .modalFooter button{min-height:44px;font-size:.75rem;padding:8px}.setupWizardModal .modalFooterActions{gap:6px}.availabilityDay,.availabilityDay:not(:has(.checkLabel:nth-child(3))){grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px;padding:10px}.availabilityDay>.checkLabel:nth-child(3){grid-column:1 / -1}.availabilityNotice{padding:12px}}.setupWizardOverlay{z-index:90}@media(max-width:760px){.setupWizardModal .modalFooter{flex-direction:row;align-items:center}.setupWizardModal .modalFooterActions{width:auto}.setupWizardModal .paceSummary{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.setupWizardModal .paceSummary .metric{padding:10px}.setupWizardModal .paceSummary .metric strong{font-size:1rem}}.athleteWorkspace{max-width:1080px;margin:0 auto;gap:22px}.settingsIntro{display:grid;gap:8px}.settingsIntro>p{color:var(--muted)}.athleteEditor{gap:20px;padding:24px}.athleteSportTabs{display:flex;flex-wrap:wrap;gap:8px;border-bottom:1px solid var(--line);padding-bottom:18px}.athleteSportTabs button{min-width:100px;min-height:44px}.athleteSportTabs button.active{border-color:var(--accent);background:var(--surface-2);color:var(--accent)}.athleteFields{gap:28px;align-items:start}.athleteField{display:grid;gap:10px;min-width:0}.athleteField label{display:flex;flex-wrap:wrap;gap:6px}.athleteField label span{color:var(--muted);font-weight:400}.athleteField input{font-size:18px;min-height:48px}.athleteFieldHelp{display:grid;gap:8px;font-size:.85rem;line-height:1.5}.athleteFieldActions,.athleteFormActions{display:flex;gap:10px;flex-wrap:wrap}.athleteFieldActions button{font-size:.8rem}.athleteFormActions{margin-top:24px}.athleteFieldActions button,.athleteFormActions button{min-height:44px;padding:10px 14px}.fieldError{color:var(--danger);line-height:1.5}.athleteDraftNotice{padding:12px 16px;border-radius:8px;background:var(--surface-2);color:var(--muted);font-size:.85rem}.athleteChangeReview{margin-top:24px;padding:20px;background:var(--surface-2);border:1px solid var(--line);border-radius:10px;display:grid;gap:12px}.athleteChangeReview ul{margin:0;padding:0;list-style:none;display:grid;gap:12px}.athleteChangeReview li{display:grid;gap:6px}.athleteChangeReview li span{color:var(--muted)}.athleteSaveStatus{color:var(--accent)}.athleteSaveStatus:empty{display:none}.settingsDetails{min-width:0;border-top:1px solid var(--line);padding-top:12px}.settingsDetails summary{cursor:pointer;min-height:44px;padding:12px 0;font-weight:600}.settingsDetails>p,.settingsDetails>.settingsGrid,.referenceResult{margin:14px 0}.referenceResult,.athleteZones{display:grid;gap:8px}.athleteZones>div{display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;padding:12px;background:var(--surface-2);border-radius:8px}.athleteZones span{color:var(--muted)}.settingsPlanLink{display:flex;align-items:center;justify-content:space-between;gap:20px}.settingsPlanLink h2{font-size:1.1rem;margin-bottom:8px}.settingsPlanLink button{flex-shrink:0;min-height:44px}.planProjectionDetails>.panel{border:0;padding:12px 0 0;background:transparent}.planProjectionDetails .paceSummary{grid-template-columns:repeat(auto-fit,minmax(125px,1fr))}.planExportActions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:8px;padding:12px 0}.cloudNotice{pointer-events:auto}.cloudNotice .iconButton{min-width:44px;min-height:44px}.syncWarning{color:var(--danger)}.wahooAutoSync{display:flex;align-items:flex-start;gap:12px;margin-top:18px;padding:16px;border:1px solid var(--line);border-radius:10px;background:var(--surface-2);cursor:pointer}.wahooAutoSync input{width:20px;height:20px;flex:none;margin:2px 0 0;accent-color:var(--accent)}.wahooAutoSync span{display:grid;gap:5px}.wahooAutoSync small{color:var(--muted);line-height:1.45}.wahooFtpCompare{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-top:14px}.wahooFtpCompare>span{display:grid;gap:3px;min-width:125px;padding:10px 12px;background:var(--surface-2);border-radius:8px;color:var(--muted);font-size:.85rem}.wahooFtpCompare strong{color:var(--text);font-size:1.1rem}.stravaAutoSync{display:flex;align-items:flex-start;gap:12px;margin-top:18px;padding:16px;border:1px solid var(--line);border-radius:10px;background:var(--surface-2);cursor:pointer}.stravaAutoSync input{width:20px;height:20px;flex:none;margin:2px 0 0;accent-color:var(--accent)}.stravaAutoSync span{display:grid;gap:5px}.stravaAutoSync small{color:var(--muted);line-height:1.45}.stravaSessionAction{display:inline-flex;align-items:center;flex-wrap:wrap;gap:8px}@media(max-width:760px){.athleteEditor{padding:18px}.athleteFields,.paceReferenceEditor .settingsGrid{grid-template-columns:minmax(0,1fr)}.athleteSportTabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.athleteSportTabs button{min-width:0;width:100%}.athleteFormActions,.settingsPlanLink{display:grid}.athleteWorkspace input,.athleteWorkspace select{font-size:16px;min-height:46px}.athleteChangeReview{padding:14px}.planExportActions{justify-content:flex-start}.planExportActions>span{flex-basis:100%}.syncMenuLabel{font-size:.75rem}}.homeFocusGrid{display:grid;gap:18px}.homeFocusGrid.withPlan{grid-template-columns:minmax(0,1.8fr) minmax(0,1fr)}.homeNextHero{grid-template-columns:minmax(0,1fr);padding:26px;gap:0}.homeNextContent{align-content:start;gap:14px}.homeNextHero h1{font-size:clamp(1.55rem,2.5vw,2rem)}.homeNextHero h2{font-size:1.2rem}.homeNextHero .homeSessionMeta{color:var(--ink);font-size:1.05rem}.homeUpcomingLabel{margin-top:4px}.homePlanCard{display:grid;align-content:start;gap:14px;padding:26px}.homePlanCard h2{font-size:1.25rem;overflow-wrap:anywhere}.homePlanCard p{color:var(--muted);line-height:1.5}.homePlanCard button{min-height:44px;margin-top:6px}.homeWeekSummary{grid-template-columns:repeat(2,minmax(0,1fr));margin:8px 0}.homeWeekSummary .metric{border-bottom:0}.homeWeekSummary .metric strong{font-size:clamp(1.15rem,2vw,1.65rem)}.homeWeekFootnote{font-size:.78rem;line-height:1.5}@media(max-width:900px){.homeFocusGrid.withPlan{grid-template-columns:minmax(0,1fr)}.homePlanCard{gap:10px;padding:20px}}@media(max-width:760px){.homeNextHero{padding:22px 18px}.homeWeekSummary{gap:8px}.homeWeekSummary .metric{padding:8px 0;min-width:0}}.mobileTabLabel{display:none}@media(max-width:760px){.desktopTabLabel{display:none}.mobileTabLabel{display:inline}.tabs>button{font-size:.65rem}}.runningProfileFields{display:grid;gap:16px;min-width:0}.runningControls .runningInputs{grid-template-columns:minmax(0,1fr)}.runningControls{position:static}.runningProfileFields input,.runningProfileFields select{font-size:16px;min-height:44px}.runningHistoryHint{display:grid;gap:10px;padding:12px;background:var(--surface-2);border-radius:8px}.runningHistoryHint strong{font-size:.85rem}.runningPlanReview{display:grid;gap:16px;min-width:0}.runningPlanReview h2{font-size:1.2rem}.runningPlanReview p,.runningPlanReview li{line-height:1.5}.runningPlanReview ul{margin:8px 0;padding-left:20px;color:var(--muted)}.runningComparison{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.runningComparison>div{display:grid;gap:8px}.runningComparison span{color:var(--muted);font-size:.82rem}.runningComparison strong{font-size:1.4rem}.runningWeekReason{border-top:1px solid var(--line);padding-top:16px}.runningWeekReason h3{margin-bottom:10px}.runningCycle{list-style:none;margin:0;padding:0}.runningCycle li{display:flex;gap:12px;flex-wrap:wrap;justify-content:space-between;padding:10px 0;border-top:1px solid var(--line)}.runningCycle span{color:var(--muted)}@media(max-width:760px){.runningInputs,.runningComparison{grid-template-columns:minmax(0,1fr)}.runningComparison>div{display:flex;justify-content:space-between;align-items:center}}.separatePlansPanel{grid-column:1 / -1;display:grid;gap:18px;min-width:0}.separatePlansHeader{display:flex;justify-content:space-between;gap:24px;align-items:start}.separatePlansHeader h2{margin-bottom:8px}.separatePlansHeader p{max-width:65ch;color:var(--muted);line-height:1.5}.weeklyBudgetInput{min-width:240px}.weeklyBudgetInput input,.planVolumeField input{min-height:44px;font-size:16px}.sportPlanCards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.sportPlanCard{width:100%;display:grid;gap:8px;padding:16px;text-align:left;justify-content:start;border:1px solid var(--line)}.sportPlanCard span{font-size:.82rem;color:var(--muted)}.sportPlanCard.active{border-color:var(--accent);background:var(--surface-2)}.weeklyVolumeSummary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:16px 0}.weeklyVolumeSummary>div{display:grid;align-content:start;gap:8px;padding:14px;background:var(--surface-2);border-radius:8px}.weeklyVolumeSummary span,.weeklyVolumeSummary small{color:var(--muted);font-size:.85rem}.weeklyVolumeSummary strong{font-size:1.3rem}.weeklyVolumeTotal{border:1px solid var(--accent)}.overBudget{color:#f6be75}.weeklyVolumeTotal.overBudget{border-color:#f6be75}.combinedPlanDetails{border-top:1px solid var(--line);padding-top:16px}.combinedPlanDetails summary{cursor:pointer;padding:8px 0}.combinedPlanDetails>label{max-width:320px;margin-top:12px}.combinedVolumeTable{overflow-x:auto}.combinedVolumeTable table{width:100%;border-collapse:collapse;font-size:.88rem}.combinedVolumeTable caption{text-align:left;color:var(--muted);padding:12px 0}.combinedVolumeTable td,.combinedVolumeTable th{text-align:left;padding:12px;border-bottom:1px solid var(--line);white-space:nowrap}.calendarVolumePanel{margin-bottom:16px}.calendarVolumePanel h3{margin-bottom:8px}@media(max-width:760px){.separatePlansHeader{flex-direction:column;gap:16px}.weeklyBudgetInput{min-width:0;width:100%}.sportPlanCards{grid-template-columns:1fr}.sportPlanCard{width:100%;display:flex;justify-content:space-between;flex-wrap:wrap}.weeklyVolumeSummary{grid-template-columns:repeat(2,minmax(0,1fr))}}.generatorJourney{width:100%;max-width:none;margin:18px auto;display:grid;gap:12px;min-width:0}.journeyHeader{display:flex;justify-content:space-between;align-items:center;gap:24px}.journeyHeader h1{font-size:clamp(1.3rem,2vw,1.65rem);margin:3px 0}.journeyEyebrow{font-size:.7rem;color:var(--accent);text-transform:uppercase;letter-spacing:.06em}.journeySteps{display:flex;gap:8px;border-bottom:1px solid var(--line);padding-bottom:10px}.journeySteps button{display:flex;padding:8px 14px;gap:8px;color:var(--muted);background:transparent;border:1px solid transparent}.journeySteps button>span{display:grid;place-items:center;width:23px;height:23px;border-radius:50%;background:var(--surface-2);flex-shrink:0}.journeySteps button.active{border-color:var(--line);color:var(--ink);background:var(--surface)}.journeySteps button.active>span{background:var(--accent);color:var(--paper)}.journeySteps button:disabled{opacity:.65}.journeySetup{padding:22px;width:100%;max-width:none}.journeySectionIntro{margin-bottom:18px}.journeySectionIntro h2{margin:6px 0;font-size:1.3rem}.journeySectionIntro p,.journeyPlanReady p,.journeyWeekHeader p{color:var(--muted);line-height:1.5}.journeyBuildProgress{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:16px;color:var(--muted);font-size:.85rem}.journeyBuildProgress .active{color:var(--accent)}.journeySetup>.setupWizardStep{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px 28px;align-items:start}.journeySetup>.setupWizardStep>.runningProfileFields{grid-column:1 / -1}.journeyFooter{display:flex;justify-content:space-between;align-items:center;gap:20px;padding-top:16px;margin-top:18px;border-top:1px solid var(--line)}.journeyFooter>button{min-height:44px;flex-shrink:0}.journeyIssues{border:1px solid #795e31;background:#30271b;color:#f6d29f;padding:14px;border-radius:8px}.journeyIssues ul{padding-left:20px;line-height:1.5;margin:10px 0}.journeyPreview{display:grid;gap:12px;min-width:0}.journeyPlanReady{padding:16px 18px;display:flex;align-items:center;justify-content:space-between;gap:24px}.journeyPlanReady h2{margin:0 0 4px;font-size:1.2rem}.journeyPlanReady p{font-size:.84rem}.journeyPlanFacts{display:flex;gap:26px}.journeyPlanFacts>span{color:var(--muted);font-size:.78rem;white-space:nowrap}.journeyPlanFacts strong{display:block;color:var(--ink);font-size:1.3rem;margin-bottom:4px}.journeyPlanReady>button{min-height:44px}.generatorToolbar,.generatorExportToolbar{display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap}.generatorToolbar>.choiceField>.choiceLabel,.generatorExportToolbar .planExportActions>.hint{display:none}.generatorExportToolbar{justify-content:start;gap:8px}.generatorExportToolbar .planExportActions{margin:0;padding:0;border:0}.choiceField{display:grid;gap:8px;min-width:0}.choiceLabel{color:var(--muted);font-size:.85rem}.choiceButtons{display:flex;flex-wrap:wrap;gap:6px}.choiceButtons button{min-height:38px;padding:8px 12px;font-size:.83rem;text-align:left}.choiceButtons button.active,.weekPicker button.active{border-color:var(--accent);background:#30e59f1a;color:var(--ink)}.generatorSettingsGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:14px}.generatorSettingsGroup{display:grid;gap:16px;min-width:0}.generatorSettingsGroup h3{font-size:1rem;padding-bottom:10px;border-bottom:1px solid var(--line)}.generatorSettingsGroup .settingsGrid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.generatorSettingsGroup .runningInputs{grid-template-columns:1fr}.generatorSettingsGroup .setupWizardStep,.generatorSettingsGroup .runningProfileFields{gap:14px}.generatorReferenceSummary{display:grid;gap:8px;color:var(--muted);font-size:.82rem}.generatorReferenceSummary span{display:flex;justify-content:space-between;gap:8px}.generatorReferenceSummary strong{color:var(--ink)}.weeklyRhythmFields{display:grid;gap:14px}.weeklyRhythmFields input{min-height:44px;font-size:16px}.rhythmMethod{display:grid;gap:12px;border-top:1px solid var(--line);padding-top:14px}.rhythmMethod h4{font-size:.9rem}.journeyWeek{padding:16px;min-width:0}.journeyWeekHeader{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:10px}.journeyWeekHeader h2{font-size:1.1rem;margin-bottom:4px}.journeyWeek>.hint{margin-bottom:12px}.weekPicker{display:flex;align-items:center;gap:6px;min-width:0;margin:10px 0 16px}.weekPicker>button{flex-shrink:0;padding:8px}.weekPickerStrip{display:flex;gap:6px;overflow-x:auto;padding:3px;min-width:0;position:relative}.weekPickerStrip button{flex-shrink:0;min-width:38px;min-height:38px;padding:8px 10px}.weekPickerStrip button.recovery{border-bottom:3px solid var(--accent)}.journeyWeek .generatorWeekGrid{grid-template-columns:repeat(7,minmax(150px,1fr))}.journeyWeek .generatorWeekGrid:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.journeyWeek .compactGeneratorSession{min-width:0;overflow-wrap:anywhere}.generatorCardActions{display:flex;gap:4px;margin-top:4px}.generatorCardActions .ghost{width:auto;flex:1;min-height:38px;padding:8px}.generatorAnalysis{display:grid;gap:14px}.generatorAnalysis>.availabilityNotice{margin:0}.generatorAnalysis .runningCycle{max-height:300px;overflow:auto}.generatorJourney .combinedVolumeTable{max-height:360px}.generatorJourney .combinedPlanDetails{display:grid;gap:12px}.generatorJourney .separatePlansPanel{gap:14px}@media(max-width:1100px){.journeyPlanReady{flex-wrap:wrap;gap:16px}.generatorSettingsGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.generatorSettingsGroup:last-child{grid-column:1 / -1}}@media(max-width:760px){.generatorJourney{margin:14px auto;gap:10px}.journeyHeader{flex-direction:column;align-items:stretch;gap:12px}.journeySteps{gap:4px}.journeySteps button{flex:1;padding:8px 4px;gap:5px;font-size:.72rem}.journeySetup,.journeyPlanReady,.journeyWeek{padding:14px}.journeySetup>.setupWizardStep,.generatorSettingsGrid{grid-template-columns:minmax(0,1fr)}.journeyFooter{flex-wrap:wrap;gap:12px}.journeyFooter>button:last-child{width:100%;justify-content:center}.journeyPlanFacts{width:100%;justify-content:space-between;gap:10px}.journeyPlanFacts strong{font-size:1.15rem}.journeyPlanFacts>span{font-size:.7rem}.journeyPlanReady>button{width:100%;justify-content:center}.journeyWeek .generatorWeekGrid{grid-template-columns:repeat(7,minmax(220px,1fr));scroll-snap-type:x proximity}.journeyWeek .generatorDayColumn{scroll-snap-align:start}.choiceButtons button,.weekPicker button,.generatorCardActions .ghost{min-height:44px}.generatorToolbar>.choiceField{width:100%}.generatorToolbar>.choiceField .choiceButtons{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}.generatorToolbar>.choiceField button{justify-content:center;text-align:center;padding:8px 4px;font-size:.76rem}}.journeyPreview{grid-template-columns:minmax(0,1fr)}.generatorHeaderActions{display:flex;flex-wrap:wrap;align-items:end;gap:12px}.generatorHeaderActions>button{min-height:44px}.generatorToolbar,.generatorExportToolbar,.journeyPlanReady,.journeyPlanFacts{min-width:0}@media(max-width:760px){.journeyPlanFacts>span{white-space:normal}.generatorExportToolbar{width:100%}.generatorExportToolbar>button{padding:8px}.generatorExportToolbar .planExportActions{flex-wrap:wrap;gap:6px}.generatorExportToolbar .planExportActions button{padding:8px}}.generatorReferences{display:grid;gap:12px;padding-top:14px;border-top:1px solid var(--line)}.generatorReferences h4{font-size:.9rem}.trainingMixInputs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;align-items:end}.trainingMixInputs label{font-size:.8rem}.calendarImpact{border:1px solid var(--line);border-radius:8px;padding:14px;margin-bottom:12px;display:grid;gap:8px;background:var(--surface-2)}.calendarImpactHeading{display:flex;gap:12px;justify-content:space-between;flex-wrap:wrap}.calendarImpactMetrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;padding:6px 0}.calendarImpactMetrics>div{display:grid;gap:5px}.calendarImpactMetrics span{color:var(--muted);font-size:.8rem}.calendarImpactMetrics strong{font-size:1.2rem}.impactWarning,.dayRecoveryWarning{color:#f6be75;font-size:.84rem;line-height:1.4}.calendarOverlayLegend{display:flex;gap:16px;flex-wrap:wrap;align-items:center;margin:12px 0;font-size:.8rem;color:var(--muted)}.calendarOverlayLegend>span{display:flex;gap:6px;align-items:center}.calendarOverlayLegend i{width:12px;height:12px;background:var(--run);border-radius:3px}.calendarOverlayLegend i.existing{background:transparent;border:1px dashed var(--muted)}.calendarOverlayLegend button{margin-left:auto;min-height:38px}.existingCalendarCard{display:grid;gap:7px;padding:10px;background:#6e91ad0f;border:1px dashed #52697b;border-radius:8px;color:#b7c8d5}.existingCalendarCard small{font-size:.72rem}.existingCalendarCard strong{font-size:.86rem}.existingCalendarCard span{font-size:.8rem}.generatorDayHeader strong small{margin-left:5px;color:var(--muted);font-size:.75rem}.dayRecoveryWarning{display:block;padding:6px;border:1px solid #795e31;border-radius:5px}@media(max-width:760px){.calendarImpactMetrics{grid-template-columns:repeat(2,minmax(0,1fr))}.calendarOverlayLegend button{margin-left:0;min-height:44px}}.homeFocusDashboard{gap:16px;min-width:0}.homeFocusHeader,.homeFocusActions,.homeWeekNavigation,.homeInsightHeader{display:flex;gap:14px;align-items:center;justify-content:space-between}.homeFocusHeader h1{font-size:clamp(1.5rem,3vw,2rem);margin:6px 0}.homeFocusHeader p{color:var(--muted);font-size:.95rem}.homeFocusActions{flex-wrap:wrap}.homeFocusActions button{min-height:44px}.homeWeekNavigation{justify-content:flex-start;gap:8px}.homeWeekNavigation .hint{margin-left:8px}.homeFocusMetrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.homeFocusMetrics article{display:grid;gap:10px;padding:18px;background:linear-gradient(140deg,var(--surface-2),var(--surface))}.homeFocusMetrics span{color:var(--muted);font-size:.82rem}.homeFocusMetrics strong{font-size:clamp(1.4rem,2.3vw,2rem)}.homeFocusMetrics small{color:var(--muted);font-size:.8rem}.homeFocusMetrics em{font-size:1rem;color:var(--muted);font-style:normal;font-weight:400}.homeLoadPanel{min-width:0;padding:22px;display:grid;gap:14px}.homeInsightHeader h2,.homeSportFocus h2{font-size:1.15rem;margin:5px 0}.homePeriod{display:flex;gap:6px;flex-shrink:0}.homePeriod button[aria-pressed=true]{border-color:var(--accent);color:var(--ink);background:#30e59f1a}.homeLoadActions{display:flex;align-items:center;gap:8px}.cardInfo{position:relative;z-index:3}.cardInfo summary{list-style:none;display:grid;place-items:center;width:44px;height:44px;border-radius:12px;color:var(--muted);cursor:pointer}.cardInfo summary::-webkit-details-marker{display:none}.cardInfo summary:hover,.cardInfo[open] summary{color:var(--ink);background:var(--surface-2)}.cardInfoContent{position:absolute;right:0;top:46px;width:min(340px,calc(100vw - 48px));max-height:min(55vh,380px);overflow:auto;padding:16px;border:1px solid var(--line);border-radius:12px;background:var(--surface-2);box-shadow:0 12px 30px #0008;font-size:.86rem;line-height:1.45}.cardInfoContent p{margin:0 0 10px}.cardInfoContent p:last-child{margin-bottom:0}.homeLoadMetrics{display:grid;grid-template-columns:minmax(0,1.4fr) repeat(2,minmax(0,1fr));gap:12px}.homeLoadMetrics>div{display:grid;gap:7px;align-content:center;padding:14px;border-radius:12px;background:var(--surface-2)}.homeLoadMetrics span{color:var(--muted);font-size:.82rem}.homeLoadMetrics strong{font-size:1.8rem;color:#52b2ff}.homeLoadMetrics .homeConditionSpotlight{background:#52b2ff1f}.homeLoadMetrics .homeConditionSpotlight strong{font-size:clamp(2.3rem,4vw,3rem)}.homeLoadMetrics>div:nth-child(2) strong{color:#ff5b63}.homeLoadMetrics>div:nth-child(3) strong{color:#30e59f}.trainingLoadChart{min-width:0;position:relative}.trainingLoadChart svg{display:block;overflow:visible;touch-action:pan-y}.trainingLoadChart text{fill:var(--muted);font-size:11px}.loadGridLine{stroke:var(--line);stroke-width:1}.loadZeroLine{stroke:#75889a;stroke-width:1;stroke-dasharray:4 4}.loadTodayLine{stroke:#8195a7;stroke-width:1}.loadCursor{stroke:#a8bbce;stroke-dasharray:3 3}.loadPointValues{position:absolute;top:8px;left:50px;display:flex;flex-wrap:wrap;gap:4px 10px;max-width:calc(100% - 70px);padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:var(--surface-2);box-shadow:0 5px 16px #0008;font-size:.76rem;pointer-events:none}.loadPointValues strong{flex-basis:100%}.loadPointValues span{color:var(--muted)}.loadPointValues b{color:var(--ink);margin-left:4px}.homeBalanceCard{display:grid;gap:12px;padding:20px}.homeBalanceHeader{display:flex;justify-content:space-between;align-items:center}.homeBalanceHeader h2{color:var(--balance-color);font-size:1.08rem;margin:0}.homeBalanceValue{display:flex;align-items:baseline;gap:12px}.homeBalanceValue strong{color:var(--balance-color);font-size:2.3rem;font-weight:750}.homeBalanceValue span{font-weight:600}.homeBalanceReference{color:#30e59f;font-size:.7rem;font-weight:700;text-align:center}.homeBalanceGauge{position:relative;height:12px;border-radius:10px;background:linear-gradient(to right,#52b2ff 0 40%,#30e59f 40% 70%,#ff9d4d 70% 80%,#ff5b63 80% 100%)}.homeBalanceGauge i{position:absolute;top:50%;width:18px;height:18px;border:2px solid var(--surface);border-radius:50%;background:#fff;transform:translate(-50%,-50%)}.homeChartEmpty{min-height:160px;border:1px dashed var(--line);display:grid;align-content:center;gap:12px;padding:24px;border-radius:8px}.homeChartEmpty p{color:var(--muted);max-width:70ch;line-height:1.5}.homeWeeklyCharts{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:16px}.homeDistribution,.homeSportFocus{display:grid;gap:14px;align-content:start;min-width:0;padding:20px}.weekBarLegend{display:flex;gap:12px;font-size:.78rem;color:var(--muted)}.weekBarLegend span:before{content:"";display:inline-block;width:10px;height:10px;border:1px solid #6187a9;margin-right:5px}.weekBarLegend span:last-child:before{background:#52b2ff;border-color:#52b2ff}.homeDailyBars{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}.homeDailyBar{display:grid;gap:5px;text-align:center;min-width:0}.dailyBarTrack{height:100px;display:flex;gap:4px;align-items:end;justify-content:center;border-bottom:1px solid var(--line)}.dailyBarTrack i{width:26%;min-height:1px;border-radius:3px 3px 0 0}.dailyBarTrack .planned{border:1px solid #6187a9;background:#6187a91f}.dailyBarTrack .done{background:#52b2ff}.homeDailyBar strong{font-size:.8rem}.homeDailyBar span,.homeDailyBar small{font-size:.7rem}.homeDailyBar small{color:var(--muted)}.homeSportRow{display:grid;gap:8px}.homeSportRow>div:first-child{display:flex;justify-content:space-between;gap:10px;font-size:.84rem}.homeSportRow small{color:var(--muted)}.sportBarTrack{position:relative;height:10px;background:var(--surface-2);border-radius:5px}.sportBarTrack i{position:absolute;left:0;height:10px;border-radius:5px}.sportBarTrack .planned{border:1px solid var(--sport-color);opacity:.4}.sportBarTrack .done{height:6px;top:2px;background:var(--sport-color)}.homeProgramStrip{display:flex;flex-wrap:wrap;align-items:center;gap:14px;font-size:.84rem}.homeProgramStrip>span{color:var(--muted)}.homeProgramStrip button{margin-left:auto}@media(max-width:900px){.homeWeeklyCharts{grid-template-columns:minmax(0,1fr)}.homeFocusHeader{align-items:start}.homeFocusActions{justify-content:flex-end}}@media(max-width:600px){.homeFocusHeader,.homeInsightHeader{flex-direction:column;align-items:stretch;gap:12px}.homeFocusActions{justify-content:start}.homeWeekNavigation{flex-wrap:wrap}.homeWeekNavigation .hint{flex-basis:100%;margin:3px 0}.homeFocusMetrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.homeFocusMetrics article{padding:12px;gap:8px}.homeFocusMetrics strong{font-size:1.3rem}.homeLoadPanel,.homeBalanceCard,.homeDistribution,.homeSportFocus{padding:14px}.homeLoadMetrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.homeLoadMetrics .homeConditionSpotlight{grid-column:1 / -1}.homeLoadMetrics strong{font-size:1.5rem}.homeLoadMetrics span{font-size:.72rem}.homePeriod button{min-height:44px}.homeDailyBars{gap:4px}}
