/* ── GREETING — editorial masthead ── */
.greeting{padding-bottom:var(--sp-5);margin-bottom:var(--sp-5);border-bottom:1px solid var(--tp)}
.greeting-date{font-size:10px;color:var(--gold);margin-bottom:8px}
.greeting-day{margin-left:6px;color:var(--tm)}
.greeting-title{font-family:var(--font-display);font-size:30px;font-weight:600;letter-spacing:-0.01em;line-height:1.15;color:var(--tp)}
.greeting-sub{font-size:13px;color:var(--ts);margin-top:8px;font-weight:400}

/* ── WHY CARD — the purpose, read before the tasks (Jim Rohn: why > how) ── */
.why-card{padding-bottom:var(--sp-5);margin-bottom:var(--sp-5);border-bottom:1px solid var(--bd)}
.why-label{font-size:10px;color:var(--gold);margin-bottom:var(--sp-2);display:flex;align-items:center;gap:7px}
.why-label iconify-icon{font-size:13px}
.why-text{font-family:var(--font-display);font-style:italic;font-size:17px;font-weight:500;line-height:1.55;color:var(--tp);max-width:56ch}

/* ── STATS ROW — no boxes: serif figures over hairline dividers ── */
.stats-row{display:flex;margin-bottom:var(--sp-6)}
.stat-pill{
  flex:1;padding:2px var(--sp-3);text-align:left;
  border-left:1px solid var(--bd);
}
.stat-pill:first-child{border-left:none;padding-left:0}
.sp-val{font-family:var(--font-display);font-size:28px;font-weight:600;letter-spacing:-0.01em;line-height:1.1;color:var(--tp);font-variant-numeric:lining-nums}
#streak-num{color:var(--gold)}
.sp-lbl{font-size:9px;color:var(--tm);margin-top:4px;display:flex;align-items:center;gap:5px}
.sp-lbl iconify-icon{font-size:11px;color:var(--gold)}
.sp-sub{font-size:9px;color:var(--tm);margin-top:3px;font-style:italic}

/* ── DAILY QUESTS — clean list, hairline separated ── */
.dq-section{margin-bottom:var(--sp-6)}
.dq-label{
  font-size:10px;color:var(--tm);
  padding:0 0 var(--sp-2);margin-bottom:0;
  display:flex;align-items:center;gap:8px;
  border-bottom:1px solid var(--bd);
}
#dq-list{display:flex;flex-direction:column}
.empty-note{font-size:13px;color:var(--tm);padding:var(--sp-4) 0;font-style:italic}
.dq-item{display:flex;align-items:stretch;gap:8px;width:100%;border-bottom:1px solid var(--bd)}
.dq-main{
  display:flex;align-items:center;gap:14px;flex:1;min-width:0;
  padding:var(--sp-4) 2px;cursor:pointer;min-height:56px;
  transition:background var(--dur-fast) var(--ease-out);
}
.dq-main:hover{background:rgba(28,25,23,0.025)}
.dq-main:disabled{cursor:default}
.dq-item.done .dq-main,.dq-item.skipped .dq-main{opacity:0.45}
.dq-check{
  width:20px;height:20px;flex-shrink:0;border-radius:50%;
  border:1px solid var(--bd2);
  display:flex;align-items:center;justify-content:center;
  font-size:11px;background:transparent;color:transparent;
  transition:all var(--dur-fast) var(--ease-out);
}
.dq-main:hover .dq-check{border-color:var(--gold)}
.dq-item.done .dq-check{background:var(--tp);border-color:var(--tp);color:var(--bg)}
.dq-body{flex:1;min-width:0}
.dq-text{font-size:14px;font-weight:500;line-height:1.45;color:var(--tp)}
.dq-item.done .dq-text,.dq-item.skipped .dq-text{text-decoration:line-through;color:var(--tm)}
.dq-meta{font-size:11px;color:var(--tm);margin-top:3px;display:flex;align-items:center;gap:5px}
.dq-meta iconify-icon{font-size:12px;flex-shrink:0;color:var(--gold);opacity:0.8}
.dq-xp{
  font-family:var(--font-display);
  font-size:13px;font-weight:600;
  color:var(--gold);
  flex-shrink:0;white-space:nowrap;
}
/* position:relative + ::after below extend the tap area to ~44px without changing the
   visible text size — these are deliberately thin editorial links, not filled buttons */
.dq-skip{
  flex-shrink:0;align-self:center;position:relative;
  font-size:10px;font-weight:500;color:var(--tm);
  letter-spacing:0.06em;text-transform:uppercase;
  padding:8px 10px;cursor:pointer;
  transition:color var(--dur-fast) var(--ease-out);
}
.dq-skip::after{content:'';position:absolute;top:-10px;bottom:-10px;left:-6px;right:-6px}
.dq-skip:hover{color:var(--re-d)}

