:root,
html[data-theme="level-up"] {
  --accent:#df141e;--accent-dark:#a90e15;--accent-text:#ff6670;--accent-soft:rgba(239,24,33,.11);--accent-glow:rgba(239,24,33,.22);--accent-contrast:#fff;
  --bg:#09090b;--surface:#121216;--surface-raised:#18181d;--card:#1c1c22;--text:#f7f7f8;--heading:#fff;--text-secondary:#c4c4ca;--muted:#9b9ba5;
  --line:rgba(255,255,255,.09);--card-border:rgba(255,255,255,.1);--input-bg:#15151a;--nav-bg:rgba(22,12,14,.96);--nav-border:rgba(255,255,255,.13);
  --body-background:radial-gradient(circle at 15% -10%,rgba(239,24,33,.11),transparent 34rem),#09090b;--shadow:0 18px 50px rgba(0,0,0,.38);
  --success:#22c55e;--success-text:#65df8d;--warning:#f59e0b;--warning-text:#f6bd5a;--danger:#ef4444;--danger-text:#ff737b;--activity-workout:var(--accent);--activity-weight:var(--success);--red:var(--accent);--red-dark:var(--accent-dark);--red-glow:var(--accent-glow);
}
html[data-theme="arctic"] {
  --accent:#1769e0;--accent-dark:#0e4fb3;--accent-text:#0e4fb3;--accent-soft:rgba(23,105,224,.1);--accent-glow:rgba(23,105,224,.18);--accent-contrast:#fff;
  --bg:#f3f7fc;--surface:#fff;--surface-raised:#edf3fb;--card:#fff;--text:#10203a;--heading:#09162b;--text-secondary:#34445f;--muted:#526079;
  --line:rgba(23,48,84,.12);--card-border:rgba(23,48,84,.12);--input-bg:#f7faff;--nav-bg:rgba(255,255,255,.96);--nav-border:rgba(21,51,91,.14);
  --body-background:radial-gradient(circle at 92% -8%,rgba(50,133,255,.13),transparent 30rem),#f3f7fc;--shadow:0 14px 34px rgba(36,67,105,.1);
  --success-text:#147a3c;--warning-text:#8a5300;--danger-text:#b91c1c;--activity-workout:#1769e0;--activity-weight:#22b86a;--red:var(--accent);--red-dark:var(--accent-dark);--red-glow:var(--accent-glow);
}
html[data-theme="pure"] {
  --accent:#171719;--accent-dark:#000;--accent-text:#171719;--accent-soft:rgba(23,23,25,.07);--accent-glow:rgba(23,23,25,.12);--accent-contrast:#fff;
  --bg:#f4f4f2;--surface:#fff;--surface-raised:#ededeb;--card:#fff;--text:#202022;--heading:#0d0d0e;--text-secondary:#454549;--muted:#626267;
  --line:rgba(20,20,22,.11);--card-border:rgba(20,20,22,.11);--input-bg:#f8f8f6;--nav-bg:rgba(255,255,255,.97);--nav-border:rgba(20,20,22,.12);
  --body-background:#f4f4f2;--shadow:0 12px 30px rgba(20,20,20,.08);--success-text:#147a3c;--warning-text:#8a5300;--danger-text:#b91c1c;--red:var(--accent);--red-dark:var(--accent-dark);--red-glow:var(--accent-glow);
}
html[data-theme="ocean"] {
  --accent:#0798d9;--accent-dark:#0676ad;--accent-text:#0676ad;--accent-soft:rgba(7,152,217,.1);--accent-glow:rgba(7,152,217,.18);--accent-contrast:#07233f;
  --bg:#edf8ff;--surface:#fff;--surface-raised:#e3f4ff;--card:#fff;--text:#123252;--heading:#07233f;--text-secondary:#344f68;--muted:#506b82;
  --line:rgba(17,81,120,.13);--card-border:rgba(17,81,120,.13);--input-bg:#f5fbff;--nav-bg:rgba(248,253,255,.97);--nav-border:rgba(17,81,120,.14);
  --body-background:linear-gradient(155deg,rgba(46,180,240,.13),transparent 34rem),#edf8ff;--shadow:0 14px 34px rgba(17,81,120,.1);--success-text:#147a3c;--warning-text:#8a5300;--danger-text:#b91c1c;--red:var(--accent);--red-dark:var(--accent-dark);--red-glow:var(--accent-glow);
}
html[data-theme="midnight"] {
  --accent:#3478f6;--accent-dark:#195ac8;--accent-text:#7eb0ff;--accent-soft:rgba(52,120,246,.12);--accent-glow:rgba(52,120,246,.24);--accent-contrast:#050b17;
  --bg:#050b17;--surface:#0b1628;--surface-raised:#101d31;--card:#132238;--text:#f5f8ff;--heading:#fff;--text-secondary:#bac7da;--muted:#92a3bd;
  --line:rgba(135,172,226,.13);--card-border:rgba(135,172,226,.14);--input-bg:#0d1a2c;--nav-bg:rgba(5,13,27,.96);--nav-border:rgba(135,172,226,.16);
  --body-background:radial-gradient(circle at 80% -8%,rgba(52,120,246,.18),transparent 34rem),#050b17;--shadow:0 18px 50px rgba(0,4,12,.5);--red:var(--accent);--red-dark:var(--accent-dark);--red-glow:var(--accent-glow);
}
html[data-theme="slate"] {
  --accent:#7396b8;--accent-dark:#557590;--accent-text:#a9c8e4;--accent-soft:rgba(115,150,184,.12);--accent-glow:rgba(115,150,184,.2);--accent-contrast:#071018;
  --bg:#0d1117;--surface:#151b22;--surface-raised:#1a222c;--card:#1d2630;--text:#eef3f7;--heading:#fff;--text-secondary:#bec9d2;--muted:#9aa8b4;
  --line:rgba(183,204,221,.12);--card-border:rgba(183,204,221,.13);--input-bg:#171f28;--nav-bg:rgba(13,17,23,.96);--nav-border:rgba(183,204,221,.15);
  --body-background:radial-gradient(circle at 82% -10%,rgba(115,150,184,.12),transparent 32rem),#0d1117;--shadow:0 18px 46px rgba(0,0,0,.42);--red:var(--accent);--red-dark:var(--accent-dark);--red-glow:var(--accent-glow);
}
html[data-theme="pulse"] {
  --accent:#ff2d95;--accent-dark:#d91b77;--accent-text:#ff5cad;--accent-soft:rgba(255,45,149,.13);--accent-glow:rgba(255,45,149,.25);--accent-contrast:#160912;
  --bg:#120912;--surface:#1d101c;--surface-raised:#291528;--card:#1d101c;--text:#fff7fc;--heading:#fff;--text-secondary:#d9bfd1;--muted:#b792aa;
  --line:rgba(255,158,211,.14);--card-border:rgba(255,158,211,.16);--input-bg:#351a32;--nav-bg:rgba(23,11,22,.96);--nav-border:rgba(255,158,211,.17);
  --body-background:radial-gradient(circle at 82% -10%,rgba(255,45,149,.17),transparent 34rem),#120912;--shadow:0 18px 50px rgba(8,0,7,.5);--red:var(--accent);--red-dark:var(--accent-dark);--red-glow:var(--accent-glow);
}

/* RIR badges use a coordinated, high-contrast palette for each appearance. */
:root,
html[data-theme="level-up"] {
  --rir-0:#c92f40;--rir-0-contrast:#fff;
  --rir-1:#b45a22;--rir-1-contrast:#fff;
  --rir-2:#9e4770;--rir-2-contrast:#fff;
  --rir-3:#6f5a9a;--rir-3-contrast:#fff;
  --rir-4:#5d7180;--rir-4-contrast:#fff;
}
html[data-theme="arctic"] {
  --rir-0:#a92f52;--rir-0-contrast:#fff;
  --rir-1:#5b3fa1;--rir-1-contrast:#fff;
  --rir-2:#1769e0;--rir-2-contrast:#fff;
  --rir-3:#087d86;--rir-3-contrast:#fff;
  --rir-4:#5f6f82;--rir-4-contrast:#fff;
}
html[data-theme="pure"] {
  --rir-0:#9d3045;--rir-0-contrast:#fff;
  --rir-1:#171719;--rir-1-contrast:#fff;
  --rir-2:#424247;--rir-2-contrast:#fff;
  --rir-3:#67676c;--rir-3-contrast:#fff;
  --rir-4:#b8b8bc;--rir-4-contrast:#202022;
}
html[data-theme="ocean"] {
  --rir-0:#ad3656;--rir-0-contrast:#fff;
  --rir-1:#4e4ba6;--rir-1-contrast:#fff;
  --rir-2:#0577a8;--rir-2-contrast:#fff;
  --rir-3:#087f75;--rir-3-contrast:#fff;
  --rir-4:#657681;--rir-4-contrast:#fff;
}
html[data-theme="midnight"] {
  --rir-0:#bd3d64;--rir-0-contrast:#fff;
  --rir-1:#7042af;--rir-1-contrast:#fff;
  --rir-2:#3265bf;--rir-2-contrast:#fff;
  --rir-3:#247a8f;--rir-3-contrast:#fff;
  --rir-4:#5f6c82;--rir-4-contrast:#fff;
}
html[data-theme="slate"] {
  --rir-0:#a9434e;--rir-0-contrast:#fff;
  --rir-1:#6c4d95;--rir-1-contrast:#fff;
  --rir-2:#547a9d;--rir-2-contrast:#fff;
  --rir-3:#3d7c7a;--rir-3-contrast:#fff;
  --rir-4:#626d76;--rir-4-contrast:#fff;
}
html[data-theme="pulse"] {
  --rir-0:#f04a66;--rir-0-contrast:#240710;
  --rir-1:#c81970;--rir-1-contrast:#fff;
  --rir-2:#9134ab;--rir-2-contrast:#fff;
  --rir-3:#654da7;--rir-3-contrast:#fff;
  --rir-4:#756070;--rir-4-contrast:#fff;
}

