/* ===== light theme: generated overrides (gen-theme.py) ===== */
html[data-theme="light"] {
  --bg: #edf0f4;
  --surface: #ffffff;
  --card: #ffffff;
  --card-2: #f0f1f6;
  --line: rgba(20, 22, 30, 0.10);
  --text: #17171c;
  --muted: #5b5f68;
  color-scheme: light;
}
html[data-theme="light"] .ach-card { background: #e9ebf1; }
html[data-theme="light"] .ach-card.earned .ach-name { color: #17171c; }
html[data-theme="light"] .ach-desc { color: #5b5f68; }
html[data-theme="light"] .ach-error { color: #5b5f68; }
html[data-theme="light"] #ach-locked { background: #e9ebf1; }
html[data-theme="light"] #ach-locked p { color: #5b5f68; }
html[data-theme="light"] .ach-modal-card { background: #e9ebf1; }
html[data-theme="light"] .ach-modal-desc { color: #5b5f68; }
html[data-theme="light"] .cp-name { color: #17171c; }
html[data-theme="light"] .cp-card { color: #17171c; }
html[data-theme="light"] .pr-type { background: var(--card, #ffffff); }
html[data-theme="light"] .pr-celebrate b { color: #17171c; }
html[data-theme="light"] .streak-card { background: var(--card, #ffffff); }
html[data-theme="light"] .onerm-card { background: var(--card, #ffffff); }
html[data-theme="light"] .onerm-inputs input { background: var(--card-2, #f0f1f6); }
html[data-theme="light"] .onerm-max b { color: #17171c; }
html[data-theme="light"] .onerm-row .bar { background: var(--card-2, #f0f1f6); }
html[data-theme="light"] .featB-card input[type="text"], html[data-theme="light"] .featB-card input[type="number"], html[data-theme="light"] .featB-card input[type="date"], html[data-theme="light"] .featB-card input[type="time"], html[data-theme="light"] .featB-card select { background: #e8eaf0; }
html[data-theme="light"] .featB-qbtn { background: #e8eaf0; }
html[data-theme="light"] .featB-item { background: #e8eaf0; }
html[data-theme="light"] .featB-chart { background: #e8eaf0; }
html[data-theme="light"] .featB-latest span { background: #e8eaf0; }
html[data-theme="light"] .featC-card { background: var(--card, #ffffff); }
html[data-theme="light"] .wreport-card { background: var(--card-2, #f0f1f6); }
html[data-theme="light"] #featC-ready-sec .sensor-lock, html[data-theme="light"] #featC-deload-sec .sensor-lock, html[data-theme="light"] #featC-wreport-sec .sensor-lock { background: var(--card, #ffffff); }
html[data-theme="light"] .lab-form input { border: 1px solid var(--border, #dfe1e7); background: var(--input-bg, #e8eaf0); }
html[data-theme="light"] .lab-verdict-hard { background: #e6f4ea; }
html[data-theme="light"] .lab-verdict-light { background: #f5f0dc; }
html[data-theme="light"] .lab-verdict-rest { background: #fbe9e7; }
html[data-theme="light"] .lf-card { background: #ffffff; color: #17171c; }
html[data-theme="light"] .lf-select { background: #e8eaf0; color: #17171c; }
html[data-theme="light"] .lf-btn-ghost { background: #e8eaf0; color: #17171c; }
html[data-theme="light"] .lf-btn-ghost:active { background: #e8eaf0; }
html[data-theme="light"] .lf-pill { background: #e8eaf0; color: #17171c; }
html[data-theme="light"] .lf-mode-btn { background: #e8eaf0; }
html[data-theme="light"] .lf-metric { background: #e8eaf0; }
html[data-theme="light"] .lf-reps { color: #17171c; }
html[data-theme="light"] .lf-sum-cell { background: #e8eaf0; }
html[data-theme="light"] .fscan-mini { color: #17171c; }
html[data-theme="light"] .scan-box { background: #edf0f4; }
html[data-theme="light"] .scan-close:active { color: #17171c; }
html[data-theme="light"] .scan-manual-row input { background: #edf0f4; color: #17171c; }
html[data-theme="light"] .scan-grade { color: #17171c; }
html[data-theme="light"] .scan-grade-label b { color: #17171c; }
html[data-theme="light"] .scan-nutri { background: #edf0f4; }
html[data-theme="light"] .scan-nova { background: #edf0f4; }
html[data-theme="light"] .scan-info-btn:active { color: #17171c; }
html[data-theme="light"] .scan-about-title { color: #17171c; }
html[data-theme="light"] .scan-about-body p { color: #4c5058; }
html[data-theme="light"] .scan-about-body p b { color: #17171c; }
html[data-theme="light"] .mm-refresh { color: #17171c; }
html[data-theme="light"] .photo-compare-btn { background: #e8eaf0; border: 1px solid #dfe1e7; color: #17171c; }
html[data-theme="light"] .cmp-close { background: #e8eaf0; border: 1px solid #dfe1e7; color: #17171c; }
html[data-theme="light"] .cmp-pick select { background: #ffffff; border: 1px solid #dfe1e7; color: #17171c; }
html[data-theme="light"] .cmp-stage { border: 1px solid #dfe1e7; }
html[data-theme="light"] .tab { color: #5b5f68; }
html[data-theme="light"] .promo-row input { background: #edf0f4; color: #17171c; }
html[data-theme="light"] .sheet-overlay { background: var(--bg, #edf0f4); }
html[data-theme="light"] .referral-link { background: #edf0f4; }
html[data-theme="light"] .rs-sheet { background: #ffffff; border-top: 1px solid #dfe1e7; }
html[data-theme="light"] .rs-grip { background: #e8eaf0; }
html[data-theme="light"] .rs-title { color: #17171c; }
html[data-theme="light"] .rs-label { color: #4c5058; }
html[data-theme="light"] .rs-input { background: #ffffff; border: 1px solid #dfe1e7; color: #17171c; }
html[data-theme="light"] .rs-cancel { background: #e8eaf0; color: #4c5058; }
html[data-theme="light"] .rt-fab { background: #e8eaf0; color: #17171c; }
html[data-theme="light"] .rt-card { background: #ffffff; border: 1px solid #dfe1e7; }
html[data-theme="light"] .rt-label { color: #5b5f68; }
html[data-theme="light"] .rt-time { color: #17171c; }
html[data-theme="light"] .rt-presets button { border: 1px solid #dfe1e7; background: #e8eaf0; color: #5b5f68; }
html[data-theme="light"] .rt-presets button.on { color: #17171c; background: #fbe9e7; }
html[data-theme="light"] .rt-actions .btn-ghost { color: #5b5f68; border: 1px solid #dfe1e7; }
html[data-theme="light"] .rw-card { background: var(--card-bg, #ffffff); border: 1px solid var(--border, #dfe1e7); }
html[data-theme="light"] .rw-divider { border-top: 1px solid var(--border, #dfe1e7); }
html[data-theme="light"] .rw-reward { border-bottom: 1px solid var(--border, #dfe1e7); }
html[data-theme="light"] .set-card { background: #ffffff; border: 1px solid #dfe1e7; }
html[data-theme="light"] .set-title { color: #17171c; }
html[data-theme="light"] .set-label { color: #4c5058; }
html[data-theme="light"] .set-input { background: #ffffff; border: 1px solid #dfe1e7; color: #17171c; }
html[data-theme="light"] .set-row b { color: #17171c; }
html[data-theme="light"] .set-switch { border: 1px solid #dfe1e7; background: #e8eaf0; }
html[data-theme="light"] .set-knob { background: #b9bdc6; }
html[data-theme="light"] .set-switch[aria-checked="true"] { background: #fbe9e7; }
html[data-theme="light"] .set-profile { background: #ffffff; border: 1px solid #dfe1e7; }
html[data-theme="light"] .set-id b { color: #17171c; }
html[data-theme="light"] .set-id small { color: #5b5f68; }
html[data-theme="light"] .set-mbadge { color: #5b5f68; border: 1px solid #dfe1e7; }
html[data-theme="light"] .sk-avatar-btn { background: #ffffff; }
html[data-theme="light"] .sk-bubble { background: #e8eaf0; border: 1px solid #dfe1e7; color: #17171c; }
html[data-theme="light"] .sk-chat { background: #edf0f4; border: 1px solid #dfe1e7; }
html[data-theme="light"] .sk-chat-head { border-bottom: 1px solid #dfe1e7; background: #ffffff; }
html[data-theme="light"] .sk-chat-id b { color: #17171c; }
html[data-theme="light"] .sk-chat-id small { color: #5b5f68; }
html[data-theme="light"] .sk-chat-x { color: #5b5f68; }
html[data-theme="light"] .sk-chat-x:active { color: #17171c; }
html[data-theme="light"] .sk-assistant { background: #e8eaf0; border: 1px solid #dfe1e7; color: #17171c; }
html[data-theme="light"] .sk-typing span { background: #b9bdc6; }
html[data-theme="light"] .sk-chat-bar { border-top: 1px solid #dfe1e7; background: #ffffff; }
html[data-theme="light"] .sk-chat-bar input { background: #ffffff; border: 1px solid #dfe1e7; color: #17171c; }
html[data-theme="light"] .sk-preview { background: #ffffff; border: 1px solid #dfe1e7; }
html[data-theme="light"] .sk-preview b { color: #17171c; }
html[data-theme="light"] .sk-arch { background: #ffffff; border: 2px solid #dfe1e7; color: #17171c; }
html[data-theme="light"] .sk-vibe { background: #ffffff; border: 2px solid #dfe1e7; color: #17171c; }
html[data-theme="light"] .sk-vibe small { color: #5b5f68; }
html[data-theme="light"] .skel-card { background: var(--card, #ffffff); }
html[data-theme="light"] .hero-head { color: #17171c; }
html[data-theme="light"] .join-dismiss:active { color: #17171c; }
html[data-theme="light"] .fw-stat b { color: #17171c; }
html[data-theme="light"] .fw-tab.on { background: #e8eaf0; }
html[data-theme="light"] #uo-install-banner { background: #ffffff; }
html[data-theme="light"] #uo-install-banner .ib-text b { color: #17171c; }
html[data-theme="light"] #uo-install-ios-hint { background: #ffffff; }
html[data-theme="light"] #uo-install-ios-hint b { color: #17171c; }
html[data-theme="light"] #boot-splash .splash-word { color: #17171c; }
html[data-theme="light"] #uo-boot-error { background: #fbe9e7; color: #17171c; }
html[data-theme="light"] .seg-wrap { background: var(--bg, #edf0f4); }
html[data-theme="light"] .seg { background: var(--card, #ffffff); }
html[data-theme="light"] .more-row { background: var(--card, #ffffff); }
html[data-theme="light"] #uo-toast { background: #e8eaf0; }
html[data-theme="light"] .cmodal-sheet { background: var(--card, #ffffff); }
html[data-theme="light"] .cmodal-btn { background: var(--card-2, #f0f1f6); }
html[data-theme="light"] .track-hero-head { color: #17171c; }
html[data-theme="light"] .output-stat b { color: #17171c; }
html[data-theme="light"] .plan-block-text h3 { color: #17171c; }
html[data-theme="light"] .plan-inputs > h3 { color: #17171c; }
html[data-theme="light"] .live-map { background: #edf0f4; }
html[data-theme="light"] .ta-timer { color: #17171c; }
html[data-theme="light"] .ta-btn { background: #e8eaf0; }
html[data-theme="light"] .done-panel h3 { color: #17171c; }
html[data-theme="light"] .vc-card { background: #ffffff; color: #17171c; }
html[data-theme="light"] .vc-switch { background: #ffffff; }
html[data-theme="light"] .vc-switch .vc-knob { background: #b9bdc6; }
html[data-theme="light"] .vc-seg { background: #e8eaf0; }

/* ===== light theme: manual fixes ===== */
html[data-theme="light"] body { background: var(--bg); }
html[data-theme="light"] .set-mbadge { background: rgba(0,0,0,0.05); border-color: #dfe1e7; }
html[data-theme="light"] .sheet-overlay { background: rgba(237,240,244,0.98); }
html[data-theme="light"] .ach-card.locked { background: #f0f1f6; }
html[data-theme="light"] input::placeholder, html[data-theme="light"] textarea::placeholder { color: #9aa0ab; }
html[data-theme="light"] img, html[data-theme="light"] video, html[data-theme="light"] iframe { filter: none; }
html[data-theme="light"] .btn-red, html[data-theme="light"] .set-btn.btn-red { color: #fff; }
html[data-theme="light"] .seg-btn.on { color: #fff; }

