/* The Morning Brief on Home (morning-brief.js): Harmony's tokens, light and dark; every press 44px or more. */
.morning-brief{display:flex;flex-direction:column;gap:12px;margin-bottom:22px;--brief-row:#f7f7fa}
[data-theme=dark] .morning-brief{--brief-row:var(--soft)}
.brief-top{display:flex;align-items:center;gap:10px;min-width:0}
.brief-top h2{margin:0;font-size:1.05rem;flex:1 1 auto;min-width:0}
/* The brief's own mark, a sun on a soft tile: never the Primary's face (the Founder, 5 October 2026). */
.brief-mark{flex:0 0 32px;width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:var(--soft);color:var(--purple)}
.brief-mark svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.brief-top-text{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:2px}
.brief-period{color:var(--muted);font-size:.8125rem;overflow-wrap:anywhere}
/* "Since you were gone" with nothing in it: the register's one line in place of six empty rows. */
.brief-nothing{margin:0;padding:12px;border-radius:12px;background:var(--brief-row,var(--soft));color:var(--muted);overflow-wrap:anywhere}
.brief-nothing[hidden],.brief-rows[hidden]{display:none}
.brief-today{flex:0 0 auto;padding:4px 12px;border-radius:999px;background:var(--soft);color:var(--purple);font-size:.75rem;font-weight:600;line-height:1.35}
.brief-rows{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.brief-row{border-radius:12px;background:var(--brief-row);border:1px solid transparent;border-inline-start:3px solid transparent;min-width:0}
.brief-row.is-current{border-color:var(--line);border-inline-start-color:var(--purple);background:var(--soft)}
.brief-row.is-empty{opacity:.5}
/* A row the register could not read is never dimmed like an empty one: full strength, and Try again in place of a count. */
.brief-retry{flex:0 0 auto;min-height:44px}
.brief-head{display:flex;align-items:center;gap:12px;width:100%;min-height:60px;padding:10px 12px;background:none;border:0;border-radius:12px;color:inherit;text-align:start;font:inherit;cursor:pointer}
.brief-head[aria-disabled]{cursor:default}
.brief-head:focus-visible,.brief-item:focus-visible,.brief-next:focus-visible,.brief-retry:focus-visible{outline:2px solid var(--purple);outline-offset:2px}
.brief-tile{flex:0 0 40px;width:40px;height:40px;border-radius:10px;display:grid;place-items:center;background:var(--surface,#fff);border:1px solid var(--line);color:var(--purple)}
.brief-tile svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.brief-text{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:2px}
.brief-text strong{font-weight:700;overflow-wrap:anywhere}
.brief-text small{color:var(--muted);font-size:.8125rem;overflow-wrap:anywhere}
.brief-count{flex:0 0 auto;min-width:28px;padding:3px 9px;border-radius:999px;background:var(--surface,#fff);border:1px solid var(--line);font-size:.8125rem;font-weight:700;text-align:center}
.brief-row.is-current .brief-count{background:var(--purple);border-color:var(--purple);color:#fff}
[data-theme=dark] .brief-row.is-current .brief-count{color:#15101c}
.brief-items{padding:0 12px 12px 64px;display:flex;flex-direction:column;gap:6px;min-width:0}
.brief-items[hidden]{display:none}
.brief-items ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}
.brief-item{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:2px 10px;min-height:44px;padding:6px 10px;border-radius:8px;color:inherit;text-decoration:none;overflow-wrap:anywhere;min-width:0}
.brief-item-text{min-width:0}
.brief-go{flex:0 0 auto;color:var(--purple);font-size:.8125rem;font-weight:600;white-space:nowrap}
.brief-item:hover{background:var(--surface,#fff)}
.brief-item.is-overdue{color:var(--red)}
.brief-next{align-self:flex-end;min-height:44px;max-width:100%}
.brief-next-to{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
@media(max-width:700px){
 .morning-brief{margin-bottom:16px}
 .brief-items{padding-inline-start:12px}
 .brief-next-to{display:none}
}
/*
 * "Since you were gone", the living report (since-last.js): every part a fold; New, then Still open. One grid (the
 * Founder, 5 October 2026, night): the parts' icons in one column, and every title, count, line, said line and toggle
 * starting at one left edge, --since-edge from the part's side; a line's New mark and action under its words. Nothing
 * inside a part is centred or pushed right.
 */
.since-card{--since-tile:40px;--since-gap:12px;--since-pad:12px;--since-edge:calc(var(--since-pad) + var(--since-tile) + var(--since-gap))}
.since-top{gap:0}
.since-heading{gap:0}
.brief-open{color:inherit;text-decoration:none}
.brief-open:hover{text-decoration:underline}
.since-sections{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px;min-width:0}
.since-section{border-radius:12px;background:var(--brief-row,#f7f7fa);border:1px solid transparent;min-width:0}
[data-theme=dark] .since-section{background:var(--soft)}
.since-bar{display:flex;align-items:center;gap:var(--since-gap);width:100%;min-height:60px;padding:10px var(--since-pad);background:none;border:0;border-radius:12px;color:inherit;text-align:start;font:inherit;cursor:pointer}
.since-bar:focus-visible,.since-item:focus-visible,.since-all:focus-visible{outline:2px solid var(--purple);outline-offset:2px}
.since-tile{flex:0 0 var(--since-tile);width:var(--since-tile);height:var(--since-tile);border-radius:10px;display:grid;place-items:center;background:var(--surface,#fff);border:1px solid var(--line);color:var(--purple)}
.since-tile svg,.since-chevron{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.since-title{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:2px;text-align:start}
.since-title strong{font-weight:700;overflow-wrap:anywhere}
.since-title small{color:var(--muted);font-size:.8125rem;overflow-wrap:anywhere}
.since-chevron{flex:0 0 20px;color:var(--muted);transition:transform .15s}
.since-section.is-folded .since-chevron{transform:rotate(-90deg)}
.since-body{padding:0 var(--since-pad) 12px var(--since-edge);display:flex;flex-direction:column;align-items:stretch;gap:6px;min-width:0;text-align:start}
.since-body[hidden],.since-body:empty{display:none}
.since-layer{margin:6px 0 0;font-size:.8125rem;font-weight:700;color:var(--muted)}
.since-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:0}
.since-list[hidden]{display:none}
/* One presentation for every line (the Founder, 7 October 2026): the title in bold, one muted line under it, a chevron
   on the right; lines parted by a hairline, as History's rows are. */
.since-list>li+li,.since-list+.since-rest>li:first-child{border-top:1px solid var(--line)}
.since-item{display:flex;align-items:center;gap:10px;min-height:56px;padding:9px 0;color:inherit;text-decoration:none;overflow-wrap:anywhere;min-width:0;text-align:start}
a.since-item:hover .since-item-text{color:var(--purple)}
.since-item-copy{flex:1 1 auto;display:flex;flex-direction:column;gap:3px;min-width:0}
.since-item-text{display:block;min-width:0;max-width:100%;font-size:.9375rem;line-height:1.35;font-weight:600}
.since-item.is-overdue .since-item-text{color:var(--red)}
.since-meta{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;min-width:0;color:var(--muted);font-size:.8125rem;line-height:1.35}
.since-item-detail{min-width:0}
.since-item-chevron{flex:0 0 18px;width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;color:var(--muted)}
a.since-item:hover .since-item-chevron{color:var(--purple)}
.since-new{flex:0 0 auto;padding:1px 8px;border-radius:999px;background:var(--purple);color:#fff;font-size:.6875rem;font-weight:700;line-height:1.5}
[data-theme=dark] .since-new{color:#15101c}
.since-said{margin:0;color:var(--muted);font-size:.875rem}
/* A task's marks on a line are its card's (task-priority.js, task-page.css): the due date on the calendar, Urgent or High
   a flag; here only the line's size, and an overdue date in the line's red. */
.since-meta .task-due{font-size:.8125rem;color:var(--muted)}
.since-item.is-overdue .task-due,.since-item.is-overdue .task-due>.icon{color:var(--red)}
/* View all / Show less: opens and folds a part's other lines in place, on Home; at the same edge as the lines. */
.since-all{align-self:flex-start;display:inline-flex;align-items:center;min-height:44px;margin-inline-start:-10px;padding:0 10px;border-radius:8px;color:var(--purple);font-size:.8125rem;font-weight:600;text-align:start}
.since-all:hover{background:var(--surface,#fff)}
@media(max-width:700px){.since-card{--since-tile:32px;--since-gap:10px}.since-tile{border-radius:8px}.since-tile svg{width:18px;height:18px}}
/* On Home a line is its title on one line and its detail on one line; its whole words are its name and title, and in
   full on the report's page. */
.since-sections[data-since-place=home] .since-item-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.since-sections[data-since-place=home] .since-meta{flex-wrap:nowrap}
.since-sections[data-since-place=home] .since-item-detail{flex:1 1 auto;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.since-sections[data-since-place=home] .since-meta>:not(.since-item-detail){flex:0 0 auto}