html,body{background:var(--bg)!important;color:var(--text)}
body{background:var(--body-background)!important;transition:background-color .2s ease,color .2s ease}
:where(h1,h2,h3,h4,h5,h6,strong,legend,label){color:var(--heading)}
:where(p,.muted){color:var(--muted)}
.eyebrow{color:var(--accent-text)!important}
.primary-btn{border-color:var(--accent)!important;background:var(--accent)!important;color:var(--accent-contrast)!important;box-shadow:0 8px 24px var(--accent-glow)!important}
.secondary-btn{border-color:var(--line)!important;background:var(--surface-raised)!important;color:var(--text)!important}
:where(input,select,textarea){border-color:var(--line)!important;background:var(--input-bg)!important;color:var(--text)!important}
:where(input,textarea)::placeholder{color:var(--muted)!important}
.bottom-nav{border-color:var(--nav-border)!important;background:var(--nav-bg)!important;box-shadow:0 18px 50px rgba(0,0,0,.28)!important}
.bottom-nav button{color:var(--muted)!important}
.bottom-nav button.active{background:var(--accent-soft)!important;color:var(--accent-text)!important}
.bottom-nav button.active .nav-icon{color:var(--accent-text)!important;fill:var(--accent-text)!important}
.bottom-nav button.active .nav-icon-stroke{fill:none!important;stroke:var(--accent-text)!important}

:where(.section-card,.metric-card,.nutrition-goal-card,.nutrition-energy-summary,.analytics-card,.weight-entry-card,.nutrition-planner-card,.calorie-stat-card,.admin-analytics-card,.training-summary-card,.smart-question-card,.smart-picker-panel,.smart-volume-summary,.session-exercise-card,.dashboard-habit-card,.cardio-summary-card,.cardio-analytics-card,.weight-chart-card,.activity-calendar-card,.account-cloud-card,.adaptive-settings-card,.unit-settings-card,.profile-appearance-card,.preset-plan-card,.catalogue-plan-card,.schedule-dashboard-card,.performance-dashboard-card,.overall-strength-index-card,.measurement-entry-card,.measurement-progress-card,.nutrition-guide-card,.nutrition-evidence-card,.nutrition-habits-card,.nutrition-hero-card,.bmi-index-card,.photo-journal-card,.plate-calculator-card,.routine-import-paste-card,.food-sheet-card,.support-report-card,.learn-step-card,.learn-progress-card,.current-phase-card,.phase-current-card,.phase-start-card,.phase-sample-card,.smart-coach-build-card){border-color:var(--card-border)!important;background:var(--card)!important;color:var(--text)!important;box-shadow:var(--shadow)}
:where(.more-menu-group,.food-sheet,.adaptive-info-sheet,.plate-calculator-sheet,.starting-weight-calibration-sheet,.weekly-calorie-modal-card,.workout-history-preview-sheet){border-color:var(--card-border)!important;background:var(--surface)!important;color:var(--text)!important;box-shadow:var(--shadow)}
.more-menu-group>h3{border-color:var(--line)!important;color:var(--muted)!important}
.more-menu-group>.more-menu-card{border-color:var(--line)!important;color:var(--text)!important}
.more-menu-group>.more-menu-card:active{background:var(--accent-soft)!important}
.more-menu-group .more-menu-icon{border-color:color-mix(in srgb,var(--accent) 28%,transparent)!important;background:var(--accent-soft)!important;color:var(--accent-text)!important}
.more-menu-group .more-menu-card:after{color:var(--muted)}
:where(.training-progress-tab,.nutrition-tab,.lifting-tab,.filter-chip,.range-btn).active{border-color:var(--accent)!important;background:var(--accent-soft)!important;color:var(--accent-text)!important}
:where(.progress-line,.trend-line,.chart-line,.strength-chart-line){stroke:var(--accent)!important}
:where(.chart-bar,.training-bar,.weight-bar){fill:var(--accent)!important;background:var(--accent)!important}
.recovery-ready,[data-status="success"]{color:var(--success-text)!important}.recovery-nearly-ready,[data-status="warning"]{color:var(--warning-text)!important}.recovery-recovering,[data-status="error"]{color:var(--danger-text)!important}

html[data-theme-mode="light"] :where(.dashboard-welcome,.workout-page,.progress-page,.nutrition-page,.more-compact-header){color:var(--text)}
html[data-theme-mode="light"] :where(.session-set-row,.recovery-detail-row,.weight-history-row,.measurement-history-row,.exercise-history-row,.performance-row,.phase-history-row,.nutrition-adjustment-row,.weekly-calorie-review-row,.adaptive-option-row,.drive-state-row){border-color:var(--line)!important;background:var(--surface-raised)!important;color:var(--text)!important}
html[data-theme-mode="light"] :where(.exercise-guide-section,.exercise-muscle-card,.recovery-map-note,.recovery-summary-strip>div,.nutrition-current-phase,.unified-maintenance-block,.unified-calorie-summary>div){border-color:var(--line)!important;background:var(--card)!important;color:var(--text)!important}
html[data-theme-mode="light"] :where(.exercise-guide-section li,.exercise-guide-section p,.exercise-muscle-card strong,.recovery-map-note){color:var(--text)!important}
html[data-theme-mode="light"] .recovery-body-svg{filter:drop-shadow(0 12px 24px rgba(34,65,98,.14))}
html[data-theme-mode="light"] .smart-coach-build-card{background:radial-gradient(circle at 50% 28%,var(--accent-soft),transparent 38%),var(--card)!important}
html[data-theme-mode="light"] .smart-coach-dumbbell path{fill:var(--text)}
html[data-theme-mode="light"] .smart-coach-ring-track{stroke:var(--line)}
html[data-theme-mode="light"] .smart-coach-build-status{border-color:var(--line);background:var(--surface-raised);color:var(--muted)}

/* Theme-aware compatibility for feature surfaces that previously carried fixed Level Up colours. */
#levelup-workout-mode{background:var(--bg)!important;color:var(--text)}
.levelup-workout-mode-bar{border-color:var(--line)!important;background:var(--nav-bg)!important}
.levelup-workout-mode-back{color:var(--text)!important}.levelup-workout-mode-title{color:var(--muted)!important}
.logger-compact-workout-header{border-color:var(--line)!important}.logger-compact-time-group #workout-duration-display{color:var(--heading)!important}.logger-compact-day-date,.logger-compact-edit-details{color:var(--muted)!important}
.logger-compact-time-group .workout-timer-actions button,.logger-exercise-strip button,.workout-session-logger .compact-exercise-actions .exercise-more-btn,.workout-session-logger .compact-exercise-actions .exercise-timer-btn,.workout-session-logger .compact-exercise-actions .logger-form-guide-btn,.logger-exercise-tools .logger-form-guide-btn,.logger-exercise-tools .exercise-warmup-btn,.session-inline-swap,.session-inline-superset,.workout-session-logger .compact-add-set-btn,.session-add-exercise-btn,.workout-session-logger .logger-remove-set-btn{border-color:var(--line)!important;background:var(--surface-raised)!important;color:var(--text)!important}
.logger-exercise-strip button{color:var(--muted)!important}.logger-exercise-strip button>span{background:var(--surface)!important;color:var(--muted)!important}.logger-exercise-strip button.active{border-color:var(--accent)!important;background:var(--accent-soft)!important;color:var(--accent-text)!important}.logger-exercise-strip button.active>span{background:var(--accent)!important;color:var(--accent-contrast)!important}
.workout-session-logger .session-set-row,.workout-session-logger .session-warmup-row{border-color:var(--line)!important}.workout-session-logger .session-set-row>strong,.workout-session-logger .session-warmup-row>strong{border-color:var(--line)!important;background:var(--surface-raised)!important;color:var(--text)!important}.workout-session-logger .previous-set-value,.workout-session-logger .session-set-header,.logger-exercise-position{color:var(--muted)!important}.workout-session-logger .session-set-row input,.workout-session-logger .session-warmup-row input,.session-rep-notes{border-color:var(--line)!important;background:var(--input-bg)!important;color:var(--text)!important}
.workout-session-logger .complete-set-btn,.workout-session-logger .complete-warmup-btn{border-color:var(--line)!important;background:var(--surface-raised)!important;color:var(--text)!important}.workout-session-logger .complete-set-btn::before,.workout-session-logger .complete-warmup-btn::before{border-color:var(--muted)!important}
.workout-session-logger .progression-prompt p,.workout-session-logger .progression-prompt p b{color:var(--text)!important}.workout-session-logger .progression-prompt small{color:var(--muted)!important}

