/* Today opens with a private reading when signed in; guests see the public almanac. */
.today-overview { padding-bottom: 28px; min-width: 0; }
.overview-heading { margin-bottom:12px; }
.overview-heading h2 { margin:0 0 4px; font:500 28px/1.3 var(--serif); }
.overview-heading p { margin:0; color:var(--muted); font-size:11px; line-height:1.6; }
.overview-public-note { padding:12px 0 14px; margin:0; }
.overview-note-kicker { margin:0 0 5px; color:var(--accent); font-size:10px; line-height:1.5; letter-spacing:.08em; }
.overview-public-note h3 { margin:0 0 5px; font:500 clamp(19px,5.8vw,24px)/1.45 var(--serif); overflow-wrap:anywhere; }
.overview-note-line { margin:0; max-width:38em; color:var(--ink); font-size:14px; line-height:1.8; overflow-wrap:anywhere; }
.overview-note-open { display:block; min-height:44px; padding:8px 0 0; color:var(--accent); font-size:12px; text-align:start; }
#public-note-status { min-height:38px; }
#public-note-status p { margin:0; color:var(--muted); font-size:12px; line-height:1.7; }
#public-note-status .overview-note-line { color:var(--ink); font-size:14px; line-height:1.8; }
#public-note-status button { min-height:44px; padding:6px 0; color:var(--accent); font-size:12px; }
.overview-count { margin:0 0 8px 18px; color:var(--muted); font-size:11px; line-height:1.6; }
.overview-direction-section { border-block:1px solid var(--line); padding:8px 0 12px; }
.overview-directions-hint { margin:1px 0 4px; color:var(--muted); font-size:11px; line-height:1.5; }
.overview-section-head { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.overview-section-head h3 { margin:0; font-size:12px; font-weight:500; color:var(--muted); }
.overview-section-head button { min-height:44px; padding:4px; color:var(--accent); font-size:12px; }
.overview-directions { margin:2px 0 0; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:6px; }
.overview-directions > div+div { border-left:1px solid var(--line); padding-left:8px; }
.overview-directions dt { margin-bottom:4px; font-size:11px; color:var(--muted); }
.overview-directions dd { margin:0; font:500 clamp(15px,5vw,18px)/1.35 var(--serif); overflow-wrap:normal; word-break:normal; }
#overview-directions-status { min-height:49px; font-size:12px; line-height:1.6; }
#overview-directions-status p { margin:4px 0; }
#overview-directions-status button { min-height:44px; color:var(--accent); }
.overview-shortcuts { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); border-bottom:1px solid var(--line); margin:8px 0 14px; }
.overview-shortcuts button { min-height:48px; padding:8px 5px; font-size:13px; line-height:1.5; color:var(--ink); }
.overview-shortcuts button+button { border-left:1px solid var(--line); }
.overview-app-note { margin:-5px 0 12px; font-size:11px; color:var(--muted); line-height:1.5; }
.overview-private { border-left:2px solid var(--accent); padding-left:16px; margin-bottom:10px; }
.overview-private .daily-reading-source { font-size:11px; margin:0 0 8px; }
.overview-private .daily-reading-headline { font-size:23px; line-height:1.45; margin:0 0 12px; }
.overview-private .daily-reading-interpretation { font-size:15px; line-height:1.8; margin:0; display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:4; overflow:hidden; }
.overview-private .daily-reading-disclosure { margin:10px 0 0; font-size:11px; line-height:1.6; }
.overview-private .text-button { font-size:13px; min-height:48px; padding:8px 0; }
.overview-private .daily-reading-status { padding:6px 0; }
.overview-private .daily-reading-status h3 { font-size:21px; margin-bottom:8px; }
.overview-private .daily-reading-status p { font-size:14px; line-height:1.75; }
.overview-private .daily-reading-actions { margin-top:12px; }
.overview-followup { display:block; border-top:1px solid var(--line); min-height:48px; width:100%; text-align:left; font-size:13px; }
.today-overview :is(button,[tabindex]):focus-visible { outline:2px solid var(--accent); outline-offset:3px; }
.today-overview button:active:not(:disabled) { opacity:.75; }
@media(prefers-reduced-motion:reduce) { .today-overview * { animation:none!important; transition:none!important; } }

/* H5 already has a visible Today page heading. The embedded native shell hides
   that heading, so retain the inner title there. Both preserve a named region. */
html:not([data-ori-embedded="true"]) .overview-heading h2 { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }

/* Each direction is one labelled target, with the same quiet three-column grid. */
.overview-direction-name { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; }
#overview-directions-status .overview-directions button { display:flex; flex-direction:column; align-items:flex-start; gap:4px; min-height:52px; width:100%; padding:0 2px 3px 0; text-align:left; font:inherit; line-height:1.4; overflow-wrap:normal; word-break:normal; }
.overview-direction-label { color:var(--muted); font:400 11px/1.4 var(--sans); }

.overview-signin { padding:12px 0; }
.overview-signin h3 { margin:0 0 4px; font:500 17px/1.5 var(--serif); }
.overview-signin p { margin:0; color:var(--muted); font-size:12px; line-height:1.6; }
.overview-signin button { min-height:44px; padding:6px 0; color:var(--accent); font-size:13px; }
.overview-signin button.overview-wallet-start { display:flex; width:100%; min-height:48px; justify-content:center; align-items:center; margin-top:10px; padding:10px 16px; border:0; border-radius:8px; background:var(--green); color:var(--paper); font:500 14px/1.4 var(--sans); }
.overview-signin .overview-wallet-note { margin-top:6px; font-size:12px; line-height:1.6; }
.overview-journal { padding:8px 0 14px; border-bottom:1px solid var(--line); }
.overview-journal h3 { margin:0; font-size:12px; font-weight:500; color:var(--muted); }
.overview-journal p { margin:0 0 5px; font-size:13px; line-height:1.7; overflow-wrap:anywhere; }
.overview-journal small { display:block; color:var(--muted); font-size:11px; line-height:1.6; }
.overview-journal button { min-height:44px; color:var(--accent); font-size:12px; }
