/* Home presentation only. Shared navigation, themes and record workflows stay shared. */
.home-briefs{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,330px),1fr));gap:16px;margin-top:16px;align-items:start}
.home-brief{min-width:0;border-radius:16px}
.home-brief .panel-title{margin-bottom:10px;flex-wrap:wrap}
.home-brief .panel-title h2{font-size:16px}
.home-brief .eyebrow{display:block;margin-bottom:5px}
.home-brief ul{list-style:none;padding:0;margin:0}
.home-brief li+li{border-top:1px solid var(--border)}
.home-agenda-item,.home-insight{width:100%;min-height:44px;border:0;background:transparent;color:var(--text);text-align:left;padding:10px 2px;font:inherit;font-size:13px;overflow-wrap:anywhere}
.home-agenda-item{display:grid;grid-template-columns:5em 1fr;align-items:baseline;gap:10px}
.home-agenda-item span{color:var(--muted);font-variant-numeric:tabular-nums}
.home-agenda-item:hover,.home-insight:hover{color:var(--accent);background:var(--surface-soft)}
.home-excerpt{margin:0;line-height:1.6;overflow-wrap:anywhere;white-space:pre-line}
@media(min-width:1024px){.home-page.workspace-calendar{max-width:none}}
.home-page{max-width:1500px;margin-inline:auto;--home-line:color-mix(in srgb,var(--border) 78%,var(--surface));}
.home-page .home-intro{grid-template-columns:minmax(230px,.85fr) minmax(0,1.15fr);gap:32px;margin:4px 0 24px;align-items:center}
.home-page .page-heading h1{font-size:clamp(26px,2.65vw,38px);letter-spacing:-1.3px;line-height:1.18;max-width:340px;font-weight:600;text-wrap:balance}
.home-page .home-quote{padding:20px 24px;border:1px solid var(--home-line);border-radius:20px;background:linear-gradient(120deg,var(--quote-bg),var(--surface));box-shadow:none}
.home-page .home-quote .eyebrow{font-size:9px;letter-spacing:1.6px}
.home-page .home-quote h3{display:block;overflow:visible;font-size:19px;line-height:1.5;letter-spacing:-.3px;margin:9px 0 0;max-width:60ch;overflow-wrap:anywhere}
.home-page .home-quote p{white-space:normal;font-size:11px;line-height:1.5;overflow-wrap:anywhere}
.home-page .home-quote .text-button{min-height:36px;font-size:11px;padding:6px 0 0}
.home-page .home-reminders{border:1px solid var(--home-line);border-radius:16px;padding:12px 18px;margin:0 0 18px;box-shadow:none}
.home-page .reminders-heading h2{font-family:inherit;font-size:14px;display:flex;align-items:center;gap:8px;letter-spacing:-.2px}
.home-page .reminders-heading .count{font-size:11px;min-width:22px;height:22px;display:inline-grid;place-items:center;background:var(--accent-soft);color:var(--accent);border-radius:7px}
.home-page .reminder-row{padding:12px 4px;gap:12px}
.home-page .reminder-symbol{width:34px;height:34px;border-radius:11px}
.home-page .reminder-copy strong{font-size:13px;line-height:1.5}
.home-page .reminder-options{width:44px;height:44px}
.home-page .home-reminders .text-button{min-height:40px}
.home-page .home-calendar{margin:0;padding:24px;border:1px solid var(--home-line);border-radius:22px;box-shadow:0 3px 18px #00000003;overflow:visible}
.home-page .cal-heading{margin-bottom:20px}
.home-page .cal-heading h2{font-family:inherit;font-size:24px;line-height:1.3;letter-spacing:-.8px;font-weight:600;margin:0}
.home-page .cal-heading h2>span{font-size:10px;font-weight:500;letter-spacing:.4px;margin-left:7px;vertical-align:middle}
.home-page .cal-heading>.button{min-height:42px;border-radius:11px;padding:11px 16px;font-size:12px}
.home-page .cal-toolbar{padding-bottom:20px;margin-bottom:0;gap:12px;border-bottom:1px solid var(--home-line)}
.home-page .cal-nav{gap:4px}
.home-page .cal-nav .icon-button{width:36px;height:38px;font-size:23px;border-radius:9px}
.home-page .cal-nav .button{min-height:38px;padding:8px 12px;border-radius:9px}
.home-page .cal-nav h3{font-size:13px;font-weight:550;margin-left:8px;line-height:1.4}
.home-page .cal-controls{gap:10px}
.home-page .cal-controls>input{font-size:12px;width:143px;min-height:40px;padding:8px 9px;border-radius:9px}
.home-page .cal-switch{padding:3px;border-color:transparent;border-radius:11px;background:var(--surface-soft)}
.home-page .cal-switch button{border-radius:8px;padding:8px 12px;min-height:34px;font-size:12px}
.home-page .cal-switch button[aria-pressed=true]{background:var(--surface);color:var(--text);box-shadow:0 1px 5px #00000012;font-weight:600}
.home-page .cal-workspace{display:grid;gap:24px;padding-top:22px;align-items:start;min-width:0}
.home-page .cal-overview{min-width:0}
.home-page .cal-week-scroll{border:0;border-radius:12px;overflow-x:auto}
.home-page .cal-week-grid{grid-template-columns:repeat(7,minmax(0,1fr));min-height:260px}
.home-page .cal-week-day{padding:6px;border-color:var(--home-line);border-radius:10px}
.home-page .cal-selected{background:color-mix(in srgb,var(--accent-soft) 55%,var(--surface))}
.home-page .cal-date{padding:9px 4px;gap:7px;border-radius:10px;min-height:70px}
.home-page .cal-date>span{font-size:11px}
.home-page .cal-date>strong{font-size:20px;font-weight:550;width:34px;height:34px}
.home-page .cal-date[aria-current=date]{box-shadow:none;background:var(--accent);color:var(--surface)}
.home-page .cal-date[aria-current=date]>span{color:inherit;opacity:.8}
.home-page .cal-date[aria-current=date]>.cal-journal-dot{background:currentColor}
.home-page .cal-date.cal-today:not([aria-current])>strong{background:var(--accent-soft);color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}
.home-page .cal-date[aria-current=date]>strong{background:transparent;color:inherit}
.home-page .cal-week-items{padding:14px 0;gap:8px}
.home-page .cal-item{border-radius:10px;padding:13px 14px;gap:5px;transition:background .18s,box-shadow .18s,transform .18s}
.home-page .cal-item strong{font-size:14px;font-weight:550;line-height:1.45}
.home-page .cal-item-time{font-size:12px;line-height:1.5}
.home-page .cal-item-meta{font-size:11px;line-height:1.5}
.home-page .cal-item.cal-compact{padding:8px 6px;border-left-width:2px;border-radius:7px}
.home-page .cal-compact strong{font-size:11px;line-height:1.5;-webkit-line-clamp:3}
.home-page .cal-compact .cal-item-time{font-size:10px}
.home-page .cal-inline-add{min-height:36px;border-radius:9px;color:var(--accent)}
.home-page .cal-detail{margin:0;min-width:0}
.home-page .cal-detail-heading{margin:0 0 16px;align-items:flex-start;gap:10px}
.home-page .cal-detail-heading h3{font-size:18px;letter-spacing:-.4px;font-weight:600;line-height:1.4}
.home-page .cal-detail-heading h3 span{display:block;font-size:12px;margin:4px 0 0;letter-spacing:0}
.home-page .cal-detail-heading>.small{font-size:11px;white-space:nowrap;background:var(--surface-soft);border-radius:20px;padding:5px 9px}
.home-page .cal-day-agenda{gap:10px}
.home-page .cal-day-agenda>.cal-inline-add{min-height:44px;margin-top:2px;font-weight:500}
.home-page .cal-empty{min-height:120px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;border:1px dashed var(--border);border-radius:12px;padding:24px 12px;text-align:center}
.home-page .cal-empty-mark{font-size:24px;color:var(--muted);opacity:.6}
.home-page .cal-empty p{font-size:13px;margin:0}
.home-page .cal-weekdays{font-size:11px;padding-bottom:12px}
.home-page .cal-month-grid{border-color:var(--home-line);border-radius:12px}
.home-page .cal-cell{min-height:104px;border-color:var(--home-line);padding:5px}
.home-page .cal-cell .cal-date{min-height:30px;padding:0;align-items:center;width:34px}
.home-page .cal-cell .cal-date>strong{font-size:13px;width:30px;height:30px}
.home-page .cal-cell .cal-date>.cal-journal-dot{top:3px;right:3px;width:4px;height:4px}
.home-page .cal-more{min-height:30px;font-size:11px}
.home-page .cal-legend{gap:16px;margin-top:22px;padding-top:16px;font-size:10px;border-color:var(--home-line)}
.home-page .cal-mobile-week,.home-page .cal-week-overview{display:none}
.home-page .cal-view-day .cal-overview{display:none}
.home-page .cal-view-day .cal-workspace{grid-template-columns:1fr}
.home-page .cal-view-day .cal-detail{border:0;padding:0}
.home-page button:focus-visible,.home-page summary:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
@media(hover:hover){
 .home-page .cal-item:hover{filter:none;transform:translateY(-1px);box-shadow:0 3px 10px #0000000a}
 .home-page .cal-date:hover:not([aria-current]){background:var(--accent-soft)}
}
@media(min-width:1200px){
 .home-page .cal-workspace{grid-template-columns:minmax(0,1fr) 260px;gap:22px}
 .home-page .cal-detail{padding-left:22px;border-left:1px solid var(--home-line);min-height:260px}
}
@media(min-width:1500px){
 .home-page .cal-workspace{grid-template-columns:minmax(0,1fr) 300px;gap:28px}
 .home-page .cal-detail{padding-left:28px}
 .home-page .cal-compact strong{font-size:12px}
}
@media(max-width:900px){
 .home-page .home-intro{grid-template-columns:1fr;gap:16px}
 .home-page .page-heading h1{max-width:none}
}
@media(max-width:700px){
 .home-page .home-intro{gap:16px;margin:6px 0 16px}
 .home-page .page-heading h1{font-size:28px;line-height:1.2;letter-spacing:-1px}
 .home-page .home-quote{border-radius:16px;padding:16px 18px}
 .home-page .home-quote h3{font-size:18px;line-height:1.5;margin-top:8px}
 .home-page .home-quote .text-button{min-height:40px}
 .home-page .home-reminders{padding:10px 14px;margin-bottom:16px;border-radius:15px}
 .home-page .home-reminders .panel-title{gap:8px}
 .home-page .home-reminders .text-button{min-height:44px;font-size:12px}
 .home-page .reminders-heading{gap:3px 8px}
 .home-page .reminders-heading p{font-size:11px}
 .home-page .home-calendar{padding:18px 14px;border-radius:18px}
 .home-page .cal-heading{margin-bottom:16px}
 .home-page .cal-heading h2{font-size:23px}
 .home-page .cal-heading>.button{min-height:44px;font-size:12px;padding:10px 14px}
 .home-page .cal-toolbar{gap:12px;padding-bottom:16px}
 .home-page .cal-nav{display:grid;grid-template-columns:44px auto 44px 1fr;gap:3px;width:100%}
 .home-page .cal-nav .icon-button{width:44px;height:44px}
 .home-page .cal-nav .button{min-height:44px;padding:8px}
 .home-page .cal-nav h3{font-size:12px;margin-left:6px;text-align:right}
 .home-page .cal-controls{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;width:100%}
 .home-page .cal-controls>input{font-size:16px;min-height:46px;width:100%;min-width:0;padding:8px}
 .home-page .cal-switch{padding:3px}
 .home-page .cal-switch button{min-height:40px;padding:8px 11px;font-size:12px}
 .home-page .cal-workspace{gap:22px;padding-top:16px}
 .home-page .cal-desktop-week{display:none}
 .home-page .cal-mobile-week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}
 .home-page .cal-week-choice{border-radius:12px;min-width:0;position:relative;padding-bottom:4px}
 .home-page .cal-week-choice .cal-date{gap:3px;min-height:73px;padding:8px 0;border-radius:12px}
 .home-page .cal-week-choice .cal-date>span{font-size:11px}
 .home-page .cal-week-choice .cal-date>strong{font-size:19px;width:30px;height:30px}
 .home-page .cal-week-choice .cal-date>.cal-journal-dot{top:4px;right:5px;width:4px;height:4px}
 .home-page .cal-week-count{display:block;font-size:9px;text-align:center;color:var(--muted);padding-top:6px;line-height:14px}
 .home-page .cal-detail-heading{margin-bottom:14px}
 .home-page .cal-detail-heading h3{font-size:19px}
 .home-page .cal-detail-heading h3 span{display:inline;font-size:12px;margin-left:10px}
 .home-page .cal-item{padding:14px;min-height:72px}
 .home-page .cal-item strong{font-size:15px}
 .home-page .cal-day-agenda>.cal-inline-add{min-height:48px}
 .home-page .cal-empty{min-height:100px}
 .home-page .cal-week-overview{display:block;margin-top:20px;border-top:1px solid var(--home-line)}
 .home-page .cal-week-overview>summary{cursor:pointer;font-size:13px;font-weight:550;padding:16px 2px;min-height:48px;color:var(--text)}
 .home-page .cal-week-overview>summary>span{float:right;font-size:11px;font-weight:400;color:var(--muted)}
 .home-page .cal-week-overview .cal-week-grid{display:grid;grid-template-columns:1fr;gap:10px;min-height:0}
 .home-page .cal-week-overview .cal-week-day{display:grid;grid-template-columns:52px minmax(0,1fr) 44px;gap:8px;align-items:start;border:0;padding:8px;border-radius:12px}
 .home-page .cal-week-overview .cal-week-items{padding:0;min-height:44px}
 .home-page .cal-week-overview .cal-inline-add{min-height:44px;font-size:18px}
 .home-page .cal-week-overview .cal-item strong{font-size:13px;display:block;overflow:visible}
 .home-page .cal-week-overview .cal-item-time{font-size:11px}
 .home-page .cal-week-overview .cal-date{min-height:66px;padding:6px 0;gap:0}
 .home-page .cal-cell{min-height:66px;padding:3px}
 .home-page .cal-cell .cal-date{width:100%;min-height:44px}
 .home-page .cal-mobile-count{font-size:9px;padding-top:5px}
 .home-page .cal-legend{gap:12px;margin-top:16px;padding-top:14px;font-size:10px;line-height:1.5}
}
@media(max-width:480px){
 .home-page .cal-controls{grid-template-columns:minmax(0,1fr)}
 .home-page .cal-controls>input{box-sizing:border-box;max-width:100%}
 .home-page .cal-switch{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
 .home-page .cal-switch button{min-height:44px}
}
@media(max-width:374px){
 .home-page .cal-week-choice .cal-date>span{font-size:10px}
 .home-page .cal-mobile-week{gap:2px}
 .home-page .home-reminders .reminders-heading{display:block}
 .home-page .cal-detail-heading h3 span{display:block;margin:3px 0 0}
}
@media(prefers-reduced-motion:reduce){.home-page *{transition:none!important;animation:none!important}}

.cal-date-cue {display:none}
@media (min-width:701px) {
  .home-page .home-calendar {container:home-calendar / inline-size}
  .home-page .cal-toolbar {
    display:grid;align-items:center;reading-flow:grid-rows;
    grid-template-columns:max-content minmax(0,1fr) auto auto auto max-content;
    grid-template-areas:"views period prev today next jump";
    gap:8px 4px;
  }
  .home-page .cal-controls,.home-page .cal-nav {display:contents}
  .home-page .cal-switch {grid-area:views;justify-self:start}
  .home-page .cal-nav h3 {grid-area:period;min-width:0;margin:0 10px;overflow-wrap:break-word}
  .home-page [data-action=calendar-prev] {grid-area:prev}
  .home-page [data-action=calendar-today] {grid-area:today}
  .home-page [data-action=calendar-next] {grid-area:next}
  .home-page #calendar-date {grid-area:jump;justify-self:end;margin-inline-start:8px}
  @container home-calendar (max-width:700px) {
    .home-page .cal-toolbar {
      grid-template-columns:minmax(0,1fr) auto auto auto;
      grid-template-areas:"views prev today next" "period jump jump jump";
    }
    .home-page .cal-nav h3,.home-page #calendar-date {margin:0}
  }
}
@media (max-width:700px) {
  /* The native input and its visible period label share one tap target. */
  .home-page .cal-toolbar {
    display:grid;grid-template-columns:44px max-content 44px minmax(0,1fr);
    gap:6px 3px;align-items:stretch;
  }
  .home-page .cal-nav,.home-page .cal-controls {display:contents}
  .home-page .cal-nav h3 {
    grid-area:1 / 4;margin:0;display:flex;align-items:center;justify-content:center;
    gap:6px;min-height:44px;min-width:0;padding:4px 7px;text-align:center;
    overflow-wrap:anywhere;background:var(--surface-soft);color:var(--text);
    border:1px solid var(--border);border-radius:9px;
  }
  .cal-date-cue {display:block;flex:none;color:var(--muted)}
  .home-page .cal-controls>input[type=date] {
    grid-area:1 / 4;position:relative;z-index:1;align-self:stretch;
    width:100%;height:100%;min-height:44px;min-width:0;box-sizing:border-box;
    margin:0;padding:0;opacity:0;cursor:pointer;
  }
  .home-page .cal-controls>input[type=date]::-webkit-calendar-picker-indicator {
    position:absolute;inset:0;width:100%;height:100%;margin:0;padding:0;cursor:pointer;
  }
  .home-page .cal-toolbar:has(#calendar-date:focus-visible) h3 {
    outline:2px solid var(--accent);outline-offset:2px;
  }
  .home-page .cal-switch {
    grid-column:1 / -1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));
  }
}

/* The daily dashboard. Calendar and Goals keep their own workspace layouts. */
.home-dashboard { max-width:1170px; margin:0 auto; }
.dashboard-head { padding:2px 0 22px; margin-bottom:22px; border-bottom:1px solid var(--border); }
.dashboard-head .eyebrow,.focus-goal-copy small { font-size:10px; font-weight:650; letter-spacing:.12em; text-transform:uppercase; }
.dashboard-head h1 { font-size:clamp(27px,3.3vw,43px); line-height:1.12; font-weight:620; letter-spacing:-.048em; margin:.4rem 0 0; }
.dashboard-grid { display:grid; grid-template-columns:minmax(0,1.38fr) minmax(290px,.95fr); gap:clamp(16px,2.2vw,30px); align-items:start; }
.dashboard-day,.dashboard-side,.pin-stack { display:grid; gap:16px; min-width:0; }
.home-dashboard .panel { margin:0; padding:clamp(16px,2vw,24px); border:1px solid var(--border); border-radius:18px; background:var(--surface); box-shadow:0 2px 8px color-mix(in srgb,var(--text) 3%,transparent); }
.home-dashboard .panel-title { margin:0 0 12px; align-items:center; gap:8px; }
.home-dashboard .panel-title h2,.home-dashboard .home-goals-heading h2 { line-height:1.25; font-family:inherit; font-size:17px; font-weight:600; letter-spacing:-.025em; }
.home-dashboard .panel-title .text-button { font-size:12px; }
.home-dashboard .home-quote {
 display:grid; align-content:center; gap:10px; min-width:0; min-height:126px; margin:0;
 padding:15px 22px 21px; border:1px solid var(--border); border-radius:17px;
 background:var(--quote-bg,var(--accent-soft)); color:var(--text); box-shadow:0 2px 5px #0000000d;
}
.thought-heading {display:flex;align-items:center;justify-content:space-between;gap:12px}
.thought-heading h2 {margin:0;color:var(--muted);font:700 9px/14px system-ui,sans-serif;letter-spacing:1.5px;text-transform:uppercase}
.home-dashboard .home-quote .home-view-link {position:relative;min-height:14px;padding:0;color:var(--muted);font-size:11px;line-height:14px}
.home-quote .home-view-link::after {content:"";position:absolute;inset:-15px 0}
.thought-attribution {margin-top:3px;color:var(--muted);font-size:11px;line-height:14px;overflow-wrap:anywhere}
.home-quote .home-view-link .icon {width:14px;height:14px;flex:none;transition:transform .18s ease}
@media(prefers-reduced-motion:no-preference){.home-quote .home-view-link:is(:hover,:focus-visible) .icon {transform:translateX(3px)}}
.dashboard-greeting {align-self:start;min-width:0}
.dashboard-greeting h1 {margin:0}
.dashboard-greeting journal-prompts {margin-top:4px}
.dashboard-greeting .journal-question {color:var(--muted);font-size:14px}
.dashboard-greeting .journal-question strong {font-weight:450}
.home-quote blockquote { margin:0; font:400 clamp(18px,1.375vw,22px)/1.28 Georgia,serif; letter-spacing:-.025em; overflow-wrap:anywhere; }
.home-dashboard .home-agenda .home-agenda-item span { font-size:11px; font-weight:650; color:var(--accent); }
.home-dashboard .home-insight { display:block; color:var(--text); line-height:1.55; }
.home-dashboard .home-insight strong { color:var(--accent); }
.home-dashboard .home-reflection .home-excerpt { font-size:14px; line-height:1.65; }
.home-dashboard .home-reminders:has([data-reminders-empty]:not([hidden])) .panel-title { margin-bottom:0; }
.home-dashboard .home-pins {
 min-width:0; box-sizing:border-box; display:flex; flex-direction:column; gap:14px;
 padding:clamp(18px,2vw,25px); min-height:205px;
 border:1px solid #c3d8c8; border-radius:20px; color:#203e31;
 background:radial-gradient(ellipse at 90% 15%,#d4ebd9 0%,transparent 64%),linear-gradient(115deg,#f5faf3,#e8f2e6);
 box-shadow:inset 0 1px 0 #ffffff90,0 3px 12px #192e210d;
}
.home-dashboard .home-pins h2 { margin:0; color:inherit; }
.home-goals-heading {display:flex;align-items:center;justify-content:space-between;gap:12px}
.home-dashboard .home-view-link {color:inherit;min-height:44px;font-size:12px;white-space:nowrap}
.home-view-link:hover {text-decoration:underline;text-underline-offset:3px}
.pin-stack { flex:1; gap:0; }
.focus-goal {
 width:100%; min-width:0; min-height:118px; box-sizing:border-box;
 display:flex; align-items:center; justify-content:space-between; gap:clamp(12px,2vw,24px);
 padding:5px 0; text-align:left; color:inherit; background:transparent; border:0;
}
.focus-goal+.focus-goal { border-top:1px solid #c4d9c8; }
.focus-goal:hover .focus-goal-copy strong { text-decoration:underline; text-underline-offset:3px; }
.focus-goal:focus-visible { outline:2px solid #326747; outline-offset:4px; border-radius:6px; }
.focus-goal-copy { display:grid; gap:10px; min-width:0; }
.focus-goal-copy small { color:#446351; }
.focus-goal-copy strong { font-size:clamp(16px,1.45vw,21px); line-height:1.32; font-weight:550; letter-spacing:-.025em; overflow-wrap:anywhere; }
.goal-instrument { display:grid; justify-items:center; gap:5px; flex:0 0 auto; font-variant-numeric:tabular-nums; }
.goal-dial-face { display:grid; place-items:center; width:clamp(72px,6.3vw,94px); aspect-ratio:1; }
.goal-dial-face svg,.dial-center { grid-area:1/1; }
.goal-dial-face svg { width:100%; fill:none; overflow:visible; }
.dial-track { stroke:#a0bbab; stroke-width:1.3; }
.dial-marks { stroke:#62826b; stroke-width:4; }
.dial-arc { stroke:#326747; stroke-width:2.5; }
.dial-tip { fill:#215940; }
.dial-sweep { transform-origin:50px 50px; animation:goal-rewind 60s linear infinite; }
@keyframes goal-rewind { to { transform:rotate(-360deg); } }
.dial-center { display:grid; justify-items:center; gap:2px; }
.dial-center b { font-size:clamp(18px,2vw,27px); font-weight:550; letter-spacing:-.05em; line-height:1; }
.dial-center small { font-size:8px; text-transform:uppercase; letter-spacing:.1em; color:#49664f; }
.dial-digits { font:600 12px/1.2 ui-monospace,Consolas,monospace; letter-spacing:.08em; color:#31553e; }
.goal-instrument[data-expired=true] .dial-sweep,.dial-digits:empty { display:none; }
@media(max-width:840px) {
 .dashboard-grid { display:flex; flex-direction:column; gap:14px; align-items:stretch; }
 .dashboard-day,.dashboard-side { display:contents; }
 .home-pins { order:0; }
 .home-dashboard .home-quote { order:1; }
 .home-agenda { order:2; }
 .home-dashboard .home-reminders { order:3; }
 .home-week { order:4; }
 .home-reflection { order:5; }
 .dashboard-head { padding-bottom:14px; margin-bottom:16px; }
 .home-dashboard .home-pins { min-height:180px; gap:10px; }
 .focus-goal { min-height:100px; }
}
@media(prefers-reduced-motion:reduce) { .dial-sweep { animation:none; } }

.dashboard-overview { align-items:stretch; row-gap:20px; }
.dashboard-overview>.dashboard-head { grid-column:1/-1;display:grid;grid-template-columns:inherit;align-items:center;column-gap:inherit;margin:0; }
@media(min-width:841px){
 .dashboard-overview>.dashboard-head {grid-template-columns:minmax(0,1fr) minmax(0,min(55.5625vw,70%));padding-bottom:20px}
 .dashboard-head .home-quote {align-self:start}
}
.dashboard-overview>.recharge-card { order:0;grid-column:1;min-width:0; }
.dashboard-overview>.recharge-card:not(:has(+.home-pins)) { grid-column:1/-1;min-height:140px; }
.dashboard-daily-pair { grid-column:1/-1;align-items:stretch; }
.dashboard-daily-pair>.panel { min-width:0; }
.dashboard-overview>.home-reflection { grid-column:1/-1; }
.insight-spread { grid-column:1/-1; min-width:0; }
.spread-head,.spread-charts section>header { display:flex; align-items:center; justify-content:space-between; gap:10px; }
.spread-head { margin:2px 0 12px; }
.spread-kicker { color:var(--muted); font-size:9px; letter-spacing:.18em; font-weight:750; }
.spread-head h2 { margin:3px 0 0; font-size:clamp(19px,2vw,25px); letter-spacing:-.045em; line-height:1.15; }
.spread-cta { display:inline-flex; align-items:center; gap:6px; background:var(--text); color:var(--surface); border:0; border-radius:99px; font:inherit; font-weight:600; font-size:12px; padding:0 14px; min-height:38px; white-space:nowrap; }
.spread-cta:hover { opacity:.86; }
.spread-cta svg,.task-win svg { width:15px; height:15px; }
.spread-charts,.dashboard-daily-pair { display:grid; grid-template-columns:minmax(0,1.38fr) minmax(0,.95fr); gap:14px; }
.spread-charts section { min-width:0; border-radius:20px; padding:clamp(16px,2vw,24px); box-sizing:border-box; }
.spread-charts h3 { margin:0; font-size:17px; font-weight:650; letter-spacing:-.035em; }
.spread-charts .chart-range { display:block;margin-top:3px;font-size:11px; }
.signal-card { color:#27204d; background:linear-gradient(120deg,#f4f1ff,#eceafa 75%,#e5e6fb); border:1px solid #dcd8f4; --point-ink:#6852cd; }
.signal-card .chart-range,.signal-stat div>span,.trend-hit small { color:#625781; }
.signal-stat { display:flex; align-items:center; gap:14px; margin:13px 0 8px; }
.signal-stat>b { font-size:clamp(32px,3vw,44px); font-weight:620; line-height:1; letter-spacing:-.065em; font-variant-numeric:tabular-nums; }
.signal-stat>b small { font-size:.54em; margin-left:2px; }
.signal-stat div { display:grid; gap:3px; font-size:11px; }
.signal-stat strong { font-size:12px; font-weight:600; }
.signal-plot { position:relative; height:78px; margin:4px 0 18px; }
.signal-plot svg,.trend-hits { width:100%; height:100%; position:absolute; inset:0; }
.trend-guides { fill:none; stroke:currentColor; opacity:.16; stroke-width:.75; vector-effect:non-scaling-stroke; stroke-dasharray:2 4; }
.trend-wash { fill:url(#score-wash); }
.trend-stroke { fill:none; stroke:var(--point-ink); stroke-width:2.5; stroke-linecap:round; stroke-linejoin:round; vector-effect:non-scaling-stroke; }
.trend-hits { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); }
.trend-hit { position:relative; height:100%; margin:0; padding:0; border:0; background:none; color:inherit; border-radius:6px; }
.trend-marker { position:absolute; top:var(--point); left:50%; transform:translate(-50%,-50%); width:7px; height:7px; border-radius:100%; background:var(--point-ink); border:1.5px solid #f8f6ff; }
.trend-hit:last-child .trend-marker:not(.missing) { width:9px; height:9px; box-shadow:0 0 0 4px #8b71ff38; }
.trend-marker.missing { height:2px; width:8px; border:0; background:#8d84a6; border-radius:1px; }
.trend-hit small { position:absolute; top:100%; left:0; right:0; text-align:center; font-size:10px; }
.trend-hit:is(:hover,:focus-visible) { background:#7c67cf10; }
.trend-tip { display:none; position:absolute; left:50%; top:var(--point); transform:translate(-50%,-130%); z-index:1; white-space:nowrap; font-size:10px; padding:3px 6px; border-radius:5px; background:#30234d; color:white; }
.trend-hit:is(:hover,:focus-visible) .trend-tip { display:block; }
.momentum-card { color:#20394b; background:radial-gradient(ellipse at 100% 0%,#d4e8f3,transparent 75%),#f2f7fb; border:1px solid #c4d7e2; display:flex; flex-direction:column; gap:10px; }
.momentum-card .chart-range,.wheel-empty { color:#435f72; }
.task-breakdown { display:flex; align-items:center; flex:1; gap:clamp(15px,2.4vw,30px); }
.task-wheel { display:grid; place-items:center; width:clamp(84px,8.2vw,112px); flex:none; }
.task-wheel>svg,.task-wheel>div { grid-area:1/1; }
.task-wheel svg { width:100%; }
.task-wheel circle { fill:none; stroke-width:10; }
.task-wheel>div { display:grid; gap:2px; text-align:center; }
.task-wheel b { font-size:25px; line-height:1; letter-spacing:-.05em; }
.task-wheel small { font-size:8px; letter-spacing:.13em; color:#466174; }
.ring-base { stroke:#bdcfd9; }
.ring-mint { stroke:#247765; }.key-mint { background:#247765; }
.ring-amber { stroke:#a7650a; }.key-amber { background:#a7650a; }
.ring-coral { stroke:#bc544b; }.key-coral { background:#bc544b; }
.wheel-legend { flex:1; max-width:220px; display:grid; gap:7px; list-style:none; margin:0; padding:0; }
.wheel-legend li { display:grid; grid-template-columns:8px 1fr auto; gap:8px; align-items:center; font-size:12px; }
.wheel-legend i { width:7px; height:7px; border-radius:50%; }
.wheel-legend b { font-variant-numeric:tabular-nums; }
.wheel-empty,.task-win { font-size:12px; line-height:1.4; }
.task-win { display:flex; align-items:center; gap:5px; color:#304e61; padding-top:10px; border-top:1px solid #c4d7e2; }
.task-win>span { display:inline-flex; color:#247765; margin-right:2px; }
:root[data-theme=dark] .signal-card { background:linear-gradient(120deg,#29243b,#322b49); border-color:#4d4463; color:#f4eeff; --point-ink:#b6a4ff; }
:root[data-theme=dark] .signal-card :is(.chart-range,.signal-stat div>span,.trend-hit small) { color:#ccbfdf; }
@media(max-width:840px){
 .dashboard-overview>.dashboard-head,.dashboard-daily-pair{display:contents}
 .dashboard-greeting{order:-2;align-self:stretch;padding-bottom:14px;border-bottom:1px solid var(--border)}
 .dashboard-overview>.recharge-card{order:-1}
 .dashboard-overview>.recharge-card:not(:has(+.home-pins)){min-height:0}
 .dashboard-overview .home-reminders{order:3}
 .dashboard-overview .home-agenda{order:4}
 .dashboard-overview>.home-reflection{order:5}
 .dashboard-overview>.insight-spread{order:6}
}
@media(max-width:650px){.spread-charts{grid-template-columns:1fr;gap:10px}.spread-charts section{padding:16px 18px}.signal-plot{height:66px}.task-wheel{width:76px}.task-breakdown{gap:22px}.spread-head h2{font-size:20px}.task-win{padding-top:8px}}

/* Recharge lives on Home; the player owns a single countdown. */
.recharge-card{grid-column:1/-1;order:6;display:flex;align-items:center;flex-wrap:wrap;gap:8px 20px;padding:14px clamp(16px,2vw,26px);border:1px solid var(--border);border-radius:18px;background:linear-gradient(112deg,var(--accent-soft),var(--surface) 78%);color:var(--text)}
.recharge-launch,.recharge-tally button,.recharge-dialog header button,.recharge-lengths button{border:0;background:transparent;color:inherit;font:inherit;cursor:pointer}
.recharge-launch{display:flex;align-items:center;gap:15px;flex:1;text-align:left;padding:2px 0;min-height:56px}
.recharge-launch>span:last-child{display:grid;gap:2px}
.recharge-art{width:clamp(92px,9vw,140px);height:auto;flex:none}
.recharge-launch small,.recharge-dialog header small{color:var(--muted);font-size:9px;letter-spacing:.15em;font-weight:700}
.recharge-launch strong,.recharge-dialog h2{font-family:Georgia,serif;font-size:25px;font-weight:500;line-height:1.2}
.recharge-launch span span,.recharge-tally{font-size:12px;color:var(--muted)}
.recharge-tally{display:flex;gap:12px;align-items:center}.recharge-tally b{color:var(--text);font-variant-numeric:tabular-nums}
.recharge-tally button,.recharge-dialog header button{min-width:44px;min-height:44px;border-radius:50%;font-size:23px;color:var(--accent);background:var(--surface-soft);border:1px solid var(--border)}
.recharge-retry{flex-basis:100%}
dialog.recharge-dialog{width:min(390px,calc(100% - 28px));max-height:90dvh;overflow:auto;margin:auto;padding:24px;border:1px solid var(--border);border-radius:22px;background:var(--surface);color:var(--text);box-shadow:0 18px 75px #0003;text-align:center}
.recharge-dialog::backdrop{background:#10221ec2;backdrop-filter:blur(5px)}
.recharge-dialog header{display:flex;align-items:center;justify-content:space-between;text-align:left}.recharge-dialog h2{margin:4px 0 0}
.recharge-intro,.recharge-dialog [data-status]{font-size:12px;line-height:1.5;color:var(--muted);margin:12px 0}
.recharge-meter{display:flex;position:relative;isolation:isolate;flex-direction:column;align-items:center;justify-content:center;width:168px;height:168px;margin:15px auto 20px;border-radius:50%;background:radial-gradient(circle,var(--accent-soft),transparent 70%)}
.recharge-meter svg{position:absolute;inset:0;width:100%;height:100%;z-index:-1;fill:none;stroke:var(--border);stroke-width:2}
.recharge-meter [data-arc]{stroke:var(--accent);stroke-linecap:round}.recharge-meter output{font-size:34px;letter-spacing:-.05em;font-variant-numeric:tabular-nums}.recharge-meter span{margin-top:4px;font-size:12px;color:var(--muted)}
.recharge-lengths{display:flex;padding:3px;margin:0;border:0;border-radius:12px;background:var(--surface-soft)}
.recharge-lengths legend{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.recharge-lengths button{flex:1;min-height:40px;border-radius:9px;font-size:13px}.recharge-lengths [aria-pressed=true]{background:var(--accent);color:var(--surface)}
.recharge-audio{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 0}.recharge-audio label{display:flex;align-items:center;gap:7px;margin:0;min-height:40px;font-size:13px}
.recharge-audio input[type=checkbox]{width:16px}.recharge-audio input[type=range]{width:32%;padding:0}
.recharge-play{width:100%;min-height:44px}.recharge-dialog [data-finish]{margin:8px auto 0;min-height:36px}
.recharge-dialog [hidden],.recharge-card [hidden]{display:none}
.home-dashboard .home-reminders {
 --card-tone:#d58c41; background:linear-gradient(115deg,color-mix(in srgb,var(--card-tone) 16%,var(--surface)),color-mix(in srgb,var(--card-tone) 7%,var(--surface)));
 border-color:color-mix(in srgb,var(--card-tone) 35%,var(--border));
}
.home-dashboard .home-agenda {
 --card-tone:#538bb8; background:linear-gradient(115deg,color-mix(in srgb,var(--card-tone) 17%,var(--surface)),color-mix(in srgb,var(--card-tone) 8%,var(--surface)));
 border-color:color-mix(in srgb,var(--card-tone) 35%,var(--border));
}
.dashboard-overview>.recharge-card {
 background:linear-gradient(115deg,#dcecfb,#edf6fc 75%,#e4f2f7); border-color:#bed4e7; color:#193c56;
 column-gap:24px; row-gap:10px;
}
.recharge-launch small,.recharge-launch span span,.recharge-tally {color:#395973}
.recharge-tally b {color:inherit}
.recharge-tally {flex-wrap:wrap}
.recharge-stats {display:flex;align-items:center;flex-wrap:wrap;gap:5px 12px;font-size:15px;line-height:1.4}
.recharge-stats>span {white-space:nowrap}
.recharge-stats>span+span {padding-inline-start:12px;border-inline-start:1px solid #819db966}
.recharge-flame {display:inline-flex;vertical-align:-3px;margin-inline-end:4px;color:#af561f}
.recharge-flame .icon {width:17px;height:17px}
.recharge-tally button {
 display:inline-flex; align-items:center; justify-content:center; gap:8px;
 min-height:44px; padding:0 12px; border-radius:12px; border:0;
 background:#315e80; color:#fff; font-size:13px; font-weight:600; white-space:nowrap;
}
.recharge-tally button b {font-size:17px; font-weight:450; line-height:1}
.recharge-tally button:hover {background:#224968}
:root[data-theme=dark] .recharge-card {background:linear-gradient(115deg,#192d41,#213c50);border-color:#3a586f;color:#eef6ff}
:root[data-theme=dark] .recharge-card :is(.recharge-launch small,.recharge-launch span span,.recharge-tally){color:#c9deed}
:root[data-theme=dark] .recharge-flame {color:#ffb781}
:root[data-theme=dark] .recharge-tally button {background:#bbdaef;color:#18384f}
@media(max-width:500px){
 .recharge-card .recharge-launch{gap:14px;flex-basis:100%}
 .recharge-tally{width:100%;justify-content:space-between;gap:8px}
}

/* Give the foreground dial a small amount of depth without shifting its hit target. */
@media(prefers-reduced-motion:no-preference){
 .home-pins .goal-instrument { translate:var(--depth-x,0px) var(--depth-y,0px); transition:translate 120ms ease-out; }
}
.report-motion-note { align-self:center; margin-inline:8px; font-size:11px; color:var(--accent); background:var(--accent-soft); padding:4px 8px; border-radius:6px; white-space:nowrap; pointer-events:none; }