.calories-tabs,.food-log-date-nav>button,.food-daily-summary,.food-meal,.food-sheet-tabs,.food-meal-picker button,.food-result,.food-saved-meal,.food-builder-summary,.food-builder-items>div,.food-portion-loading,.custom-serving-fields,.food-builder-paste,.food-builder-item-details{border-color:var(--card-border)!important;background:var(--card)!important;color:var(--text)!important}.food-daily-summary,.food-meal{box-shadow:var(--shadow)}
.calories-tabs{background:var(--surface-raised)!important}.calories-tabs button{color:var(--muted)!important}.calories-tabs button.active,.food-sheet-tabs button.active,.food-meal-picker button.active{border-color:var(--accent)!important;background:var(--accent-soft)!important;color:var(--accent-text)!important}.food-log-plan-link,.food-add-meal,.food-create-meal,.food-builder-add{color:var(--accent-text)!important}.food-log-plan-link:focus-visible{outline-color:var(--accent)!important}
.food-log-date-nav small,.food-calorie-total span,.food-macro-total span,.food-calorie-total small,.food-calorie-total em,.food-meal summary small,.food-data-credit{color:var(--muted)!important}.food-calorie-total,.food-meal-body,.food-entry,.food-meal-macros{border-color:var(--line)!important}.food-calorie-total i{background:linear-gradient(90deg,var(--accent) var(--food-progress),var(--line) var(--food-progress))!important}.food-macro-total>i{background:var(--line)!important}.food-calorie-target{color:var(--muted)!important}.food-meal summary b,.food-entry>span{color:var(--text)!important}
.food-sheet-card,.food-portion-panel:not([hidden]),.food-meal-builder:not([hidden]){border-color:var(--card-border)!important;background:var(--surface)!important;color:var(--text)!important}.food-sheet-close,.food-portion-heading button,.food-builder-heading button{border-color:var(--line)!important;background:var(--surface-raised)!important;color:var(--text)!important}.food-sheet-handle{background:var(--line)!important}.food-search input,.custom-food-form input,.custom-food-form select,.food-portion-panel input,.food-portion-panel select,.food-meal-builder input,.food-builder-paste textarea{border-color:var(--line)!important;background:var(--input-bg)!important;color:var(--text)!important}.food-portion-preview,.food-portion-preview--macros,.food-meal-macros,.food-builder-items>.food-builder-item-editor,.food-builder-item-details>.food-builder-item-editor{border-color:var(--line)!important;background:var(--surface-raised)!important;color:var(--text)!important}

.muscle-overview-intro h4,.muscle-overview-more-heading h4,.seven-day-volume-heading h4,.seven-day-volume-breakdown-heading h4,.seven-day-volume-row-top strong{color:var(--heading)!important}.muscle-overview-intro p,.seven-day-volume-heading p,.seven-day-volume-note,.seven-day-volume-breakdown-heading span,.seven-day-volume-row-top span,.seven-day-volume-legend{color:var(--muted)!important}
.muscle-overview-toggle{border-color:var(--line)!important;background:var(--surface-raised)!important}.muscle-overview-toggle button{color:var(--muted)!important}.seven-day-volume-map-card,.seven-day-volume-breakdown{border-color:var(--card-border)!important;background:var(--card)!important;color:var(--text)!important;box-shadow:var(--shadow)}.seven-day-volume-figure figcaption{color:var(--text)!important}.seven-day-volume-track{background:var(--line)!important}.seven-day-volume-legend i{border-color:var(--line)!important}
html[data-theme-mode="light"] .seven-day-volume-muscle{stroke:rgba(16,32,58,.62)}
.food-macro-total strong small{color:var(--muted)!important}

.dashboard-command-center .schedule-dashboard-card,.dashboard-command-today-empty,.dashboard-command-weekly,.dashboard.dashboard-command-insights .metric-card{border-color:var(--card-border)!important;background:var(--card)!important;color:var(--text)!important;box-shadow:var(--shadow)}.dashboard-weekly-toggle{border-color:var(--line)!important;background:var(--surface-raised)!important}.dashboard-weekly-toggle button{color:var(--muted)!important}.dashboard-weekly-toggle button.active{background:var(--accent)!important;color:var(--accent-contrast)!important}
.dashboard.dashboard-command-insights .dashboard-food-summary-card{border-color:var(--card-border)!important;background:radial-gradient(circle at 50% 5%,var(--accent-soft),transparent 45%),var(--card)!important;color:var(--text)!important;box-shadow:var(--shadow)}.dashboard-food-summary-heading h3,.dashboard-calorie-summary,.dashboard-calorie-copy strong,.dashboard-calorie-copy strong small,.dashboard-macro-progress strong{color:var(--text)!important}.dashboard-food-summary-heading>button{color:var(--accent-text)!important}.dashboard-calorie-arc-track{stroke:var(--line)!important}.dashboard-calorie-arc-value{stroke:var(--accent)!important;filter:drop-shadow(0 0 8px var(--accent-glow))}.dashboard-calorie-summary pattern rect{fill:var(--accent)!important}.dashboard-calorie-summary pattern line{stroke:var(--accent-dark)!important}.dashboard-calorie-copy>span,.dashboard-macro-progress strong small{color:var(--muted)!important}.dashboard-calorie-toggle-icon{background:var(--surface-raised)!important;color:var(--muted)!important}.dashboard-macro-summary{border-color:var(--line)!important}.dashboard-macro-progress>span{color:var(--text)!important}.dashboard-macro-progress>i{background:var(--line)!important}