/* ── FOCUS CARD — campaign: editorial section under a fine black rule ── */
.focus-card{
  padding:var(--sp-4) 0 var(--sp-2);margin-bottom:var(--sp-4);
  border-top:1px solid var(--tp);
}
.focus-label{
  font-size:10px;color:var(--am-d);
  margin-bottom:var(--sp-3);
  display:flex;align-items:center;gap:7px;
}
.focus-label iconify-icon{font-size:13px}
.focus-title{font-family:var(--font-display);font-size:20px;font-weight:600;letter-spacing:-0.01em;margin-bottom:var(--sp-4);color:var(--tp)}
.focus-progress{margin-bottom:var(--sp-3)}
.fp-label{display:flex;justify-content:space-between;align-items:baseline;font-size:12px;margin-bottom:6px}
.fp-goal{font-weight:500;color:var(--ts)}
.fp-val{font-family:var(--font-display);font-size:14px;font-weight:600;color:var(--tp);font-variant-numeric:lining-nums}
.fp-track{height:2px;background:var(--s2);overflow:hidden}
.fp-fill{height:100%;background:var(--gold-bar);transition:width .5s var(--ease-out)}

/* ── BOSS CARD — the defining objective ── */
#boss-list{display:flex;flex-direction:column}
.boss-card{
  padding:var(--sp-4) 0 var(--sp-5);
  border-top:1px solid var(--tp);
}
.boss-label{
  font-size:10px;color:var(--re-d);
  margin-bottom:var(--sp-3);
  display:flex;align-items:center;gap:7px;
}
.boss-label iconify-icon{font-size:14px;color:var(--re-d)}
.boss-title{font-family:var(--font-display);font-size:20px;font-weight:600;color:var(--tp);margin-bottom:var(--sp-3);letter-spacing:-0.01em}
.boss-desc{font-size:13px;color:var(--ts);line-height:1.65;margin:var(--sp-4) 0;max-width:56ch}
.boss-track{height:2px;background:var(--s2);overflow:hidden}
.boss-fill{height:100%;background:var(--red);transition:width .5s var(--ease-out)}
.boss-complete{
  margin-top:var(--sp-4);position:relative;
  display:inline-flex;align-items:center;gap:6px;
  font-size:10px;font-weight:600;color:var(--tp);
  letter-spacing:0.1em;text-transform:uppercase;
  padding-bottom:3px;cursor:pointer;
  border-bottom:1px solid var(--tp);
  transition:color var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out);
}
.boss-complete::after{content:'';position:absolute;top:-14px;bottom:-14px;left:-8px;right:-8px}
.boss-complete:hover{color:var(--gold);border-color:var(--gold)}
/* filled: reads as important context, same weight as body copy — not a muted footnote */
.boss-why{
  font-size:14px;color:var(--tp);line-height:1.6;max-width:56ch;
  display:flex;gap:8px;align-items:flex-start;
  padding-left:var(--sp-3);border-left:2px solid var(--gold);
}
.boss-why iconify-icon{font-size:14px;color:var(--gold);margin-top:2px;flex-shrink:0}
/* empty: a nudge, not a caption — warm wash + gold rule makes the missing "why" impossible to skim past */
.boss-why.is-empty{background:var(--gg);padding:var(--sp-3);border-left:2px solid var(--gold)}
.boss-why em{font-style:italic;color:var(--ts)}
.boss-why-edit{font-size:10px;color:var(--gold);font-weight:600;letter-spacing:0.04em;text-decoration:underline;cursor:pointer;margin:var(--sp-2) 0 0;display:inline-block;position:relative}
.boss-why-edit::after{content:'';position:absolute;top:-12px;bottom:-12px;left:-8px;right:-8px}
.boss-why-edit:hover{color:var(--am-d)}

/* ── REFLECT CARD — closing ritual: turn the day's experience into a written insight ── */
.reflect-card{
  padding:var(--sp-5) 0 var(--sp-2);margin-top:var(--sp-2);
  border-top:1px solid var(--tp);
  display:flex;flex-direction:column;align-items:flex-start;gap:var(--sp-3);
}
.reflect-label{font-size:10px;color:var(--tm)}
.reflect-quote{font-family:var(--font-display);font-style:italic;font-size:15px;color:var(--ts);line-height:1.6;max-width:56ch}
.reflect-cta{
  background:var(--tp);color:var(--bg);
  font-size:10px;font-weight:600;letter-spacing:0.1em;text-transform:uppercase;
  padding:var(--sp-3) var(--sp-4);cursor:pointer;
  transition:background var(--dur-fast) var(--ease-out);
}
.reflect-cta:hover{background:#000}
