:root,:root[data-theme=dark]{--bg:#0a0a0a;--sidebar:#0a0a0a;--surface:#111111;--surface-strong:#1a1a1a;--elevated:#171717;--text:#ededed;--muted:#a1a1a1;--line:#2b2b2b;--control:#1a1a1a;--hover:#242424;--cream:#ededed;--ink:#0a0a0a;--action:#ededed;--action-text:#0a0a0a;--sage:#50e3a4;--blue:#52a8ff;--sand:#f5b955;--lilac:#bf97ff;--chart-sage:#50e3a4;--chart-blue:#52a8ff;--chart-sand:#f5b955;--chart-purple:#b69bff;--chart-pink:#f58fba;--shadow:0 8px 30px #0003}:root[data-theme=light]{--bg:#fafafa;--sidebar:#fff;--surface:#fff;--surface-strong:#f5f5f5;--elevated:#fff;--text:#171717;--muted:#666;--line:#e5e5e5;--control:#f5f5f5;--hover:#ededed;--cream:#171717;--ink:#fff;--action:#171717;--action-text:#fff;--sage:#18794e;--blue:#0068d6;--sand:#946800;--lilac:#7820bc;--chart-sage:#18794e;--chart-blue:#0068d6;--chart-sand:#946800;--chart-purple:#8350d9;--chart-pink:#c63579;--shadow:0 8px 30px #0000000a}body{background:var(--bg);font-size:14px;letter-spacing:-.01em}h1,h2,h3{font-weight:600}.app-shell,.main-wrap{background:var(--bg)}.sidebar{position:sticky;inset:0 0 auto;width:100%;height:113px;padding:0 32px;display:grid;grid-template-rows:64px 48px;border:0;border-bottom:1px solid var(--line);border-radius:0;background:var(--sidebar);box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}.app-brand{padding:0;gap:16px;width:fit-content}.brand-mark{display:inline-grid;place-items:center;width:28px;height:28px;flex-shrink:0;background:var(--text);color:var(--bg);border-radius:6px;font-size:18px;font-weight:750;letter-spacing:-.08em}.brand-word{font-size:16px;font-weight:600;letter-spacing:-.04em}.brand-divider{height:22px;transform:rotate(22deg)}.app-word{color:var(--text);font-size:14px;font-weight:500}.workspace-badge{border:1px solid var(--line);border-radius:20px;padding:2px 8px;color:var(--muted);font-size:11px;font-weight:500}.sidebar-nav{flex-direction:row;gap:24px;align-items:stretch}.sidebar-nav button{position:relative;min-height:48px;padding:0 3px;gap:8px;border:0;border-radius:0;font-size:14px;background:transparent}.sidebar-nav svg{width:16px;height:16px;color:currentColor}.sidebar-nav button:hover,.sidebar-nav button[aria-current=page]{background:transparent;color:var(--text)}.sidebar-nav button[aria-current=page]{box-shadow:none}.sidebar-nav button[aria-current=page]:after{content:"";position:absolute;bottom:-1px;left:0;right:0;height:2px;background:var(--text)}.sidebar-bottom{display:none}.main-wrap{margin-left:0}.topbar{position:absolute;z-index:31;inset:0 32px auto auto;width:auto;height:64px;margin:0;padding:0;border:0;border-radius:0;background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;box-shadow:none}.topbar-actions{gap:16px}.topbar-start{background:var(--action);color:var(--action-text);min-height:34px;border-radius:6px;padding:0 14px;font-size:12px;font-weight:500}.topbar-start:hover{background:var(--action);opacity:.85}.avatar{color:var(--text);background:var(--control);border:1px solid var(--line)}.small-avatar{width:32px;height:32px;min-width:32px}.main-content{max-width:1200px;padding:42px 32px 64px}.page-heading{margin-bottom:28px}.page-heading h1{font-size:28px;letter-spacing:-.045em}.page-heading .date-line{margin-bottom:8px;font-size:12px}.page-heading p{font-size:14px}.button{min-height:38px;padding:8px 14px;border-radius:6px;font-size:13px;font-weight:500;transition:background .15s,border-color .15s;box-shadow:none}.button:active:not(:disabled),.button:hover:not(:disabled){transform:none}.button.primary,.next-bottom .primary{background:var(--action);color:var(--action-text);border-color:var(--action)}.primary:hover{filter:none;opacity:.88}.button.secondary{background:var(--surface);color:var(--text);border-color:var(--line)}.button.secondary:hover{background:var(--control);border-color:var(--muted)}.sheet-close,.text-button{color:var(--text);font-size:12px;font-weight:500}.text-button:hover{color:var(--muted)}.icon-button,.segmented,.segmented button{border-radius:6px}.segmented{background:var(--control)}.segmented button{min-height:34px}input:not([type=range]):not([type=checkbox]),select,textarea{background:var(--surface);border-radius:6px;min-height:38px;font-size:14px}input:focus,select:focus,textarea:focus{border-color:var(--muted);box-shadow:0 0 0 3px color-mix(in srgb,var(--text) 10%,transparent)}:focus-visible{outline:2px solid var(--blue);outline-offset:3px}.field>span{font-size:12px;color:var(--text);font-weight:500}.agenda-item,.card,.editor-exercise,.insight-banner,.login-card,.metric-grid,.next-card,.number-control,.schedule-empty,.schedule-preview,.set-card,.upcoming-list{border-radius:8px;box-shadow:none;background:var(--surface);border-color:var(--line)}.today-top{grid-template-columns:1.2fr 1fr;gap:20px}.next-card,.week-card{padding:24px}.next-card h2{font-size:28px;margin-top:24px;font-weight:600}.next-card>p{font-size:13px}.next-exercise{font-size:13px;padding:12px 0}.next-bottom{padding-top:0}.section-heading h2,.week-card h2{font-size:16px}.week-total>strong{font-size:40px;font-weight:600}.week-total>div{font-size:12px;color:var(--muted)}.week-bars{gap:12px;height:110px}.week-bar{background:var(--control);border:0;border-radius:3px;color:var(--action-text)}.week-bar:before{background:var(--action);border-radius:3px}.current .week-bar{outline:1px solid var(--muted);outline-offset:3px}.week-stats b{font-size:20px;font-variant-numeric:tabular-nums}.recent-grid{gap:16px}.recent-card{padding:20px}.recent-card h3{font-size:17px}.recent-card:hover{border-color:var(--muted);background:var(--surface)}.mini-progress i{background:var(--text)}.upcoming-section{margin-top:32px}.upcoming-list>button{min-height:60px}.upcoming-list strong{font-size:13px;font-weight:500}.schedule-empty{background:var(--surface)}.metric-value{font-size:30px;font-weight:600}.metric-value,.recent-stats>span,.week-stats b{font-variant-numeric:tabular-nums}.demo-banner{background:var(--surface);padding:8px 32px}.demo-banner>span{color:var(--text)}.sheet,.sheet:has(.session-toolbar){border:1px solid var(--line);border-radius:10px;background:var(--surface);box-shadow:var(--shadow)}.sheet-header,.sheet:has(.session-toolbar) .sheet-header{background:var(--surface);backdrop-filter:none}.sheet-header h2{font-size:20px}.sheet::backdrop{background:#0006;backdrop-filter:none}.sheet:has(.session-toolbar) .exercise-pager,.sheet:has(.session-toolbar) .number-control,.sheet:has(.session-toolbar) .set-card,.sheet:has(.session-toolbar) .set-card.is-collapsed{border-radius:8px;box-shadow:none}.sheet:has(.session-toolbar) .number-control{border:1px solid var(--line);background:var(--bg)}.sheet:has(.session-toolbar) .number-stepper>button{border-radius:6px;border:1px solid var(--line)}.sheet:has(.session-toolbar) .complete-set-button.log-button{border-radius:6px;background:var(--action);color:var(--action-text)}.sheet:has(.session-toolbar) .complete-set-button small{color:inherit;opacity:.7}.exercise-pager{background:var(--control);backdrop-filter:none;-webkit-backdrop-filter:none}.exercise-pager button{color:var(--text);border-radius:6px}.calendar-grid>button,.weekday-picker>button{border-radius:6px}.toast{border-radius:8px;background:var(--surface);border:1px solid var(--line);color:var(--text);box-shadow:var(--shadow)}.login-page{padding:0;background:var(--bg);color:var(--text)}.login-brand>span{border:0;padding:0}.login-brand>.brand-mark{color:var(--bg);font-size:18px;font-weight:750}.login-brand{display:flex;align-items:center;gap:12px;height:72px;padding:0 32px;border-bottom:1px solid var(--line);background:var(--surface);font-size:17px;font-weight:600}.login-brand>span:last-child{color:var(--muted);font-size:14px;font-weight:400}.login-layout{display:grid;grid-template-columns:minmax(0,400px);justify-content:center;width:100%;max-width:none;min-height:calc(100svh - 72px);padding:64px 24px;align-items:center}.login-card{padding:32px;border:1px solid var(--line)}.login-eyebrow{font-size:10px;letter-spacing:.12em;color:var(--muted);margin-bottom:12px}.login-card h1{font-size:26px;letter-spacing:-.04em}.login-card>p{margin:8px 0 28px;font-size:13px;color:var(--muted)}.login-card input{color:var(--text);border-color:var(--line);background:var(--surface)}.login-card .field>span{color:var(--text)}.login-card>.button{width:100%;margin-top:16px;background:var(--action);color:var(--action-text)}.login-card>small{display:block;margin-top:24px;padding-top:20px;border-top:1px solid var(--line);font-size:11px;line-height:1.7;color:var(--muted)}@media (max-width:760px){.sidebar{display:flex;height:64px;padding:0 18px;justify-content:center;border-radius:0}.app-brand .brand-divider,.app-brand .brand-word,.sidebar-nav,.workspace-badge{display:none}.app-brand{gap:10px}.topbar{right:18px;height:64px;width:auto;padding:0}.topbar-actions{gap:10px}.topbar-start{min-height:40px;padding:0 10px;font-size:11px}.small-avatar{width:40px;height:40px;min-width:40px}.main-content{padding:28px 18px 110px}.page-heading h1{font-size:26px}.today-top{grid-template-columns:1fr;gap:16px}.next-card,.week-card{padding:20px;border-radius:8px}.next-card h2{font-size:26px}.button,.segmented button{min-height:44px}input:not([type=range]):not([type=checkbox]),select,textarea{min-height:44px;font-size:16px}.bottom-nav{inset:auto 0 0;width:100%;margin:0;padding:4px 12px calc(4px + env(safe-area-inset-bottom));border:0;border-top:1px solid var(--line);border-radius:0;background:var(--surface);backdrop-filter:none;-webkit-backdrop-filter:none;box-shadow:none}.bottom-nav>button{border-radius:6px;min-height:54px}.bottom-nav>button[aria-current=page]{background:var(--control);color:var(--text)}.bottom-nav svg{width:19px;height:19px}.bottom-nav>button[data-view=analytics]{display:flex}.bottom-nav>button{min-width:0;padding-inline:3px;font-size:10px}.analytics-page .charts-grid{display:grid}.analytics-page .activity-card,.analytics-page .data-table-card,.analytics-page .methodology{display:block}.analytics-mobile-note{display:none}.next-bottom,.toolbar{flex-wrap:wrap}.toolbar .search{max-width:none;flex-basis:100%}.upcoming-list>button{grid-template-columns:94px minmax(0,1fr) 12px}.upcoming-list strong{overflow-wrap:anywhere}.sheet,.sheet:has(.session-toolbar){border-radius:12px 12px 0 0}.demo-banner{padding:8px 18px}.login-brand{padding:0 20px}.login-card{padding:26px}}@media (prefers-reduced-motion:reduce){.button{transition:none}}@media (prefers-contrast:more){:root[data-theme=light]{--line:#888;--muted:#444}:root[data-theme=dark]{--line:#777;--muted:#ccc}}.analytics-page{--analytics-accent:var(--chart-blue)}.analytics-view-tabs{display:flex;gap:24px;border-bottom:1px solid var(--line);margin-bottom:24px}.analytics-view-tabs button{background:none;border:0;border-bottom:2px solid transparent;padding:12px 2px;color:var(--muted);font-size:14px;min-height:44px}.analytics-view-tabs button[aria-pressed=true]{color:var(--text);border-bottom-color:var(--text)}.analytics-filters{background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:14px 18px;gap:18px;margin-bottom:24px}.analytics-filters>.field{margin:0;flex:1;min-width:140px}.analytics-filters>.field:first-child{min-width:180px}.analytics-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.analytics-kpi{padding:20px 20px 0;text-align:left;overflow:hidden;min-width:0;color:var(--text);transition:border-color .15s}.analytics-kpi:hover{border-color:var(--muted)}.analytics-kpi.selected{border-color:var(--chart-blue);box-shadow:0 0 0 1px var(--chart-blue)}.kpi-label{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:12px}.distribution-legend i,.kpi-label i{display:inline-block;width:7px;height:7px;border-radius:2px;flex-shrink:0}.analytics-kpi>strong{display:block;font-size:36px;font-weight:600;letter-spacing:-.055em;font-variant-numeric:tabular-nums;margin:12px 0 6px}.analytics-kpi>strong small{font-size:14px;color:var(--muted);margin-left:6px;font-weight:400;letter-spacing:0}.kpi-comparison{display:block;font-size:11px;color:var(--muted)}.kpi-spark{height:42px;margin:14px -20px 0;pointer-events:none}.analytics-caption{font-size:11px;color:var(--muted);line-height:1.8;margin:12px 0 24px}.overview-primary-grid{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(0,1fr);gap:20px;margin-top:20px;align-items:start}.overview-secondary-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:20px;margin:20px 0;align-items:start}.overview-panel{min-width:0;padding:24px;overflow:hidden}.overview-panel h2{font-size:18px;line-height:1.4;letter-spacing:-.03em}.overview-panel>p.muted{font-size:12px;margin-top:6px}.overview-panel .section-heading{align-items:flex-start}.overview-panel .section-heading p{font-size:12px;line-height:1.6}.analytics-eyebrow{display:block;font-size:10px;letter-spacing:.1em;color:var(--muted);font-weight:500;margin-bottom:8px}.analytics-metric-tabs{display:flex;flex-wrap:wrap;gap:6px;margin:20px 0 8px}.analytics-metric-tabs button{border:1px solid transparent;border-radius:6px;background:transparent;color:var(--muted);padding:6px 10px;min-height:34px;font-size:11px}.analytics-metric-tabs button[aria-pressed=true]{border-color:var(--line);background:var(--control);color:var(--text)}.overview-chart{width:100%;min-width:0}.analytics-data{border-top:1px solid var(--line);margin-top:12px;font-size:12px}.analytics-data summary{cursor:pointer;padding:14px 0 0;color:var(--muted);min-height:44px}.analytics-data td,.analytics-data th{text-align:left;font-size:12px;padding:10px;white-space:nowrap;border-bottom:1px solid var(--line)}.workout-donut{position:relative;height:210px}.donut-center{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;pointer-events:none}.donut-center strong{font-size:36px;font-weight:600;letter-spacing:-.045em;line-height:1.2}.donut-center span{font-size:11px;color:var(--muted)}.distribution-legend{display:grid;gap:12px}.distribution-legend>div{display:flex;align-items:center;gap:10px;font-size:12px}.distribution-legend>div>span{flex:1;overflow-wrap:anywhere}.distribution-legend strong{font-weight:500}.distribution-legend small{min-width:32px;text-align:right;color:var(--muted);font-size:11px}.training-calendar-scroll{overflow-x:auto;margin-top:24px;padding:3px}.training-calendar{display:flex;gap:10px;min-width:330px}.calendar-day-labels{display:grid;grid-template-rows:repeat(7,16px);gap:5px;font-size:9px;color:var(--muted)}.calendar-day-labels span{display:flex;align-items:center}.training-heatmap{display:grid;grid-template-rows:repeat(7,16px);grid-auto-flow:column;grid-auto-columns:minmax(12px,1fr);gap:5px;flex:1}.heat-cell{display:inline-block;border:1px solid color-mix(in srgb,var(--text) 8%,transparent);border-radius:3px;padding:0;min-width:0;width:100%;height:16px}.intensity-0{background:var(--control)}.intensity-1{background:color-mix(in srgb,var(--chart-blue) 30%,var(--surface))}.intensity-2{background:color-mix(in srgb,var(--chart-blue) 65%,var(--surface))}.intensity-3{background:var(--chart-blue)}.heat-cell[aria-pressed=true]{outline:2px solid var(--text);outline-offset:1px}.calendar-key{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:18px;font-size:10px;color:var(--muted)}.calendar-key>span:last-child{display:flex;align-items:center;gap:3px;white-space:nowrap}.calendar-key .heat-cell{width:12px;height:12px}.calendar-selection{border-top:1px solid var(--line);margin-top:20px;padding-top:16px;font-size:12px}.calendar-selection>p{margin-top:8px}.calendar-session-link{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;background:transparent;border:0;border-bottom:1px solid var(--line);min-height:48px;padding:8px 0;text-align:left}.calendar-session-link small,.weekday-values{color:var(--muted);font-size:10px}.weekday-values{margin-top:8px;text-align:center}.exercise-explorer .section-heading>input{width:220px}.exercise-progress-list{margin-top:20px}.exercise-progress-row{display:grid;grid-template-columns:minmax(0,2fr) minmax(70px,1fr) repeat(3,minmax(75px,.8fr)) 20px;gap:20px;align-items:center;width:100%;min-height:88px;border:0;border-top:1px solid var(--line);padding:14px 0;background:none;color:var(--text);text-align:left}.exercise-progress-row:hover{background:var(--control)}.exercise-progress-row strong{display:block;font-size:13px;font-weight:500;font-variant-numeric:tabular-nums}.exercise-progress-row small{display:block;font-size:10px;color:var(--muted);margin-top:4px}.exercise-progress-name{overflow-wrap:anywhere}.exercise-mini-chart{min-width:0}.explorer-arrow{font-size:20px;color:var(--muted)}.explorer-empty{padding:24px 0;color:var(--muted);font-size:13px}.exercise-explorer>.analytics-caption{margin-bottom:0;border-top:1px solid var(--line);padding-top:16px}.analytics-page .chart-card{border-top:2px solid color-mix(in srgb,var(--chart-blue) 45%,var(--line))}.analytics-page .chart-card:nth-child(3n+2){border-top-color:color-mix(in srgb,var(--chart-sage) 50%,var(--line))}.analytics-page .chart-card:nth-child(3n){border-top-color:color-mix(in srgb,var(--chart-purple) 50%,var(--line))}@media (max-width:1000px){.analytics-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.overview-primary-grid,.overview-secondary-grid{grid-template-columns:minmax(0,1fr)}.distribution-panel{display:grid;grid-template-columns:1fr 1fr;column-gap:24px}.distribution-panel>.analytics-eyebrow,.distribution-panel>h2{grid-column:1/-1}.distribution-legend{align-content:center}.exercise-progress-row{gap:12px;grid-template-columns:minmax(0,1.4fr) 70px repeat(3,minmax(65px,.7fr)) 14px}}@media (max-width:600px){.analytics-page .page-heading{flex-direction:column;align-items:flex-start}.analytics-page .page-heading p{font-size:13px;line-height:1.7}.analytics-filters{padding:14px;gap:12px}.analytics-filters>.field,.analytics-filters>.field:first-child{min-width:0;flex-basis:100%}.analytics-kpis{gap:12px}.analytics-kpi{padding:16px 14px 0}.analytics-kpi>strong{font-size:30px}.kpi-label{font-size:11px}.kpi-comparison{font-size:10px;min-height:30px}.kpi-spark{margin-inline:-14px}.overview-panel{padding:18px}.overview-panel h2{font-size:17px}.analytics-metric-tabs{gap:2px}.analytics-metric-tabs button{padding:5px 7px;min-height:44px;font-size:10px}.distribution-panel{display:block}.distribution-legend{margin-bottom:4px}.exercise-explorer .section-heading{flex-direction:column}.exercise-explorer .section-heading>input{width:100%}.exercise-progress-row{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:18px 0}.exercise-progress-name{grid-column:1/3}.exercise-mini-chart{grid-column:3}.exercise-progress-row strong{font-size:12px}.explorer-arrow{display:none}.calendar-key{flex-wrap:wrap}.training-calendar{min-width:290px}.training-heatmap{gap:3px;grid-auto-columns:minmax(10px,1fr)}.calendar-day-labels{gap:3px}}