.appearance-page{width:min(760px,100%);margin:0 auto;padding-bottom:110px}.appearance-header{display:grid;gap:5px;margin-bottom:20px}.appearance-header h2{margin:0;font-size:clamp(2rem,8vw,2.65rem);letter-spacing:-.045em}.appearance-header p{max-width:590px;margin:3px 0 0;line-height:1.5}.appearance-back{justify-self:start;margin:0 0 12px;padding:6px 0;border:0;background:transparent;color:var(--text);font-weight:800}.appearance-theme-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.appearance-theme-card{position:relative;display:grid;gap:6px;min-width:0;padding:12px;border:1px solid var(--card-border);border-radius:19px;background:var(--card);color:var(--text);text-align:left;box-shadow:var(--shadow)}.appearance-theme-card:first-child{grid-column:1/-1}.appearance-theme-card.is-selected{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft),var(--shadow)}.appearance-theme-card>strong{font-size:.92rem}.appearance-theme-card>small{overflow:hidden;color:var(--muted);font-size:.66rem;text-overflow:ellipsis;white-space:nowrap}.appearance-selected-mark{position:absolute;z-index:2;top:19px;right:19px;display:none;place-items:center;width:23px;height:23px;border-radius:50%;background:var(--accent);color:var(--accent-contrast);font-size:.72rem;font-weight:1000}.appearance-theme-card.is-selected .appearance-selected-mark{display:grid}.appearance-theme-preview{position:relative;display:block;height:128px;overflow:hidden;border:1px solid rgba(127,127,127,.16);border-radius:14px;background:var(--preview-bg);color:var(--preview-text)}.appearance-preview-top{position:absolute;inset:12px 12px auto;height:12px;border-radius:999px;background:var(--preview-accent)}.appearance-preview-card{position:absolute;inset:32px 12px 18px;display:block;border:1px solid var(--preview-line);border-radius:11px;background:var(--preview-card)}.appearance-preview-card b{position:absolute;top:12px;left:12px;width:44%;height:7px;border-radius:99px;background:var(--preview-text);opacity:.82}.appearance-preview-card em{position:absolute;top:28px;left:12px;width:63%;height:5px;border-radius:99px;background:var(--preview-muted);box-shadow:0 10px 0 var(--preview-muted)}.appearance-preview-card small{position:absolute;right:12px;bottom:12px;width:34px;height:24px;border-radius:7px;background:var(--preview-accent)}.appearance-preview-nav{position:absolute;inset:auto 0 0;height:10px;background:var(--preview-surface)}
.theme-preview-level-up{--preview-bg:#09090b;--preview-surface:#121216;--preview-card:#1c1c22;--preview-text:#f7f7f8;--preview-muted:#6f6f78;--preview-line:#34343a;--preview-accent:#ef1821}.theme-preview-arctic{--preview-bg:#f3f7fc;--preview-surface:#fff;--preview-card:#fff;--preview-text:#10203a;--preview-muted:#c6cfdb;--preview-line:#dbe3ee;--preview-accent:#1769e0}.theme-preview-pure{--preview-bg:#f4f4f2;--preview-surface:#fff;--preview-card:#fff;--preview-text:#202022;--preview-muted:#d1d1ce;--preview-line:#dededb;--preview-accent:#171719}.theme-preview-ocean{--preview-bg:#edf8ff;--preview-surface:#fff;--preview-card:#fff;--preview-text:#123252;--preview-muted:#bfdcea;--preview-line:#cfe5f0;--preview-accent:#0798d9}.theme-preview-midnight{--preview-bg:#050b17;--preview-surface:#0b1628;--preview-card:#132238;--preview-text:#f5f8ff;--preview-muted:#4f6380;--preview-line:#263b57;--preview-accent:#3478f6}.theme-preview-slate{--preview-bg:#0d1117;--preview-surface:#151b22;--preview-card:#1d2630;--preview-text:#eef3f7;--preview-muted:#53616d;--preview-line:#34414d;--preview-accent:#7396b8}.theme-preview-pulse{--preview-bg:#120912;--preview-surface:#1d101c;--preview-card:#291528;--preview-text:#fff7fc;--preview-muted:#b792aa;--preview-line:#59304f;--preview-accent:#ff2d95}.theme-preview-system .appearance-theme-preview{background:linear-gradient(110deg,#f3f7fc 0 49.8%,#09090b 50.2%);--preview-surface:rgba(127,127,127,.32);--preview-card:rgba(255,255,255,.82);--preview-text:#1769e0;--preview-muted:#8ea3bb;--preview-line:rgba(127,127,127,.28);--preview-accent:linear-gradient(90deg,#1769e0 0 49%,#ef1821 51%)}
.appearance-status{min-height:22px;margin:12px 2px 0;color:var(--accent-text);font-size:.78rem;font-weight:800}.appearance-semantic-note{display:grid;gap:4px;margin-top:16px;padding:14px;border:1px solid var(--line);border-radius:15px;background:var(--surface-raised)}.appearance-semantic-note strong{font-size:.82rem}.appearance-semantic-note span{color:var(--muted);font-size:.72rem;line-height:1.45}@media(max-width:390px){.appearance-theme-grid{gap:9px}.appearance-theme-card{padding:9px;border-radius:16px}.appearance-theme-preview{height:112px}.appearance-theme-card>strong{font-size:.84rem}.appearance-theme-card>small{font-size:.6rem}}

/* Full theme coverage and contrast guardrails for feature-specific components. */
.nutrition-planner-back{border-color:var(--line)!important;background:var(--surface-raised)!important;color:var(--text)!important}
.nutrition-planner-back:hover{border-color:var(--accent)!important;color:var(--accent-text)!important}

.weight-history,.weight-history h3{color:var(--text)!important}
.weight-table{border:1px solid var(--card-border)!important;background:var(--card)!important;color:var(--text)!important;box-shadow:var(--shadow)}
.weight-table-header{border-color:var(--accent)!important;background:var(--surface-raised)!important;color:var(--muted)!important}
.weight-table-row{border-color:var(--line)!important;color:var(--text)!important}
.weight-table-row>strong,.weight-table-row>span{color:var(--text)!important}
.weight-entry-actions button{border-color:var(--line)!important;background:var(--surface-raised)!important;color:var(--text)!important}
.weight-entry-actions .remove-weight-entry,.weight-entry-actions .remove-sleep-entry{color:var(--danger-text)!important}

.admin-analytics-head p,.admin-analytics-caption,.admin-analytics-kpi span,.admin-analytics-kpi small,.admin-analytics-empty,.admin-analytics-bar small,.admin-analytics-legend{color:var(--muted)!important}
.admin-analytics-head select,.admin-analytics-status,.admin-analytics-kpi,.admin-analytics-card{border-color:var(--card-border)!important;background:var(--card)!important;color:var(--text)!important;box-shadow:var(--shadow)}
.admin-analytics-kpi strong,.admin-analytics-card h3,.admin-analytics-funnel strong,.admin-analytics-source strong{color:var(--heading)!important}
.admin-analytics-kpi small,.admin-analytics-source strong{color:var(--accent-text)!important}
.admin-analytics-chart{border-color:var(--line)!important}
.admin-analytics-bar span{background:linear-gradient(var(--accent),var(--accent-dark))!important}
.admin-analytics-funnel div,.admin-analytics-source,.admin-workout-source,.admin-analytics-person,.admin-analytics-stat-group,.restaurant-review-row,.restaurant-catalogue li{border-color:var(--line)!important;background:var(--surface-raised)!important;color:var(--text)!important}
.admin-analytics-funnel span,.admin-analytics-source span,.admin-workout-source span,.admin-analytics-person-identity strong,.admin-analytics-stat-person strong,.admin-analytics-stat-person>b,.restaurant-catalogue td,.restaurant-catalogue li{color:var(--text)!important}
.admin-analytics-person-identity small,.admin-analytics-person-identity span,.admin-workout-source small,.admin-analytics-stat-person small,.admin-analytics-feedback-row>small,.restaurant-catalogue th,.restaurant-review-row small{color:var(--muted)!important}
.admin-analytics-stat-group-head,.admin-analytics-stat-person,.admin-analytics-rating-distribution,.admin-analytics-feedback-row,.restaurant-catalogue th,.restaurant-catalogue td{border-color:var(--line)!important}
.admin-analytics-stat-group-head h4,.admin-analytics-feedback-row p,.restaurant-catalogue h4{color:var(--text)!important}
.admin-analytics-stat-group-head>strong,.admin-analytics-rating-distribution span,.admin-analytics-person-usage span{background:var(--accent-soft)!important;color:var(--accent-text)!important}

.profile-sex-options label{border-color:var(--line)!important;background:var(--surface-raised)!important;color:var(--text)!important}
.profile-sex-options label:has(input:checked){border-color:var(--accent)!important;background:var(--accent-soft)!important;color:var(--accent-text)!important;box-shadow:0 0 0 1px var(--accent-glow)}
.profile-appearance-card fieldset>small{color:var(--muted)!important}

.history-workout-card,.history-active-workout{border-color:var(--card-border)!important;background:var(--card)!important;color:var(--text)!important;box-shadow:var(--shadow)}
.history-workout-card h3,.history-view-summary{color:var(--heading)!important}
.history-workout-card>p,.history-workout-card-top,.history-workout-metrics{color:var(--muted)!important}
.history-workout-metrics{border-color:var(--line)!important}
.workout-preview-close,.workout-preview-edit,.workout-preview-stats>div,.workout-preview-exercise,.workout-preview-set-list span{border-color:var(--line)!important;background:var(--surface-raised)!important;color:var(--text)!important}
.workout-preview-header p,.workout-preview-stats span,.workout-preview-exercise-meta,.workout-preview-cardio,.workout-preview-empty{color:var(--muted)!important}
.workout-preview-type-pill{border-color:var(--line)!important;color:var(--text)!important}

.muscle-overview-recovery-panel .recovery-map-shell{padding:16px;border:1px solid var(--card-border)!important;border-radius:22px;background:var(--card)!important;color:var(--text)!important;box-shadow:var(--shadow)}
.recovery-mode-switch,.recovery-facing-toggle{border-color:var(--line)!important;background:var(--surface-raised)!important}
.recovery-mode-switch button,.recovery-facing-toggle button{color:var(--muted)!important}
.recovery-mode-switch button.active,.recovery-facing-toggle button.active{background:var(--accent)!important;color:var(--accent-contrast)!important}
.recovery-summary-strip>div,.recovery-map-note,.recovery-detail-row{border-color:var(--line)!important;background:var(--surface-raised)!important;color:var(--text)!important}
.recovery-summary-strip span,.recovery-map-header p,.recovery-detail-row span,.recovery-scale-points,.recovery-scale-points span,.recovery-scale-points small{color:var(--muted)!important}
.recovery-summary-strip strong,.recovery-scale::before,.recovery-scale-points b{color:var(--text)!important}
.recovery-dual-layout :where(.recovery-dual-map-card,.recovery-breakdown-card){border-color:var(--card-border)!important;background:var(--card)!important;color:var(--text)!important;box-shadow:var(--shadow)!important}
.recovery-dual-layout :where(.recovery-breakdown-heading h4,.recovery-scale::before){color:var(--heading)!important}
.recovery-dual-layout :where(.recovery-breakdown-heading p,.recovery-dual-figure figcaption){color:var(--muted)!important}
.recovery-dual-layout .recovery-detail-row small{color:var(--success-text)!important}
.recovery-row-progress{background:var(--line)!important}
.recovery-body-wrap::after{background:radial-gradient(ellipse,var(--accent-soft),transparent 70%)!important}

.schedule-banner,.level-up-coach-launcher,.level-up-coach-card{border-color:var(--card-border)!important;background:var(--card)!important;color:var(--text)!important;box-shadow:var(--shadow)}
.schedule-banner{border-color:color-mix(in srgb,var(--accent) 38%,var(--card-border))!important;background:linear-gradient(100deg,var(--accent-soft),var(--card))!important}
.schedule-edit-link,.level-up-coach-card-copy small,.level-up-coach-card>b{color:var(--accent-text)!important}
.schedule-day{border-color:var(--line)!important;background:var(--surface-raised)!important;color:var(--text)!important}
.schedule-day.is-today{border-color:var(--accent)!important;background:var(--accent-soft)!important}
.schedule-day-label,.schedule-day strong,.level-up-coach-heading h3,.level-up-coach-card-copy strong,.level-up-workout-actions strong{color:var(--text)!important}
.schedule-day span,.schedule-day small,.level-up-coach-heading p,.level-up-coach-card-copy em,.level-up-coach-card-copy>span,.level-up-workout-actions small{color:var(--muted)!important}
.level-up-coach-card.is-selected{border-color:var(--accent)!important;box-shadow:0 0 0 1px var(--accent-glow),var(--shadow)}
.level-up-coach-card>img,.catalogue-coach-avatar img{border-color:var(--accent)!important}
.level-up-workout-actions button{border-color:var(--line)!important;background:var(--surface-raised)!important;color:var(--text)!important}

.food-voice-open,.food-barcode-open,.food-create-meal,.food-saved-meal-photo,.food-saved-meal-add,.food-entry button,.food-custom-edit{border-color:var(--line)!important;background:var(--surface-raised)!important;color:var(--text)!important}
.food-create-meal,.food-saved-meal-add,.food-custom-edit{border-color:var(--accent)!important;color:var(--accent-text)!important}
.food-paste-meal{background:var(--accent-soft)!important}
.food-saved-meal-edit,.food-entry-edit,.food-builder-items .food-builder-item-edit{color:var(--text)!important}
.food-saved-meal-edit small,.food-saved-meal-edit span,.food-entry-edit small,.food-entry-edit i,.food-edit-serving,.food-edit-macro small{color:var(--muted)!important}
.food-entry-edit>b,.food-entry-edit strong,.food-edit-calorie-ring strong,.food-edit-macro strong{color:var(--text)!important}
.food-edit-calorie-ring::before{background:var(--surface-raised)!important}
.food-copy-yesterday{border-color:color-mix(in srgb,var(--success) 34%,var(--line))!important;background:color-mix(in srgb,var(--success) 9%,var(--card))!important;color:var(--text)!important}

/* Complete surface audit: builder, analytics, setup, and utility cards. */
:where(.plan-builder,.smart-build-launcher,.smart-review,.routine-import-wizard,.routine-import-summary,.adaptive-deload-banner,.adaptive-coach-summary,.activity-calendar-details,.measurement-figure-modern,.measurement-instructions-modern,.nutrition-principles,.goal-box,.workout-session-status,.rest-timer-panel){border-color:var(--card-border)!important;background:var(--card)!important;color:var(--text)!important;box-shadow:var(--shadow)!important}
:where(.workout-day-card,.exercise-builder-row,.manual-day-empty,.manual-pick,.exercise-filter-card,.exercise-browser-custom-form,.exercise-search-results,.smart-chip,.smart-option,.smart-picker-toggle,.smart-search-row,.smart-pref-columns>div,.smart-selected-chip,.smart-superset-toggle,.smart-review-meta span,.smart-volume-grid div,.smart-volume-summary div,.smart-review-day,.smart-review-exercise,.smart-set-breakdown,.adaptive-post-flow .adaptive-post-options,.adaptive-choice,.adaptive-rir-choice,.adaptive-deload-preview-rules li,.adaptive-recovery-legend div,.adaptive-recommendation,.calorie-stats-ranges,.calorie-stat-consistency span,.unified-maintenance-mode,.measurement-location-key>div,.nutrition-plan-summary>div,.satiety-food,.plan-detail-stats>div,.plan-detail-day,.plan-detail-bottom-actions,.plan-detail-exercise-row.has-exercise-guide,.routine-import-paste-card,.routine-import-name,.routine-import-skipped,.routine-import-day,.routine-import-exercise,.routine-import-savebar,.plate-calculator-settings,.plate-calculator-settings-toggle,.plate-calculator-plate-options button,.previous-performance,.exercise-recommendation){border-color:var(--line)!important;background:var(--surface-raised)!important;color:var(--text)!important}
:where(.manual-ex-copy strong,.manual-pick-copy strong,.manual-picker-head h3,.builder-heading h3,.builder-field label,.smart-build-choice-title,.smart-review h3,.smart-review h4,.smart-review-day h5,.adaptive-choice strong,.adaptive-rir-choice strong,.plan-detail-day h3){color:var(--heading)!important}
:where(.manual-ex-copy small,.manual-pick-copy small,.manual-picker-head p,.manual-picker-tools,.manual-picker-empty,.manual-day-empty,.smart-build-launcher-head p,.smart-option small,.smart-helper,.smart-review-note,.smart-search-row small,.smart-superset-toggle small,.smart-review-exercise small,.adaptive-choice small,.adaptive-rir-choice small,.adaptive-recommendation p,.plan-detail-day p){color:var(--muted)!important}
.manual-picker-footer{border-color:var(--nav-border)!important;background:var(--nav-bg)!important;color:var(--text)!important;box-shadow:var(--shadow)!important}
.manual-picker-count{background:var(--accent-soft)!important;color:var(--accent-text)!important}
.manual-pick-guide,.manual-pick-mark{border-color:var(--line)!important;background:var(--surface)!important;color:var(--text)!important}
.manual-pick.selected,.exercise-filter-card.selected,.smart-chip.selected,.smart-option.selected{border-color:var(--accent)!important;background:var(--accent-soft)!important;color:var(--accent-text)!important}
.manual-pick.selected .manual-pick-mark{border-color:var(--accent)!important;background:var(--accent)!important;color:var(--accent-contrast)!important}

/* Program Builder branding follows the active appearance theme. */
.smart-build-progress{background:var(--surface-raised)!important}
.smart-build-progress span,.smart-question-number,.smart-build-badge,.smart-review-day p em,.smart-review-exercise em{background:var(--accent)!important;color:var(--accent-contrast)!important}
.smart-build-choice-primary,.smart-volume-grid div.priority,.smart-template-match{border-color:color-mix(in srgb,var(--accent) 40%,var(--line))!important;background:var(--accent-soft)!important}
.smart-coach-context{border-color:color-mix(in srgb,var(--accent) 30%,var(--line))!important;background:var(--accent-soft)!important;color:var(--text)!important}
.smart-coach-context small,.smart-coach-kicker,.smart-template-match>span,.smart-template-match>a{color:var(--accent-text)!important}
.smart-coach-context strong,.smart-coach-build-card h4{color:var(--heading)!important}
.smart-coach-build-card{background:radial-gradient(circle at 50% 28%,var(--accent-soft),transparent 38%),var(--card)!important}
.smart-coach-ring-track{stroke:var(--line)!important}
.smart-coach-ring-progress{stroke:var(--accent)!important;filter:drop-shadow(0 0 7px var(--accent-glow))!important}
.smart-coach-dumbbell path{fill:var(--heading)!important}
.smart-coach-build-status{border-color:var(--line)!important;background:var(--surface-raised)!important;color:var(--text-secondary)!important}
.smart-coach-build-status i{background:var(--accent)!important;box-shadow:0 0 0 0 var(--accent-glow)!important}
.adaptive-beta-badge{border-color:color-mix(in srgb,var(--accent) 46%,var(--line))!important;background:var(--accent-soft)!important;color:var(--accent-text)!important}

.exercise-filter-card{color:var(--muted)!important}
.exercise-filter-card.selected{color:var(--accent-text)!important}
.exercise-filter-custom-icon{color:var(--accent-text)!important}
.exercise-browser-custom-form{border-color:color-mix(in srgb,var(--accent) 32%,var(--line))!important;background:var(--accent-soft)!important}
.exercise-search-group+.exercise-search-group,.exercise-search-custom{border-color:var(--line)!important}
.exercise-search-group-label,.exercise-search-result-meta,.exercise-search-empty{color:var(--muted)!important}
.exercise-search-result,.exercise-search-custom{color:var(--text)!important}
.exercise-search-result:active{background:var(--accent-soft)!important}

.muscle-priority-card{border-color:var(--line)!important;background:var(--surface-raised)!important;color:var(--text)!important}
.muscle-priority-card.selected{border-color:var(--accent)!important;background:var(--accent-soft)!important;box-shadow:inset 0 0 0 1px var(--accent-glow)!important}
.muscle-priority-label{border-color:var(--line)!important;background:color-mix(in srgb,var(--card) 94%,transparent)!important;color:var(--text)!important;text-shadow:none!important}
.muscle-priority-card.selected .muscle-priority-label{border-color:var(--accent)!important;background:color-mix(in srgb,var(--accent-soft) 82%,var(--card))!important;color:var(--accent-text)!important}
.muscle-priority-check{background:var(--accent)!important;color:var(--accent-contrast)!important}
.muscle-priority-card:focus-visible{outline-color:var(--accent)!important}

.training-progress-view .analytics-card:has(#weekly-workouts-chart),.training-progress-view .analytics-card:has(#weekly-workouts-seven-week-chart),.training-progress-view .analytics-card:has(#weekly-sets-chart),#overall-weekly-sets-card,.overall-strength-index-card{border-color:var(--card-border)!important;background:var(--card)!important;color:var(--text)!important;box-shadow:var(--shadow)!important}
#overall-strength-index-chart,#weekly-workouts-chart,#weekly-workouts-seven-week-chart,#weekly-sets-chart,#exercise-strength-chart-v2{border-color:var(--line)!important;background:var(--surface-raised)!important;box-shadow:inset 0 1px 0 color-mix(in srgb,var(--text) 4%,transparent)!important}
.training-progress-view[data-view="exercises"] .exercise-metric-controls button{border-color:var(--line)!important;background:var(--surface-raised)!important;color:var(--muted)!important}
.training-progress-view[data-view="exercises"] .exercise-metric-controls button[aria-pressed="true"]{border-color:var(--accent)!important;background:var(--accent)!important;color:var(--accent-contrast)!important;box-shadow:0 6px 18px var(--accent-glow)!important}
.training-progress-view[data-view="exercises"] .exercise-volume-stat{border-color:var(--line)!important;background:var(--surface-raised)!important;color:var(--text)!important}
.training-progress-view[data-view="exercises"] .exercise-volume-stat span{color:var(--muted)!important}
.training-progress-view[data-view="exercises"] .exercise-volume-stat strong{color:var(--heading)!important}
.training-progress-view[data-view="exercises"] .exercise-volume-stat strong.is-positive{color:var(--success-text)!important}
.training-progress-view[data-view="exercises"] .exercise-volume-stat strong.is-negative{color:var(--warning-text)!important}
.training-progress-view[data-view="exercises"] .exercise-volume-stat small.is-positive,.training-progress-view[data-view="exercises"] .exercise-history-change.is-positive{color:var(--success-text)!important}
.training-progress-view[data-view="exercises"] .exercise-volume-stat small.is-negative,.training-progress-view[data-view="exercises"] .exercise-history-change.is-negative{color:var(--warning-text)!important}
.training-progress-view[data-view="exercises"] .exercise-volume-detail{border:1px solid var(--line)!important;background:var(--surface-raised)!important;color:var(--text-secondary)!important}
.training-progress-view[data-view="exercises"] .exercise-chart-note{color:var(--text-secondary)!important}
.strength-index-summary{border-color:var(--line)!important;background:var(--surface-raised)!important;color:var(--text)!important}
.strength-index-summary__kicker,.training-chart-kicker{color:var(--accent-text)!important}
.strength-index-summary__metrics>strong{color:var(--heading)!important}
.strength-index-summary__change small,.strength-index-summary__context{color:var(--muted)!important}
.strength-index-summary__change.is-positive b{color:var(--success-text)!important}.strength-index-summary__change.is-negative b{color:var(--danger-text)!important}.strength-index-summary__change.is-neutral b{color:var(--text)!important}
#overall-weekly-sets-card .overall-week-bar-wrap{border-color:var(--line)!important;background:var(--surface-raised)!important;box-shadow:inset 0 1px 8px color-mix(in srgb,var(--text) 7%,transparent)!important}
#overall-weekly-sets-card .overall-week-bar{background:linear-gradient(180deg,var(--accent-dark),color-mix(in srgb,var(--accent-dark) 55%,transparent))!important}
#overall-weekly-sets-card .overall-week-column.is-latest .overall-week-bar{background:linear-gradient(180deg,var(--accent),var(--accent-dark))!important;box-shadow:0 0 13px var(--accent-glow)!important}
#overall-weekly-sets-card .overall-week-column.is-latest .overall-week-value,#overall-weekly-sets-card .overall-week-column.is-latest small{color:var(--text)!important}

:where(.drop-set-menu,.session-exercise-swap-panel,.session-smart-option,.session-lifting-note,.session-rep-notes,.session-add-search,.session-add-results>button,.session-superset-current,.session-superset-option,.superset-runtime-banner,.superset-live-cue,.exercise-options-popover,.exercise-timer-popover,.exercise-warmup-panel,.warmup-suggestion-row,.workout-complete-recap__details-card,.workout-complete-recap__insight){border-color:var(--line)!important;background:var(--surface-raised)!important;color:var(--text)!important}
html[data-theme] .session-lifting-note:not(.has-note){border-color:var(--line)!important;background:transparent!important}
:where(.drop-set-menu button,.drop-set-row input,.drop-set-complete,.drop-set-remove,.session-swap-close,.session-swap-field select,.warmup-close-btn,.warmup-load-entry input){border-color:var(--line)!important;background:var(--input-bg)!important;color:var(--text)!important}

/* Theme-safe typography: never allow legacy white/grey text to disappear on light surfaces. */
:where(.section-card,.metric-card,.nutrition-goal-card,.analytics-card,.training-summary-card,.session-exercise-card,.dashboard-habit-card,.cardio-summary-card,.cardio-analytics-card,.weight-chart-card,.activity-calendar-card,.preset-plan-card,.catalogue-plan-card,.schedule-dashboard-card,.performance-dashboard-card,.overall-strength-index-card,.measurement-entry-card,.measurement-progress-card,.nutrition-guide-card,.nutrition-evidence-card,.nutrition-habits-card,.nutrition-hero-card,.bmi-index-card,.photo-journal-card,.plate-calculator-card,.routine-import-paste-card,.smart-question-card,.smart-review) :where(h1,h2,h3,h4,h5,h6){color:var(--heading)!important}
:where(.section-card,.metric-card,.nutrition-goal-card,.analytics-card,.training-summary-card,.session-exercise-card,.dashboard-habit-card,.cardio-summary-card,.cardio-analytics-card,.weight-chart-card,.activity-calendar-card,.preset-plan-card,.catalogue-plan-card,.schedule-dashboard-card,.performance-dashboard-card,.overall-strength-index-card,.measurement-entry-card,.measurement-progress-card,.nutrition-guide-card,.nutrition-evidence-card,.nutrition-habits-card,.nutrition-hero-card,.bmi-index-card,.photo-journal-card,.plate-calculator-card,.routine-import-paste-card,.smart-question-card,.smart-review)>p{color:var(--muted)!important}

#saved-plan-list .preset-plan-card h4{color:var(--heading)!important}
#saved-plan-list .preset-plan-card>p:not(.plan-last-workout){color:var(--text-secondary)!important}
#saved-plan-list .plan-last-workout{color:var(--text-secondary)!important}
#saved-plan-list .template-details{color:var(--muted)!important}
.workout-page .preset-grid .preset-plan-card h4,.catalogue-plan-card h4{color:var(--heading)!important}
.workout-page .preset-grid .preset-plan-card p,.catalogue-plan-card p,.catalogue-equipment{color:var(--muted)!important}

.plan-detail-back{border-color:var(--line)!important;background:var(--surface-raised)!important;color:var(--text)!important}
.plan-detail-header h2,.plan-detail-stats strong,.plan-detail-day-heading h3,.plan-detail-exercise-name,.plan-adapted-source>strong{color:var(--heading)!important}
.plan-detail-header p,.plan-detail-day-heading>strong,.plan-detail-exercise-target,.plan-day-swipe-guide>span,.plan-adapted-source>p{color:var(--text-secondary)!important}
.plan-detail-stats span,.exercise-guide-label,.plan-detail-empty,.plan-day-swipe-guide>strong{color:var(--muted)!important}
.plan-detail-exercise-row{border-color:var(--line)!important}.plan-detail-exercise-thumb{border-color:var(--line)!important;background:linear-gradient(145deg,var(--accent-soft),var(--surface))!important;color:var(--text)!important}
.plan-day-dots button{background:var(--line)!important}.plan-day-dots button.active{background:var(--accent)!important}
.plan-source-link,.plan-source-link:visited{color:var(--accent-text)!important;text-decoration-color:var(--accent)!important}

.smart-review-meta span{color:var(--text)!important}
.smart-review-day summary{border-color:var(--line)!important;color:var(--text)!important}
.smart-review-day summary>strong,.smart-review-day p>strong,.smart-review-exercise strong,.smart-set-breakdown-row strong{color:var(--heading)!important}
.smart-review-day summary>span,.smart-review-day p>span,.smart-review-exercise small,.smart-set-breakdown-row span,.smart-volume-summary span{color:var(--text-secondary)!important}
.smart-review-day p,.smart-review-exercise,.smart-review-day h5,.smart-set-breakdown-row>i{border-color:var(--line)!important}
.smart-review-day p.is-superset,.smart-review-exercise.is-superset{background:var(--accent-soft)!important}
.smart-set-breakdown-heading p{color:var(--muted)!important}

:where(.account-cloud-status strong,.adaptive-flow-screen h2,.adaptive-recovery-legend strong,.adaptive-recommendation strong,.admin-analytics-person-identity strong,.admin-analytics-stat-group-head h4,.admin-workout-source>strong,.admin-analytics-stat-person strong,.restaurant-catalogue h4,.calorie-meal-week-details summary,.calculated-maintenance-card summary,.cardio-summary-card strong,.cardio-week-column>strong,.dashboard-habit-summary b,.dashboard-seven-day-sets-value strong,.dashboard-weight-trend-value strong,.food-portion-loading strong,.custom-food-intro strong,.custom-nutrition-heading strong,.food-portion-preview strong,.food-builder-item-editor>header strong,.food-builder-item-details>summary,.food-builder-item-edit-heading strong,.food-builder-paste>summary,.learn-step-location strong,.measurement-progress-row strong,.nutrition-principle-list strong,.nutrition-plan-summary strong,.plate-calculator-summary strong,.weekly-volume-row-top strong,.frequency-row>strong,.volume-status-card>strong,.session-superset-current strong,.training-summary-title-wrap strong,.unified-active-target strong,.performance-facts strong,.plan-target-map-heading h3,.plan-muscle-breakdown-heading h3,.plan-muscle-breakdown-row strong){color:var(--heading)!important}
:where(.cardio-summary-card span,.cardio-summary-card small,.cardio-week-column>span,.training-summary-title-wrap small,.plan-target-map-heading p,.plan-muscle-breakdown-heading p,.smart-template-match>p,.performance-facts span,.nutrition-plan-summary span,.plate-calculator-summary span){color:var(--text-secondary)!important}

/* Late-loaded Weight & Carbs overlays and insight cards. */
:where(.weight-carbs-info>div,.weight-carbs-info-v2>div,.weight-carbs-tooltip,.weight-carbs-tooltip-v2,.weight-carbs-empty,.weight-carbs-empty-v2){border-color:var(--card-border)!important;background:var(--card)!important;color:var(--text)!important;box-shadow:var(--shadow)!important}
:where(.weight-carbs-info summary,.weight-carbs-info-v2 summary){border-color:var(--line)!important;background:var(--surface-raised)!important;color:var(--text)!important}
:where(.weight-carbs-info strong,.weight-carbs-info-v2 strong,.weight-carbs-tooltip strong,.weight-carbs-tooltip-v2 strong,.weight-carbs-empty strong,.weight-carbs-empty-v2 strong,.weight-carbs-analysis strong,.weight-carbs-analysis-v2 strong){color:var(--heading)!important}
:where(.weight-carbs-info p,.weight-carbs-info-v2 p,.weight-carbs-tooltip span,.weight-carbs-tooltip-v2 span,.weight-carbs-analysis b,.weight-carbs-analysis-v2 b,.weight-carbs-analysis p,.weight-carbs-analysis-v2 p){color:var(--text-secondary)!important}
:where(.weight-carbs-info small,.weight-carbs-info-v2 small,.weight-carbs-tooltip small,.weight-carbs-tooltip-v2 small,.weight-carbs-empty p,.weight-carbs-empty-v2 p,.weight-carbs-analysis small,.weight-carbs-analysis-v2 small,.weight-carbs-legend,.weight-carbs-legend-v2,.weight-carbs-interaction-note,.weight-carbs-interaction-note-v2){color:var(--muted)!important}
:where(.weight-carbs-analysis,.weight-carbs-analysis-v2){border-color:color-mix(in srgb,var(--accent) 28%,var(--line))!important;background:var(--accent-soft)!important;color:var(--text)!important}
:where(.weight-carbs-chart-shell,.weight-carbs-chart-shell-v2){border-color:var(--line)!important}
#weight-progress :where(.weight-carbs-chart-shell,.weight-carbs-chart-shell-v2)::before{background:var(--surface-raised)!important;color:var(--muted)!important}

/* Learn Level Up is loaded on demand after the main theme stylesheet. */
.learn-progress-card,.learn-lesson-list,.learn-step-card{border-color:var(--card-border)!important;background:var(--card)!important;color:var(--text)!important;box-shadow:var(--shadow)!important}
.learn-lesson-row{border-color:var(--line)!important;background:transparent!important;color:var(--text)!important}
.learn-lesson-row:active{background:var(--accent-soft)!important}
.learn-header h2,.learn-progress-card strong,.learn-lesson-copy strong,.learn-step-card h3,.learn-step-location strong{color:var(--heading)!important}
.learn-header p,.learn-progress-card span,.learn-lesson-copy small,.learn-step-card p{color:var(--text-secondary)!important}
.learn-lesson-copy>span,.learn-lesson-state{color:var(--muted)!important}
.learn-lesson-row.is-complete .learn-lesson-state{color:var(--success)!important}
.learn-progress-track,.learn-step-dots i{background:var(--line)!important}
.learn-progress-track i,.learn-step-dots i.active{background:linear-gradient(90deg,var(--accent),var(--accent-text))!important}
.learn-lesson-icon,.learn-step-visual{border-color:color-mix(in srgb,var(--accent) 34%,var(--line))!important;background:var(--accent-soft)!important;color:var(--accent-text)!important}
.learn-step-location{border-color:color-mix(in srgb,var(--success) 30%,var(--line))!important;background:color-mix(in srgb,var(--success) 8%,var(--card))!important}

/* Activity Calendar shell, calendar card, and selected-day event cards. */
.activity-calendar-page{background:var(--body-background)!important;color:var(--text)!important}
.activity-calendar-header h1,.activity-calendar-month-controls label{color:var(--heading)!important}
.activity-calendar-back,.activity-calendar-month-controls>button,.activity-calendar-month-controls label{border-color:var(--line)!important;background:var(--surface-raised)!important;color:var(--text)!important}
.activity-calendar-card,.activity-calendar-details{border-color:var(--card-border)!important;background:var(--card)!important;color:var(--text)!important;box-shadow:var(--shadow)!important}
.activity-calendar-weekdays,.activity-calendar-legend{border-color:var(--line)!important;color:var(--muted)!important}
.activity-calendar-day{color:var(--text-secondary)!important}
.activity-calendar-day.is-today:not(.is-selected)>span{background:var(--surface-raised)!important;color:var(--heading)!important;box-shadow:inset 0 0 0 1px var(--line)!important}
.activity-calendar-day.is-selected>span{background:var(--accent-soft)!important;color:var(--heading)!important;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 46%,var(--line)),0 3px 12px var(--accent-glow)!important}
.activity-calendar-detail-head{color:var(--accent-text)!important}
.activity-calendar-event{border-color:var(--line)!important;background:var(--surface-raised)!important;color:var(--text)!important}
.activity-calendar-event strong,.activity-calendar-empty strong{color:var(--heading)!important}
.activity-calendar-event small,.activity-calendar-empty span{color:var(--muted)!important}
.activity-calendar-event-meta{color:var(--text-secondary)!important}

/* Cardio is a training metric, so its charts use the selected theme accent. */
.cardio-range-tabs{border-color:var(--line)!important;background:var(--surface-raised)!important}
.cardio-range-tabs button{color:var(--muted)!important}
.cardio-range-tabs button.active{background:var(--accent)!important;color:var(--accent-contrast)!important}
.cardio-week-track,.cardio-activity-track{border-color:var(--line)!important;background:var(--surface-raised)!important}
.cardio-week-track i{background:linear-gradient(180deg,var(--accent),var(--accent-dark))!important;box-shadow:0 0 15px var(--accent-glow)!important}
.cardio-activity-track i{background:linear-gradient(90deg,var(--accent-dark),var(--accent))!important}
.cardio-trend-axis,.cardio-chart-empty,.cardio-activity-row span,.cardio-recent-row span{color:var(--muted)!important}

/* Form Guides can inject their anatomy, video, and instruction styles after this sheet. */
.exercise-guide-screen{background:var(--bg)!important;color:var(--text)!important}
.exercise-guide-header h2,.exercise-guide-section h3,.exercise-muscle-card strong,.exercise-guide-anatomy-overview figcaption strong,.exercise-guide-video-label strong{color:var(--heading)!important}
.exercise-guide-header p,.exercise-guide-step-note,.exercise-guide-fallback-note,.exercise-guide-anatomy-overview figcaption small,.exercise-guide-video-label span{color:var(--text-secondary)!important}
.exercise-guide-section,.exercise-guide-hero-figure,.exercise-guide-video-card{border-color:var(--card-border)!important;background:var(--card)!important;color:var(--text)!important;box-shadow:var(--shadow)!important}
.exercise-muscle-card,.exercise-guide-anatomy-tile{border-color:var(--line)!important;background:var(--surface-raised)!important;color:var(--text)!important}
.exercise-muscle-image-frame,.exercise-guide-anatomy-tile .form-guide-muscle-svg,.exercise-guide-anatomy-tile>img,.exercise-guide-hero-figure>img,.exercise-guide-video-card video{background:var(--surface)!important}
.exercise-guide-section li{color:var(--text)!important}
.exercise-guide-back{border-color:var(--line)!important;background:var(--surface-raised)!important;color:var(--text)!important}
.exercise-cue-list span{border-color:color-mix(in srgb,var(--accent) 34%,var(--line))!important;background:var(--accent-soft)!important;color:var(--accent-text)!important}
.exercise-muscle-card>span.primary{background:color-mix(in srgb,var(--danger) 14%,var(--surface-raised))!important;color:var(--danger-text)!important}
.exercise-muscle-card>span.secondary{background:color-mix(in srgb,var(--warning) 14%,var(--surface-raised))!important;color:var(--warning-text)!important}
.exercise-guide-anatomy-tile small.primary{color:var(--danger-text)!important}.exercise-guide-anatomy-tile small.secondary{color:var(--warning-text)!important}
.exercise-guide-screen .form-guide-muscle-highlight{fill:var(--danger)!important;stroke:var(--danger)!important;filter:drop-shadow(0 0 8px color-mix(in srgb,var(--danger) 34%,transparent))!important}
html[data-theme-mode="light"] .exercise-guide-screen .form-guide-anatomy-base{opacity:.86!important}

/* The calendar is a fixed overlay, so its shell must carry the selected mode itself. */
html[data-theme-mode="light"] .activity-calendar-page{background:var(--bg)!important;color:var(--text)!important}
html[data-theme-mode="dark"] .activity-calendar-page{background:var(--body-background)!important;color:var(--text)!important}

/* Contrast-safe Weight Trend, Weight + Carbs, and Weight + Calories controls. */
#weight-progress :where(.weight-point-tooltip,.weight-calories-tooltip,.weight-calories-info>div){border-color:var(--card-border)!important;background:var(--card)!important;color:var(--text)!important;box-shadow:var(--shadow)!important}
#weight-progress :where(.weight-point-tooltip strong,.weight-calories-tooltip strong,.weight-calories-info strong){color:var(--heading)!important}
#weight-progress :where(.weight-point-tooltip span,.weight-calories-tooltip span,.weight-calories-info p){color:var(--text-secondary)!important}
#weight-progress :where(.weight-point-tooltip b,.weight-calories-info small){color:var(--muted)!important}
#weight-progress .weight-calories-tooltip .is-calorie-value{color:var(--danger-text)!important}
#weight-progress .weight-calories-info summary{border-color:var(--line)!important;background:var(--surface-raised)!important;color:var(--text)!important}
#weight-progress :where(.weight-chart-range-control,.weight-graph-carousel-pager-v2){border-color:var(--line)!important;background:var(--surface-raised)!important}
#weight-progress :where(.weight-chart-range-control button,.weight-graph-carousel-pager-v2 button){color:var(--muted)!important}
#weight-progress :where(.weight-chart-range-control button[aria-pressed="true"],.weight-graph-carousel-pager-v2 button[aria-pressed="true"]){border-color:var(--accent)!important;background:var(--accent)!important;color:var(--accent-contrast)!important}
#weight-progress :where(.weight-chart-card .chart-header p,.weight-chart-period-stat small,.weight-chart-period-dates,.weight-calories-head p,.weight-calories-legend,.weight-calories-note){color:var(--muted)!important}
#weight-progress :where(.weight-chart-card .chart-header h3,.weight-calories-head h3){color:var(--heading)!important}
#weight-progress .weight-calories-chart-shell{border-color:var(--line)!important}

/* Explicit Form Guide typography guardrail for Arctic and the other light palettes. */
html[data-theme-mode="light"] .exercise-guide-screen :where(h2,h3,strong){color:var(--heading)!important}
html[data-theme-mode="light"] .exercise-guide-screen :where(p,li){color:var(--text-secondary)!important}
html[data-theme-mode="light"] .exercise-guide-screen :where(small,.exercise-guide-step-note,.exercise-guide-fallback-note){color:var(--muted)!important}
html[data-theme-mode="light"] .exercise-guide-screen :where(ol,ul) li::marker{color:var(--accent-text)!important}
html[data-theme="arctic"] .exercise-guide-screen :where(h1,h2,h3,h4,strong,b,label,legend){color:var(--heading)!important}
html[data-theme="arctic"] .exercise-guide-screen :where(p,li,figcaption){color:var(--text-secondary)!important}
html[data-theme="arctic"] .exercise-guide-screen :where(small,.exercise-guide-step-note,.exercise-guide-fallback-note){color:var(--muted)!important}

/* The logger's optional RIR controls use the active palette instead of fixed black buttons. */
.workout-session-logger :where(.adaptive-rir-toggle,.adaptive-info-button){border-color:var(--line)!important;background:var(--surface-raised)!important;color:var(--text)!important}
.workout-session-logger .adaptive-rir-toggle span{color:var(--muted)!important}
.workout-session-logger .adaptive-rir-row>strong{color:var(--text-secondary)!important}
.workout-session-logger .adaptive-rir-choice.selected{border-color:var(--accent)!important;background:var(--accent)!important;color:var(--accent-contrast)!important}
.adaptive-info-sheet h3{color:var(--heading)!important}
.adaptive-info-sheet p,.adaptive-info-sheet p b{color:var(--text-secondary)!important}
.adaptive-info-sheet .adaptive-info-scale>div{border:1px solid var(--line)!important;background:var(--surface-raised)!important;color:var(--text)!important}
.adaptive-info-sheet .adaptive-info-scale strong{color:var(--heading)!important}
.adaptive-info-sheet .adaptive-info-scale span{color:var(--text-secondary)!important}

.appearance-home-icons{margin-top:18px;padding:18px;border:1px solid var(--card-border);border-radius:20px;background:var(--card);box-shadow:var(--shadow)}
.appearance-home-icons header small{color:var(--accent-text);font-size:10px;font-weight:900;letter-spacing:.13em}
.appearance-home-icons header h3{margin:5px 0 6px;color:var(--heading)}
.appearance-home-icons header p{margin:0;color:var(--text-secondary);font-size:13px;line-height:1.45}
.appearance-home-icon-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin-top:15px}
.appearance-home-icon{position:relative;display:grid;gap:6px;justify-items:center;min-width:0;padding:7px 5px 9px;border:1px solid var(--line);border-radius:14px;background:var(--surface-raised);color:var(--text);font:inherit}
.appearance-home-icon img{display:block;width:100%;aspect-ratio:1;border-radius:11px;object-fit:cover}
.appearance-home-icon strong{overflow:hidden;width:100%;color:var(--heading);font-size:10px;text-align:center;text-overflow:ellipsis;white-space:nowrap}
.appearance-home-icon>span{position:absolute;top:3px;right:3px;display:none;place-items:center;width:20px;height:20px;border:2px solid var(--card);border-radius:50%;background:var(--accent);color:var(--accent-contrast);font-size:10px;font-weight:950}
.appearance-home-icon.is-selected{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft)}
.appearance-home-icon.is-selected>span{display:grid}
@media(max-width:390px){.appearance-home-icon-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
