/* Overview controls use app typography; long-form reading lives in the reader. */
.home-remember { margin:28px 24px; padding:24px 0; border-block:1px solid var(--today-rule); }
.home-remember[hidden] { display:none; }
.home-remember h2 { margin-bottom:16px; color:var(--today-mint); font:500 calc(12px * var(--font-scale))/1.5 system-ui,sans-serif; }
.home-remember blockquote { margin:0 0 12px; font:400 calc(20px * var(--font-scale))/1.6 Lora,Georgia,serif; color:var(--today-ink); overflow-wrap:anywhere; }
.home-remember-date { color:var(--today-muted); font:400 calc(12px * var(--font-scale))/1.5 system-ui,sans-serif; }
#shell #screenHome :is(.home-pattern-preview,.ux-next-action) { grid-template-columns:56px minmax(0,1fr) 20px; }
#shell #screenHome :is(.home-pattern-icon,.ux-next-action > .ux-next-icon) { width:56px; height:48px; background:transparent; border-radius:0; }
#screenHome :is(.home-pattern-icon,.ux-next-icon) img { display:block; width:56px; height:48px; object-fit:contain; }
#screenHome {
  --today-bg:var(--reflection-bg);
  --today-ink:var(--reflection-ink);
  --today-muted:var(--reflection-muted);
  --today-rule:var(--reflection-rule);
  --today-action:var(--reflection-action);
  --today-mint:var(--reflection-mint);
  background:var(--today-bg);
  color:var(--today-ink);
}
body.echo-light #screenHome {
  --today-bg:#fafafa;
  --today-ink:#252329;
  --today-muted:#625d69;
  --today-rule:#dedbe1;
  --today-action:#674483;
  --today-mint:#256a5b;
}
body.echo-hc #screenHome, body.echo-hc2 #screenHome, body.echo-hc3 #screenHome {
  --today-muted:var(--text-mid);
  --today-rule:var(--glass-b);
}
#screenHome .scroll-area { padding-bottom:24px; }
#shell #screenHome .home-header { padding:24px 24px 0; gap:16px; align-items:flex-start; }
#screenHome .home-header > div { min-width:0; flex:1; }
#screenHome .home-wordmark { margin-bottom:12px; font:650 19px/1.4 system-ui,sans-serif; color:var(--today-ink); }
#shell #screenHome .home-greeting { display:inline; font:400 calc(13px * var(--font-scale))/1.6 system-ui,sans-serif; color:var(--today-muted); }
#shell #screenHome .home-name { display:inline; font:600 calc(13px * var(--font-scale))/1.6 system-ui,sans-serif; color:var(--today-ink); overflow-wrap:anywhere; }
#screenHome .home-header .ux-icon-button { background:none; border:1px solid var(--today-rule); color:var(--today-muted); border-radius:8px; flex-shrink:0; }
#screenHome .home-writing { margin:20px 0 0; padding:24px; border-block:1px solid var(--today-rule); background:#24212b; }
body.echo-light #screenHome .home-writing { background:#f0edf5; }
#screenHome .home-prompt-icon { display:grid; place-items:center; width:36px; height:36px; margin-bottom:16px; border-radius:8px; background:#44332f; color:#f1b6a0; }
body.echo-light #screenHome .home-prompt-icon { background:#f3ddd5; color:#934b38; }
#screenHome .home-prompt-art { width:144px; height:96px; margin:0 0 12px; }
#screenHome .home-prompt-art img { display:block; width:100%; height:100%; object-fit:contain; }
#shell #screenHome .impulse { display:block; width:100%; margin:0 0 24px; padding:0; border:0; background:none; }
#shell #screenHome .imp-tag { margin-bottom:12px !important; color:var(--today-muted); font:500 calc(12px * var(--font-scale))/1.5 system-ui,sans-serif; }
#shell #screenHome .imp-txt { max-width:25ch; font:600 calc(24px * var(--font-scale))/1.4 system-ui,sans-serif; color:var(--today-ink); overflow-wrap:anywhere; }
#screenHome .impulse-edit { display:none; }
#shell #screenHome .home-write-primary { display:flex; align-items:center; justify-content:center; gap:10px; width:100%; max-width:100%; min-height:48px; margin:0; padding:12px 18px; border-radius:8px; background:var(--today-action); color:#fff; font:600 calc(14px * var(--font-scale))/1.5 system-ui,sans-serif; white-space:normal; }
#screenHome .home-write-primary span { min-width:0; overflow-wrap:anywhere; }
#screenHome .home-write-primary svg { flex-shrink:0; }
#screenHome .home-writing .home-write-primary:active { background:#53376d; }
#screenHome #homeSaveResult:not([hidden]) ~ .home-writing { margin:0 24px; padding:0 0 24px; border-top:0; background:none; }
#shell #screenHome #homeSaveResult:not([hidden]) ~ .home-writing .impulse { display:none; }
#shell #screenHome #homeSaveResult:not([hidden]) ~ .home-writing .home-write-primary { background:none; border:0; padding:8px 0; color:var(--today-muted); justify-content:flex-start; }
#screenHome .ux-save-result { margin:28px 24px 8px; padding:0; border:0; }
#screenHome .ux-save-result h2 { margin:0 0 16px; color:var(--today-mint); font:500 calc(12px * var(--font-scale))/1.5 system-ui,sans-serif; }
#screenHome .ux-save-result .ux-saved-title { margin:0 0 12px; font:400 calc(26px * var(--font-scale))/1.4 Lora,Georgia,serif; color:var(--today-ink); }
#screenHome .ux-saved-excerpt { margin:0 0 24px; color:var(--today-muted); font:400 calc(16px * var(--font-scale))/1.75 Lora,Georgia,serif; overflow-wrap:anywhere; }
#screenHome .ux-saved-prompt { padding:16px 0 0; margin:0 0 12px; border:0; border-top:1px solid var(--today-rule); }
#screenHome .ux-saved-prompt span { color:var(--today-muted); }
#screenHome .ux-saved-prompt p { color:var(--today-ink); font:500 calc(15px * var(--font-scale))/1.6 system-ui,sans-serif; }
#screenHome .ux-journey-actions { gap:0 16px; }
#screenHome .ux-text-button { color:var(--today-muted); font:500 calc(13px * var(--font-scale))/1.5 system-ui,sans-serif; min-height:44px; }
#screenHome .ux-save-done { display:block; min-height:48px; margin:8px 0 0; padding:12px 18px; border:0; border-radius:8px; background:var(--today-action); color:#fff; font:600 calc(14px * var(--font-scale))/1.5 system-ui,sans-serif; cursor:pointer; }
#screenHome .ux-next-options { margin:24px 24px 0; }
#screenHome .home-pattern-preview { display:grid; grid-template-columns:40px minmax(0,1fr) 20px; gap:14px; align-items:center; width:calc(100% - 48px); margin:24px; padding:16px 0; text-align:left; border:0; border-block:1px solid var(--today-rule); background:transparent; color:var(--today-ink); cursor:pointer; }
#screenHome .home-pattern-preview[hidden] { display:none; }
#screenHome .home-pattern-icon { display:grid; place-items:center; width:40px; height:40px; border-radius:8px; background:#293d37; color:var(--today-mint); }
body.echo-light #screenHome .home-pattern-icon { background:#dcece5; }
#screenHome .home-pattern-preview strong { display:block; font:600 calc(16px * var(--font-scale))/1.45 system-ui,sans-serif; }
#screenHome .home-pattern-preview > span > span { display:block; margin-top:4px; color:var(--today-muted); font:400 calc(12px * var(--font-scale))/1.5 system-ui,sans-serif; }
#screenHome .ux-next-options h2 { margin:0 0 8px; color:var(--today-muted); font:500 calc(12px * var(--font-scale))/1.5 system-ui,sans-serif; }
#screenHome .ux-next-action { grid-template-columns:40px minmax(0,1fr) 20px; margin-top:10px; padding:16px 12px; gap:4px 12px; border:1px solid var(--today-rule); border-radius:8px; background:#202123; color:var(--today-ink); }
body.echo-light #screenHome .ux-next-action { background:#f2f5f4; }
#screenHome .ux-next-action strong { grid-column:2; }
#screenHome .ux-next-action > span:not(.ux-next-chevron):not(.ux-next-icon):not(.ux-experiment-progress) { grid-column:2; }
#screenHome .ux-next-action > .ux-next-icon { display:grid; place-items:center; grid-column:1; grid-row:1 / 3; align-self:start; width:40px; height:40px; border-radius:8px; background:#293d37; color:var(--today-mint); }
body.echo-light #screenHome .ux-next-action > .ux-next-icon { background:#dcece5; }
#screenHome .ux-next-action > .ux-next-chevron { grid-column:3; }
#screenHome .ux-next-action strong { font:600 calc(14px * var(--font-scale))/1.5 system-ui,sans-serif; }
#screenHome .ux-next-action > span:not(.ux-next-chevron) { color:var(--today-muted); }
#screenHome .ux-next-action[data-journey-option="focus"] > span:not(.ux-next-chevron) { -webkit-line-clamp:unset; overflow:visible; }
#screenHome .ux-next-chevron { color:var(--today-mint); }
#screenHome .ux-next-action[data-journey-option] > span.ux-experiment-progress { display:flex; grid-column:1 / -1; gap:8px; margin:8px 0 0; padding:0; -webkit-line-clamp:unset; overflow:visible; }
#screenHome .ux-experiment-progress .ux-experiment-day { flex:1; min-width:0; border-top:3px solid var(--today-rule); padding-top:6px; color:var(--today-muted); font:400 calc(11px * var(--font-scale))/1.5 system-ui,sans-serif; }
#screenHome .ux-experiment-progress [data-step="done"] { border-color:var(--today-mint); color:var(--today-mint); }
#screenHome .ux-experiment-progress [data-step="current"] { border-color:#bc94d6; color:var(--today-ink); }
body.echo-light #screenHome .ux-experiment-progress [data-step="current"] { border-color:var(--today-action); }
#shell #screenHome .home-recent-heading { margin:24px 24px 0; padding:0; }
#shell #screenHome .home-recent-heading .sh-title { font:500 calc(12px * var(--font-scale))/1.5 system-ui,sans-serif; color:var(--today-muted); }
#screenHome .home-recent-heading .sh-link { color:var(--today-muted); font-size:12px; padding-right:0; }
#screenHome #homeRecentList { margin:0 24px; }
#shell #screenHome #homeRecentList .entry { margin:0; padding:18px 0; background:none !important; border:0; border-bottom:1px solid var(--today-rule); border-radius:0; }
#screenHome #homeRecentList .entry-stripe { display:none; }
#screenHome #homeRecentList .entry > div { padding-left:0 !important; }
#shell #screenHome .e-title { font:600 calc(17px * var(--font-scale))/1.5 system-ui,sans-serif; color:var(--today-ink); }
#shell #screenHome .e-date { color:var(--today-muted); font-size:calc(11px * var(--font-scale)); }
#shell #screenHome .e-preview { color:var(--today-muted); font-size:calc(13px * var(--font-scale)); }
#screenHome #homeRecentList .e-tags { display:none; }
#screenHome #homeRecentList .ux-empty-note { margin:8px 0 0; color:var(--today-muted); font-size:calc(14px * var(--font-scale)); }
#screenHome button:focus-visible { outline:2px solid var(--today-mint); outline-offset:4px; }
#screenHome #homePremiumTeaser { margin:24px !important; }
body.echo-light #shell #screenHome .imp-txt { color:var(--today-ink) !important; }
body.echo-light #shell #screenHome .imp-tag { color:var(--today-muted) !important; }
body.echo-light #shell #screenHome .home-greeting { color:var(--today-muted); }
body.echo-light #shell #screenHome .e-title { color:var(--today-ink) !important; }
body.echo-light #shell #screenHome .e-date, body.echo-light #shell #screenHome .e-preview { color:var(--today-muted) !important; }
#shell:has(#screenHome.active) #bottomNav { background:#151517 !important; border-top-color:#363439; }
#shell:has(#screenHome.active) #bottomNav .nav-btn { color:#b8b4bf; }
#shell:has(#screenHome.active) #bottomNav .nav-lbl { color:inherit; }
#shell:has(#screenHome.active) #bottomNav .nav-btn.on { color:#a5dbcd; }
body.echo-light #shell:has(#screenHome.active) #bottomNav { background:#fafafa !important; border-top-color:#dedbe1; }
body.echo-light #shell:has(#screenHome.active) #bottomNav .nav-btn { color:#625d69; }
body.echo-light #shell:has(#screenHome.active) #bottomNav .nav-btn.on { color:#256a5b; }
@media (min-width:700px) {
  #screenHome .scroll-area { padding-inline:32px; }
  #shell #screenHome .home-header { padding-top:32px; }
}
