/* ==========================================================================
   today.css — 「今天」页专属样式（v1.3.0 P0）
   只放首页：本周成果 hero、主 Sprint 大卡、可支配/课程额度行、折叠区「其他安排」。
   基础观感由 style.css 的 #E8FFE8 薄荷绿 + 玻璃 token 负责；只用已有 CSS 变量。
   字号上限：hero-num 28px（移动端 25px），主卡标题 ≤20px。
   ========================================================================== */

/* ---- 本周已交付成果 hero（轻量玻璃条，不抢主卡视觉） ---- */
.today-hero {
  padding: 18px 18px 14px;
  border-radius: var(--r-lg);
  border: 1px solid var(--glass-border);
  background: linear-gradient(160deg, var(--glass-tint), var(--glass-bg));
  box-shadow: var(--glass-shadow);
  backdrop-filter: blur(var(--glass-blur));
  -webkit-backdrop-filter: blur(var(--glass-blur));
}
.today-hero .hero-num { margin-top: 6px; }

/* ---- 主 Sprint 大卡：页面唯一视觉主角 ---- */
.today-sprint {
  margin-top: 12px;
  border-radius: var(--r-lg);
  border: 1px solid var(--glass-border);
  background: var(--glass-bg-strong);
  box-shadow: var(--shadow);
  backdrop-filter: blur(var(--glass-blur));
  -webkit-backdrop-filter: blur(var(--glass-blur));
}
.today-sprint-title {
  margin-top: 8px;
  font-size: 19px;
  font-weight: 700;
  letter-spacing: -0.01em;
  line-height: 1.35;
  word-break: break-word;
  color: var(--text);
}
.today-sprint .accept-line {
  margin-top: 8px;
  font-size: 12.5px;
  color: var(--text-3);
  line-height: 1.6;
}
.today-sprint .outcome-line {
  margin-top: 6px;
  font-size: 13px;
  color: var(--text-2);
  line-height: 1.6;
}
.today-sprint .done-note {
  margin-top: 10px;
  font-size: 13.5px;
  font-weight: 600;
  color: var(--green-dark);
  line-height: 1.6;
}
.today-sprint .late-note {
  margin-top: 8px;
  font-size: 13px;
  color: var(--text-2);
  line-height: 1.6;
}
.today-sprint .btn-row { margin-top: 14px; }
.today-sprint .btn { min-height: 44px; justify-content: center; }

/* ---- 可支配时间 / 课程自学额度行 ---- */
.avail-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  min-height: 44px;
  margin-top: 12px;
  padding: 2px 4px;
  font-size: 13.5px;
  color: var(--text-2);
  line-height: 1.5;
}
.avail-row .btn { flex: 0 0 auto; min-height: 44px; }

/* ---- 折叠区「其他安排」 ---- */
.fold-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  width: 100%;
  min-height: 52px;
  margin-top: 14px;
  padding: 0 16px;
  border-radius: var(--r-pill);
  border: 1px solid var(--glass-border);
  background: var(--glass-bg);
  box-shadow: var(--shadow-sm);
  backdrop-filter: blur(var(--glass-blur));
  -webkit-backdrop-filter: blur(var(--glass-blur));
  color: var(--text);
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
}
.fold-head:active { transform: scale(0.985); }
.fold-title { flex: 1; min-width: 0; text-align: left; }
.fold-right {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  color: var(--green-dark);
  font-size: 13px;
  font-weight: 600;
}
.fold-arrow { display: inline-block; font-size: 12px; transition: transform var(--ease); }
.fold-head[aria-expanded="true"] .fold-arrow { transform: rotate(180deg); }
.fold-body { margin-top: 12px; }

/* ---- 移动端小屏不突破字号上限 ---- */
@media (max-width: 380px) {
  .today-sprint-title { font-size: 18px; }
  .fold-head { font-size: 13px; padding: 0 14px; }
}

/* ---- 深色主题：只补新组件的玻璃边界，颜色全部走变量 ---- */
[data-theme="dark"] .today-hero,
[data-theme="dark"] .today-sprint,
[data-theme="dark"] .fold-head { border-color: var(--glass-border); }
[data-theme="dark"] .today-hero {
  background: linear-gradient(160deg, var(--glass-tint), var(--glass-bg));
}
