/* Text stays darker than the pastel decoration, across all six worlds. */
:root{--muted:#62596e;--readable-muted:#5e526b;--readable-warm:#695335;--readable-green:#4d6345;--readable-pink:#705062;color-scheme:light}
body :is(.week-day:not(.selected),.day-count,.filters button:not(.active),.task-time,.task-meta,.task-note,.day-order-bar,.day-footer,.next-eyebrow,.next-date,.tomorrow-sub,.preview-top,.add-plan,.tomorrow-add,.empty-state,.demo-note,.app-footer,.app-footer button,.dialog-eyebrow,.optional-label,.sticker-placeholder,.sticker-hint,.heat-option small,.atmosphere-description,.atmosphere-neutral,.sample-caption,.sample-storm .sample-caption,.sample-pleasant .sample-caption){color:var(--readable-muted)}
body :is(.memory-label>span,.memory-copy>span:last-child,.memory-year-number small,.memory-year-copy small,.memory-editor-date,#memory-day-context,#memory-day-context small){color:var(--readable-muted)}
body .task-row.done .task-copy h3{color:#665b71}
body :is(.movement-mini-copy>span,.movement-mini-copy p,.movement-mini-action small,.movement-hero p,.movement-hero small,#movement-setup p,.movement-day-heading p,#movement-record-fields legend span,#movement-lock-note,.movement-review p,.movement-totals span,#movement-story,.movement-week button,.movement-week button.moved,.movement-week button.rested,.movement-journey>small,.movement-history summary,.movement-settings summary,.movement-history button,.movement-history p,.movement-settings p,.movement-footnote,.movement-storage){color:var(--readable-muted)}
body :is(.goodness-mini-heading span,.goodness-mini-heading p,#goodness-count,#goodness-total,.goodness-mini-footer button,#goodness-dialog-count,#goodness-reaction,#goodness-settings-open,.goodness-bottom>span,#goodness-praise-copy,#goodness-praise-list li,.goodness-praise-actions .text-button,#goodness-settings-dialog p,.good-setting-row>button,.goodness-settings-tools .text-button,.goodness-settings-tools>span,.goodness-praise-banner,#goodness-preview,.goodness-reassurance){color:var(--readable-warm)}
body .goodness-soft-note{color:var(--readable-warm)!important}
body :is(.pet-dock-copy small,.pet-popup-close,.pet-popup-eyebrow,.pet-small-actions button,#pet-dialog .dialog-eyebrow,#pet-current,.pet-level small,.pet-manage button){color:var(--readable-green)}
body .pet-limits{color:var(--readable-green)!important}
body :is(#cheers-dialog .dialog-eyebrow,.cheers-hero small,.cheers-settings p,.cheers-settings [role=status],.cheers-collection-heading span,.cheers-empty,.cheer-entry time,.cheer-entry-actions button,.cheers-storage-note,.cheers-popup-close,#cheers-popup-kicker,.cheers-popup>small,.cheers-popup-actions button:last-child){color:var(--readable-pink)}
body :is(.guide-aside,.guide-field>span,.guide-ideas small,.guide-first-note,.guide-blank,.guide-speech>b,.settings-footer>span,.home-layout-toolbar>span,.home-plans-place,.home-size-label,.account-muted,.account-backup small){color:var(--readable-muted)}
body .memory-footnote{color:var(--readable-muted)!important}
body dialog>p{color:var(--readable-muted)}
body :is(input,textarea)::placeholder{color:#6e6378;opacity:1}
body :is(.atmosphere-badge.cooled,.heat-badge.cooled){color:#65516f}
body .task-row.done .complete-task{background:#725c8b;border-color:#725c8b;color:white}
body :is(.complete-task,.task-drag-handle,.move-task,.sticker-add,.atmosphere-toggle){color:#715a85}
body .complete-task{border-color:#80678f}
body kbd{opacity:1}
/* Both foreground and surface are explicit for native fields and dark chrome. */
body select,body select option{background:#fff;color:var(--ink)}
body[data-theme]:not([data-theme=original]) .topbar :is(.motion-toggle,#settings-mobile-open):hover{background:#ffffff25;color:#fff}
body[data-theme]:not([data-theme=original]) :is(.goodness-card,.movement-card) :is(p,small,.goodness-mini-heading span,#goodness-count,#goodness-total){color:var(--theme-muted)}
body :is(#atmosphere-gallery,#memory-save-status,#account-person,#companion-sub,#mascot-caption){color:var(--readable-muted)}
body .goodness-reassurance p{color:var(--readable-warm)}
/* A user may choose a very dark accent for Original. Its tinted cards still
   need dark, readable labels; keep the chosen color in the surface itself. */
body[data-theme=original][data-personal-theme=custom] :is(.companion,.guide-speech,.guide-summary) :is(p,small,b,.companion-label,.progress-line,#mascot-caption){color:#403248}
body[data-theme] :is(input,textarea,select):not([type=checkbox]):not([type=radio]):not([type=color]){border-color:#877590}
body[data-theme] :is(button,input,textarea,select):focus-visible{outline:3px solid #6c4f8c;outline-offset:3px}
body[data-theme]:not([data-theme=original]) :is(.rail,.topbar) :is(button,a):focus-visible{outline-color:#f3d890}
body[data-theme=original] :is(.motion-toggle,.save-state,.companion-label,.progress-line){color:var(--readable-muted)}
