/* A calmer hierarchy and navigation that remains within thumb's reach. */
:root { --journal-muted:#b0c0a9; --journal-border:#bdd3b32d; }
.brand { text-decoration:none; }
.brand-mark { display:none; }
body:is([data-page=app],[data-page=intro]) .brand::before { display:none; }
body:is([data-page=app],[data-page=intro]) .brand-mark { display:grid; place-items:center; width:36px; height:36px; flex:none; border:1px solid #c2d8ac40; border-radius:12px; color:#c5ddb2; background:linear-gradient(145deg,#bddaa51c,#bddaa503); }
.brand-mark svg { width:24px; height:24px; fill:none; stroke:currentColor; stroke-width:1.3; stroke-linecap:round; stroke-linejoin:round; }
body.personal-journal .topbar-tools .search { display:none; }
body:is([data-page=app],[data-page=intro]) #appMain { max-width:1440px; }
body:is([data-page=app],[data-page=intro]) .stepbtn i { border:0; background:none; border-radius:0; }
.stepbtn i svg { width:22px; height:22px; fill:none; stroke:currentColor; stroke-width:1.4; stroke-linecap:round; stroke-linejoin:round; }
body:is([data-page=app],[data-page=intro]) .stepbtn.on { background:linear-gradient(100deg,#b8d7a826,#b8d7a808); border-color:#c9dfb63d; box-shadow:inset 3px 0 #c5dfaa; }
body:is([data-page=app],[data-page=intro]) .stepbtn::after { display:none; }
.cloud-toolbar { padding-bottom:19px; margin-bottom:27px; color:#b3c5aa; }
.cloud-toolbar .btn.sm { min-height:36px!important; font-size:13px!important; }
.portal-more summary { min-height:36px; display:flex; align-items:center; }
.portal-more > div { min-width:170px; padding:8px; gap:3px; border-radius:14px; }
.portal-more > div > * { min-height:40px; width:100%; text-align:left; justify-content:flex-start; padding:9px 12px!important; border:0!important; background:transparent!important; font:inherit; font-size:13px!important; color:#d7e4cd!important; border-radius:8px!important; text-decoration:none; }
.portal-more > div > *:hover { background:#bfd7a619!important; }
.polish-menu-link { display:block; }
.journal-modes { margin-bottom:34px; }
.journal-modes button { padding:11px 22px; }
.journal-modes button[aria-selected=true] { background:#c5dbab26; color:#f0f6e8; }
.daily-header h1 { letter-spacing:1px; }
.daily-header p { line-height:1.9; color:#b3c3ad; }
.eyebrow { font-size:11px; color:#b7cba3; letter-spacing:2px; }
.daily-stats { position:relative; overflow:hidden; border-color:#c4d9ad3d; background:radial-gradient(ellipse at 20% 0,#b8d79112,transparent 65%),linear-gradient(110deg,#28412b,#192d20 65%); box-shadow:0 12px 30px #00000010; }
.daily-stats span { color:#becfb3; font-size:13px; }
.daily-stats strong b { font-family:Georgia,'Times New Roman',serif; font-size:38px; font-weight:400; }
.daily-stats small { font-size:13px; }
.daily-section { background:linear-gradient(140deg,#1b3022f7,#14271cf7); border-color:#b9d1ac30; box-shadow:0 10px 30px #0000000c; }
.section-top h2 { font-size:21px; letter-spacing:.5px; }
.section-note { font-size:13px!important; color:#b3c3a9; }
.journal-check { background:#213725; border-color:#bed3ae38; min-height:163px; }
.journal-check:hover { box-shadow:0 8px 18px #0002; }
.journal-check[aria-pressed=true] { background:linear-gradient(135deg,#d0e3b4,#b7ce98); border-color:#d2e5b9; }
.journal-check small { font-size:12px; color:#b5c5a7; }
.task-label { font-size:15px; }
.task-icon { color:#ccdfb6; }
.task-tick { width:23px; height:23px; color:#c4d5b4; }
.journal-check[aria-pressed=true] .task-tick { background:#3b522b12; }
.action-help { font-size:13px; color:#b4c5aa; }
.journal-measures label { font-size:14px; color:#d3dfc9; }
.journal-measures label>span { color:#a9bc9d; font-size:11px; }
.journal-measures input { background:#203725!important; border-color:#b7cda33d!important; }
.journal-measures input::placeholder { color:#a6ba98; }
.measurement-save>.btn { min-height:44px; padding:12px 19px!important; font-size:14px!important; }
.measurement-save>span { color:#b0c2a3; font-size:12px; }
.week-day>span,.week-day>small { color:#b7c8ad; font-size:11px; }
.week-day>i { height:42px; background:#2b412e; color:#cedcc4; }
.week-day.selected>i { border-color:#d0e1b6; background:#355034; }
.range-controls button { min-height:32px; font-size:12px; }
.trend-caption { font-size:12px; color:#b5c8a8; }
.trend-caption>span { font-size:11px; color:#a2b797; }
.trend-caption select { font-size:12px!important; min-height:34px!important; }
.trend-empty { border-color:#c5d9ae38; background:#b4d09506; }
.trend-empty>p { color:#b0c29f; font-size:12px; }
.journal-history th { color:#b8caa9!important; font-size:12px!important; }
.journal-history td { color:#d9e4d0; }
.text-button,.history-open { min-height:40px; font-size:13px; }
.daily-footer { color:#a7ba9c; font-size:12px; }
.mobile-dock { display:none; }
.guardian-signin { display:inline-flex; align-items:center; justify-content:center; min-height:40px; padding:8px 15px; border:1px solid #c5ddb25c; border-radius:99px; color:#e7f0db; background:#bed7a91c; font-size:13px; line-height:1.5; text-decoration:none; white-space:nowrap; }
.guardian-signin:hover { background:#bed7a930; }
.guardian-signin:focus-visible { outline:2px solid #c5dfaa; outline-offset:3px; }
.toolbar-signin { min-height:36px; padding:6px 12px; }
.coach-signin { background:#c5dbab; color:#20331b; font-size:14px; padding:10px 18px; }
body[data-auth=guest] #btnLive,body[data-auth=guest] #saveCloud { display:none!important; }
.odyssey-actions:has(#resumeJourney:not([hidden])) > [data-go="0"] { display:none; }
@media(min-width:861px) { body:is([data-page=app],[data-page=intro]) .steps { padding-top:33px; } }
@media(max-width:640px) {
  body:is([data-page=app],[data-page=intro]) { grid-template-rows:72px minmax(0,1fr); }
  body:is([data-page=app],[data-page=intro]) .steps { display:none; }
  body:is([data-page=app],[data-page=intro]) #appMain { grid-area:2/1/3/2; padding:23px 17px calc(100px + env(safe-area-inset-bottom)); }
  body:is([data-page=app],[data-page=intro]) .brand { font-size:17px; letter-spacing:1px; gap:8px; }
  body:is([data-page=app],[data-page=intro]) .brand-mark { width:31px; height:31px; border-radius:10px; }
  body:is([data-page=app],[data-page=intro]) .brand-mark svg { width:21px; height:21px; }
  body:is([data-page=app],[data-page=intro]) .mobile-dock { position:fixed; inset:auto 0 0; z-index:65; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:4px; padding:8px 12px calc(8px + env(safe-area-inset-bottom)); background:#0d1e15f5; border-top:1px solid #bdd3ac30; box-shadow:0 -10px 30px #0002; backdrop-filter:blur(20px); }
  .mobile-dock a { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:5px; min-height:54px; text-decoration:none; color:#a9bca0; border-radius:12px; font-size:11px; line-height:1.5; }
  .mobile-dock svg { width:23px; height:23px; fill:none; stroke:currentColor; stroke-width:1.5; stroke-linecap:round; stroke-linejoin:round; }
  .mobile-dock a[aria-current=page] { color:#d7e9be; background:#bed7a918; }
  .mobile-dock a:focus-visible,.brand:focus-visible,.polish-menu-link:focus-visible { outline:2px solid #c5dfaa; outline-offset:2px; }
  .cloud-toolbar { flex-wrap:nowrap; gap:8px; margin-bottom:22px; padding-bottom:17px; align-items:center; }
  .cloud-toolbar #cloudStatus { flex:1; font-size:11px; line-height:1.8; }
  .cloud-toolbar>div { flex-shrink:0; }
  .cloud-toolbar .btn.sm { min-height:36px!important; padding:6px 9px!important; font-size:11px!important; }
  .portal-more summary { padding:6px 8px; font-size:12px; }
  .header-signin { min-height:34px; padding:6px 10px; font-size:12px; }
  body[data-auth=guest] .topbar-tools .user-card { display:none; }
  .toolbar-signin { font-size:11px; padding:6px 9px; }
  .journal-modes { margin-bottom:26px; }
  .journal-modes button { padding:10px 8px; font-size:12px; min-height:40px; }
  .daily-header { gap:18px; }
  .daily-header h1 { font-size:29px; letter-spacing:0; text-wrap:balance; }
  .daily-header p { font-size:13px; }
  .eyebrow { font-size:10px; letter-spacing:1.5px; }
  .date-tools>label { font-size:12px; }
  .journal-date { min-height:42px!important; font-size:13px; }
  .daily-stats { padding:20px; }
  .daily-stats strong b { font-size:32px; }
  .daily-stats span,.daily-stats small { font-size:12px; }
  .daily-section { padding:22px 17px; }
  .section-top h2,.journal-columns h2 { font-size:20px; }
  .section-top>.section-note { font-size:12px!important; }
  .journal-check { min-height:145px; padding:17px 15px; }
  .journal-check:last-child { min-height:86px; }
  .journal-check small { font-size:12px; }
  .task-label { font-size:15px; }
  .action-help,.journal-measures label { font-size:13px; }
  .measurement-save>span { font-size:11px; }
  .range-controls button { font-size:11px; }
  .trend-caption { gap:10px; }
  .daily-footer { font-size:11px; }
  .text-button,.history-open { min-height:44px; }
}
