@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Fraunces:ital,wght@0,400;0,500;0,600;1,400;1,500&display=swap');
:root{--bg:#f9f5ee;--paper:#fffdfa;--ink:#29332c;--dim:#6a756e;--terracotta:#b96a58;--rose:#eac9ba;--line:#e8e4dc;--sage:#d8e4d5;--green:#3d6d55;--shadow:0 10px 34px rgba(61,52,40,.05)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:'DM Sans',system-ui,-apple-system,Segoe UI,Roboto,sans-serif;-webkit-font-smoothing:antialiased}button,textarea{font:inherit}button{cursor:pointer;-webkit-tap-highlight-color:transparent}button:focus-visible,textarea:focus-visible{outline:3px solid var(--terracotta);outline-offset:3px}button:disabled{cursor:default;opacity:.3}.app-shell{max-width:550px;margin:auto;padding:0 20px 10px}.masthead{padding:23px 0 20px;display:flex;align-items:center;gap:11px}.mark{height:36px;width:36px;display:grid;place-items:center;border-radius:50%;background:#e9bbae;color:#604d41;font-size:24px;flex:none}.wordmark{flex:1;min-width:0}.wordmark span{font-size:10px;letter-spacing:.115em;font-weight:700;display:block}.wordmark small{font-size:10px;color:var(--dim);display:block;margin-top:3px}.icon-button{background:transparent;border:1px solid #ddd6cd;border-radius:50%;width:42px;height:42px;display:grid;place-items:center;color:#6a7067;flex:none}.settings{background:var(--paper);border:1px solid var(--line);padding:20px;border-radius:16px;margin-bottom:20px;box-shadow:var(--shadow)}.settings h2{font-family:'Fraunces',Georgia,serif;margin:0;font-size:23px;font-weight:500}.settings p{font-size:13px;line-height:1.7;color:var(--dim);margin:9px 0 12px}.settings-actions{display:flex;flex-wrap:wrap;gap:9px}.outline-button{border:1px solid #cab9ad;border-radius:9px;background:#fff9f5;color:#694f42;font-size:12px;padding:10px 11px;font-weight:700}.settings .settings-meta{font-size:11px;margin:12px 0 0}.welcome{position:relative;overflow:hidden;padding:28px 3px 30px;min-height:250px;isolation:isolate}.eyebrow,.mini-label,.small-kicker{font-size:10px;letter-spacing:.14em;font-weight:700}.eyebrow{color:var(--terracotta);margin:0 0 12px}.welcome h1{font-family:'Fraunces',Georgia,serif;font-size:clamp(51px,12.5vw,72px);line-height:.98;letter-spacing:-.055em;font-weight:500;margin:0}.welcome h1 em{font-weight:400;color:var(--terracotta)}.welcome-copy{color:#67746d;max-width:320px;font-size:13px;line-height:1.8;margin:18px 0 0}.sun-doodle{position:absolute;top:39px;right:-10px;height:145px;width:145px;border-radius:50%;background:radial-gradient(circle at 45% 43%,#efdabb 0%,#f7e6cd 60%,#f9f5ee 72%);display:grid;place-items:center;color:#e6b280;opacity:.9;z-index:-1}.sun-doodle span{font-size:115px;opacity:.33}.journey{border-radius:15px;background:#e9efdf;padding:20px 22px 17px;margin-bottom:18px}.journey-top{display:flex;align-items:center;justify-content:space-between}.mini-label{color:#677663}.journey h2{font-family:'Fraunces',Georgia,serif;font-weight:500;font-size:25px;margin:2px 0 14px}.journey-spark{font-size:28px;color:#79966e}.progress{height:7px;width:100%;background:#cfdbcb;border-radius:100px;overflow:hidden}.progress div{width:1%;height:100%;border-radius:100px;background:#4a7559;transition:width .2s}.journey-sub{font-size:11px;color:#607563;margin:10px 0 0}.thought-card{border-radius:18px;background:var(--paper);padding:24px 23px 23px;box-shadow:var(--shadow);border:1px solid #eee6dd;scroll-margin-top:18px}.dayline{display:flex;align-items:center;justify-content:space-between;gap:8px}.day-pill{background:#f1e4db;color:#805e53;border-radius:30px;padding:7px 11px;font-size:10px;font-weight:700;letter-spacing:.12em}.day-date{font-size:11px;color:var(--dim)}.quote-mark{display:block;font-family:Georgia,serif;font-size:69px;line-height:.7;color:#db9e87;margin:32px 0 13px}.thought{font-family:'Fraunces',Georgia,serif;letter-spacing:-.025em;font-size:clamp(27px,7.2vw,36px);line-height:1.28;font-weight:450;margin:0;overflow-wrap:break-word}.thought-rule{height:1px;background:#e9ded7;margin:25px 0}.small-kicker{color:var(--terracotta);margin:0 0 10px}.daily-action{font-size:14px;line-height:1.76;margin:0;color:#4c5c52}.share-quote{background:transparent;color:#916453;border:0;padding:10px 0 2px;font-size:12px;font-weight:700;margin-top:19px}.notes-card{margin-top:18px;background:#f4eae5;border:1px solid #eee0da;padding:22px;border-radius:18px}.notes-heading{display:flex;gap:12px;align-items:center;margin-bottom:21px}.notes-bloom{height:43px;width:43px;flex:none;border-radius:13px;background:#ecd0c6;color:#a96e5e;display:grid;place-items:center;font-size:26px}.notes-heading h2,.calendar-head h2{font-family:'Fraunces',Georgia,serif;font-weight:500;letter-spacing:-.025em;font-size:25px;margin:0}.notes-heading .small-kicker{margin-bottom:4px}.notes-card label{display:block;font-size:12px;font-weight:700;line-height:1.5;margin-bottom:9px;margin-top:17px;color:#514b43}.notes-card textarea{display:block;width:100%;min-height:98px;resize:vertical;background:#fffdfa;border:1px solid #e5d6cc;border-radius:11px;padding:14px;font-size:14px;line-height:1.6;color:#353f35;box-shadow:none}.notes-card textarea::placeholder{color:#a5a6a0}.note-bottom{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:12px;font-size:10px;color:#897b72;flex-wrap:wrap}.note-bottom #saveStatus{color:#51745c}.calendar-card{margin-top:19px;background:var(--paper);border:1px solid var(--line);border-radius:18px;padding:23px 19px 20px;box-shadow:var(--shadow)}.calendar-head{display:flex;justify-content:space-between;align-items:center}.calendar-head .small-kicker{margin-bottom:6px}.calendar-emoji{font-size:30px;color:#d9a288}.calendar-intro{color:#758077;font-size:12px;line-height:1.75;margin:11px 0 18px}.month-nav{display:flex;align-items:center;justify-content:space-between;margin:4px 0 15px;gap:10px}.month-nav h3{font-family:'Fraunces',Georgia,serif;font-size:18px;font-weight:500;letter-spacing:-.02em;margin:0}.month-button{background:#f6f2eb;border:1px solid #e8e3db;width:37px;height:37px;border-radius:10px;color:#4d6151;font-size:24px;display:grid;place-items:center}.weekdays,.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;text-align:center}.weekdays{font-size:10px;color:#8a928a;margin-bottom:8px}.weekdays span{padding:4px 0}.day-button,.day-gap{min-width:0;aspect-ratio:1 / 1;min-height:37px;border-radius:10px;display:flex;align-items:center;justify-content:center;position:relative;font-weight:600;font-size:12px}.day-button{border:1px solid transparent;background:transparent;color:#46594a;padding:0}.day-button.is-unlocked{background:#f3f3ec}.day-button.is-today{background:#dfe9d9;border-color:#9abc9c;color:#31573b}.day-button.is-selected{box-shadow:inset 0 0 0 2px #b36c5c;border-color:#b36c5c}.day-button.is-locked{color:#b9bcb6;opacity:1;cursor:default}.day-button.is-locked:after{content:'·';position:absolute;bottom:1px;color:#bcbdb4;font-size:12px}.day-button.has-note:before{content:'';position:absolute;bottom:4px;width:4px;height:4px;border-radius:50%;background:#bb7a65}.calendar-legend{display:flex;justify-content:center;gap:13px;flex-wrap:wrap;margin-top:18px;font-size:10px;color:#8b9088}.calendar-legend span{display:flex;align-items:center;gap:5px}.dot{width:9px;height:9px;border-radius:50%;display:inline-block}.dot-today{background:#9abc9c}.dot-noted{background:#bb7a65}.dot-locked{background:#dbddd9}.back-today{width:100%;margin-top:20px;padding:11px;background:#e9efdf;border:1px solid #cedbcc;color:#45624d;border-radius:10px;font-size:12px;font-weight:700}.day-navigation{display:flex;align-items:center;justify-content:space-between;padding:20px 4px 4px;gap:16px}.day-navigation button{background:transparent;border:0;color:#956954;font-size:13px;font-weight:700;padding:10px 0}.ending-note{font-family:'Fraunces',Georgia,serif;text-align:center;color:#8a9686;font-size:15px;line-height:1.65;margin:19px auto 33px;max-width:250px}footer{border-top:1px solid #e5e0d8;text-align:center;font-size:11px;color:#91958b;padding:23px 0 30px}footer span{color:#b97667;font-size:15px;padding-left:4px}.toast{position:fixed;bottom:calc(18px + env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);max-width:min(90vw,410px);min-width:190px;text-align:center;background:#33493e;color:#fff;border-radius:11px;padding:13px 18px;box-shadow:0 10px 30px #0003;font-size:13px;z-index:5}.toast[hidden],.settings[hidden],[hidden]{display:none!important}@media(min-width:600px){.app-shell{padding:0 25px}.masthead{padding-top:33px}.welcome{padding-top:35px}.thought-card{padding:32px}.notes-card{padding:29px}.calendar-card{padding:30px}.day-button,.day-gap{min-height:48px}}
/* Optional, phone-first two-photo keepsake. Never display a broken image if a file is missing. */
.photo-story{position:relative;isolation:isolate;min-height:235px;margin:0 1px 22px;padding:2px 7px 11px;display:flex;align-items:center;justify-content:center}
.photo-story[hidden],.photo-story figure[hidden]{display:none!important}
.photo-story::before{content:"";position:absolute;z-index:-2;inset:18px 17px 4px;background:radial-gradient(ellipse,#eedbd3 0%,#f4e7de 52%,#f9f5ee 75%);border-radius:42%}
.photo-story figure{margin:0;overflow:hidden;background:#efe5dc;border:5px solid #fffdfa;box-shadow:0 12px 30px rgba(62,48,39,.15);border-radius:13px}
.photo-story img{width:100%;height:100%;display:block;object-fit:cover;object-position:center 34%}
.photo-story-main{width:73%;height:255px;transform:rotate(-3deg);z-index:1}
.photo-story-second{width:37%;height:172px;position:absolute;right:0;bottom:5px;transform:rotate(7deg);z-index:2}
.photo-story-heart{position:absolute;top:0;right:4%;font-family:Georgia,serif;font-size:48px;color:#cf8775;transform:rotate(12deg);z-index:3;text-shadow:0 2px 0 #fffdfa}
.photo-story.single-photo .photo-story-main{width:min(76%,265px);height:255px;transform:rotate(-2deg)}
.photo-story.single-photo .photo-story-second{position:relative;width:min(76%,265px);height:255px;transform:rotate(-2deg);right:auto;bottom:auto}
@media(max-width:360px){.photo-story{min-height:204px}.photo-story-main{height:220px}.photo-story-second{height:147px}.photo-story.single-photo .photo-story-main,.photo-story.single-photo .photo-story-second{height:220px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.progress div{transition:none}}

/* Four selectable, mobile-first themes. Tokens used by the entire interface. */
:root {
  --theme-note:#f4eae5;--theme-journey:#e9efdf;--theme-journal-accent:#a96e5e;
  --theme-soft:#f1e4db;--theme-soft-ink:#805e53;--theme-quote:#db9e87;
  --theme-step:#4a7559;--theme-step-ink:#607563;--theme-progress-track:#cfdbcb;
  --theme-calendar-button:#f3f3ec;--theme-calendar-today:#dfe9d9;
  --theme-button-focus:#b36c5c;--theme-photo-glow:#eedbd3;--theme-halo:#efdabb;
  --theme-halo-edge:#f7e6cd;--theme-action-panel:#e9efdf;--theme-doodle:#e6b280;
}
:root[data-theme="sage"]{
  --bg:#f3f7f0;--paper:#fefffb;--ink:#233c2c;--dim:#596b5d;--terracotta:#477c5e;
  --line:#dce6d9;--green:#426d4a;--sage:#dbe9d8;
  --theme-note:#eaf2e9;--theme-journey:#dbe9d8;--theme-journal-accent:#477c5e;
  --theme-soft:#e1eee1;--theme-soft-ink:#365d47;--theme-quote:#83a992;
  --theme-step:#426d4a;--theme-step-ink:#3f6046;--theme-progress-track:#c1d4bd;
  --theme-calendar-button:#edf3ea;--theme-calendar-today:#cce2c9;
  --theme-button-focus:#477c5e;--theme-photo-glow:#d8e9d5;--theme-halo:#d5e9ca;
  --theme-halo-edge:#edf4e6;--theme-action-panel:#dbe9d8;--theme-doodle:#7fb88f;
}
:root[data-theme="ocean"]{
  --bg:#f1f7fa;--paper:#fcfeff;--ink:#273b48;--dim:#5d7280;--terracotta:#367ca0;
  --line:#dae7ee;--green:#327e94;--sage:#deebf3;
  --theme-note:#e7f1f6;--theme-journey:#deebf3;--theme-journal-accent:#367ca0;
  --theme-soft:#dfedf5;--theme-soft-ink:#285e7c;--theme-quote:#81b3cd;
  --theme-step:#327e94;--theme-step-ink:#36697c;--theme-progress-track:#c2d9e6;
  --theme-calendar-button:#edf4f8;--theme-calendar-today:#cde4ef;
  --theme-button-focus:#367ca0;--theme-photo-glow:#d8e9f3;--theme-halo:#d2e9f4;
  --theme-halo-edge:#eef8fa;--theme-action-panel:#deebf3;--theme-doodle:#76b4d4;
}
:root[data-theme="lavender"]{
  --bg:#f7f3fb;--paper:#fffdfd;--ink:#372e46;--dim:#72657c;--terracotta:#865eaa;
  --line:#e9e0ee;--green:#7e64aa;--sage:#eee8f8;
  --theme-note:#f2eaf8;--theme-journey:#eee8f8;--theme-journal-accent:#865eaa;
  --theme-soft:#ede2f5;--theme-soft-ink:#674985;--theme-quote:#b6a0ca;
  --theme-step:#7e64aa;--theme-step-ink:#675784;--theme-progress-track:#d8caeb;
  --theme-calendar-button:#f3edf9;--theme-calendar-today:#e3d6f1;
  --theme-button-focus:#865eaa;--theme-photo-glow:#e9ddf2;--theme-halo:#e8dcef;
  --theme-halo-edge:#f8eefb;--theme-action-panel:#eee8f8;--theme-doodle:#c3a2d4;
}
/* Colour the existing components without changing their layout or logic. */
.mark{background:var(--theme-soft);color:var(--theme-soft-ink)}
.icon-button{border-color:var(--line);color:var(--ink)}
.settings{border-color:var(--line)}
.settings p,.welcome-copy,.calendar-intro{color:var(--dim)}
.outline-button{border-color:var(--line);background:var(--paper);color:var(--theme-soft-ink)}
.sun-doodle{background:radial-gradient(circle at 45% 43%,var(--theme-halo) 0%,var(--theme-halo-edge) 60%,var(--bg) 72%);color:var(--theme-doodle)}
.journey{background:var(--theme-journey)}
.mini-label,.journey-sub{color:var(--theme-step-ink)}
.journey-spark{color:var(--theme-step)}
.progress{background:var(--theme-progress-track)}
.progress div{background:var(--theme-step)}
.thought-card,.calendar-card{background:var(--paper);border-color:var(--line)}
.day-pill{background:var(--theme-soft);color:var(--theme-soft-ink)}
.day-date,.calendar-legend{color:var(--dim)}
.quote-mark{color:var(--theme-quote)}
.thought-rule{background:var(--line)}
.daily-action{color:var(--ink)}
.share-quote,.day-navigation button{color:var(--theme-soft-ink)}
.notes-card{background:var(--theme-note);border-color:var(--line)}
.notes-bloom{background:var(--theme-soft);color:var(--theme-journal-accent)}
.notes-card label{color:var(--ink)}
.notes-card textarea{background:var(--paper);border-color:var(--line);color:var(--ink)}
.note-bottom #saveStatus{color:var(--theme-step)}
.month-button{background:var(--theme-calendar-button);border-color:var(--line);color:var(--ink)}
.weekdays{color:var(--dim)}
.day-button.is-unlocked{background:var(--theme-calendar-button);color:var(--ink)}
.day-button.is-today{background:var(--theme-calendar-today);border-color:var(--theme-step);color:var(--ink)}
.day-button.is-selected{box-shadow:inset 0 0 0 2px var(--theme-button-focus);border-color:var(--theme-button-focus)}
.day-button.has-note:before,.dot-noted{background:var(--terracotta)}
.dot-today{background:var(--theme-step)}
.back-today{background:var(--theme-action-panel);border-color:var(--line);color:var(--ink)}
.ending-note,footer{color:var(--dim)}footer{border-color:var(--line)}footer span{color:var(--terracotta)}
.toast{background:var(--ink);color:var(--paper)}
.photo-story::before{background:radial-gradient(ellipse,var(--theme-photo-glow) 0%,var(--theme-halo-edge) 52%,var(--bg) 75%)}
.photo-story-heart{color:var(--terracotta)}
/* A legible, large-touch-target palette picker inside the existing settings. */
.theme-shortcut span{font-size:19px;line-height:1}
.theme-settings h2{margin:0;font-family:'Fraunces',Georgia,serif;font-size:23px;font-weight:500}
.settings-divider{height:1px;background:var(--line);margin:22px 0}
.theme-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:14px}
.theme-choice{display:flex;align-items:center;gap:9px;min-width:0;min-height:58px;padding:10px 11px;border-radius:13px;border:1.5px solid var(--line);background:var(--paper);text-align:left;font-size:12px;font-weight:700;color:var(--ink);transition:border-color .15s,box-shadow .15s}
.theme-choice[aria-pressed="true"]{border-color:var(--terracotta);box-shadow:0 0 0 2px var(--theme-soft)}
.theme-choice:focus-visible{outline:3px solid var(--terracotta);outline-offset:2px}
.theme-swatch{display:block;flex:none;width:30px;height:30px;border-radius:50%;border:2px solid var(--paper);box-shadow:0 0 0 1px var(--line)}
.peach-swatch{background:linear-gradient(135deg,#f4eae5 50%,#b96a58 50%)}
.sage-swatch{background:linear-gradient(135deg,#eaf2e9 50%,#477c5e 50%)}
.ocean-swatch{background:linear-gradient(135deg,#e7f1f6 50%,#367ca0 50%)}
.lavender-swatch{background:linear-gradient(135deg,#f2eaf8 50%,#865eaa 50%)}
.settings .theme-status{min-height:16px;font-size:11px;margin-top:10px;color:var(--theme-step)}
@media(max-width:350px){.app-shell{padding-left:15px;padding-right:15px}.masthead{gap:7px}.theme-choice{padding:8px;font-size:11px;gap:6px}.theme-swatch{width:26px;height:26px}}
@media(prefers-reduced-motion:reduce){.theme-choice{transition:none}}


/* Twelve new phone-friendly palettes; original four keys and preferences stay unchanged. */
:root[data-theme="berry"]{--bg:#fff1f6;--paper:#fffcfd;--ink:#29332e;--dim:#5a675f;--terracotta:#ae315f;--line:#f0cedb;--green:#ae315f;--sage:#f2d2de;--theme-note:#f8e1e9;--theme-journey:#f5dae4;--theme-journal-accent:#ae315f;--theme-soft:#f2d2de;--theme-soft-ink:#812f4e;--theme-quote:#d287a3;--theme-step:#ae315f;--theme-step-ink:#6a3847;--theme-progress-track:#ecc5d3;--theme-calendar-button:#fae5ec;--theme-calendar-today:#edc7d5;--theme-button-focus:#ae315f;--theme-photo-glow:#f6dce5;--theme-halo:#f4d6e1;--theme-halo-edge:#fff5f8;--theme-action-panel:#f5dae4;--theme-doodle:#d287a3}
.berry-swatch{background:linear-gradient(135deg,#fff1f6 50%,#ae315f 50%)}
:root[data-theme="honey"]{--bg:#fff9e9;--paper:#fffefb;--ink:#29332e;--dim:#5a675f;--terracotta:#9e6509;--line:#eedec1;--green:#9e6509;--sage:#efe1c5;--theme-note:#f7ecd6;--theme-journey:#f3e7ce;--theme-journal-accent:#9e6509;--theme-soft:#efe1c5;--theme-soft-ink:#765412;--theme-quote:#caa86e;--theme-step:#9e6509;--theme-step-ink:#62521c;--theme-progress-track:#e9d7b5;--theme-calendar-button:#f9efda;--theme-calendar-today:#ead8b8;--theme-button-focus:#9e6509;--theme-photo-glow:#f4e9d0;--theme-halo:#f1e4ca;--theme-halo-edge:#fffbef;--theme-action-panel:#f3e7ce;--theme-doodle:#caa86e}
.honey-swatch{background:linear-gradient(135deg,#fff9e9 50%,#9e6509 50%)}
:root[data-theme="mint"]{--bg:#eefcf6;--paper:#fcfefd;--ink:#29332e;--dim:#5a675f;--terracotta:#127a66;--line:#c6e5dc;--green:#127a66;--sage:#cbe7df;--theme-note:#dbf1ea;--theme-journey:#d4ece5;--theme-journal-accent:#127a66;--theme-soft:#cbe7df;--theme-soft-ink:#146253;--theme-quote:#75b4a7;--theme-step:#127a66;--theme-step-ink:#1c5c4a;--theme-progress-track:#bbded5;--theme-calendar-button:#e0f4ed;--theme-calendar-today:#bedfd6;--theme-button-focus:#127a66;--theme-photo-glow:#d6eee6;--theme-halo:#cfeae2;--theme-halo-edge:#f3fdf8;--theme-action-panel:#d4ece5;--theme-doodle:#75b4a7}
.mint-swatch{background:linear-gradient(135deg,#eefcf6 50%,#127a66 50%)}
:root[data-theme="coral"]{--bg:#fff2ec;--paper:#fffdfb;--ink:#29332e;--dim:#5a675f;--terracotta:#b94836;--line:#f2d3cb;--green:#b94836;--sage:#f4d7cf;--theme-note:#f9e4dd;--theme-journey:#f7ded6;--theme-journal-accent:#b94836;--theme-soft:#f4d7cf;--theme-soft-ink:#893f31;--theme-quote:#d89488;--theme-step:#b94836;--theme-step-ink:#704432;--theme-progress-track:#efcbc2;--theme-calendar-button:#fae7e0;--theme-calendar-today:#f0cdc4;--theme-button-focus:#b94836;--theme-photo-glow:#f7dfd8;--theme-halo:#f5dad3;--theme-halo-edge:#fff6f1;--theme-action-panel:#f7ded6;--theme-doodle:#d89488}
.coral-swatch{background:linear-gradient(135deg,#fff2ec 50%,#b94836 50%)}
:root[data-theme="sky"]{--bg:#edf8ff;--paper:#fcfeff;--ink:#29332e;--dim:#5a675f;--terracotta:#206f9a;--line:#c8dfed;--green:#206f9a;--sage:#cce2ef;--theme-note:#dcecf6;--theme-journey:#d4e8f3;--theme-journal-accent:#206f9a;--theme-soft:#cce2ef;--theme-soft-ink:#1e5b77;--theme-quote:#7cadc7;--theme-step:#206f9a;--theme-step-ink:#235764;--theme-progress-track:#bed8e8;--theme-calendar-button:#e0eff8;--theme-calendar-today:#c0dae9;--theme-button-focus:#206f9a;--theme-photo-glow:#d6e9f4;--theme-halo:#d0e5f1;--theme-halo-edge:#f2faff;--theme-action-panel:#d4e8f3;--theme-doodle:#7cadc7}
.sky-swatch{background:linear-gradient(135deg,#edf8ff 50%,#206f9a 50%)}
:root[data-theme="orchid"]{--bg:#faf1ff;--paper:#fefcff;--ink:#29332e;--dim:#5a675f;--terracotta:#7b4da7;--line:#e3d3ef;--green:#7b4da7;--sage:#e6d7f1;--theme-note:#efe3f8;--theme-journey:#ebddf4;--theme-journal-accent:#7b4da7;--theme-soft:#e6d7f1;--theme-soft-ink:#5e4380;--theme-quote:#b497cf;--theme-step:#7b4da7;--theme-step-ink:#50466b;--theme-progress-track:#ddcbeb;--theme-calendar-button:#f2e6f9;--theme-calendar-today:#decdec;--theme-button-focus:#7b4da7;--theme-photo-glow:#ecdff5;--theme-halo:#e8daf3;--theme-halo-edge:#fbf5ff;--theme-action-panel:#ebddf4;--theme-doodle:#b497cf}
.orchid-swatch{background:linear-gradient(135deg,#faf1ff 50%,#7b4da7 50%)}
:root[data-theme="teal"]{--bg:#ebf9f7;--paper:#fbfefd;--ink:#29332e;--dim:#5a675f;--terracotta:#116e73;--line:#c4e0df;--green:#116e73;--sage:#c8e3e2;--theme-note:#d8edec;--theme-journey:#d1e8e7;--theme-journal-accent:#116e73;--theme-soft:#c8e3e2;--theme-soft-ink:#135a5c;--theme-quote:#73adae;--theme-step:#116e73;--theme-step-ink:#1c5651;--theme-progress-track:#b9d9d9;--theme-calendar-button:#ddf0ee;--theme-calendar-today:#bbdada;--theme-button-focus:#116e73;--theme-photo-glow:#d3eae8;--theme-halo:#cce6e5;--theme-halo-edge:#f1fbf9;--theme-action-panel:#d1e8e7;--theme-doodle:#73adae}
.teal-swatch{background:linear-gradient(135deg,#ebf9f7 50%,#116e73 50%)}
:root[data-theme="sand"]{--bg:#faf3e9;--paper:#fefdfb;--ink:#29332e;--dim:#5a675f;--terracotta:#8c5e3f;--line:#e6d8ca;--green:#8c5e3f;--sage:#e8dbce;--theme-note:#f1e6db;--theme-journey:#ede1d5;--theme-journal-accent:#8c5e3f;--theme-soft:#e8dbce;--theme-soft-ink:#6a4f37;--theme-quote:#bea18c;--theme-step:#8c5e3f;--theme-step-ink:#594e37;--theme-progress-track:#e1d1c2;--theme-calendar-button:#f3e9de;--theme-calendar-today:#e2d2c4;--theme-button-focus:#8c5e3f;--theme-photo-glow:#eee3d6;--theme-halo:#ebded1;--theme-halo-edge:#fbf6ef;--theme-action-panel:#ede1d5;--theme-doodle:#bea18c}
.sand-swatch{background:linear-gradient(135deg,#faf3e9 50%,#8c5e3f 50%)}
:root[data-theme="citrus"]{--bg:#f5fbe9;--paper:#fdfefb;--ink:#29332e;--dim:#5a675f;--terracotta:#537923;--line:#d8e4c5;--green:#537923;--sage:#dbe6c9;--theme-note:#e7f0d8;--theme-journey:#e2ebd1;--theme-journal-accent:#537923;--theme-soft:#dbe6c9;--theme-soft-ink:#426224;--theme-quote:#9cb47c;--theme-step:#537923;--theme-step-ink:#3c5c29;--theme-progress-track:#d0ddbb;--theme-calendar-button:#eaf3dc;--theme-calendar-today:#d1debd;--theme-button-focus:#537923;--theme-photo-glow:#e3edd3;--theme-halo:#dee9cd;--theme-halo-edge:#f8fcef;--theme-action-panel:#e2ebd1;--theme-doodle:#9cb47c}
.citrus-swatch{background:linear-gradient(135deg,#f5fbe9 50%,#537923 50%)}
:root[data-theme="plum"]{--bg:#faf1f9;--paper:#fefcfe;--ink:#29332e;--dim:#5a675f;--terracotta:#855083;--line:#e5d4e4;--green:#855083;--sage:#e7d7e6;--theme-note:#f0e3ef;--theme-journey:#ecdeeb;--theme-journal-accent:#855083;--theme-soft:#e7d7e6;--theme-soft-ink:#654567;--theme-quote:#ba98b8;--theme-step:#855083;--theme-step-ink:#564859;--theme-progress-track:#dfccde;--theme-calendar-button:#f2e7f1;--theme-calendar-today:#e0cedf;--theme-button-focus:#855083;--theme-photo-glow:#eddfec;--theme-halo:#eadae8;--theme-halo-edge:#fbf5fb;--theme-action-panel:#ecdeeb;--theme-doodle:#ba98b8}
.plum-swatch{background:linear-gradient(135deg,#faf1f9 50%,#855083 50%)}
:root[data-theme="midnight"]{--bg:#151d31;--paper:#25334b;--ink:#f4f6fd;--dim:#c5cadd;--terracotta:#a7c5ff;--line:#42546e;--green:#a7c5ff;--sage:#25334b;--theme-note:#2b3b55;--theme-journey:#2a3952;--theme-journal-accent:#a7c5ff;--theme-soft:#354963;--theme-soft-ink:#f5f3ff;--theme-quote:#a7c5ff;--theme-step:#a7c5ff;--theme-step-ink:#d5e3ff;--theme-progress-track:#42546e;--theme-calendar-button:#303e54;--theme-calendar-today:#435775;--theme-button-focus:#a7c5ff;--theme-photo-glow:#25334b;--theme-halo:#25334b;--theme-halo-edge:#151d31;--theme-action-panel:#25334b;--theme-doodle:#a7c5ff}
.midnight-swatch{background:linear-gradient(135deg,#151d31 50%,#a7c5ff 50%)}
:root[data-theme="starlight"]{--bg:#211a31;--paper:#322640;--ink:#f4f6fd;--dim:#c5cadd;--terracotta:#ccb0ff;--line:#564365;--green:#ccb0ff;--sage:#322640;--theme-note:#372a48;--theme-journey:#382948;--theme-journal-accent:#ccb0ff;--theme-soft:#49345b;--theme-soft-ink:#f5f3ff;--theme-quote:#ccb0ff;--theme-step:#ccb0ff;--theme-step-ink:#d5e3ff;--theme-progress-track:#564365;--theme-calendar-button:#3c2d4e;--theme-calendar-today:#55416c;--theme-button-focus:#ccb0ff;--theme-photo-glow:#322640;--theme-halo:#322640;--theme-halo-edge:#211a31;--theme-action-panel:#322640;--theme-doodle:#ccb0ff}
.starlight-swatch{background:linear-gradient(135deg,#211a31 50%,#ccb0ff 50%)}

/* The action text has an immediately adjacent response box, on the selected day. */
.action-response{margin-top:17px;padding:14px;border:1px solid var(--line);border-radius:13px;background:var(--theme-note)}
.action-response label{display:block;font-size:13px;line-height:1.4;font-weight:700;margin-bottom:8px;color:var(--ink)}
.action-response textarea{display:block;box-sizing:border-box;width:100%;resize:vertical;min-height:84px;border:1px solid var(--line);border-radius:10px;background:var(--paper);color:var(--ink);font-size:16px;line-height:1.5;padding:12px}
.action-response textarea::placeholder{color:var(--dim);opacity:.85}
.action-save-status{display:block;font-size:11px;color:var(--dim);line-height:1.5;margin-top:8px}
.quote-connection{color:var(--dim);font-size:12px;line-height:1.6;margin:4px 0 16px}
/* Show 16 options as a compact 4×4 tap-friendly palette on narrow phones. */
.theme-options{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.theme-choice{min-height:84px;flex-direction:column;justify-content:center;align-items:center;text-align:center;gap:6px;padding:8px 4px;font-size:10px;line-height:1.25}
.theme-swatch{width:32px;height:32px}
@media(max-width:350px){.theme-options{gap:5px}.theme-choice{padding:6px 2px;font-size:9px;min-height:80px}.theme-swatch{height:28px;width:28px}}
/* Reusable readable control styling also in dark colour palettes. */
.notes-card textarea::placeholder{color:var(--dim)}
:root[data-theme="midnight"] .settings p,:root[data-theme="starlight"] .settings p{color:var(--dim)}
:root[data-theme="midnight"] .privacy-label,:root[data-theme="starlight"] .privacy-label{color:var(--dim)}

/* Clear, non-intrusive identification of the optional sample journal day. */
.example-notice{padding:12px 14px;border:1px solid var(--line);background:var(--paper);border-radius:11px;color:var(--ink);font-size:12px;line-height:1.55;margin:14px 0 8px}

/* Daily reflection question, clearly placed next to the specific answer box. */
.reflection-caption{font-size:10px;letter-spacing:.12em;font-weight:750;color:var(--terracotta);margin:0 0 7px}
.action-response label#actionQuestion{display:block;font-weight:700;font-size:16px;line-height:1.5;margin-bottom:12px;color:var(--ink)}
.action-response textarea{min-height:112px}

/* V9: one statement, one question, one writing box. No action or secondary notes fields. */
.quote-attribution{margin:18px 0 0;color:var(--dim);font-size:13px;line-height:1.5;font-weight:600}
.thought{font-size:clamp(30px,8.5vw,42px);line-height:1.24;font-weight:650;letter-spacing:-.035em}
.thought-rule{margin:24px 0 20px}
.action-response{margin-top:0;padding:16px 15px 17px}
.action-response label#journalQuestion{display:block;color:var(--ink);font-size:17px;line-height:1.48;font-weight:700;margin-bottom:13px}
.action-response textarea#journalResponse{min-height:140px;font-size:16px;line-height:1.55;border-radius:11px}
.action-save-status{margin-top:9px}
.action-response .example-notice{font-size:11px;margin:10px 0 0;padding:8px 10px}
