/* Forma visual theme: charcoal, slate, white, and electric blue. */
:root {
 --canvas:#eff0f1;--paper:#fff;--ink:#1f242d;--muted:#73757a;
 --line:#dddfe2;--green:#313845;--dark:#1b2028;--lime:#9eb7e3;
 background:var(--canvas);color:var(--ink);
 -webkit-font-smoothing:antialiased;
}
body { background:var(--canvas);color:var(--ink); }
.sidebar { width:220px;background:#1b1f27;border-right:1px solid #282e39;padding:31px 17px 0; }
.brand { color:#fff;margin-left:15px;gap:10px; }
.brand svg { color:#92aedf; }
.brand>span { font-size:35px;letter-spacing:-1.9px; }
.brand-dot { color:#87a6dc; }
.workspace-label { color:#838890;font-size:9px;letter-spacing:1.7px;margin:39px 15px 18px; }
.nav { gap:8px; }
.nav-item { color:#a6a9ae;font-size:13px;min-height:48px;border-radius:9px;padding:14px 15px; }
.nav-item svg { opacity:.85; }
.nav-item:hover { background:#292f3a;color:#e4e6e9; }
.nav-item.active { background:#a4bce5;color:#272d38;box-shadow:0 4px 12px #0f121622;font-weight:650; }
.nav-item.active svg { opacity:1; }
.nav-badge { color:#81a2da;background:#2d3441;font-size:8px;padding:4px 6px; }
.nav-item.active .nav-badge { color:#414b5b;background:#89a8dd; }
.sidebar-bottom { padding-top:34px; }
.growth-card { background:#262c36;border:1px solid #363c46;border-radius:13px;padding:20px 17px;margin-bottom:21px; }
.growth-card:after { border-color:#3d4655;right:-35px;top:28px; }
.growth-icon { background:#373d48;color:#99b4e2;width:31px;height:31px;border-radius:8px;margin-bottom:17px; }
.growth-card strong { color:#cddaf1;font-size:13px; }
.growth-card p { color:#969ca7;font-size:11px;line-height:1.85; }
.growth-card>span { color:#798393;font-size:7px;letter-spacing:1.2px; }
.settings-button { color:#a0a4ab;font-size:12px; }
.settings-button:hover { color:#d2def2; }
.profile { border-color:#2c333f;gap:10px;padding-top:20px; }
.profile strong { color:#bcceec;font-size:11px; }
.profile span { color:#878e99;font-size:10px; }
.avatar { background:#b4c7e9;border:0;color:#444d5d; }
.profile .avatar { background:#373d48;color:#9eb7e3;border:1px solid #444c5a; }
.profile .profile-dot { background:#6d93d4; }
.workspace { margin-left:220px; }
.topbar { height:75px;padding:0 37px;background:#f7f8f9;border-color:#dddfe2; }
.breadcrumb { color:#868a90;font-size:11px; }
.breadcrumb strong { color:#41454d; }
.topbar-right { gap:17px; }
.local-indicator { color:#737983;font-size:10px;background:#eaecee;border:1px solid #d0ddf2;padding:7px 10px;border-radius:20px; }
.local-indicator i { background:#6f7e98; }
.icon-button { color:#5a6271; }
.content-grid { max-width:1520px;grid-template-columns:minmax(0,1fr) 305px;gap:26px;padding:31px 35px; }
.page-header { margin:2px 0 22px; }
.eyebrow { color:#6f7786;font-size:9px;letter-spacing:1.7px; }
h1 { font-weight:650;font-size:36px;line-height:1.25;letter-spacing:-1.55px;margin:10px 0 8px; }
.page-subtitle { color:#777b83;font-size:12px; }
.date-label { background:#f8f9fa;color:#6b7382;font-size:10px;border-color:#c7d6ef;border-radius:8px;padding:10px 12px; }
.program-banner { display:flex;align-items:center;justify-content:space-between;gap:12px;background:transparent;border:0;border-radius:0;padding:0 2px;margin:0 0 15px;min-height:26px;color:#737a87; }
.program-strip-title { display:flex;align-items:center;gap:7px; }
.program-strip-title svg { color:#7d899d;width:15px;height:15px; }
.program-banner strong { color:#545f71;font-size:10px;font-weight:600;white-space:nowrap; }
.program-banner>span { margin-left:auto;font-size:9px;color:#7f8693; }
.program-banner i { font-style:normal;margin:0 4px;color:#abb0b8; }
.program-banner>button { display:grid;place-items:center;width:26px;height:26px;padding:0;border:1px solid #ccd9f0;border-radius:6px;background:#f8f9fa;color:#7d899d; }
.program-banner>button svg { width:12px;height:12px; }
.workout-hero { display:flex;align-items:center;background:#232933;border-radius:16px;padding:27px 29px;min-height:265px;box-shadow:0 8px 18px #23283209; }
.workout-hero:before { background:radial-gradient(ellipse at 100% 30%,#49566e55,transparent 67%); }
.workout-hero:after { background-size:6px 6px;opacity:.1; }
.hero-content { flex:1;min-width:0; }
.hero-badge { color:#a3bbe4;font-size:9px;letter-spacing:1.7px; }
.hero-badge:before { background:#8ba9dd;box-shadow:0 0 0 4px #8ba9dd13; }
.workout-hero h2 { color:#f0f1f3;font-size:36px;line-height:1.13;letter-spacing:-1.35px;font-weight:500;margin:17px 0 12px;max-width:340px; }
.workout-hero h2 em { color:#9db7e3;font-style:normal; }
.workout-hero p { color:#8facde;font-size:11px;line-height:1.8;max-width:330px;margin-bottom:20px; }
.hero-meta { display:none; }
.hero-actions { gap:20px; }
.button,.primary-button,.btn-primary { border-radius:7px;min-height:43px;font-size:11px;gap:14px; }
.primary-button,.button-primary,.btn-primary { background:#a5bce5;color:#2e3541;box-shadow:0 3px 8px #15191f19; }
.primary-button:hover,.button-primary:hover,.btn-primary:hover { background:#bfd0ed;box-shadow:0 5px 12px #15191f2b; }
.button-dark { background:#343c49;color:#eeeff1; }
.button-dark:hover { background:#222832; }
.button-secondary,.secondary-button { color:#aac0e6;font-size:10px; }
.hero-illustration { position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;width:230px;flex-shrink:0;align-self:stretch;pointer-events:none;margin:-10px -17px -7px 1px; }
.hero-illustration svg { width:100%;height:auto;stroke-width:1;overflow:visible; }
.hero-illustration>span { color:#748196;font-size:6px;letter-spacing:2px;margin:0 0 12px; }
.stat-grid { gap:13px;margin:17px 0 24px; }
.stat-card { border-color:#dcdee2;border-radius:12px;padding:18px 17px;background:#fff;box-shadow:0 3px 7px #20252e02; }
.stat-top { gap:8px; }
.stat-icon { background:#ebedef;color:#67758e;border-radius:7px;width:27px;height:27px; }
.stat-label { color:#717782;font-size:10px;font-weight:500; }
.stat-value { color:#282e39;font-size:31px;font-weight:600;letter-spacing:-1.2px;line-height:1.25;margin:14px 0 8px;font-variant-numeric:tabular-nums; }
.stat-value small { font-size:10px;color:#7d8592; }
.stat-detail { font-size:9px;line-height:1.75;color:#838a95; }
.mini-progress { gap:4px;margin-top:13px; }
.mini-progress i { background:#e9ebed;height:4px; }
.mini-progress i.filled { background:#7095d5; }
.section-heading { margin:27px 0 16px; }
.section-heading h2 { color:#303845;font-size:17px;letter-spacing:-.45px;font-weight:650; }
.section-heading p { color:#7c8492;font-size:11px; }
.section-heading select { color:#606b7d;background:#fff;border-color:#c6d5ef;border-radius:8px;font-size:11px;min-height:41px;padding:10px 12px;max-width:190px; }
.count-badge { background:#e5e6e9;color:#748095;font-size:8px;border-radius:4px;margin-left:6px; }
.week-plan { margin:25px 0 28px; }
.week-plan .section-heading { margin-bottom:13px; }
.week-meta { color:#7d8696;font-size:10px; }
.week-grid { gap:7px; }
.week-day { background:#f7f8f9;color:#959aa2;border-color:#cfdbf1;border-radius:10px;min-height:110px;gap:9px;padding:13px 4px 11px; }
.week-day.is-training { background:#fff;color:#767f8e; }
.week-day.is-training:hover { background:#edeef0;border-color:#93afe0;transform:translateY(-2px); }
.week-day-name { font-size:10px;line-height:1.4; }
.week-date { color:#5d687b;font-size:21px;font-weight:550;font-variant-numeric:tabular-nums; }
.week-day-type { font-size:9px;line-height:1.4;min-height:13px; }
.week-day.is-today { border-color:#7c9ed9;background:#eff0f1;box-shadow:inset 0 0 0 1px #b8cbeb; }
.week-day.is-selected,.week-day.is-selected:hover { background:#343b46;border-color:#343b46;box-shadow:0 5px 12px #343b4612;color:#8caadd; }
.week-day.is-selected .week-date { color:#c9d7ef; }
.week-day.is-selected .week-day-type { color:#94b0e0; }
.week-day.is-selected .week-day-marker { color:#648cd2; }
.week-day.is-selected .week-day-marker i { background:#7095d5; }
.week-day.is-today:not(.is-selected) .week-date { color:#525f76; }
.week-day.is-complete .week-day-marker svg { color:#72819b; }
.exercise-list { background:#fff;border-color:#cbd9f0;border-radius:13px; }
.exercise-item { border-bottom-color:#e6e8eb; }
.exercise-item:hover { background:#fbfbfc; }
.exercise-row { padding:19px 18px 7px;gap:12px;min-height:87px; }
.exercise-number { color:#9ba1aa;font-size:10px; }
.exercise-visual { width:43px;height:43px;background:#e9ebed;border-color:#d1ddf2;border-radius:9px;color:#7e8aa0; }
.exercise-visual svg { width:34px;height:34px; }
.exercise-info strong,.exercise-info h3 { color:#3f4959;font-size:13px;line-height:1.6;font-weight:550; }
.exercise-meta span { color:#848d9d;font-size:9px;line-height:1.7; }
.exercise-meta span+span:before { color:#a8adb7; }
.exercise-target { min-width:50px; }
.exercise-target strong { color:#5d6a80;font-size:14px;font-weight:550;font-variant-numeric:tabular-nums; }
.exercise-target>span { color:#8892a2;font-size:8px; }
.exercise-weight { min-width:74px;margin-left:6px; }
.exercise-weight strong { color:#66748c;font-size:13px; }
.exercise-weight strong span { color:#8a94a5;font-size:9px; }
.exercise-row>button { color:#63728c;border-color:#c5d4ee;background:#edeef0;border-radius:7px;min-height:38px;padding:9px 10px;font-size:10px;gap:7px; }
.exercise-row>button:hover { background:#cddaf1;border-color:#98b3e1; }
.target-details { margin:0 18px 13px 103px; }
.target-details summary { color:#8a93a4;font-size:10px;min-height:27px; }
.target-details summary:hover { color:#5a6982; }
.target-details p { background:#f2f3f5;color:#7e8899;font-size:11px;line-height:1.9;border-radius:7px;padding:11px 13px; }
.personal-target-list { background:#fbfbfb;border-color:#cfdbf1; }
.personal-target-list>div { color:#848ea0;border-color:#e5e6e9;font-size:10px; }
.personal-target-list strong { color:#65738b;font-size:11px; }
.program-editor { border-color:#cbd9f0;border-radius:12px; }
.program-editor>summary { color:#6a7891;font-size:11px;min-height:48px; }
.program-editor[open]>summary { border-color:#d6e1f3; }
.program-target-form>p,.program-editor-form>p { color:#858fa0;font-size:11px; }
.target-editor-exercise h3 { color:#62718a;font-size:13px; }
.target-editor-row input { color:#67768f;background:#fcfcfd;border-color:#cad8f0;font-size:13px; }
.insight-card { background:#e9eaec;border-color:#c6d5ee;border-radius:12px;padding:17px 19px; }
.insight-card strong { color:#637188;font-size:11px; }
.insight-card p { color:#7f8a9c;font-size:11px; }
.insight-card>svg { color:#618ad1; }
.rest-card { min-height:190px;padding:25px 27px;background:#fff;border-color:#cbd9f0; }
.rest-card h2 { color:#5d6a80;font-size:25px;line-height:1.45;margin:14px 0 11px; }
.rest-card p { color:#838d9e;font-size:12px;max-width:500px; }
.program-pill { background:#e8e9ec;color:#8892a3;border-color:#ccd9f0; }
.coach-panel { top:25px;padding:21px 19px 16px;border-color:#c7d6ef;border-radius:14px;background:#fff;box-shadow:0 4px 12px #29303c04; }
.coach-title { gap:10px;padding-bottom:18px;border-color:#e5e6e9; }
.coach-title h2 { color:#596579;font-size:13px;letter-spacing:-.25px; }
.coach-mark { width:35px;height:35px;background:#e8e9ec;color:#7f8ba1;border-radius:9px; }
.coach-title #coach-mode { font-size:9px;color:#8b94a5; }
.coach-title .coach-more { color:#7196d6;font-size:19px; }
.coach-intro { border:0;background:none;border-radius:0;padding:4px 0 0;margin:21px 0 18px;min-height:0;overflow:visible; }
.coach-intro .eyebrow { color:#668dd2;font-size:8px;letter-spacing:1.5px; }
.coach-intro h3 { color:#67758d;font-size:24px;line-height:1.35;letter-spacing:-.75px;font-weight:500;margin:10px 0;max-width:none; }
.coach-intro p { color:#939aa7;font-size:11px;line-height:1.85;max-width:none; }
.coach-context { gap:5px;margin:0 0 18px; }
.coach-context>span { color:#688fd3;background:#f8f9fa;border-color:#d4dff3;font-size:8px;padding:5px 7px;border-radius:5px; }
.chat-messages { gap:9px;max-height:260px; }
.chat-bubble { font-size:11px;line-height:1.85;border-radius:9px;padding:13px 14px; }
.chat-bubble.assistant { color:#808a9c;background:#eff0f2;border-color:#d5e0f3; }
.chat-bubble.user { color:#727e93;background:#d7e1f3; }
.quick-prompts { gap:6px;margin:14px 0 18px; }
.quick-prompts button,.quick-prompts button:last-child { flex:1;border-color:#cddaf1;background:#fff;color:#7a879d;font-size:9px;min-height:35px;padding:8px; }
.quick-prompts button:hover { background:#f0f1f2;border-color:#a4bbe4; }
.quick-prompts span { color:#779bd8; }
.coach-form { border-color:#c6d5ef;background:#fbfbfc;border-radius:10px;padding:13px 12px 10px; }
.coach-form textarea { color:#768398;font-size:12px;min-height:61px;line-height:1.8; }
.coach-form textarea::placeholder { color:#a6adb8; }
.composer-bottom>span { color:#8facdf;font-size:6px;letter-spacing:1px; }
.composer-bottom button { background:#b5c8e9;color:#7d8aa0;width:32px;height:32px;border-radius:6px; }
.demo-note { color:#88a7dd;font-size:8px;margin-top:11px; }
.logger-card,.goal-card,.chart-card,.history-card,.coach-main-card { border-color:#c9d7ef;border-radius:13px;box-shadow:0 2px 6px #2a313c02; }
.logger-card { padding:25px; }
.logger-heading h2 { color:#5d6a82;font-size:16px;line-height:1.6; }
.logger-heading p { color:#969eab;font-size:10px; }
.logger-target { color:#76849d;font-size:11px; }
.measurement-note,.program-notes,.recommendation-note { border-color:#d4dff3;background:#f4f4f5;color:#9199a7;font-size:11px;line-height:1.9; }
.measurement-note strong { color:#68768f; }
.set-row input,.mixed-set-row input { border-color:#cad8f0;background:#fbfbfb;color:#7b889e;border-radius:7px;font-size:15px; }
.field-label,.mixed-set-row .field-label { color:#9aa2af;font-size:10px; }
.set-number { color:#9fa6b2;font-size:12px; }
.set-row .button,.mixed-set-row .button { color:#8692a8;background:#d0ddf2;min-height:43px;font-size:10px; }
.set-row .button:hover,.mixed-set-row .button:hover { background:#bccdeb; }
.effort-help { color:#aab1bc;font-size:10px; }
.session-summary { background:#eaecee;border-color:#ccd9f0;color:#668ed3;font-size:12px;border-radius:11px; }
.session-summary strong { color:#76839b;font-size:13px; }
.session-progress { background:#ccd9f0; }
.session-progress>i { background:#82a3db; }
.alternative-select,.exercise-choice { border-color:#c6d5ef;background:#f9f9fa;color:#618ad1;font-size:12px; }
.movement-choice-label { color:#7a9dd9;font-size:11px; }
.goal-card .section-heading h2,.chart-card .section-heading h2 { color:#6d7b92; }
.form-field { color:#688fd3;font-size:12px; }
.form-field select { border-color:#cbd9f0;background:#fbfbfb;color:#638cd2;font-size:13px; }
.form-field small,.goal-actions p { color:#83a3db;font-size:11px; }
.program-settings { background:#f3f4f5;border-color:#d4dff3; }
.program-settings h3 { color:#628bd1; }
.program-settings p { color:#88a7dd;font-size:11px; }
.subtle-tag { background:#eeeff1;color:#6e94d5; }
.history-table { font-size:12px; }
.history-table th { color:#7e9fd9;font-size:10px; }
.history-table td { border-color:#e6e8eb;color:#8793a8; }
.history-basis { color:#92aedf;font-size:9px; }
.empty-state { background:#fff;border-color:#cddaf0;border-radius:13px; }
.empty-state h3 { color:#818ea5; }
.empty-state p { color:#87a6dc;font-size:12px; }
.coach-explainer { background:#ebecee;border-color:#d0ddf2; }
.coach-explainer h2 { color:#648cd2; }
.coach-explainer>p { color:#85a5dc; }
.coach-label { color:#8ba9dd; }
.prompt-chips button { color:#7599d7;background:#fafafb;border-color:#d5e0f3; }
.coach-main-form input { color:#88a7dc;border-color:#d4dff2;background:#fcfcfc; }
.app-footer { color:#779ad7;font-size:9px; }
.app-footer>span:first-child { color:#6e94d5;font-size:7px; }
#toast { background:#303744;border-color:#404b5f;color:#d7e1f3;border-radius:9px; }
/* Actual training figures stay darker than explanatory text. */
.exercise-info strong,.logger-heading h2 { color:#323945; }
.exercise-target strong,.exercise-weight strong { color:#49576f; }
.stat-value { color:#272d37; }
.coach-title h2 { color:#383f4c; }
.coach-intro h3 { color:#475264; }
.chat-bubble.assistant { color:#667082; }
.chat-bubble.user { color:#4f5b6f; }
.set-row input,.mixed-set-row input { color:#465267; }
.goal-card .section-heading h2,.chart-card .section-heading h2 { color:#414c60; }
.form-field select { color:#525e72; }
.history-table td { color:#5f6b80; }
.empty-state h3 { color:#546076; }
.coach-explainer h2 { color:#5a687f; }
@media(min-width:1550px) {
 .content-grid { padding:37px 43px;grid-template-columns:minmax(0,1fr) 320px;gap:32px; }
 .workout-hero { min-height:282px;padding:30px 35px; }
 .workout-hero h2 { font-size:42px;max-width:400px; }
 .hero-illustration { width:270px; }
 .exercise-info strong { font-size:15px; }
 .exercise-target strong { font-size:16px; }
 .exercise-weight strong { font-size:15px; }
}
@media(max-width:1300px) {
 .sidebar { width:204px;padding-left:14px;padding-right:14px; }
 .workspace { margin-left:204px; }
 .content-grid { padding:28px 26px;gap:23px;grid-template-columns:minmax(0,1fr) 280px; }
 h1 { font-size:31px; }
 .hero-illustration { width:180px;margin-right:-26px;margin-left:-22px;opacity:.9; }
 .workout-hero { padding:26px;min-height:260px; }
 .workout-hero h2 { font-size:33px; }
 .workout-hero p { font-size:10px;max-width:260px; }
 .hero-content { z-index:2; }
 .stat-card { padding:16px 13px; }
 .stat-icon { width:24px;height:24px; }
 .stat-label { font-size:9px; }
 .stat-value { font-size:28px; }
 .stat-detail { font-size:8px; }
 .program-banner>span { font-size:8px; }
 .exercise-row { gap:10px;padding-left:14px;padding-right:14px; }
 .exercise-info strong { font-size:12px; }
 .exercise-target strong { font-size:12px; }
 .exercise-weight strong { font-size:11px; }
 .exercise-weight { min-width:60px;margin-left:0; }
 .exercise-visual { width:37px;height:37px; }
 .exercise-row>button { padding:8px;font-size:9px; }
 .target-details { margin-left:61px; }
 .coach-panel { padding:20px 16px 15px; }
 .coach-title h2 { font-size:12px; }
 .coach-intro h3 { font-size:22px; }
}
@media(max-width:1140px) {
 .content-grid { grid-template-columns:minmax(0,1fr);max-width:870px;padding:29px 31px; }
 .coach-panel { display:grid;grid-template-columns:1fr 1.15fr;column-gap:26px;padding:23px; }
 .coach-title { grid-column:1/-1;margin-bottom:17px; }
 .coach-intro { grid-column:1;grid-row:2/5;margin:0;padding-top:0; }
 .coach-intro h3 { font-size:27px;max-width:260px; }
 .coach-context { grid-column:2; }
 #chat-messages { grid-column:2; }
 .quick-prompts { grid-column:2; }
 .coach-form { grid-column:2; }
 .demo-note { grid-column:1/-1;text-align:right; }
 .hero-illustration { width:255px;margin-left:0;margin-right:-10px;opacity:1; }
 .workout-hero { padding:29px; }
 .workout-hero h2 { font-size:39px; }
 .workout-hero p { max-width:330px;font-size:12px; }
 .stat-label { font-size:11px; }
 .stat-value { font-size:32px; }
 .stat-detail { font-size:10px; }
 .exercise-number { display:block; }
 .exercise-visual { width:43px;height:43px; }
 .exercise-info strong { font-size:14px; }
 .exercise-target strong { font-size:15px; }
 .exercise-weight strong { font-size:14px; }
 .exercise-row { padding:19px 18px 7px;gap:12px; }
 .exercise-row>button { font-size:10px;padding:10px; }
 .target-details { margin-left:103px; }
 .program-banner>span { font-size:10px; }
}
@media(max-width:820px) {
 .sidebar { width:181px;padding-left:11px;padding-right:11px; }
 .workspace { margin-left:181px; }
 .brand { margin-left:11px; }
 .brand>span { font-size:31px; }
 .workspace-label { font-size:8px;margin-left:12px; }
 .nav-item { font-size:12px;padding-left:12px;padding-right:12px; }
 .content-grid { padding:25px 22px; }
 .topbar { padding:0 22px; }
 h1 { font-size:30px; }
 .program-banner { flex-wrap:wrap;gap:7px 12px; }
 .program-banner>span { font-size:8px; }
 .hero-illustration { position:absolute;right:-20px;top:42px;bottom:0;width:220px;opacity:.35; }
 .hero-illustration>span { display:none; }
 .workout-hero h2 { font-size:36px; }
 .workout-hero p { font-size:11px; }
 .stat-label { font-size:9px; }
 .stat-value { font-size:28px; }
 .stat-detail { font-size:8px; }
 .exercise-number { display:none; }
 .exercise-row { padding:16px 13px 6px;gap:9px; }
 .exercise-visual { width:37px;height:37px; }
 .exercise-info strong { font-size:12px; }
 .exercise-target strong { font-size:12px; }
 .exercise-weight strong { font-size:11px; }
 .exercise-row>button { font-size:9px;padding:8px; }
 .target-details { margin-left:60px; }
 .coach-panel { display:block;padding:22px; }
 .coach-title { margin-bottom:0; }
 .coach-intro { margin:21px 0 18px; }
 .coach-intro h3 { font-size:27px; }
 .demo-note { text-align:center; }
}
@media(max-width:650px) {
 .sidebar { inset:auto 0 0;width:auto;height:calc(73px + env(safe-area-inset-bottom));padding:0 7px env(safe-area-inset-bottom);border-top:1px solid #333943;box-shadow:0 -4px 16px #2328320f; }
 .nav { gap:0;height:100%; }
 .nav-item { color:#9198a3;font-size:9px;min-height:54px;border-radius:8px;padding:9px 11px;gap:5px; }
 .nav-item.active { color:#2b323e;background:#97b2e1;box-shadow:none; }
 .workspace { margin:0 0 calc(73px + env(safe-area-inset-bottom)); }
 .topbar { height:64px;padding:0 19px; }
 .content-grid { padding:26px 18px;gap:24px; }
 h1 { font-size:30px;letter-spacing:-1.25px; }
 .eyebrow { font-size:8px; }
 .page-subtitle { font-size:11px; }
 .page-header { margin-bottom:20px; }
 .program-banner { flex-wrap:nowrap;margin-bottom:12px;gap:9px; }
 .program-strip-title { gap:5px; }
 .program-strip-title svg { width:13px;height:13px; }
 .program-banner strong { font-size:9px; }
 .program-banner>span { font-size:7px;line-height:1.7;max-width:130px;text-align:right; }
 .program-banner i { margin:0 1px; }
 .program-banner>button { display:none; }
 .workout-hero { min-height:263px;padding:25px 22px;border-radius:13px; }
 .workout-hero h2 { font-size:34px;letter-spacing:-1.2px;line-height:1.17;margin:19px 0 12px;max-width:280px; }
 .workout-hero p { font-size:11px;line-height:1.85;max-width:260px; }
 .hero-badge { font-size:8px; }
 .hero-illustration { right:-35px;top:55px;width:225px;opacity:.22; }
 .hero-actions { gap:17px; }
 .hero-actions .primary-button { font-size:11px;min-height:43px;padding:11px 13px; }
 .hero-actions .secondary-button { font-size:10px; }
 .stat-grid { gap:8px;margin:14px 0 25px; }
 .stat-card { border-radius:10px;padding:14px 10px; }
 .stat-top { display:block; }
 .stat-icon { width:25px;height:25px;margin-bottom:9px; }
 .stat-label { font-size:9px;line-height:1.6;min-height:27px; }
 .stat-value { font-size:26px;margin:8px 0; }
 .stat-value small { display:block;margin-top:3px;font-size:8px; }
 .stat-detail { font-size:8px;line-height:1.75; }
 .section-heading h2 { font-size:16px; }
 .section-heading p { font-size:10px; }
 .week-meta { font-size:9px; }
 .week-grid { gap:5px; }
 .week-day { min-height:105px;gap:8px;padding:12px 2px 10px;border-radius:8px; }
 .week-day-name { font-size:9px; }
 .week-date { font-size:19px; }
 .week-day-type { font-size:8px;min-height:22px;line-height:1.4;white-space:normal; }
 .week-day.is-today .week-day-marker { font-size:7px; }
 .section-heading select { font-size:10px;max-width:131px;min-height:40px;padding:9px; }
 .exercise-row { display:grid;grid-template-columns:39px minmax(0,1fr) auto;padding:17px 13px 5px;gap:7px 10px; }
 .exercise-info strong { font-size:13px;line-height:1.6; }
 .exercise-meta span { font-size:9px; }
 .exercise-visual { width:39px;height:43px; }
 .exercise-row>.exercise-target strong { font-size:12px; }
 .exercise-row>.exercise-weight { margin-left:69px; }
 .exercise-row>.exercise-weight strong { font-size:11px; }
 .exercise-row>button { font-size:9px;min-height:42px;padding:8px;min-width:50px; }
 .target-details { margin:2px 13px 12px 62px; }
 .target-details summary { font-size:10px;min-height:34px; }
 .target-details p { font-size:11px; }
 .personal-target-list strong { font-size:10px; }
 .rest-card { min-height:190px;padding:25px 21px; }
 .rest-card h2 { font-size:25px; }
 .rest-card p { font-size:11px; }
 .coach-panel { padding:21px 18px 15px; }
 .coach-title h2 { font-size:14px; }
 .coach-title #coach-mode { font-size:10px; }
 .coach-intro h3 { font-size:27px; }
 .coach-intro p { font-size:12px; }
 .coach-context>span { font-size:9px; }
 .chat-bubble { font-size:12px; }
 .quick-prompts button { min-height:40px;font-size:10px; }
 .coach-form textarea { font-size:16px;min-height:67px; }
 .composer-bottom button { width:38px;height:38px; }
 .demo-note { font-size:9px; }
 .logger-card { padding:20px 16px; }
 .logger-heading h2 { font-size:16px; }
 .logger-heading p { font-size:11px; }
 .logger-target { font-size:11px; }
 .measurement-note,.program-notes { font-size:11px; }
 .set-row input,.mixed-set-row input { min-height:46px;font-size:17px; }
 .set-row .button,.mixed-set-row .button { min-height:44px;font-size:12px; }
 .field-label,.mixed-set-row .field-label { font-size:11px; }
 .set-number { font-size:11px; }
 .effort-help { font-size:10px;line-height:1.9; }
 .form-field select,.alternative-select,.exercise-choice { font-size:16px;min-height:46px; }
 .history-table { font-size:11px; }
 .history-table th { font-size:10px; }
 .app-footer { font-size:9px; }
}
@media(prefers-reduced-motion:reduce) {
 button,.week-day,.session-progress>i { transition:none; }
}
/* Readable ink on the light surfaces. Pale tones are reserved for decoration. */
.page-subtitle,.stat-label,.stat-detail,.section-heading p,.week-meta,.program-banner>span,
.exercise-meta span,.exercise-target>span,.target-details summary,.target-details p,
.personal-target-list>div,.program-target-form>p,.program-editor-form>p,
.insight-card p,.rest-card p,.coach-intro p,.coach-context>span,.demo-note,
.logger-heading p,.measurement-note,.program-notes,.recommendation-note,.effort-help,
.form-field small,.goal-actions p,.program-settings p,.history-table th,.history-basis,
.empty-state p,.coach-explainer>p,.coach-label,.app-footer { color:#636972; }
.program-banner strong,.program-strip-title svg { color:#4d5564; }
.workout-hero p { font-size:12px;color:#b8bcc4; }
.hero-actions .primary-button { font-size:12px; }
.stat-label { font-size:11px; }
.stat-detail { font-size:10px; }
.stat-value,.stat-value small { color:#272e39; }
.week-day-name { font-size:11px; }
.week-day-type { font-size:10px; }
.week-day.is-training { color:#5d6675; }
.week-date { color:#3d4655; }
.week-day.is-selected .week-day-name { color:#8caadd; }
.week-day.is-selected .week-day-type { color:#94b0e0; }
.week-day.is-selected .week-date { color:#c9d7ef; }
.exercise-info strong,.exercise-info h3 { font-size:14px;color:#2b323f; }
.exercise-meta span { font-size:10px; }
.exercise-target strong { color:#343e51;font-size:15px; }
.exercise-weight strong { color:#48546a;font-size:14px; }
.exercise-row>button { color:#46546d; }
.target-details summary { font-size:11px; }
.personal-target-list strong { color:#434e62; }
.program-editor>summary,.target-editor-exercise h3 { color:#414d61; }
.target-editor-row input { color:#364051; }
.insight-card strong,.rest-card h2 { color:#414b5b; }
.coach-title h2 { color:#2b323f; }
.coach-intro h3 { color:#2f3744; }
.coach-title #coach-mode { color:#6d7582; }
.coach-intro p { font-size:12px; }
.coach-context>span { background:#f5f5f6;border-color:#ccd9f0;font-size:9px; }
.chat-bubble.assistant { background:#eeeff1;color:#5c6574;font-size:12px; }
.chat-bubble.user { background:#d3def2;color:#404b5f;font-size:12px; }
.quick-prompts button,.quick-prompts button:last-child { color:#5b6679;font-size:10px; }
.coach-form textarea,.coach-main-form input { color:#444e5f; }
.coach-form textarea::placeholder { color:#7b8391; }
.composer-bottom button { color:#505c72; }
.composer-bottom>span { color:#7e8694; }
.logger-heading h2 { color:#2e3643; }
.logger-target { color:#566378; }
.measurement-note strong,.program-settings h3 { color:#4b576b; }
.field-label,.mixed-set-row .field-label,.form-field,.movement-choice-label { color:#626a79; }
.set-number { color:#6f798a; }
.set-row input,.mixed-set-row input { color:#323c4d; }
.set-row .button,.mixed-set-row .button { color:#4c5a72; }
.session-summary,.session-summary strong { color:#586375; }
.form-field select,.alternative-select,.exercise-choice { color:#434d5f; }
.history-table td { color:#475162; }
.empty-state h3,.coach-explainer h2 { color:#3f4a5c; }
.prompt-chips button { color:#515e73; }
@media(max-width:650px) {
 .stat-label { font-size:9px; }
 .stat-detail { font-size:8px; }
 .stat-value small { color:#6b7483; }
 .week-day-name { font-size:9px; }
 .week-day-type { font-size:8px; }
 .exercise-info strong { font-size:13px; }
 .exercise-meta span { font-size:9px; }
 .exercise-row>.exercise-target strong { font-size:12px; }
 .exercise-row>.exercise-weight strong { font-size:11px; }
 .target-details summary { font-size:10px; }
 .chat-bubble.assistant,.chat-bubble.user { font-size:12px; }
 .coach-form textarea,.coach-main-form input { font-size:16px; }
 .set-row input,.mixed-set-row input { font-size:17px; }
 .form-field select,.alternative-select,.exercise-choice { font-size:16px; }
}

/* Workout view: persistent session context and readable set cards. */
.session-toolbar {
 position:sticky;top:13px;z-index:12;display:grid;grid-template-columns:minmax(0,1fr) auto;
 align-items:center;gap:12px 20px;padding:18px 21px;margin:0 0 17px;
 background:#f7f7f8f7;border:1px solid #bacceb;border-radius:12px;
 box-shadow:0 5px 19px #262c3610;backdrop-filter:blur(14px);
}
.session-heading-text { min-width:0; }
.session-heading-text h2 { color:#303845;font-size:16px;letter-spacing:-.45px;line-height:1.5;margin:0 0 3px; }
.session-heading-text p,.session-heading-text>span { color:#717988;font-size:11px;line-height:1.7;margin:0; }
.session-heading-text strong { color:#49556a;font-weight:600; }
.session-toolbar-progress { grid-column:1/-1;height:5px;width:100%;background:#d4dff2;border-radius:4px;overflow:hidden; }
.session-toolbar-progress>i,.session-toolbar-progress>span { display:block;height:100%;border-radius:4px;background:#8291ac;transition:width .25s; }
.session-toolbar-actions { display:flex;align-items:center;gap:9px; }
.session-toolbar-actions .button { font-size:11px;padding:10px 15px;min-height:40px;gap:9px; }
.session-toolbar-actions .btn-secondary { font-size:10px;min-height:39px;padding:10px 12px; }
.session-next { display:flex;align-items:center;gap:16px;justify-content:space-between;padding:16px 19px;margin:0 0 23px;background:#e5e7ea;border:1px solid #c4d3ee;border-radius:10px; }
.session-next .eyebrow { color:#788499;font-size:8px;letter-spacing:1.5px;margin:0 0 6px; }
.session-next h3,.session-next strong { display:block;color:#404c60;font-size:14px;font-weight:550;line-height:1.6;margin:0; }
.session-next p { color:#727c8d;font-size:11px;line-height:1.8;margin:3px 0 0; }
.session-next svg { color:#678fd3; }
.session-next .next-set-target { font-size:11px;color:#6f7a8d;text-align:right; }
.logger-card { position:relative;scroll-margin-top:132px; }
.logger-heading { gap:12px;align-items:center;padding-bottom:16px;border-bottom:1px solid #e9ebed; }
.logger-heading .exercise-number { display:grid;place-items:center;width:33px;height:33px;border-radius:8px;background:#e9eaec;color:#7d899f;font-size:11px;flex-shrink:0; }
.logger-heading h2 { color:#2f3643;font-size:16px;letter-spacing:-.3px; }
.logger-heading p { color:#777f8d;font-size:10px; }
.logger-target { color:#515d72;font-size:12px; }
.exercise-completion { display:inline-flex;align-items:center;justify-content:center;gap:5px;white-space:nowrap;font-size:9px;padding:5px 8px;border-radius:5px;color:#7a8496;background:#f0f1f3;border:1px solid #cfdbf1;margin-left:auto; }
.logger-card.is-complete { border-color:#96b1e0;background:#fbfbfb; }
.logger-card.is-complete .exercise-completion { color:#67758d;background:#d5e0f3;border-color:#bacceb; }
.logger-card.is-complete .logger-heading .exercise-number { color:#5e6d86;background:#c9d7ef; }
.logger-notes { margin:15px 0; }
.logger-notes>summary { display:flex;align-items:center;gap:7px;list-style:none;width:max-content;max-width:100%;cursor:pointer;font-size:11px;line-height:1.8;min-height:29px;color:#758094; }
.logger-notes>summary::-webkit-details-marker { display:none; }
.logger-notes>summary:before { content:'+';display:grid;place-items:center;width:16px;height:16px;border:1px solid #c6d5ee;border-radius:4px;color:#8793a8;font-size:12px;line-height:1; }
.logger-notes[open]>summary:before { content:'−'; }
.logger-notes .measurement-note { margin:8px 0 0;padding:13px 15px;font-size:11px;color:#768092;line-height:1.85; }
.measure-hint { display:flex;gap:8px;align-items:center;background:#eff0f2;border:1px solid #d2def2;color:#737e92;padding:11px 13px;border-radius:7px;font-size:11px;line-height:1.8;margin:15px 0; }
.measure-hint strong { color:#515d73;font-weight:550; }
.set-row.mixed-set-row { padding-top:3px;padding-bottom:3px;gap:10px; }
.set-row.mixed-set-row .field-label { font-size:10px;color:#707a8b; }
.set-row.mixed-set-row input { font-size:16px;min-height:47px;font-variant-numeric:tabular-nums;box-shadow:inset 0 1px 2px #2d344103; }
.set-row.mixed-set-row .button { min-height:47px;font-size:10px; }
.set-row.set-saved input { color:#747e8e;background:#eeeff0;border-color:#cedbf1;opacity:1;-webkit-text-fill-color:#747e8e; }
.set-row.set-saved .saved-button { color:#818c9e;background:#e6e7ea; }
.workout-bottom { padding-top:6px; }

/* Progress: lifting, cardio, distance and holds keep their own units. */
.training-mix { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;margin:0 0 25px; }
.mix-card { min-width:0;background:#f7f7f8;border:1px solid #c9d7ef;border-radius:11px;padding:18px 17px; }
.mix-card>span,.mix-card .mix-label { display:block;color:#757e8f;font-size:10px;line-height:1.7; }
.mix-card>strong,.mix-card .mix-value { display:block;color:#414e64;font-family:'Manrope',sans-serif;font-size:25px;font-weight:550;line-height:1.35;letter-spacing:-.7px;font-variant-numeric:tabular-nums;margin:10px 0 4px; }
.mix-card strong small { color:#838c9d;font-family:'DM Sans',sans-serif;font-size:10px;letter-spacing:0;font-weight:400;margin-left:3px; }
.mix-card p,.mix-card>small { color:#87909f;font-size:9px;line-height:1.8;margin:5px 0 0; }
.mix-card svg { width:17px;height:17px;color:#668dd2; }
.session-history { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;margin-bottom:25px; }
.session-history-item { padding:18px;background:#fff;border:1px solid #ccd9f0;border-radius:11px; }
.session-history-item h3 { color:#485264;font-size:14px;letter-spacing:-.2px;line-height:1.6;margin:0 0 6px; }
.session-history-item p { color:#848c9b;font-size:10px;line-height:1.8;margin:5px 0; }
.session-history-item strong { color:#647187;font-size:12px;font-weight:550; }
.session-history-item small,.session-history-item>span { color:#9097a3;font-size:9px;line-height:1.7; }
.session-history-item .session-meta { display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:14px;padding-top:11px;border-top:1px solid #e9ebed;color:#8891a2;font-size:10px; }
.history-table th { padding-top:15px;padding-bottom:15px;font-size:10px;white-space:nowrap; }
.history-table td { padding-top:16px;padding-bottom:16px; }
.history-table tr:hover td { background:#fafafa; }
.history-table td:nth-child(3),.history-table td:nth-child(4) { font-variant-numeric:tabular-nums; }
.mobile-wordmark { display:none; }
@media(max-width:1300px) {
 .session-toolbar { padding:16px 18px;gap:11px 15px; }
 .session-heading-text h2 { font-size:15px; }
 .session-toolbar-actions .button { font-size:10px;padding:10px 12px; }
 .session-next { padding:15px 17px;gap:12px; }
 .logger-heading { flex-wrap:wrap;gap:10px; }
 .exercise-completion { font-size:8px; }
 .logger-target { font-size:10px; }
 .mix-card { padding:16px 13px; }
 .mix-card>strong,.mix-card .mix-value { font-size:23px; }
 .mix-card>span,.mix-card .mix-label { font-size:9px; }
}
@media(max-width:820px) {
 .session-toolbar { top:10px;padding:15px; }
 .session-heading-text h2 { font-size:14px; }
 .session-heading-text p,.session-heading-text>span { font-size:10px; }
 .session-next h3,.session-next strong { font-size:13px; }
 .session-history { grid-template-columns:1fr; }
}
@media(max-width:650px) {
 .session-toolbar { top:8px;border-radius:10px;padding:14px 13px;margin-bottom:15px;gap:11px 12px;box-shadow:0 4px 15px #262c3612; }
 .session-heading-text h2 { font-size:14px;letter-spacing:-.3px; }
 .session-heading-text p,.session-heading-text>span { font-size:10px;line-height:1.65; }
 .session-toolbar-actions .button { font-size:10px;padding:10px 11px;min-height:42px;gap:6px; }
 .session-toolbar-actions .button svg { width:13px;height:13px; }
 .session-toolbar-actions .btn-secondary { font-size:9px;min-height:40px;padding:10px; }
 .session-next { display:block;padding:15px 16px;margin-bottom:19px; }
 .session-next strong,.session-next h3 { font-size:14px; }
 .session-next p { font-size:11px; }
 .session-next .next-set-target { text-align:left;font-size:11px; }
 .logger-card { scroll-margin-top:132px; }
 .logger-heading { gap:9px;padding-bottom:14px; }
 .logger-heading .exercise-number { display:grid;width:29px;height:29px;border-radius:7px;font-size:10px; }
 .logger-heading>div { flex:1;min-width:0; }
 .logger-heading h2 { font-size:15px;line-height:1.6; }
 .logger-heading p { font-size:10px; }
 .exercise-completion { font-size:8px;padding:5px 7px; }
 .logger-target { flex-basis:100%;max-width:none;margin:0;font-size:11px; }
 .logger-notes>summary { min-height:37px;font-size:11px; }
 .logger-notes .measurement-note { font-size:11px;padding:12px; }
 .measure-hint { font-size:11px;padding:12px;align-items:flex-start; }
 .set-row.mixed-set-row { padding:15px 12px 12px;gap:10px 9px; }
 .set-row.mixed-set-row input { font-size:18px;min-height:47px; }
 .set-row.mixed-set-row .field-label { font-size:11px; }
 .set-row.mixed-set-row .button { font-size:12px;min-height:45px; }
 .training-mix { gap:8px;margin-bottom:23px; }
 .mix-card { border-radius:9px;padding:14px 10px; }
 .mix-card>span,.mix-card .mix-label { font-size:9px; }
 .mix-card>strong,.mix-card .mix-value { font-size:23px;letter-spacing:-.6px; }
 .mix-card strong small { display:block;font-size:8px;margin:4px 0 0; }
 .mix-card p,.mix-card>small { font-size:8px; }
 .session-history { gap:10px; }
 .session-history-item { padding:17px; }
 .session-history-item h3 { font-size:14px; }
 .session-history-item p { font-size:11px; }
 .history-table { font-size:11px; }
 .history-table td:nth-child(2) { white-space:normal;min-width:125px;line-height:1.7; }
 .mobile-wordmark { display:inline-block;font-family:'Manrope',sans-serif;color:#353d4a;font-size:22px;font-weight:800;letter-spacing:-1px;line-height:1; }
 .mobile-wordmark>span { color:#7a89a4; }
 .workspace-caption,.breadcrumb-divider { display:none!important; }
 .breadcrumb>strong { border-color:#c5d4ee;padding-left:10px;font-size:10px;color:#737e90; }
}
@media(prefers-reduced-motion:reduce) { .session-toolbar-progress>i,.session-toolbar-progress>span { transition:none; } }
/* Align the final presentation structure. */
.session-heading-text { grid-column:1;grid-row:1; }
.session-toolbar-actions { grid-column:2;grid-row:1; }
.session-toolbar-progress { grid-column:1/-1;grid-row:2; }
.session-toolbar-progress>span { display:none; }
.session-next h2 { color:#404c60;font-size:14px;font-weight:550;line-height:1.6;margin:0; }
.mix-card { display:flex;align-items:flex-start;gap:11px; }
.mix-card .mix-icon { display:grid;place-items:center;flex-shrink:0;width:28px;height:28px;border-radius:7px;background:#e5e6e9;margin:0; }
.mix-card>div { min-width:0;flex:1; }
.mix-card .mix-value { color:#414e64; }
.mix-card .mix-caption { color:#747c8b;font-size:9px; }
.session-history { display:block; }
.session-history-list { display:grid;grid-template-columns:1fr;gap:10px; }
.session-history-item { display:grid;grid-template-columns:31px minmax(0,1fr) auto;align-items:center;gap:13px;padding:17px 18px; }
.session-history-icon { display:grid;place-items:center;width:31px;height:31px;border-radius:50%;background:#e9ebed;color:#618ad1; }
.session-history-item .session-history-name h3 { color:#424c5e;font-size:13px;margin:0 0 4px; }
.session-history-item .session-history-name p { color:#798291;font-size:10px;margin:0;line-height:1.8; }
.session-history-name p>span { margin:0 4px;color:#81a2da; }
.session-history-volume { text-align:right; }
.session-history-volume strong { color:#647187;font-size:14px;font-weight:550;display:block;font-variant-numeric:tabular-nums; }
.session-history-volume strong small { font-size:9px;color:#989fac;font-weight:400; }
.session-history-volume>span { display:block;color:#8993a4;font-size:8px;margin-top:5px; }
.session-history-empty { font-size:11px;color:#7f899b;line-height:1.85;background:#f2f3f5;border:1px dashed #c4d3ee;border-radius:9px;padding:18px;margin:0; }
@media(max-width:650px) {
 .session-next h2 { font-size:14px; }
 .mix-card { display:block; }
 .mix-card .mix-icon { margin-bottom:10px;width:26px;height:26px; }
 .mix-card .mix-caption { font-size:8px; }
 .session-history-item { grid-template-columns:28px minmax(0,1fr) auto;gap:10px;padding:15px 13px; }
 .session-history-icon { width:28px;height:28px; }
 .session-history-item .session-history-name h3 { font-size:12px; }
 .session-history-item .session-history-name p { font-size:9px; }
 .session-history-volume strong { font-size:13px; }
 .session-history-volume>span { font-size:7px;max-width:78px;line-height:1.6; }
 .logger-heading .logger-target { order:3; }
 .logger-heading .exercise-completion { order:2; }
}

/* Electric blue palette. */
:root {
 --canvas:#f3f5f8;--paper:#fff;--ink:#202938;--muted:#6c788a;
 --line:#e1e6ee;--green:#3268e8;--dark:#162134;--lime:#e8efff;
 background:#f3f5f8;color:#202938;
}
body { background:#f3f5f8;color:#202938; }
.sidebar { background:#172132;border-color:#273349; }
.brand { color:#fff; }
.brand svg,.brand-dot { color:#6d9dff; }
.workspace-label { color:#8191ac; }
.nav-item { color:#a6b3c9; }
.nav-item:hover { color:#e8efff;background:#23324b; }
.nav-item.active { background:#3268e8;color:#fff;box-shadow:0 4px 15px #07112624; }
.nav-item.active .nav-badge { color:#f7faff;background:#2454bd; }
.nav-badge { color:#9db7ef;background:#2a3953; }
.growth-card { background:#202f47;border-color:#314463; }
.growth-card:after { border-color:#3b5378; }
.growth-icon { background:#2e4568;color:#8cb2ff; }
.growth-card strong { color:#e8effc; }
.growth-card p { color:#a2b4d3; }
.growth-card>span { color:#7b94bc; }
.settings-button { color:#a6b5cf; }
.settings-button:hover { color:#edf3ff; }
.profile { border-color:#2b3a53; }
.profile strong { color:#dde6f6; }
.profile span { color:#8498b8; }
.profile .avatar { background:#2a4166;color:#b3cbfa;border-color:#3b5680; }
.profile .profile-dot { background:#7fa9ff; }
.topbar { background:#fafbfe;border-color:#e2e7ef; }
.avatar { background:#e5edff;color:#5074b9; }
.local-indicator { color:#667d9f;background:#edf2ff;border-color:#e2eafb; }
.local-indicator i { background:#6f9af1; }
.workout-hero { background:#172a48; }
.workout-hero:before { background:radial-gradient(ellipse at 100% 30%,#4565a04d,transparent 67%); }
.workout-hero h2 { color:#f8faff; }
.workout-hero h2 em { color:#83acff; }
.workout-hero p { color:#b3c3df; }
.hero-badge { color:#b6cefc; }
.hero-badge:before { background:#8db5ff;box-shadow:0 0 0 4px #8db5ff13; }
.hero-illustration>span { color:#829dcc; }
.primary-button,.button-primary,.btn-primary { background:#3268e8;color:#fff;box-shadow:0 4px 10px #10295722; }
.primary-button:hover,.button-primary:hover,.btn-primary:hover { background:#245cda;color:#fff; }
.button-dark { background:#315eb4;color:#fff; }
.button-dark:hover { background:#244c99;color:#fff; }
.button-secondary,.secondary-button { color:#c2d3f0; }
.button-secondary:hover,.secondary-button:hover { color:#fff; }
.week-day.is-selected,.week-day.is-selected:hover { background:#315fbd;border-color:#315fbd; }
.week-day.is-selected .week-day-name,.week-day.is-selected .week-day-type { color:#c7d8ff; }
.week-day.is-selected .week-date { color:#fff; }
.week-day.is-selected .week-day-marker { color:#b6cefc; }
.week-day.is-selected .week-day-marker i { background:#9ec2ff; }
.week-day.is-today:not(.is-selected) { background:#edf3ff;border-color:#94b6f3;box-shadow:inset 0 0 0 1px #d7e5ff; }
.week-day.is-today:not(.is-selected) .week-date { color:#3765b5; }
.exercise-target strong,.exercise-weight strong { color:#3e66ad; }
.composer-bottom button { background:#3268e8;color:#fff; }
.composer-bottom button:hover { background:#245cda; }
.session-toolbar-progress>i,.session-progress>i,.mini-progress i.filled { background:#6896f0; }
.session-next { background:#edf3ff;border-color:#dbe6fd; }
.session-next h2,.session-next h3,.session-next strong { color:#4265a0; }
button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible { outline-color:#72a1ff; }
.mobile-wordmark { color:#25436f; }
.mobile-wordmark>span { color:#608ee3; }
#toast { background:#244778;border-color:#3f65a0;color:#f0f5ff; }
@media(max-width:650px) {
 .sidebar { background:#172132;border-top-color:#2c3d58; }
 .nav-item { color:#94a7c6; }
 .nav-item.active { background:#3268e8;color:#fff; }
}
/* Small labels retain contrast on blue and pale surfaces. */
.week-day.is-selected .week-day-name,.week-day.is-selected .week-day-type { color:#e8efff; }
.week-day.is-selected .week-day-marker { color:#d9e6ff; }
.session-next p { color:#596b85; }
.mix-card strong small,.mix-card .mix-value small,.mix-card .mix-caption,.mix-card>small { color:#62718a; }
.session-history-item .session-history-name p,.session-history-volume>span { color:#65718a; }
