/* theme.css (v0.31.0): Today home, phone tab bar, calmer people header, accessibility layer.
   Loaded after style.css. Contrast values meet WCAG AA (4.5:1) for body-size text on the cream background. */
:root{--ink:#3a203f;--muted:#635067;--line:#eddfcf;--card:#fffefb;--accent:#5a2b64;--warm:#b5543c;--focus:#1f6feb}

/* ---- accessibility ---- */
.muted,.message-label,.login-card p,.login-card small,#welcome>p,.welcome-note,.composer-note,.today-foot{color:var(--muted)}
.muted{font-size:13px}
.login-card small{font-size:12px}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--focus);outline-offset:2px;border-radius:6px}
body.people button.secondary,body.people button.primary{min-height:44px}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}

/* ---- Today ---- */
#today-view{overflow:auto}
.today{max-width:640px;margin:0 auto;padding:22px 18px 120px}
.today-title{margin:6px 0 18px}
.today-now{display:flex;flex-direction:column;gap:4px;width:100%;text-align:left;padding:18px 20px;border-radius:16px;background:#fbeee9;border:1px solid #efc7ba;color:#6d2f1f;margin-bottom:14px}
.today-now strong{font-size:19px}
.today-now span{font-size:14px;color:#7e3c2a}
.today-card{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:18px 20px;margin:12px 0}
.today-card h2{font:400 22px/1.3 Georgia,serif;margin:4px 0 6px}
.today-label{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-weight:600}
.today-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:10px}
.today-mood{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-top:10px}
.today-mood button{display:flex;flex-direction:column;align-items:center;gap:2px;padding:10px 4px;border-radius:12px;border:1px solid var(--line);background:#fff;min-height:58px}
.today-mood .mood-n{font-size:18px;font-weight:700}
.today-mood .mood-l{font-size:11px;color:var(--muted)}
.today-mood .mood-1{border-color:#e3b3a7}.today-mood .mood-2{border-color:#e9c9a8}.today-mood .mood-3{border-color:#ddd2a2}.today-mood .mood-4{border-color:#d39cde}.today-mood .mood-5{border-color:#ce9ed8}
.today-due{margin:12px 0 0;font-size:14px}
.today-wins{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:12px 0}
.today-stat{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:12px 8px;text-align:center}
.today-stat strong{display:block;font-size:24px;color:var(--accent)}
.today-stat span{font-size:11px;color:var(--muted)}
.today-quick{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0}
.today-foot{font-size:12px;line-height:1.6;margin-top:18px}

/* ---- people header + menu ---- */
body.people header .pill{display:none}
.side-lang{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--muted);margin-bottom:8px}
.side-lang select{width:100%;min-height:40px}
body.people .sidebar-bottom .feedback-btn{display:block;margin:6px 0;text-align:left}

/* ---- phone tab bar ---- */
.tabbar{display:none}
@media (max-width:760px){
  body.people .tabbar{display:grid;grid-template-columns:repeat(5,1fr);position:fixed;left:0;right:0;bottom:0;z-index:30;
    background:#fffefb;border-top:1px solid var(--line);padding:6px 4px calc(6px + env(safe-area-inset-bottom));box-shadow:0 -6px 24px #24391d10}
  body.people .tab{display:flex;flex-direction:column;align-items:center;gap:2px;min-height:48px;font-size:11px;color:var(--muted);border-radius:10px}
  body.people .tab .tab-i{font-size:18px;line-height:1}
  body.people .tab.active{color:var(--accent);font-weight:700;background:#f8efe5}
  body.people #composer-area{padding-bottom:calc(72px + env(safe-area-inset-bottom))}
  body.people .scroll-view{padding-bottom:96px}
  body.people header{padding:0 14px}
  body.people #page-title{font-weight:600}
}
/* people menu (sidebar) polish */
body.people .sidebar-bottom{display:flex;flex-direction:column;flex-wrap:nowrap;align-items:stretch;gap:6px;overflow-y:auto;max-height:46vh}
body.people .sidebar-bottom .plan-chip{align-self:flex-start}
body.people .sidebar-bottom > *{margin:0}
body.people .sidebar-bottom button{text-align:left;min-height:40px;padding:6px 0}
body.people.menu-open .tabbar{display:none!important}
body.people #welcome .right-now-card{display:none}
/* v0.32.0 two-step sign-in */
#login-code{min-height:42px;padding:8px 10px;border:1px solid #ddcbe0;border-radius:8px;font:inherit;letter-spacing:.2em}
.twofa-key{display:inline-block;font-size:15px;letter-spacing:.08em;background:#f8efe5;padding:4px 8px;border-radius:6px;word-break:break-all}
.twofa-code{width:9em;min-height:42px;font-size:20px;letter-spacing:.3em;text-align:center;border:1px solid #ddcbe0;border-radius:8px;margin-top:6px}
.twofa-codes{background:#f8efe5;padding:12px 16px;border-radius:10px;font-size:16px;line-height:1.8}

/* ---- v0.38 UI polish ---- */
.nowrap{white-space:nowrap}
header #page-title{min-width:0;flex:1 1 auto}
header .header-right{flex:0 0 auto}
.right-now-btn,#help{white-space:nowrap}
.side-lang{display:flex;flex-direction:column;gap:4px;font-size:13px;color:var(--muted);margin-bottom:8px}
.sidebar-bottom .feedback-btn{display:block;margin:6px 0;text-align:left}
.sidebar-bottom button,.sidebar-bottom a{font-size:13px}
.sidebar-bottom small{font-size:12px}
.composer-note{font-size:12px;line-height:1.5}
.login-card small{font-size:12px}
.login-card details{margin-top:14px;text-align:left}
.login-card details summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:10px;
  min-height:44px;padding:10px 14px;border:1px solid var(--line);border-radius:10px;background:var(--card);color:var(--accent);font-weight:600;font-size:14px}
.login-card details summary::-webkit-details-marker{display:none}
.login-card details summary::after{content:"\203A";font-size:20px;line-height:1;transition:transform .15s}
.login-card details[open] summary::after{transform:rotate(90deg)}
.login-card details[open] summary{border-bottom-left-radius:0;border-bottom-right-radius:0}
.login-card details > form,.login-card details > div{padding:12px 2px 2px}
@media (max-width:760px){
  header{gap:10px}
  .right-now-btn{padding:6px 12px;font-size:13px}
  #help{font-size:12px;padding:6px 4px}
}
.panel > summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:28px}
.panel > summary::-webkit-details-marker{display:none}
.panel > summary::after{content:"\203A";font-size:20px;line-height:1;color:var(--accent);transition:transform .15s}
.panel[open] > summary::after{transform:rotate(90deg)}
body.people .tab span{white-space:nowrap}

/* ---- v0.39 day-one sweep ---- */
.now-need{color:var(--ink,#3a203f);font-weight:600;display:flex;flex-direction:column;gap:2px}
.now-need:not(:disabled){box-shadow:0 1px 0 #24391d14}
.now-need:not(:disabled)::after{content:none}
.now-need:disabled{opacity:1;background:transparent;border-style:dashed;color:var(--muted);font-weight:500}
.now-need-s{font-size:12px;font-weight:400;color:var(--muted)}
.now-later{margin:6px 0 4px}
.now-later .card-actions{display:flex;gap:8px;flex-wrap:wrap}
.today-first{font-size:14px;margin:12px 2px}
#history:empty::after{content:attr(data-empty);display:block;font-size:13px;color:var(--muted);padding:6px 10px}
body.people .sidebar-bottom .local-dot,body.people .sidebar-bottom .local-text{display:none}
body.people .sidebar-bottom{max-height:none;overflow:visible}
body.people #sidebar{overflow-y:auto}
.form-grid + button{margin-top:14px}
@media (min-width:761px){#today-view .today{max-width:640px;margin-left:auto;margin-right:auto}}
.now-later button{text-decoration:none}
.now-later + .now-crisis{margin-top:18px}
.guided-overlay .guided-title{padding-right:36px}
.now-need.now-crisis{color:#8a2f17}

/* ---- v0.40 owner design: warm cream, deep plum, soft peach, lavender ---- */
:root{--ink:#39223e;--muted:#69566d;--line:#ece3da;--card:#fffdfa;--accent:#5a2b64;--lav:#f1eaf4;--lav-ink:#5a2b64;--peach:#f6d6c5;--peach-ink:#73321f}
body{background:#faf6f1;color:var(--ink)}
h1,h2,.today-card h2{color:var(--ink)}
.primary,button.primary{background:var(--accent);color:#fff;border-radius:12px}
.secondary,button.secondary{border-radius:12px}
.right-now-btn{background:var(--peach);color:var(--peach-ink);display:inline-flex;align-items:center;gap:6px;font-weight:600}
.right-now-btn::before{content:'';width:16px;height:16px;background:url('/static/img/sun.svg') center/contain no-repeat}
.today-card,.panel{border-radius:18px;box-shadow:0 2px 14px #4b2a4010}
.eyebrow{color:var(--muted)}
.today-title{font:400 34px/1.15 Georgia,serif;margin:6px 0 6px}
.today-sub{color:var(--muted);margin:0 0 16px}
.today-hero{display:flex;gap:14px;align-items:stretch;background:var(--card);border:1px solid var(--line);border-radius:20px;padding:10px;box-shadow:0 2px 14px #4b2a4010;margin-bottom:14px}
.today-hero img{width:42%;max-width:180px;height:auto;object-fit:cover;border-radius:14px;background:#f6efe6}
.today-hero-text{display:flex;flex-direction:column;justify-content:center;gap:8px;padding:6px 6px 6px 0;flex:1}
.today-hero-text h2{font:400 22px/1.2 Georgia,serif;margin:0}
.today-hero-time{font-size:13px;color:var(--muted);border-top:1px solid var(--line);padding-top:8px}
.today-hero-time::before{content:'\25F7  '}
.today-hero .primary{align-self:stretch;min-height:44px}
.today-checkin h2{font:400 20px/1.3 Georgia,serif}
.today-mood button{border:none;background:transparent;min-height:72px;padding:4px 0}
.today-mood .mood-face{width:44px;height:44px;border-radius:50%;background-color:#f7f1ea;border:1.5px solid var(--line);background-position:center;background-repeat:no-repeat;background-size:30px}
.today-mood button:hover .mood-face,.today-mood button:focus-visible .mood-face{border-color:var(--accent)}
.today-mood .mood-l{font-size:12px;color:var(--muted)}
.today-counts{text-align:center;font:italic 16px Georgia,serif;color:var(--muted);margin:14px 0 2px}
.today-counts::before,.today-counts::after{content:'';display:inline-block;width:36px;height:1px;background:var(--line);vertical-align:middle;margin:0 10px}
body.people .tab .tab-i{font-size:0;width:22px;height:22px;background:currentColor;-webkit-mask:var(--ic) center/contain no-repeat;mask:var(--ic) center/contain no-repeat}
body.people .tab.active{color:var(--accent);background:var(--lav)}
body.people .tabbar{background:#fffdfa}
.chip,.starter-grid button,.tag{background:var(--lav);color:var(--lav-ink)}
.head-brand{display:none}
@media (max-width:760px){body.people #page-title{display:none}body.people .head-brand{display:flex;align-items:center;gap:7px;line-height:1}
 .head-brand img{width:28px;height:28px}.head-brand b{font:400 22px Georgia,serif;color:var(--ink);letter-spacing:.01em}.head-brand small{display:block;font-size:8px;letter-spacing:.14em;color:var(--muted);margin-top:2px;white-space:nowrap}}
body.people .tab[data-view=today] .tab-i{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 10.5 12 4l8 6.5V20a1 1 0 0 1-1 1h-4.5v-6h-5v6H5a1 1 0 0 1-1-1z'/%3E%3C/svg%3E")}
body.people .tab[data-view=chat] .tab-i{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 5.5A1.5 1.5 0 0 1 5.5 4h13A1.5 1.5 0 0 1 20 5.5v9a1.5 1.5 0 0 1-1.5 1.5H10l-4.5 4v-4h0A1.5 1.5 0 0 1 4 14.5z'/%3E%3C/svg%3E")}
body.people .tab[data-view=care] .tab-i{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='4' y='5' width='16' height='15' rx='2'/%3E%3Cpath d='M4 9.5h16M8.5 3v4M15.5 3v4M8.5 14l2 2 4-4'/%3E%3C/svg%3E")}
body.people .tab[data-view=progress] .tab-i{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 20V12M10 20V6M15 20v-9M20 20V9M3.5 20.5h17'/%3E%3C/svg%3E")}
body.people .tab[data-view=safety] .tab-i{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3.5 19 6v5.5c0 4.3-2.9 7.7-7 9-4.1-1.3-7-4.7-7-9V6z'/%3E%3Cpath d='M12 9.5c-1-1.6-3.6-1-3.4 1 .2 1.6 2 2.7 3.4 3.8 1.4-1.1 3.2-2.2 3.4-3.8.2-2-2.4-2.6-3.4-1z'/%3E%3C/svg%3E")}
.today-mood .face-1{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23c7837a' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='10' r='.6' fill='%23c7837a'/%3E%3Ccircle cx='15' cy='10' r='.6' fill='%23c7837a'/%3E%3Cpath d='M8.5 16.5c1.8-1.6 5.2-1.6 7 0'/%3E%3C/svg%3E")}
.today-mood .face-2{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23d39b78' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='10' r='.6' fill='%23d39b78'/%3E%3Ccircle cx='15' cy='10' r='.6' fill='%23d39b78'/%3E%3Cpath d='M9 16c1.6-.9 4.4-.9 6 0'/%3E%3C/svg%3E")}
.today-mood .face-3{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23c9ad7f' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='10' r='.6' fill='%23c9ad7f'/%3E%3Ccircle cx='15' cy='10' r='.6' fill='%23c9ad7f'/%3E%3Cpath d='M9 15.5h6'/%3E%3C/svg%3E")}
.today-mood .face-4{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23a98aa3' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='10' r='.6' fill='%23a98aa3'/%3E%3Ccircle cx='15' cy='10' r='.6' fill='%23a98aa3'/%3E%3Cpath d='M9 14.5c1.6 1.2 4.4 1.2 6 0'/%3E%3C/svg%3E")}
.today-mood .face-5{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238e6a8a' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='10' r='.6' fill='%238e6a8a'/%3E%3Ccircle cx='15' cy='10' r='.6' fill='%238e6a8a'/%3E%3Cpath d='M8.5 14c1.9 2 5.1 2 7 0'/%3E%3C/svg%3E")}
.brand .brandmark{border-radius:0}
.brand-sub{letter-spacing:.14em;text-transform:uppercase;font-size:9px}
.brand{font:400 30px Georgia,serif;letter-spacing:0;color:var(--ink)}
.brand .brandmark{box-shadow:none;border-radius:0}

/* ---- v0.40 clinician Overview ---- */
.ov{max-width:1100px;margin:0 auto;padding:26px 28px 60px}
.ov-top{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:16px}
.ov-hello{font:400 36px/1.15 Georgia,serif;margin:0 0 4px}
.ov-pill{background:var(--lav);color:var(--lav-ink);border-radius:999px;padding:5px 12px;font-size:12px;white-space:nowrap}
.ov-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:16px}
.ov-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:14px}
.ov-stat{display:flex;align-items:center;gap:12px;text-align:left;background:var(--card);border:1px solid var(--line);border-radius:16px;padding:16px;box-shadow:0 2px 14px #4b2a4010}
.ov-stat-i{width:40px;height:40px;border-radius:50%;background:var(--lav);color:var(--accent);display:flex;align-items:center;justify-content:center;font-size:16px;flex:none}
.ov-stat strong{display:block;font:400 26px Georgia,serif;color:var(--ink)}
.ov-stat span span{font-size:13px;color:var(--muted)}
.ov-card h2{font:400 22px Georgia,serif;margin:0 0 12px}
.ov-table{display:flex;flex-direction:column}
.ov-row{display:grid;grid-template-columns:1.2fr 1.6fr auto;align-items:center;gap:10px;padding:10px 0;border-top:1px solid var(--line)}
.ov-head{border-top:none;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);padding-top:0}
.ov-who{display:flex;align-items:center;gap:10px}
.ov-ini{width:34px;height:34px;border-radius:50%;background:var(--lav);color:var(--accent);display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:600;flex:none}
.ov-reason{font-size:14px}
.ov-row .primary{padding:8px 16px;min-height:36px}
.ov-direction{background:var(--lav);border-color:#e3d6e8}
.ov-line{display:grid;grid-template-columns:1fr auto auto;gap:10px;align-items:center;width:100%;text-align:left;padding:12px 2px;border-top:1px solid var(--line);font-size:15px;color:var(--ink)}
.ov-count{background:var(--lav);color:var(--accent);border-radius:999px;min-width:26px;text-align:center;padding:2px 8px;font-size:12px}
.ov-chev{color:var(--muted);font-size:18px}
.ov-foot{margin-top:14px}
@media (max-width:900px){.ov-grid{grid-template-columns:1fr}.ov{padding:18px 16px 80px}.ov-hello{font-size:28px}}
@media (max-width:560px){.ov-stats{grid-template-columns:1fr}.ov-row{grid-template-columns:1fr auto}.ov-row .ov-reason{grid-column:1/-1;order:3}.ov-head{display:none}}
.nav-group{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin:16px 12px 4px}
#main-nav .nav-group:first-child{margin-top:4px}
.ov{padding-top:14px}
@media (max-width:560px){.ov-stats{grid-template-columns:repeat(3,1fr);gap:8px}.ov-stat{flex-direction:column;align-items:flex-start;gap:6px;padding:12px}.ov-stat-i{width:30px;height:30px;font-size:13px}.ov-stat strong{font-size:22px}}

/* ---- v0.41 light only, livelier (lucentpsych.com palette inside the owner's plum, peach and lavender system) ---- */
html{color-scheme:light only}
:root{--ink:#281a39;--muted:#5c5168;--line:#ece4ef;--card:#ffffff;--accent:#5b2a86;--lav:#f3eafd;--lav-ink:#55207a;--peach:#f9c5b4;--peach-ink:#7f2d12;--sky:#e3f3fc;--sage:#eaf3e7;--coral:#f3a78f}
body{background:#fcf9f5}
.primary,button.primary{background:var(--accent)}
.right-now-btn{background:var(--peach);color:var(--peach-ink)}
.today-hero{background:linear-gradient(135deg,#fff 0%,#fff7f2 55%,#f7efff 100%)}
.today-checkin{background:linear-gradient(180deg,#fff 0%,#fbf7ff 100%)}
.today-mood .mood-face{border:none;width:46px;height:46px;background-size:32px}
.today-mood button:hover .mood-face,.today-mood button:focus-visible .mood-face{box-shadow:0 0 0 2px var(--accent)}
.ov-stats .ov-stat:nth-child(1) .ov-stat-i{background:var(--lav)}.ov-stats .ov-stat:nth-child(2) .ov-stat-i{background:var(--peach);color:var(--peach-ink)}.ov-stats .ov-stat:nth-child(3) .ov-stat-i{background:var(--sky);color:#1f5f80}
.ov-direction{background:linear-gradient(135deg,#f3eafd 0%,#fbe9f1 100%);border-color:#e7d8f5}
.chip,.starter-grid button,.tag{background:var(--lav);color:var(--lav-ink)}
.starter-grid button:nth-child(2){background:#fde8de;color:var(--peach-ink)}.starter-grid button:nth-child(3){background:var(--sky);color:#1f5f80}.starter-grid button:nth-child(4){background:var(--sage);color:#2f5d36}
body.people .tab.active{background:var(--lav);color:var(--accent)}
.today-counts{color:#7d5ca0}
.today-mood .face-1{background-color:#efe9f6;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%237d68a6' stroke-width='1.6' stroke-linecap='round'%3E%3Ccircle cx='9' cy='10' r='.6' fill='%237d68a6'/%3E%3Ccircle cx='15' cy='10' r='.6' fill='%237d68a6'/%3E%3Cpath d='M8.5 16.5c1.8-1.6 5.2-1.6 7 0'/%3E%3C/svg%3E")}
.today-mood .face-2{background-color:#e3f3fc;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%233f87ad' stroke-width='1.6' stroke-linecap='round'%3E%3Ccircle cx='9' cy='10' r='.6' fill='%233f87ad'/%3E%3Ccircle cx='15' cy='10' r='.6' fill='%233f87ad'/%3E%3Cpath d='M9 16c1.6-.9 4.4-.9 6 0'/%3E%3C/svg%3E")}
.today-mood .face-3{background-color:#eaf3e7;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%235b8c63' stroke-width='1.6' stroke-linecap='round'%3E%3Ccircle cx='9' cy='10' r='.6' fill='%235b8c63'/%3E%3Ccircle cx='15' cy='10' r='.6' fill='%235b8c63'/%3E%3Cpath d='M9 15.5h6'/%3E%3C/svg%3E")}
.today-mood .face-4{background-color:#fde8de;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23c0603b' stroke-width='1.6' stroke-linecap='round'%3E%3Ccircle cx='9' cy='10' r='.6' fill='%23c0603b'/%3E%3Ccircle cx='15' cy='10' r='.6' fill='%23c0603b'/%3E%3Cpath d='M9 14.5c1.6 1.2 4.4 1.2 6 0'/%3E%3C/svg%3E")}
.today-mood .face-5{background-color:#f2e3fd;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238a3fc8' stroke-width='1.6' stroke-linecap='round'%3E%3Ccircle cx='9' cy='10' r='.6' fill='%238a3fc8'/%3E%3Ccircle cx='15' cy='10' r='.6' fill='%238a3fc8'/%3E%3Cpath d='M8.5 14c1.9 2 5.1 2 7 0'/%3E%3C/svg%3E")}
/* v0.41.1: the menu scrolls on phones (owner report: Settings was cut off) and taps do not leave a stuck highlight */
#sidebar{overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
#sidebar > *{flex-shrink:0}
#history{flex:0 0 auto;max-height:none;overflow:visible}
@media (max-width:700px){#sidebar{top:0;bottom:0;height:100%;height:100dvh;padding-bottom:calc(24px + env(safe-area-inset-bottom))}}
@media (hover:none){nav button:hover,.history-item:hover{background:transparent}}
nav button.active,nav button.active:hover{background:var(--lav);color:var(--accent)}

/* v0.42.0 research findings */
.ev-finding{margin:.25rem 0 .4rem;line-height:1.45;color:var(--ink)}
/* v0.43.0: read aloud, practice tools, print or save as PDF */
.listen-toggle{position:absolute;top:calc(14px + env(safe-area-inset-top));right:68px;font-size:22px;width:44px;height:44px;border-radius:50%;color:#6b586f;background:transparent}
.listen-toggle[aria-pressed="true"]{background:rgba(155,110,170,.14)}
.practice-tools{display:flex;gap:8px;flex-wrap:wrap;margin:.4rem 0}
#print-sheet{display:none}
@media print{
 body.printing>*:not(#print-sheet){display:none!important}
 body.printing{background:#fff!important}
 body.printing #print-sheet{display:block;color:#222;font:12pt/1.45 Georgia,serif;padding:0 .2in}
 #print-sheet .ps-head{display:flex;justify-content:space-between;border-bottom:1px solid #999;padding-bottom:6pt;margin-bottom:12pt;font-family:system-ui,sans-serif}
 #print-sheet h1{font-size:20pt;margin:0 0 6pt}
 #print-sheet h2{font-size:13pt;margin:14pt 0 4pt;font-family:system-ui,sans-serif}
 #print-sheet p{margin:0 0 4pt}
 #print-sheet .ps-intro{color:#555}
 #print-sheet .ps-blank{height:1.1in;border-bottom:1px dotted #aaa}
 #print-sheet section{break-inside:avoid}
 #print-sheet .ps-foot{margin-top:18pt;font-size:10pt;color:#555;border-top:1px solid #ccc;padding-top:6pt}
}
.ws-sub{display:grid;gap:2px;font-size:.82rem;color:var(--muted,#6b586f)}
.ws-sub input{font-size:1rem;color:var(--ink)}
@media print{
 #print-sheet table{width:100%;border-collapse:collapse;font:10pt/1.3 system-ui,sans-serif}
 #print-sheet th,#print-sheet td{border:1px solid #bbb;padding:5pt;text-align:left;vertical-align:top}
 #print-sheet td{height:22pt}
 #print-sheet th{background:#f3eef5}
}
/* v0.44.0: Dr. Leal's cheat sheet and walkthrough */
.guide .panel{margin-bottom:16px}
.guide-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.guide-pill{font-size:.8rem;font-weight:600;padding:4px 10px;border-radius:999px;background:#fbe3d6;color:var(--warm)}
.guide-pill.ok{background:#e4f1e4;color:#2f6a3a}
.guide-item{display:grid;grid-template-columns:28px 1fr auto;gap:12px;align-items:start;padding:14px 0;border-top:1px solid var(--line)}
.guide-item:first-of-type{border-top:0}
.guide-item p{margin:.2rem 0 0}
.guide-item .guide-how{font-size:.85rem;color:var(--accent)}
.guide-mark{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;border:2px solid var(--accent);color:var(--accent);font-weight:700}
.guide-item.done .guide-mark{background:var(--accent);color:#fff}
.guide-item.done strong{color:var(--muted)}
.guide-title{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.guide-count{font-size:.78rem;padding:2px 8px;border-radius:999px;background:rgba(90,43,100,.08);color:var(--accent)}
.guide-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 0;border-top:1px solid var(--line)}
.guide-row p{margin:.2rem 0 0}
.guide-help p{margin:.3rem 0}
@media (max-width:600px){.guide-item{grid-template-columns:28px 1fr}.guide-item>button{grid-column:2;justify-self:start}}
.tour-spot{outline:3px solid var(--warm)!important;outline-offset:2px;border-radius:10px;animation:tourPulse 1.6s ease-in-out infinite}
@keyframes tourPulse{50%{outline-color:#f1a98a}}
@media (prefers-reduced-motion:reduce){.tour-spot{animation:none}}
.tour-card{position:fixed;z-index:1000;right:24px;bottom:24px;width:min(360px,calc(100vw - 32px));background:var(--card);color:var(--ink);border:1px solid var(--line);border-radius:16px;box-shadow:0 12px 40px rgba(58,32,63,.22);padding:16px 18px}
.tour-card h3{margin:.2rem 0 .3rem}
.tour-card p{margin:0 0 .8rem;line-height:1.45}
.tour-step{font-size:.75rem;letter-spacing:.06em;color:var(--muted)}
.tour-nav{display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap}
@media (max-width:900px){.tour-card{left:16px;right:16px;bottom:calc(16px + env(safe-area-inset-bottom));width:auto}body.touring #sidebar{padding-bottom:260px}body.touring #scrim{pointer-events:none}}
