:root{--bg:#f3f5ef;--ink:#1c211d;--muted:#626a60;--line:#d9ded2;--panel:#fffffb;--surface:#f7f9f3;--accent:#0f766e;--accent-dark:#115e59;--green:#16803c;--warm:#b7791f;--danger:#b42318;--shadow:0 14px 38px #1c211d14}*{box-sizing:border-box}body{background:var(--bg);color:var(--ink);margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.publicPage{align-items:center;min-height:100svh;padding:28px;display:grid}.publicPanel{gap:14px;width:min(100%,720px);max-width:720px;margin:0 auto;display:grid}.publicPanel p,.publicPanel ul{color:var(--muted);margin:0;line-height:1.55}.publicPanel a{color:var(--accent-dark);font-weight:750}.publicDocument{align-content:start;padding-top:40px;padding-bottom:40px}.publicDocument h1{margin-bottom:10px}.publicDocument h2{margin:14px 0 0}button,textarea,select,input,a{font:inherit}.appShell{background:radial-gradient(circle at 50% -12%,#ffce7570,#0000 34%),linear-gradient(#fff4dc 0%,#f2f5e9 38%,#eef3e6 100%);grid-template-columns:minmax(0,1fr);min-height:100svh;padding-bottom:96px;display:grid}.navRail{color:#fffdf8;background:#1f271f;border-right:1px solid #303a30;grid-template-rows:auto 1fr auto;gap:24px;min-height:100svh;padding:22px 18px;display:grid}.navRail h1{margin:0;font-size:1.55rem;line-height:1}.navRail nav{align-content:start;gap:6px;display:grid}.navRail nav a,.navRail nav button{color:#fffdf8bd;cursor:pointer;text-align:left;background:0 0;border:0;border-radius:7px;padding:10px 12px;font-weight:750;text-decoration:none}.navRail nav a.active,.navRail nav button.active,.navRail nav a:hover,.navRail nav button:hover{color:#fffdf8;background:#fffdf814}.navActions{gap:9px;display:grid}.navHint{color:#fffdf89e;margin:-4px 2px 2px;font-size:.76rem;line-height:1.25}.navRail .button.secondary{color:#fffdf8;border-color:#fffdf842}.navRail .button.secondary:hover{color:#fffdf8;background:#fffdf814;border-color:#fffdf870}.appMain{align-content:start;justify-self:center;gap:14px;width:min(100%,1180px);min-width:0;max-width:1180px;padding:18px 18px 30px;display:grid}.appHeader{background:linear-gradient(135deg, #fffdf8f5, #f4fbebe6 55%, #e0efcde0), var(--panel);border:1px solid #6f8b5738;border-radius:18px;justify-content:space-between;align-items:start;gap:18px;padding:20px;display:flex;position:relative;overflow:hidden;box-shadow:0 18px 44px #3a522e1f}.appHeader:after{content:"";background:linear-gradient(90deg,#16803c33,#ffbe5c47,#0f766e29);height:5px;position:absolute;bottom:0;left:0;right:0}.appHeaderCopy{gap:8px;max-width:720px;display:grid}.appHeader h1{margin:0;font-size:clamp(2.25rem,7vw,4.6rem);line-height:1}.appHeader p:not(.eyebrow){color:#4f5d4b;margin:0;line-height:1.4}.appHeaderActions{z-index:1;flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex;position:relative}.appPageFrame{gap:14px;min-width:0;display:grid}.appPageFrame>.todayLiveShell{justify-self:center}.appPageFrame>.planWorkspace,.appPageFrame>.progressWorkspace{justify-self:stretch;min-width:0}.statusDashboard{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.trainingSignals{background:#fffffbb8;border:1px solid #d9ded2d1;border-radius:14px;margin-top:2px;overflow:hidden;box-shadow:0 12px 28px #3a522e14}.trainingSignals summary{cursor:pointer;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;list-style:none;display:flex}.trainingSignals summary::-webkit-details-marker{display:none}.trainingSignals summary span{color:var(--ink);font-weight:850}.trainingSignals summary small{color:var(--muted);text-align:right;font-size:.78rem}.trainingSignals[open] summary{border-bottom:1px solid var(--line)}.trainingSignals .statusDashboard{padding:14px}.appBottomNav{z-index:30;background:#fffffbeb;border:1px solid #6f8b5738;border-radius:999px;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;width:min(100% - 28px,430px);max-width:430px;padding:5px;display:grid;position:fixed;bottom:16px;left:50%;transform:translate(-50%);box-shadow:0 20px 48px #1c211d2e}.appBottomNav button{color:#63705f;cursor:pointer;background:0 0;border:0;border-radius:999px;min-height:48px;padding:0 12px;font-weight:900}.appBottomNav button.active{color:#fffdf8;background:#1f271f;box-shadow:0 8px 18px #1c211d29}.appBottomNav span{overflow-wrap:anywhere;display:block}.statusCard{background:var(--panel);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:8px;gap:10px;min-width:0;padding:13px;display:grid}.statusCard header{gap:5px;display:grid}.statusCard header div{justify-content:space-between;align-items:baseline;gap:10px;min-width:0;display:flex}.statusCard h3{margin:0;font-size:1rem}.statusCard strong{text-transform:uppercase;font-size:.78rem}.statusCard p{color:var(--muted);margin:0;font-size:.82rem;line-height:1.35}.statusBars{grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;display:grid}.statusBar{opacity:.55;background:#d7ddd2;border-radius:999px;height:8px}.statusBar.active{opacity:1;box-shadow:0 0 0 2px #1c211d14}.statusBar.de-training.active{background:#6b7280}.statusBar.productive.active{background:var(--green)}.statusBar.risky.active{background:var(--warm)}.statusBar.high-risk.active{background:var(--danger)}.metricList{gap:6px;display:grid}.metricLine{border-top:1px solid var(--line);grid-template-columns:10px minmax(86px,1fr) auto minmax(96px,1fr);align-items:center;gap:8px;min-height:30px;padding-top:6px;display:grid}.metricLine strong,.metricLine b,.metricLine small{min-width:0}.metricLine strong{overflow-wrap:anywhere;font-size:.8rem}.metricLine b{justify-self:end;font-size:.86rem}.metricLine small{color:var(--muted);font-size:.74rem;line-height:1.2}.metricDot{border-radius:999px;width:9px;height:9px}.metricDot.green{background:var(--green)}.metricDot.yellow{background:var(--warm)}.metricDot.red{background:var(--danger)}.coreGrid{grid-template-columns:minmax(0,1fr) minmax(320px,390px);align-items:start;gap:16px;display:grid}.shell{width:min(1440px,100% - 40px);margin:0 auto;padding:20px 0 44px}.topbar{box-shadow:var(--shadow);color:#fffdf8;background:#20261f;border:1px solid #2f382f;border-radius:8px;justify-content:space-between;align-items:center;gap:24px;padding:18px;display:flex}.eyebrow{color:#85d1c9;text-transform:uppercase;margin:0 0 8px;font-size:.78rem;font-weight:800}h1{letter-spacing:0;max-width:760px;margin:0;font-size:clamp(1.85rem,3vw,3.2rem);line-height:1}h2{margin:0 0 14px;font-size:1rem}.actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}.button{background:var(--accent);color:#fff;cursor:pointer;border:0;border-radius:7px;justify-content:center;align-items:center;min-height:44px;padding:0 16px;font-weight:750;text-decoration:none;display:inline-flex}.button:hover{background:var(--accent-dark)}.button:disabled{cursor:wait;opacity:.58}.button.secondary{border:1px solid var(--line);color:var(--ink);background:0 0}.topbar .button.secondary{color:#fffdf8;border-color:#fffdf842}.button.secondary:hover{border-color:var(--accent);color:var(--accent-dark)}.topbar .button.secondary:hover{color:#fffdf8;background:#fffdf814;border-color:#fffdf870}.statusLine{border:1px solid var(--line);min-height:46px;color:var(--muted);background:#fffffbb8;border-radius:8px;align-items:center;gap:10px;margin:14px 0;padding:0 14px;display:flex}.errorLine{color:#8f2f1f;background:#fff3ef;border:1px solid #f3b4a8;border-radius:8px;margin-bottom:16px;padding:12px 14px;line-height:1.45}.dot{background:var(--warm);border-radius:999px;width:10px;height:10px}.dot.connected{background:var(--accent)}.grid{grid-template-columns:minmax(360px,430px) 1fr;align-items:start;gap:20px;display:grid}.sidebar,.workspace{gap:16px;display:grid}.panel,.answer,.chat,.contextRow label{background:var(--panel);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:8px}.panel{padding:16px}.activePlanCard{background:var(--panel);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:8px;gap:10px;padding:16px;display:grid}.activePlanCard header{justify-content:space-between;align-items:start;gap:12px;display:flex}.activePlanCard h3{margin:0;font-size:1.2rem}.activePlanGrid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.activePlanStatus{border:1px solid var(--line);color:var(--muted);border-radius:999px;flex:none;padding:6px 10px;font-size:.78rem}.activePlanStatus.on_track{color:var(--accent-dark);border-color:#0f766e52}.activePlanStatus.ahead{color:var(--warm);border-color:#b7791f6b}.activePlanStatus.behind{color:var(--danger);border-color:#f3b4a8}.activePlanStatus.planActive{color:var(--accent-dark);border-color:#0f766e52}.activePlanStatus.planSetup{color:var(--warm);border-color:#b7791f6b}.activePlanStatus.planReview{color:var(--danger);border-color:#f3b4a8}.activePlanStatus.planReadable{color:var(--muted)}.activityWorkspace{gap:16px;display:grid}.activityHero{background:var(--panel);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:8px;justify-content:space-between;align-items:start;gap:16px;padding:18px;display:flex}.activityHero h2{margin:0 0 8px;font-size:1.8rem;line-height:1}.activityHero p{color:var(--muted);margin:0}.activityLayout{grid-template-columns:minmax(0,1fr) minmax(260px,.38fr);align-items:start;gap:16px;display:grid}.activityMain,.activitySide{gap:16px;display:grid}.recentRunList{gap:10px;display:grid}.recentRunCard{background:var(--surface);border:1px solid var(--line);border-radius:8px;justify-content:space-between;align-items:start;gap:12px;padding:12px;display:flex}.recentRunCard h4{margin:2px 0 4px;font-size:1rem}.recentRunCard small,.recentRunCard p{color:var(--muted)}.recentRunCard p{margin:0;font-size:.86rem;line-height:1.35}.recentRunCard>strong{border:1px solid var(--line);border-radius:8px;flex:none;padding:8px 10px}.activitySignalList{color:var(--muted);gap:8px;margin:0;padding-left:18px;font-size:.88rem;line-height:1.4;display:grid}.progressWorkspace{gap:18px;display:grid}.progressHero{background:linear-gradient(135deg, #fffffbfa, #ecf4e0f0 54%, #d8e8c7e6), var(--panel);border:1px solid #6f8b5747;border-radius:8px;justify-content:space-between;align-items:start;gap:20px;padding:24px;display:flex;position:relative;overflow:hidden;box-shadow:0 18px 42px #3a522e1f}.progressHero:after{content:"";background:linear-gradient(90deg,#16803c2e,#b7791f1f);height:5px;position:absolute;bottom:0;left:0;right:0}.progressHeroCopy{gap:10px;max-width:760px;display:grid}.progressHeroKicker{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.progressHeroKicker .eyebrow{color:#2f6f3f}.progressHero h2{max-width:760px;margin:0;font-size:clamp(2rem,4vw,3.35rem);line-height:1}.progressHero p{color:#4f5d4b;max-width:680px;margin:0;line-height:1.45}.progressHeroPills{flex-wrap:wrap;justify-content:flex-end;align-items:flex-end;gap:8px;display:flex}.progressPathPill,.progressTonePill{color:#235c35;white-space:nowrap;border:1px solid #16803c38;border-radius:999px;flex:none;padding:7px 11px;font-size:.78rem;font-weight:850}.progressPathPill{background:#fffffbe6;box-shadow:0 8px 18px #3a522e14}.progressTonePill.good,.progressTonePill.neutral{background:#e1efcddb}.progressTonePill.watch{color:#83560e;background:#ffefc2eb;border-color:#b7791f3d}.progressTonePill.risk{color:#9f2b22;background:#ffe7e2f0;border-color:#b4231833}.progressLayout{grid-template-columns:minmax(0,1fr) minmax(280px,.38fr);align-items:start;gap:16px;display:grid}.progressMain,.progressSide{gap:16px;min-width:0;display:grid}.progressWeekStats{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;display:grid}.progressWeekStats div{border:1px solid var(--line);background:#fbfcf6;border-radius:8px;gap:4px;min-height:88px;padding:12px;display:grid}.progressWeekStats div.primary{background:#ecf6e3;border-color:#16803c3d}.progressWeekStats small,.progressLegend,.progressFinePrint{color:var(--muted)}.progressWeekStats small{text-transform:uppercase;font-size:.76rem;font-weight:800}.progressWeekStats strong{font-size:clamp(1.25rem,2vw,1.7rem);line-height:1.05}.progressWeekMeter{background:#e6ecdc;border:1px solid #6f8b572e;border-radius:999px;height:13px;overflow:hidden}.progressWeekMeter span{border-radius:inherit;background:linear-gradient(90deg,#2f8548,#88b95f);height:100%;display:block}.progressNoPlanNote{background:#f8f8ef;border:1px dashed #c9d3be;border-radius:8px;gap:5px;padding:12px;display:grid}.progressNoPlanNote span{color:var(--muted);line-height:1.45}.progressWeekPanel .weekHeader>strong,.progressChartPanel .weekHeader>strong{align-self:flex-start}.progressLoadChart{gap:8px;display:grid}.progressLoadRow{grid-template-columns:minmax(86px,.32fr) minmax(160px,1fr) 62px minmax(96px,auto);align-items:center;gap:10px;padding:7px;display:grid}.progressLoadRow.current{background:#f2f7eb;border:1px solid #6f8b5733;border-radius:8px}.progressLoadLabel{color:var(--muted);font-size:.82rem;font-weight:800}.progressLoadRow.current .progressLoadLabel{color:var(--ink)}.progressLoadRow>strong{justify-self:end;font-size:.88rem}.progressLoadRow>em{border-radius:999px;justify-self:end;padding:5px 8px;font-size:.74rem;font-style:normal;font-weight:850}.progressLoadRow>em.good,.progressLoadRow>em.neutral{color:#235c35;background:#e1efcdc2}.progressLoadRow>em.watch{color:#83560e;background:#ffefc2db}.progressLoadRow>em.risk{color:#9f2b22;background:#ffe7e2e6}.progressBarTrack{background:#e8ede0;border:1px solid #1c211d0f;border-radius:999px;height:22px;display:flex;position:relative;overflow:hidden}.progressBarEasy{width:var(--easyWidth);background:linear-gradient(90deg,#5d9650,#8fbd68)}.progressBarHard{width:var(--hardWidth);background:linear-gradient(90deg,#b7791f,#d1a244)}.progressAverageLine{bottom:-3px;left:var(--averageLeft);opacity:.72;background:#1c211d;width:2px;position:absolute;top:-3px}.progressLegend{flex-wrap:wrap;gap:12px;font-size:.8rem;display:flex}.progressLegend span{align-items:center;gap:6px;display:inline-flex}.progressLegend i{border-radius:999px;width:18px;height:9px;display:inline-block}.legendEasy{background:#73a65a}.legendHard{background:#b7791f}.legendAverage{background:#1c211d;width:2px!important}.progressFinePrint{background:#fbfaf2;border:1px solid #d9ded2d1;border-radius:8px;padding:10px 12px;font-size:.82rem;line-height:1.4}.progressWatchGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.progressWatchCard{border:1px solid var(--line);background:#fffffb;border-radius:8px;gap:10px;min-height:142px;padding:14px;display:grid}.progressWatchCard header{justify-content:space-between;align-items:start;gap:10px;display:flex}.progressWatchCard.good{border-color:#16803c3d}.progressWatchCard.watch{border-color:#b7791f57}.progressWatchCard.risk{border-color:#b4231842}.progressWatchChip{text-transform:uppercase;white-space:nowrap;border-radius:999px;padding:5px 8px;font-size:.72rem;font-weight:850}.progressWatchChip.good,.progressWatchChip.neutral{color:#235c35;background:#e1efcdd1}.progressWatchChip.watch{color:#83560e;background:#ffefc2e6}.progressWatchChip.risk{color:#9f2b22;background:#ffe7e2eb}.progressWatchCard h4{margin:0;font-size:1rem}.progressWatchCard strong{font-size:1rem;line-height:1.25}.progressWatchCard p{color:var(--muted);margin:0;font-size:.84rem;line-height:1.38}.progressFlexCard{background:linear-gradient(145deg, #fffffbfa, #ecf4e0f0), var(--panel);border:1px solid var(--line);border-radius:8px;gap:14px;padding:20px;display:grid;box-shadow:0 18px 38px #3a522e1c}.progressFlexCard.good{border-color:#16803c47}.progressFlexCard.watch{border-color:#b7791f5c}.progressFlexCard.risk{border-color:#b4231847}.progressFlexCard header{justify-content:space-between;align-items:start;gap:12px;display:flex}.progressFlexCard h3{margin:0;font-size:clamp(1.65rem,3vw,2.1rem);line-height:1}.progressFlexCard p{color:var(--muted);margin:0;line-height:1.45}.progressFlexCard .button{width:100%}.progressDrawerOverlay{z-index:20;background:#1c211d42;align-items:end;padding:20px;display:grid;position:fixed;inset:0}.progressDrawer{background:var(--panel);border:1px solid var(--line);border-radius:8px;justify-self:center;gap:14px;width:min(100%,560px);max-width:560px;max-height:min(760px,100svh - 40px);padding:18px;display:grid;overflow-y:auto;box-shadow:0 24px 60px #1c211d3d}.progressDrawer header{justify-content:space-between;align-items:start;gap:12px;display:flex}.progressDrawer h3{margin:0;font-size:1.35rem}.progressDrawer>p,.progressDetailRows p{color:var(--muted);margin:0;line-height:1.45}.progressDetailRows{gap:8px;display:grid}.progressDetailRows div{background:var(--surface);border:1px solid var(--line);border-radius:8px;gap:4px;padding:12px;display:grid}.progressDetailRows div.watch{border-color:#b7791f52}.progressDetailRows div.risk{border-color:#b4231847}.progressDetailRows span{color:var(--muted);text-transform:uppercase;font-size:.76rem;font-weight:850}.progressRecentPanel{box-shadow:none;background:#fffffbb8}.progressRecentPanel .recentRunCard{background:#fbfcf7}.summaryGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0 0 16px;display:grid}.summaryGrid div{border:1px solid var(--line);background:var(--surface);border-radius:8px;min-height:72px;padding:10px}dt{color:var(--muted);text-transform:uppercase;font-size:.76rem;font-weight:700}dd{margin:4px 0 0;font-size:1.35rem;font-weight:800}.muted{color:var(--muted);margin:0}.riskList{gap:6px;display:grid}.riskItem{background:var(--surface);border:1px solid var(--line);border-radius:8px;grid-template-columns:12px 1fr;align-items:center;gap:9px;min-height:54px;padding:9px 10px;display:grid}.riskItem strong{margin-bottom:2px;font-size:.9rem;display:block}.riskItem p{color:var(--muted);margin:0;font-size:.82rem;line-height:1.4}.riskDot{border-radius:999px;width:10px;height:10px;display:block;box-shadow:0 0 0 3px #1c211d0d}.riskDot.green{background:var(--green)}.riskDot.yellow{background:var(--warm)}.riskDot.red{background:var(--danger)}.activityList{gap:8px;display:grid}.activity{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding-top:10px;display:flex}.activity strong,.activity span{display:block}.activity span{color:var(--muted);font-size:.9rem}.contextRow{grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px;display:grid}label{gap:8px;display:grid}label span{color:var(--muted);text-transform:uppercase;font-size:.82rem;font-weight:800}.fieldHeader{justify-content:space-between;align-items:center;gap:10px;display:flex}.fieldActions{gap:8px;display:flex}.planBuilder{border:1px solid var(--line);background:var(--surface);border-radius:8px;gap:8px;padding:10px;display:grid}.planControlGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.planSnapshot{border:1px solid var(--line);background:var(--surface);color:var(--muted);border-radius:8px;margin:0;padding:9px 10px;font-size:.82rem;line-height:1.4}.planWorkspace{gap:14px;display:grid}.planHero,.planBuilderPanel,.weekPanel,.emptyPlan{background:var(--panel);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:8px}.planHero{justify-content:space-between;align-items:start;gap:16px;padding:22px;display:flex;position:relative;overflow:hidden}.planHero:after{content:"";background:linear-gradient(90deg,#16803c2e,#b7791f1a);height:5px;position:absolute;bottom:0;left:0;right:0}.planHero h2{margin:0;font-size:clamp(2rem,4vw,3.2rem);line-height:1}.planHero h3{margin:0;font-size:1.2rem}.planHeroCopy{gap:9px;max-width:760px;display:grid}.planHeroPills{flex-wrap:wrap;gap:8px;display:flex}.planHero p{color:var(--muted);margin:0;line-height:1.45}.planWarnings{color:var(--muted);margin:10px 0 0;padding-left:18px;line-height:1.45}.planLayout{grid-template-columns:minmax(280px,360px) minmax(0,1fr);align-items:start;gap:16px;min-width:0;display:grid}.planLayout.readMode{grid-template-columns:1fr}.planBuilderPanel{gap:12px;min-width:0;padding:14px;display:grid}.planBuilderHeader{justify-content:space-between;align-items:center;gap:12px;display:flex}.planBuilderHeader h3{margin:0;font-size:1rem}.planBuilderHeader span{color:var(--muted);text-transform:uppercase;font-size:.75rem;font-weight:800}.planModeTabs{background:var(--surface);border:1px solid var(--line);border-radius:8px;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;padding:4px;display:grid}.planModeTabs button{color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:6px;min-height:34px;font-weight:850}.planModeTabs button.active{background:var(--panel);color:var(--ink);box-shadow:0 1px 4px #1c211d14}.planModeTabs button:disabled{cursor:default;opacity:.7}.planBuilderPanel textarea{min-height:90px}.planPreviewPanel{background:var(--panel);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:8px;gap:14px;padding:16px;display:grid}.previewHeader{justify-content:space-between;align-items:start;gap:14px;display:flex}.previewHeader h3{margin:0 0 6px;font-size:1.25rem}.previewHeader p{color:var(--muted);margin:0;line-height:1.45}.previewActions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.previewMetricGrid{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.previewMetric{border:1px solid var(--line);border-radius:8px;gap:4px;padding:10px;display:grid}.previewMetric small,.previewWeekHeader{color:var(--muted);text-transform:uppercase;font-size:.76rem}.previewMetric strong{font-size:.95rem}.previewWarnings{margin-top:0}.previewWeekTable{border:1px solid var(--line);border-radius:8px;overflow-x:auto}.previewWeekHeader,.previewWeekRow{grid-template-columns:56px minmax(140px,1.2fr) 90px 90px minmax(130px,1fr) 80px;gap:10px;min-width:720px;padding:9px 10px;display:grid}.previewWeekHeader{background:var(--surface);font-weight:800}.previewWeekRow{border-top:1px solid var(--line);color:var(--muted)}.previewWeekRow strong{color:var(--ink)}.previewSeverity{text-transform:uppercase;font-size:.78rem;font-weight:800}.previewSeverity.green{color:var(--green)}.previewSeverity.yellow{color:var(--warm)}.previewSeverity.red{color:var(--danger)}.planViewer{gap:12px;min-width:0;display:grid}.planAnchorGrid{grid-template-columns:minmax(0,1.08fr) minmax(280px,.52fr);gap:12px;min-width:0;display:grid}.planAnchorGrid.noPlan{grid-template-columns:minmax(0,1fr) minmax(280px,.48fr)}.planAnchorCard{background:var(--panel);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:8px;gap:14px;min-width:0;padding:18px;display:grid}.planShapeCard,.planWeekOverview{background:linear-gradient(145deg, #fffffbfc, #edf6e1eb), var(--panel);border-color:#6f8b5742;grid-column:1;overflow-x:auto}.planTodayCard,.planPhilosophyCard{grid-column:2}.planTodayCard{align-self:start}.planPhilosophyCard{background:#fbfaf2;align-self:start}.planAnchorCard h3{margin:0;font-size:1.35rem;line-height:1.1}.planAnchorCard p{color:var(--muted);margin:0;line-height:1.45}.planEmptyAnchor{align-content:center;min-height:260px}.planEmptyAnchor h3{font-size:clamp(1.8rem,3vw,2.45rem)}.planEmptyActions,.planChipRow{flex-wrap:wrap;gap:8px;display:flex}.planChipRow span{color:#285f36;background:#edf5e4;border:1px solid #16803c2e;border-radius:999px;padding:7px 10px;font-size:.78rem;font-weight:850}.planShapeStats{grid-template-columns:repeat(3,minmax(0,1fr))}.planWeekStrip{grid-template-columns:repeat(7,minmax(104px,1fr));gap:8px;min-width:0;display:grid}.planWeekStrip article{border:1px solid var(--line);background:#fffffbd1;border-radius:8px;gap:5px;min-width:0;min-height:106px;padding:10px;display:grid}.planWeekStrip article.today{background:#e9f5df;border-color:#16803c47;box-shadow:inset 0 0 0 1px #16803c14}.planWeekStrip small{color:var(--muted);text-transform:uppercase;font-size:.74rem;font-weight:850}.planWeekStrip strong,.planWeekStrip span{overflow-wrap:anywhere}.planWeekStrip strong{font-size:1rem}.planWeekStrip span{color:var(--muted);font-size:.82rem;line-height:1.25}.calendarToolbar{background:var(--panel);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:8px;grid-template-columns:42px minmax(220px,1fr) 42px auto minmax(150px,180px) minmax(150px,190px);align-items:end;gap:10px;min-width:0;padding:12px;display:grid}.calendarToolbar h3{margin:0;font-size:1.1rem}.calendarArrow{background:var(--surface);border:1px solid var(--line);color:var(--ink);cursor:pointer;border-radius:8px;min-height:44px;font-size:1.1rem;font-weight:900}.calendarArrow:hover:not(:disabled){border-color:var(--accent);color:var(--accent-dark)}.calendarArrow:disabled{cursor:default;opacity:.45}.calendarViewSelect,.calendarCenterDate{gap:5px}.todayButton{min-height:44px;padding:0 14px}.weekPanel{min-width:0;padding:16px;display:block;overflow-x:auto}.weekPanel>*+*{margin-top:14px}.weekHeader{justify-content:space-between;align-items:start;gap:12px;display:flex}.weekHeader h3{margin:0;font-size:1.35rem}.weekHeader>strong{border:1px solid var(--line);background:var(--surface);border-radius:8px;padding:8px 10px}.planMetricGrid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;min-width:0;display:grid}.planMetric{border:1px solid var(--line);background:var(--surface);border-radius:8px;grid-template-columns:12px 1fr;gap:5px;padding:10px;display:grid}.planMetric small,.planMetric p{color:var(--muted)}.planMetric strong,.planMetric p{grid-column:2}.planMetric small{text-transform:uppercase;font-size:.75rem;font-weight:800}.planMetric p{margin:0;font-size:.82rem;line-height:1.35}.calendarLegend{flex-wrap:wrap;align-items:center;gap:8px 14px;display:flex}.calendarLegend span{color:var(--muted);text-transform:uppercase;align-items:center;gap:6px;font-size:.76rem;font-weight:850;display:inline-flex}.calendarTypeDot{border:1px solid #19201d29;border-radius:999px;flex:none;width:10px;height:10px;display:inline-block}.calendarTypeDot.workout{background:#d89b2b}.calendarTypeDot.recovery{background:#2f8f7b}.calendarTypeDot.longRun{background:#c45446}.calendarTypeDot.rest{background:#8f948a}.calendarTypeDot.actual{background:#2f6fbd}.planCalendarGrid{border:1px solid var(--line);border-radius:8px;grid-template-columns:repeat(7,minmax(0,1fr));min-width:840px;display:grid;overflow:hidden}.calendarDayHeader{background:var(--surface);border-bottom:1px solid var(--line);color:var(--muted);text-align:center;padding:8px;font-size:.72rem;font-weight:850}.calendarCell{border:0;border-right:1px solid var(--line);border-bottom:1px solid var(--line);color:var(--ink);cursor:pointer;text-align:left;background:#fffefb;gap:8px;min-height:152px;padding:10px;display:grid}.planCalendarGrid.month .calendarCell{min-height:124px}.calendarCell:nth-child(7n){border-right:0}.calendarCell.selected{box-shadow:inset 0 0 0 2px var(--accent)}.calendarCell.actual{background:#eef7f4}.calendarCell.outsidePlan{color:var(--muted);background:#f0eee7}.calendarCell header{justify-content:space-between;align-items:center;gap:6px;display:flex}.calendarCell header span,.calendarCell small{color:var(--muted)}.calendarCell header span{font-size:.72rem;font-weight:850}.calendarCell header strong{font-size:.78rem}.calendarCellTitle{align-items:baseline;gap:7px;min-width:0;display:flex}.calendarCellTitle .calendarTypeDot{margin-top:2px}.calendarCell h4{min-width:0;margin:0;font-size:.95rem}.calendarCell p{margin:0;font-weight:850}.calendarCell small{line-height:1.35}.restDay{background:var(--surface);color:var(--muted)}.emptyPlan{text-align:center;place-content:center;gap:8px;min-height:280px;padding:24px;display:grid}.emptyPlan h3,.emptyPlan p{margin:0}.emptyPlan p{color:var(--muted)}.miniButton{border:1px solid var(--accent);background:var(--accent);color:#fff;cursor:pointer;text-transform:none;border-radius:8px;min-height:30px;padding:0 10px;font-size:.76rem;font-weight:800}.miniButton:hover{background:var(--accent-dark)}.secondaryMini{border-color:var(--line);color:var(--ink);background:0 0}.secondaryMini:hover{background:#f3efe5}.contextRow label,.chat{padding:14px}textarea{border:1px solid var(--line);resize:vertical;width:100%;min-height:132px;color:var(--ink);background:#fffefb;border-radius:8px;padding:12px;line-height:1.45}select,input{border:1px solid var(--line);width:100%;min-height:44px;color:var(--ink);background:#fffefb;border-radius:8px;padding:0 12px}textarea:focus,select:focus,input:focus{border-color:var(--accent);outline:2px solid #0f766e3d}textarea:disabled,select:disabled,input:disabled{color:#575a53;cursor:default;background:#f0eee7}.locked{box-shadow:none}.chat{gap:12px;display:grid}.question{min-height:96px}.askButton{justify-self:end;min-width:180px}.answer{min-height:280px;padding:22px}.answer section+section{margin-top:22px}.answer p{white-space:pre-wrap;margin:0;line-height:1.6}.feedback{border-top:1px solid var(--line);gap:10px;margin-top:24px;padding-top:16px;display:grid}.feedbackActions{flex-wrap:wrap;gap:8px;display:flex}.feedbackNote{min-height:76px}.feedbackStatus{color:var(--muted);margin:0;font-size:.88rem;line-height:1.45}.reviewToolbar{align-items:end;gap:12px;margin:14px 0 16px;display:flex}.reviewToolbar label{width:min(100%,260px)}.runList{gap:12px;display:grid}.runItem{background:var(--panel);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:8px;gap:12px;padding:16px;display:grid}.runHeader{justify-content:space-between;align-items:start;gap:16px;display:flex}.runHeader h2{max-width:880px;margin:4px 0 0}.runMeta,.runFeedbackNote{color:var(--muted);margin:0}.runAnswer{white-space:pre-wrap;max-height:8.5rem;margin:0;line-height:1.55;overflow:hidden}.runBadge{border:1px solid var(--line);color:var(--muted);border-radius:999px;flex:none;padding:6px 10px;font-size:.78rem;font-weight:800}.runBadge.positive{color:var(--accent-dark);border-color:#0f766e52}.runBadge.negative,.runBadge.error{color:#8f2f1f;border-color:#f3b4a8}.runDetails{color:#fffdf8;background:#20211d;border-radius:8px;max-height:520px;margin:0;padding:14px;font-size:.82rem;line-height:1.5;overflow:auto}.loginShell{place-items:center;min-height:100svh;padding:24px;display:grid}.loginPanel{background:var(--panel);border:1px solid var(--line);width:min(100%,460px);box-shadow:var(--shadow);border-radius:8px;padding:26px}.loginPanel h1{font-size:2.25rem;line-height:1}.loginCopy{color:var(--muted);margin:14px 0 24px;line-height:1.55}.loginForm{gap:14px;display:grid}.loginError{color:#8f2f1f;background:#fff3ef;border:1px solid #f3b4a8;border-radius:8px;margin:16px 0 0;padding:10px 12px}.auditInspectionShell{width:min(1180px,100% - 32px);margin:0 auto;padding:28px 0 48px}.auditInspectionHeader{border-bottom:1px solid var(--line);gap:10px;margin-bottom:18px;padding-bottom:18px;display:grid}.auditInspectionHeader h1{font-size:clamp(2rem,4vw,3.2rem)}.auditInspectionHeader p:last-child{color:var(--muted);max-width:760px;margin:0;line-height:1.5}.auditScenarioList{gap:14px;display:grid}.auditScenario{background:var(--panel);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:8px;gap:16px;padding:18px;display:grid}.auditScenarioHeader{justify-content:space-between;align-items:start;gap:14px;display:flex}.auditScenarioHeader h2{margin:4px 0 0;font-size:1.35rem}.auditScenarioHeader strong{border:1px solid var(--line);color:var(--accent-dark);text-transform:uppercase;border-radius:999px;flex:none;padding:7px 10px;font-size:.78rem}.auditScenarioId{color:var(--muted);text-transform:uppercase;margin:0;font-size:.78rem;font-weight:850}.progressAuditShell{width:min(1380px,100% - 32px)}.progressScenarioShell{grid-template-columns:minmax(240px,320px) minmax(0,1fr);align-items:start;gap:16px;display:grid}.progressScenarioPicker{border:1px solid var(--line);box-shadow:var(--shadow);background:#fffffbf0;border-radius:8px;gap:6px;padding:8px;display:grid;position:sticky;top:16px}.progressScenarioPicker button{color:var(--ink);cursor:pointer;text-align:left;background:0 0;border:1px solid #0000;border-radius:7px;gap:4px;padding:10px;display:grid}.progressScenarioPicker button.active,.progressScenarioPicker button:hover{background:#f2f7eb;border-color:#16803c33}.progressScenarioPicker strong{font-size:.92rem}.progressScenarioPicker span,.progressScenarioHeader p{color:var(--muted);font-size:.84rem;line-height:1.35}.progressScenarioPreview{gap:14px;min-width:0;display:grid}.progressScenarioHeader{border:1px solid var(--line);box-shadow:var(--shadow);background:#fffffbf0;border-radius:8px;padding:16px}.progressScenarioHeader h2{margin:0 0 6px;font-size:1.35rem}.progressScenarioHeader p{margin:0}.auditFieldGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0;display:grid}.auditFieldGrid div{background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:10px}.auditFieldGrid dd{font-size:.95rem;font-weight:650;line-height:1.45}.auditSubsection{border-top:1px solid var(--line);gap:10px;padding-top:14px;display:grid}.auditSubsection h3,.auditTension h4{margin:0}.auditTension{border:1px solid var(--line);background:#fffefb;border-radius:8px;gap:7px;padding:12px;display:grid}.auditTension p,.auditSubsection li{color:var(--muted);line-height:1.45}.auditTension p,.auditSubsection ul{margin:0}.auditSubsection ul{padding-left:20px}.auditRawReport{border-top:1px solid var(--line);padding-top:12px}.auditRawReport summary{color:var(--accent-dark);cursor:pointer;font-weight:850}.auditRawReport pre{color:#fffdf8;white-space:pre-wrap;background:#20211d;border-radius:8px;margin:12px 0 0;padding:14px;font-size:.82rem;line-height:1.5;overflow:auto}.todayMockShell{color:#143523;background:linear-gradient(#fffaefc7,#f0e8d48f),url(/assets/product-mockups/today-forest-trail.png) 50%/cover fixed;place-items:start center;gap:22px;min-height:100svh;padding:22px 16px 36px;display:grid;position:relative;overflow-x:hidden}.todayMockShell:before{content:"";pointer-events:none;background:radial-gradient(circle at 50% 5%,#fffcf2f5,#fffcf25c 38%,#0000 62%),linear-gradient(90deg,#07171057,#0000 24% 76%,#07171047);position:absolute;inset:0}.todayMockDevPanel,.todayMockPhone{z-index:1;position:relative}.todayMockDevPanel{background:#fffcf4e0;border:1px solid #30402b21;border-radius:22px;align-items:center;gap:14px;width:min(100%,520px);max-width:520px;padding:14px;display:grid;box-shadow:0 18px 44px #16201829}.todayMockDevPanel p,.todayMockDevPanel h1{margin:0}.todayMockDevPanel p{color:#14352394;text-transform:uppercase;font-size:.72rem;font-weight:850}.todayMockDevPanel h1{color:#143523;font-size:1rem}.todayMockScenarios{flex-wrap:wrap;gap:7px;display:flex}.todayMockScenarios button{color:#143523b8;cursor:pointer;background:#f7efe0;border:1px solid #30402b29;border-radius:999px;min-height:36px;padding:0 12px;font-size:.78rem;font-weight:820}.todayMockScenarios button.active{color:#fffaf0;background:#1f5b37;border-color:#1f5b37;box-shadow:0 10px 22px #1f5b373d}.todayMockPhone{background:linear-gradient(#fffcf4f0,#fff9edeb),#fffaeff0;border:1px solid #ffffff94;border-radius:38px;gap:12px;width:min(100%,430px);max-width:430px;min-height:812px;padding:22px 24px 18px;display:grid;overflow:hidden;box-shadow:0 28px 70px #08140d57,inset 0 0 0 1px #30402b14}.todayMockHeader{justify-content:space-between;align-items:center;gap:14px;padding:0 2px;display:flex}.todayMockHeader p{color:#1f5b37;letter-spacing:.14em;text-transform:uppercase;margin:0 0 2px;font-size:.78rem;font-weight:860}.todayMockHeader strong{color:#143523;letter-spacing:0;font-family:Georgia,Times New Roman,serif;font-size:1.86rem;font-weight:700;line-height:.95;display:block}.todayMockHeader span{color:#235c35;background:#e1e8cdd1;border:1px solid #2d5f342e;border-radius:999px;flex:none;padding:10px 12px;font-size:.8rem;font-weight:800;box-shadow:0 8px 18px #14352314}.todayMockHeader .syncTone.good{color:#235c35;background:#e1efcde6}.todayMockHeader .syncTone.caution{color:#83560e;background:#ffefc2eb;border-color:#b7791f33}.todayMockHeader .syncTone.risk{color:#9f2b22;background:#ffe7e2f0;border-color:#b4231833}.todayMockHero,.todayMockWhySheet,.todayMockTweakCard,.todayEvidenceCard,.todayMockWeek,.todayMockBottomNav{background:#fffbf1e6;border:1px solid #49433124;box-shadow:0 10px 26px #1d201614}.todayMockHero{cursor:pointer;border-radius:28px;gap:6px;height:398px;padding:21px 25px 16px;display:grid;position:relative;overflow:hidden}.todayMockHero:focus-visible{outline-offset:3px;outline:3px solid #2b6c3d47}.todayMockHero:after{content:"";background:linear-gradient(90deg,#fffbf1fa 0%,#fffbf1eb 44%,#fffbf15c 74%,#fffbf114 100%),linear-gradient(#fffbf13d,#fffbf1db);position:absolute;inset:0}.todayMockHeroImage{filter:saturate(.94);opacity:.76;background:url(/assets/product-mockups/today-forest-trail.png) 100%/cover;position:absolute;inset:0 0 0 28%}.todayMockHero>:not(.todayMockHeroImage){z-index:1;position:relative}.todayMockTapHint{color:#21261e94;z-index:2;background:#fffcf4ad;border:1px solid #4943311f;border-radius:999px;justify-self:end;align-items:center;gap:7px;padding:7px 9px 7px 11px;font-size:.72rem;font-weight:780;display:inline-flex;position:absolute;top:18px;right:18px}.todayMockTapHint:after{content:"";border:1.5px solid;border-width:1.5px 1.5px 0 0;width:6px;height:6px;transform:rotate(45deg)}.todayMockHeroIcon{color:#143523;background:#e0e9cddb;border-radius:999px;place-items:center;width:44px;height:44px;display:grid}.todayMockHeroIcon svg{width:28px;height:28px;display:block}.todayMockHero.no-run .todayMockHeroIcon{color:#b7791f;background:#fff3d8;border:1px solid #b7791f42}.todayMockHero.strava-error .todayMockHeroIcon{color:#b42318;background:#ffe7e2;border:1px solid #b423183d}.todayMockHero.no-run .todayMockHeroIcon svg,.todayMockHero.strava-error .todayMockHeroIcon svg{width:26px;height:26px}.todayMockHero>p:first-of-type{color:#235c35;letter-spacing:.08em;text-transform:none;margin:6px 0 0;font-size:.75rem;font-weight:900}.todayMockHero h2{color:#113520;letter-spacing:0;max-width:350px;margin:4px 0 0;font-family:Georgia,Times New Roman,serif;font-size:3.18rem;font-weight:700;line-height:.92}.todayMockHero.pain h2,.todayMockHero.schedule h2,.todayMockHero.great h2,.todayMockHero.checking h2,.todayMockHero.refreshed h2,.todayMockHero.no-run h2,.todayMockHero.strava-error h2{letter-spacing:0;max-width:310px;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:2.28rem;font-weight:860;line-height:.98}.todayMockHero.schedule h2,.todayMockHero.refreshed h2,.todayMockHero.no-run h2,.todayMockHero.strava-error h2{font-size:2.16rem}.todayMockHero.checking h2{font-size:2.08rem}.todayMockHeroCopy{color:#21261ed1;max-width:315px;margin:0;font-size:.96rem;font-weight:700;line-height:1.32}.todayMockReceipt{background:#fffcf4b8;border:1px solid #4943311f;border-left:3px solid #2b6c3dc7;border-radius:16px;gap:2px;max-width:335px;padding:8px 11px 8px 10px;display:grid}.todayMockReceipt strong{color:#143523;font-size:.78rem;font-weight:900}.todayMockReceipt span{color:#21261ead;font-size:.72rem;font-weight:690;line-height:1.32}.todayPlanCta{color:#235c35;cursor:pointer;background:#fffcf4bd;border:1px solid #2b6c3d2e;border-radius:999px;justify-self:start;min-height:34px;padding:0 12px;font-size:.78rem;font-weight:850}.todayMockHero.no-run .todayMockReceipt,.todayMockHero.strava-error .todayMockReceipt{border-left-color:#78694bb8}.todayMockSwipe{color:#1d241ca8;align-items:center;gap:10px;margin-top:auto;font-size:.78rem;font-weight:760;display:flex}.todayMockSwipeButton{cursor:pointer;text-align:left;background:0 0;border:0;padding:0;font-family:inherit}.todayMockSwipeButton:disabled{cursor:wait;opacity:.72}.todayMockSwipe i{border:1px solid #2d5f3438;border-radius:999px;width:26px;height:26px;display:block;position:relative}.todayMockSwipe i:before{content:"";border:2px solid #235c35;border-width:2px 2px 0 0;width:8px;height:8px;position:absolute;top:9px;left:8px;transform:rotate(-45deg)}.todayCompletionReceipt{color:#21261eb8;background:#fffcf4c7;border:1px solid #2b6c3d2e;border-radius:8px;max-width:335px;margin:0;padding:8px 10px;font-size:.76rem;font-weight:720;line-height:1.35}.todayCompletionReceipt strong{color:#143523;font-weight:900}.todayWhyOverlay{z-index:40;background:#1118136b;justify-content:center;align-items:end;padding:18px;display:flex;position:fixed;inset:0}.todayMockWhySheet{border-radius:22px;gap:12px;width:min(100%,430px);max-width:430px;max-height:min(82svh,680px);padding:14px 16px 16px;display:grid;overflow-y:auto}.todayMockWhySheet header{justify-content:space-between;align-items:start;gap:12px;display:flex}.todayMockWhySheet h3,.todayMockWhySheet p{margin:0}.todayMockWhySheet h3{color:#143523;font-size:1rem;font-weight:900}.todayMockWhySheet p{color:#21261e8f;margin-top:2px;font-size:.78rem;line-height:1.35}.todayMockWhySheet button{color:#21261ea3;cursor:pointer;background:#fffcf4a8;border:1px solid #4943311f;border-radius:999px;flex:none;min-height:30px;padding:0 10px;font-size:.72rem;font-weight:820}.todayMockWhyList{gap:7px;display:grid}.todayMockWhyList div{border-top:1px solid #4943311a;grid-template-columns:116px minmax(0,1fr);align-items:baseline;gap:4px;padding-top:7px;display:grid}.todayMockWhyList div:first-child{border-top:0;padding-top:0}.todayMockWhyList strong{color:#143523;font-size:.76rem;font-weight:900}.todayMockWhyList span{color:#21261ea8;font-size:.76rem;font-weight:680;line-height:1.35}.todayMockWeek{cursor:pointer;border-radius:24px;gap:13px;padding:15px 16px 16px;display:grid;position:relative}.todayMockWeek:after{content:"";border:1.5px solid #21261e7a;border-width:1.5px 1.5px 0 0;width:8px;height:8px;position:absolute;top:18px;right:17px;transform:rotate(45deg)}.todayNoPlanContext{cursor:default}.todayNoPlanContext:after{display:none}.todayNoPlanContext>p{color:#21261ead;margin:0;font-size:.86rem;font-weight:680;line-height:1.4}.todayNoPlanContext .miniButton{justify-self:start}.todayMockTweakCard{background:#fffcf4b8;border-color:#4943311a;border-radius:20px;gap:10px;padding:12px 16px;display:grid;box-shadow:0 6px 18px #1d20160e}.todayEvidenceCard{background:#fffcf4bd;border-color:#4943311a;border-radius:20px;gap:11px;padding:12px 16px 14px;display:grid;box-shadow:0 6px 18px #1d20160e}.todayEvidenceCard ul{gap:7px;margin:0;padding:0;list-style:none;display:grid}.todayEvidenceCard li{color:#21261eb3;padding-left:14px;font-size:.78rem;font-weight:700;line-height:1.35;position:relative}.todayEvidenceCard li:before{content:"";background:#2b6c3db8;border-radius:999px;width:5px;height:5px;position:absolute;top:.42rem;left:0}.refreshStatusLine{border:1px solid #21261e1f;border-radius:8px;gap:3px;padding:10px 11px;display:grid}.refreshStatusLine strong{color:#263326;font-size:.84rem}.refreshStatusLine span{color:#21261eb3;font-size:.78rem;line-height:1.35}.refreshStatusLine.good{background:#e8f4e3c7;border-color:#1c6f3433}.refreshStatusLine.caution{background:#fff7e0c7;border-color:#b7791f42}.refreshStatusLine.risk{background:#fff1edd1;border-color:#b4231838}.todayRiskSignals{border-top:1px solid #4943311a;gap:4px;padding-top:9px;display:grid}.todayRiskSignals strong{color:#143523;font-size:.76rem;font-weight:900}.todayRiskSignals span{color:#21261ea3;font-size:.76rem;font-weight:680;line-height:1.35}.todayMockSectionHeader{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.todayMockSectionHeader h3,.todayMockSectionHeader p{margin:0}.todayMockSectionHeader h3{color:#143523;letter-spacing:.03em;text-transform:none;font-size:.9rem;font-weight:900}.todayMockSectionHeader p{color:#21261e94;text-align:right;font-size:.8rem;line-height:1.35}.todayMockWeekPath{grid-template-columns:repeat(7,minmax(0,1fr));padding-top:4px;display:grid;position:relative}.todayMockWeekPath:before{content:"";opacity:.82;background:linear-gradient(90deg,#2b6c3deb,#78955dc2,#be8543d1);border-radius:999px;height:2px;position:absolute;top:17px;left:7%;right:7%}.todayMockWeekPath div{justify-items:center;gap:5px;min-width:0;display:grid;position:relative}.todayMockWeekPath span{background:#fffaf0;border:2px solid #2b6c3d;border-radius:999px;width:28px;height:28px;box-shadow:0 6px 14px #1435231f}.todayMockWeekPath .active span{background:#2b6c3d;box-shadow:0 7px 16px #2b6c3d33}.todayMockWeekPath .active span:before{content:"";background:#fffaf0;border-radius:999px;width:7px;height:7px;margin:8px auto 0;display:block}.todayMockWeekPath .rest span{border-color:#a3a97c}.todayMockWeekPath .long span{border-color:#be8543}.todayMockWeekPath small{color:#21261e94;text-transform:uppercase;text-overflow:ellipsis;white-space:nowrap;background:#e0e1cab8;border-radius:999px;max-width:46px;padding:3px 5px;font-size:.52rem;font-weight:900;overflow:hidden}.todayMockWeekPath strong{color:#182d20;text-align:center;max-width:48px;min-height:1.55rem;font-size:.68rem;line-height:1.15}.todayMockChips{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;display:grid}.todayMockChips button{color:#21261ec7;cursor:pointer;background:#fffcf494;border:1px solid #4943311f;border-radius:999px;min-height:34px;padding:0 10px;font-size:.73rem;font-weight:820}.todayMockChips button.active{color:#235c35;background:#edf4df;border-color:#2b6c3d;box-shadow:inset 0 0 0 1px #2b6c3d38,0 8px 18px #2b6c3d1f}.todayMockChips button:nth-child(4).active{color:#a25118;background:#fff0dd;border-color:#b66b2a;box-shadow:inset 0 0 0 1px #b66b2a2e,0 8px 18px #b66b2a1a}.todayUserInputCard{gap:11px}.todayUserInputChips{grid-template-columns:repeat(2,minmax(0,1fr))}.todayUserInputChips button:disabled,.todayUserInputActions button:disabled,.todayUserInputDuration input:disabled{cursor:wait;opacity:.62}.todayUserInputDuration{background:#fffcf494;border:1px solid #4943311a;border-radius:12px;grid-template-columns:minmax(0,1fr) 76px auto;align-items:center;gap:8px;padding:9px 10px;display:grid}.todayUserInputDuration span,.todayUserInputDuration small{color:#21261e9e;text-transform:none;font-size:.74rem;font-weight:850}.todayUserInputDuration input{color:#143523;background:#fffdf8;border:1px solid #49433129;border-radius:8px;width:100%;min-width:0;min-height:36px;padding:0 8px;font-weight:850}.todayUserInputActions{flex-wrap:wrap;gap:8px;display:flex}.todayUserInputStatus{color:#362b2299;margin:0;font-size:.78rem;line-height:1.35}.todayUserInputStatus.error{color:#9f2b22;font-weight:760}.todayRecentCatchUp{border-top:1px solid #362b221a;gap:6px;padding-top:10px;display:grid}.todayRecentCatchUp .miniButton{justify-self:start}.todayRecentCatchUp p{color:#362b2294;margin:0;font-size:.78rem;line-height:1.35}.todayMockBottomNav{border-radius:28px;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;margin-top:auto;padding:8px;display:grid}.todayMockBottomNav button{color:#21261ea3;cursor:pointer;text-align:center;background:0 0;border:0;border-radius:22px;min-height:50px;padding:17px 6px;font-size:.82rem;font-weight:820}.todayMockBottomNav button.active{color:#235c35;background:#e0e9cde6;box-shadow:inset 0 0 0 1px #2d5f3414}@media (min-width:900px){.todayMockShell{grid-template-columns:250px minmax(0,430px);justify-content:center;align-items:start;padding:40px 28px}.todayMockDevPanel{position:sticky;top:40px}}@media (max-width:520px){.todayMockShell{background:linear-gradient(#fffaefeb,#fffaefdb),url(/assets/product-mockups/today-forest-trail.png) 50%/cover;padding:0;display:block}.todayMockDevPanel{box-shadow:none;border-radius:0;width:100%;max-width:none;padding:10px 12px}.todayMockDevPanel h1{display:none}.todayMockScenarios{flex-wrap:nowrap;padding-bottom:2px;overflow-x:auto}.todayMockScenarios button{flex:none}.todayMockPhone{box-shadow:none;border:0;border-radius:0;width:100%;max-width:none;min-height:100svh;padding:18px}.todayMockHero,.todayMockWeek,.todayMockTweakCard,.todayMockBottomNav{justify-self:center;width:min(100%,100vw - 36px)}.todayMockHeader,.todayMockSectionHeader{justify-content:start;align-items:start;display:grid}.todayMockHeader{gap:8px}.todayMockHeader strong{font-size:1.86rem}.todayMockHeader span{justify-self:start;padding:9px 10px;font-size:.74rem}.todayMockSectionHeader p{text-align:left}}@media (max-width:390px){.todayMockPhone{gap:14px;padding-left:14px;padding-right:14px}.todayMockHero{height:390px;padding:22px 22px 18px}.todayMockHero h2{font-size:2.92rem}.todayMockHero.pain h2,.todayMockHero.schedule h2,.todayMockHero.great h2,.todayMockHero.checking h2,.todayMockHero.refreshed h2,.todayMockHero.no-run h2,.todayMockHero.strava-error h2{font-size:2.02rem}.todayMockHeroCopy{font-size:.92rem}.todayMockReceipt{padding:9px 10px}.todayMockWhyList div{grid-template-columns:1fr}.todayMockChips{grid-template-columns:repeat(2,minmax(0,1fr))}}.todayLiveShell{border-radius:32px;grid-template-columns:minmax(0,430px);min-height:auto;padding:26px;box-shadow:0 20px 48px #171d151f}.adaptiveWorkbenchShell{color:#171b17;gap:12px;width:min(100%,1500px);margin:0 auto;padding:16px;display:grid}.adaptiveWorkbenchHeader{background:#fffffb;border:1px solid #d9ded2;border-radius:8px;justify-content:space-between;align-items:end;gap:16px;padding:14px;display:flex}.adaptiveWorkbenchHeader h1{font-size:1.8rem}.adaptiveWorkbenchForm{align-items:end;gap:8px;display:flex}.adaptiveWorkbenchForm label{gap:4px;display:grid}.adaptiveWorkbenchForm span,.adaptiveWorkbenchMeta span,.adaptiveWorkbenchTotals span{color:#626a60;text-transform:uppercase;font-size:.72rem;font-weight:800}.adaptiveWorkbenchForm input{background:#fff;border:1px solid #cdd5c7;border-radius:6px;min-height:36px;padding:0 8px}.adaptiveWorkbenchForm button{color:#fffdf8;cursor:pointer;background:#20261f;border:0;border-radius:6px;min-height:36px;padding:0 12px;font-weight:800}.adaptiveWorkbenchMeta,.adaptiveWorkbenchTotals{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px;display:grid}.adaptiveWorkbenchMeta div,.adaptiveWorkbenchTotals div{background:#fffffb;border:1px solid #d9ded2;border-radius:8px;gap:2px;padding:10px;display:grid}.adaptiveWorkbenchMeta strong,.adaptiveWorkbenchTotals strong{font-size:1.08rem}.adaptiveWorkbenchPanel{background:#fffffb;border:1px solid #d9ded2;border-radius:8px;gap:10px;padding:12px;display:grid}.adaptiveWorkbenchPanel h2,.adaptiveWorkbenchPanel h3,.adaptiveWorkbenchPanel h4{margin:0}.adaptiveWorkbenchShadowGrid{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:10px;display:grid}.adaptiveWorkbenchShadowVariant{border:1px solid #d9ded2;border-radius:8px;gap:8px;padding:10px;display:grid}.adaptiveWorkbenchShadowVariant h3{color:#2f382f;font-size:.95rem}.adaptiveWorkbenchShadowPair{grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:8px;display:grid}.adaptiveWorkbenchShadowCard{background:#f7f9f3;border:1px solid #d9ded2;border-radius:8px;gap:8px;padding:10px;display:grid}.adaptiveWorkbenchShadowCard h4{color:#2f382f;text-transform:uppercase;font-size:.82rem}.adaptiveWorkbenchDrivers{gap:6px;display:grid}.adaptiveWorkbenchDrivers>span,.adaptiveWorkbenchRawReadNote span{color:#626a60;text-transform:uppercase;font-size:.72rem;font-weight:800}.adaptiveWorkbenchDrivers ul{gap:6px;margin:0;padding:0;list-style:none;display:grid}.adaptiveWorkbenchDrivers li{gap:2px;display:grid}.adaptiveWorkbenchDrivers strong{font-size:.78rem}.adaptiveWorkbenchDrivers p{color:#4f584d;margin:0;font-size:.78rem;line-height:1.35}.adaptiveWorkbenchDivergence,.adaptiveWorkbenchRawReadNote{background:#fff9e8;border:1px solid #e4d09a;border-radius:8px;flex-wrap:wrap;gap:8px 14px;padding:10px;display:flex}.adaptiveWorkbenchDivergence{color:#5d4720;font-size:.84rem}.adaptiveWorkbenchRawReadNote{align-items:center}.adaptiveWorkbenchRawReadNote strong{color:#2f382f;font-size:.9rem}.adaptiveWorkbenchMessage{color:#626a60;background:#fffffb;border:1px solid #d9ded2;border-radius:8px;margin:0;padding:14px}.adaptiveWorkbenchTableWrap{overflow-x:auto}.adaptiveWorkbenchTable{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;min-width:880px}.adaptiveWorkbenchTable th,.adaptiveWorkbenchTable td{text-align:right;white-space:nowrap;border:1px solid #d9ded2;padding:6px 7px;font-size:.78rem}.adaptiveWorkbenchTable th{color:#2f382f;background:#f7f9f3;font-weight:850}.adaptiveWorkbenchTable tbody th{text-align:left}.adaptiveWorkbenchTable.trajectory{min-width:1180px}.todayLiveShell .todayMockPhone{max-width:430px}.appPageFrame .todayLiveShell .todayMockBottomNav{display:none}@media (min-width:900px){.todayLiveShell{grid-template-columns:minmax(0,430px);justify-content:center;padding:32px}}@media (max-width:520px){.todayLiveShell{box-shadow:none;margin-left:calc(var(--app-padding,0px) * -1);margin-right:calc(var(--app-padding,0px) * -1);border-radius:0;padding:0}}@media (max-width:980px){.appShell{grid-template-columns:1fr}.navRail{grid-template-columns:1fr;min-height:auto}.navActions{grid-template-columns:repeat(2,minmax(0,1fr))}.appHeader{flex-direction:column;align-items:flex-start}.appHeaderActions{justify-content:flex-start}.statusDashboard,.coreGrid,.planLayout,.planAnchorGrid,.planAnchorGrid.noPlan,.activityLayout,.progressLayout,.progressWatchGrid,.progressScenarioShell{grid-template-columns:1fr}.progressScenarioPicker{position:static}.topbar{flex-direction:column;align-items:flex-start}.actions{justify-content:flex-start}.grid,.contextRow{grid-template-columns:1fr}.reviewToolbar,.runHeader,.activePlanCard header,.previewHeader,.activityHero,.progressHero,.progressFlexCard header,.progressDrawer header,.planHero,.weekHeader,.auditScenarioHeader{flex-direction:column;align-items:stretch}.planShapeCard,.planWeekOverview,.planTodayCard,.planPhilosophyCard{grid-column:auto}.previewActions{justify-content:flex-start}}@media (max-width:1300px){.calendarToolbar{grid-template-columns:42px minmax(0,1fr) 42px}.calendarToolbar .todayButton,.calendarCenterDate,.calendarViewSelect{grid-column:auto}.planCalendarGrid{min-width:0}}@media (max-width:560px){.appMain{padding:14px}.navActions,.metricLine,.activePlanGrid,.planMetricGrid,.planShapeStats,.progressWeekStats,.previewMetricGrid,.planControlGrid,.calendarToolbar,.progressLoadRow{grid-template-columns:1fr}.progressLoadRow>strong,.progressLoadRow>em{justify-self:start}.progressDrawerOverlay{align-items:end;padding:12px}.progressDrawer{max-height:86svh}.progressDrawer header{gap:10px}.metricLine{gap:4px}.metricLine b{justify-self:start}.shell{width:min(100% - 24px,1440px);padding-top:18px}.summaryGrid,.auditFieldGrid{grid-template-columns:1fr}.button,.askButton{width:100%}.appHeaderActions{grid-template-columns:repeat(3,minmax(0,1fr));width:100%;display:grid}.appHeaderActions .miniButton{justify-content:center;min-width:0;padding-left:8px;padding-right:8px}.trainingSignals summary{flex-direction:column;align-items:flex-start}.trainingSignals summary small{text-align:left}}
