/* 首页功能中心：暖色玻璃拟态与卡片入口 */

.home-dashboard {
  position: relative; /* v2.9.66 N1：为光斑 ::before 提供定位基准 */
  overflow-x: clip; /* v2.9.88：光斑 ::before 宽 min(680px,150vw) 横向超视口属设计溢出，就地裁剪
                       （clip 不产生滚动容器；光斑渐变边缘透明，裁剪无损观感，transform 呼吸不受影响） */
  max-width: 720px;
  margin: 0 auto;
  padding: 12px 0 110px;
  /* v2.9.24：首页次级文字色。取各主题主色的深色档（暖色相，不用中性灰），
     保证 12px 级小字在 4 套主题的全部首页底上均 ≥4.5:1（实测最低 5.4:1）。 */
  --home-ink-2: var(--primary-dark);
}

/* ========== v2.9.66 N1 光斑呼吸（自然主义签名时刻，全 App 唯一一处） ==========
   首页顶部背后一层极缓暖色光斑，60s 周期「呼吸 + 漂移」。
   性能契约（v2.9.63 红线）：只动画 transform/opacity（合成器路径，零重栅格化），
   不用 blur、不动画 background-position；光斑色取各主题 --home-glow-a/b（主色系）。 */
.home-dashboard::before {
  content: '';
  position: absolute;
  top: -140px;
  left: 50%;
  width: min(680px, 150vw);
  height: 540px;
  background:
    radial-gradient(closest-side, var(--home-glow-a), transparent 72%),
    radial-gradient(closest-side, var(--home-glow-b), transparent 70%);
  background-position: 34% 42%, 70% 60%;
  background-size: 72% 72%, 58% 58%;
  background-repeat: no-repeat;
  border-radius: 50%;
  pointer-events: none;
  z-index: -1;
  opacity: 0.55;
  transform: translateX(-50%);
  will-change: transform, opacity;
  animation: home-glow-breath 60s ease-in-out infinite;
}

@keyframes home-glow-breath {
  0%, 100% { transform: translateX(-50%) translateY(0) scale(1); opacity: 0.5; }
  33%      { transform: translateX(-46%) translateY(-14px) scale(1.06); opacity: 0.7; }
  66%      { transform: translateX(-53%) translateY(10px) scale(1.02); opacity: 0.58; }
}

@media (prefers-reduced-motion: reduce) {
  .home-dashboard::before { animation: none; } /* 光斑静止但保留静态暖光（v2.9.63 同款契约） */
}

/* v2.9.54：欢迎卡瘦身为细条（层级倒置修复——纯装饰卡不得压过「今日穿什么」）。
   渐变底与主题变量保留，「数据已保存在本机」安抚句仍在。 */
.home-welcome-card {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 16px;
  border-radius: 16px;
  background: linear-gradient(135deg, var(--home-welcome-start) 0%, var(--home-welcome-mid) 52%, var(--home-welcome-end) 100%);
  color: var(--home-welcome-text);
  /* v2.9.24：原为硬编码暖阴影 → 在雾紫/钢蓝主题下会在冷底上留暖斑。改用主题化阴影色 token。 */
  box-shadow: 0 6px 14px var(--warm-shadow-md);
}

.home-welcome-card p {
  margin: 0;
  min-width: 0;
  color: var(--home-welcome-text);
  font-size: 12px;
  line-height: 1.5;
}

.home-welcome-mark {
  display: grid;
  place-items: center;
  width: 24px;
  height: 24px;
  flex: 0 0 24px;
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.45);
  color: var(--primary);
  font-size: 14px;
}

.home-quick-section {
  margin-top: 24px;
}

.home-section-heading {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  margin-bottom: 12px;
}

.home-section-heading h3 {
  margin: 0;
  color: var(--warm-text);
  /* v2.9.24：19px → 18px，与「今日穿什么」「衣橱概览/生活计划」统一为同一档兄弟标题字号。 */
  font-size: 18px;
}

.home-section-heading span {
  color: var(--home-ink-2, #a27a67);
  font-size: 12px;
}

/* v2.9.54：4 列入口条 → 2×2 横排大卡（概览数据并入副标题后，功能卡重新承载信息） */
.home-quick-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

/* v2.9.54：竖排居中 → 横排左对齐（图标 + 文字两栏），副标题有容身之处 */
/* v2.9.66 N4 河石圆角：signature 组件限定的不对称圆角 + ±0.5° 内微旋（正文卡 16/24px 不动）。
   每卡用 --pebble-r / --pebble-rot 各自赋形，hover/active 的 transform 必须带 rotate 合成。 */
.home-feature-card {
  position: relative;
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 10px;
  min-height: 64px;
  padding: 12px 14px;
  border: 1px solid var(--warm-border-medium);
  border-radius: var(--pebble-r, 16px);
  text-align: left;
  cursor: pointer;
  /* v2.9.24：原写法 `var(--warm-shadow-md)` 把「纯颜色 token」
     当完整阴影用 —— 变量存在时整条 box-shadow 退化成 rgba() 单色，即零偏移零模糊的
     色环（craft-floor 明令禁止）。改用完整阴影 token --shadow-md（含偏移 + 模糊 + 主题换色）。 */
  box-shadow: var(--shadow-md);
  transition: transform 0.18s ease, box-shadow 0.18s ease;
  transform: rotate(var(--pebble-rot, 0deg));
}

.home-feature-card:hover {
  transform: rotate(var(--pebble-rot, 0deg)) translateY(-2px);
  box-shadow: 0 12px 24px var(--warm-shadow-md);
}

.home-feature-card:active {
  transform: rotate(var(--pebble-rot, 0deg)) scale(0.98);
}

/* 河石赋形：四卡圆角/旋向交错（相邻卡不同相，避免「统一模板」感） */
.home-feature-wardrobe { --pebble-r: 26px 18px 22px 18px; --pebble-rot: -0.35deg; }
.home-feature-travel  { --pebble-r: 18px 26px 18px 22px; --pebble-rot: 0.3deg; }
.home-feature-todo    { --pebble-r: 24px 18px 26px 16px; --pebble-rot: 0.32deg; }
.home-feature-wish    { --pebble-r: 18px 22px 16px 26px; --pebble-rot: -0.3deg; }

/* ========== v2.9.69 C1 四主题形态分化（Signature Component 限定，DESIGN.md「主题各有气质」契约） ==========
   只动首页功能卡，色值全部走既有 token，default 保持北极星基准不动。 */
/* mist 清晨透光：渐变换更透玻璃 + 加大 blur（20px 静态卡片层，无滚动动画，性能红线内），
   去微旋换「清晨安静」，河石圆角保留 */
html[data-theme="mist"] .home-feature-card {
  background: var(--bg-glass);
  -webkit-backdrop-filter: blur(20px) saturate(150%);
  backdrop-filter: blur(20px) saturate(150%);
  --pebble-rot: 0deg;
}
html[data-theme="mist"] .home-feature-card:hover {
  background: var(--bg-glass-strong);
}
/* steel 结构化：河石收敛为规整 12px + 去微旋 + 去柔影改加重边框（深卡硬朗，与「钢蓝月影」气质一致） */
html[data-theme="steel"] .home-feature-card {
  --pebble-r: 12px;
  --pebble-rot: 0deg;
  border: 2px solid var(--warm-border-strong);
  box-shadow: none;
}
html[data-theme="steel"] .home-feature-card:hover {
  box-shadow: 0 6px 16px var(--warm-shadow-soft);
}
/* sandstone 纸张感：渐变色已在主题块降饱和，此处轻阴影 + 纸边（配合 --paper-noise 5% 全局纸纹） */
html[data-theme="sandstone"] .home-feature-card {
  box-shadow: var(--shadow-sm);
  border-color: var(--warm-border);
}

.home-feature-wardrobe {
  background: linear-gradient(145deg, var(--home-wardrobe-start), var(--home-wardrobe-end));
  --card-title: var(--home-wardrobe-title);
  --card-sub: var(--home-wardrobe-sub);
  --card-icon: var(--home-wardrobe-icon);
}

.home-feature-travel {
  background: linear-gradient(145deg, var(--home-travel-start), var(--home-travel-end));
  /* v2.9.24：补齐钩子（原先只有衣橱/待办有，旅行/许愿走裸回退值） */
  --card-title: var(--home-travel-title, var(--warm-text));
  --card-sub: var(--home-travel-sub, var(--home-ink-2));
  --card-icon: var(--home-travel-icon, var(--primary));
}

.home-feature-todo {
  background: linear-gradient(145deg, var(--home-todo-start), var(--home-todo-end));
  --card-title: var(--home-todo-title);
  --card-sub: var(--home-todo-sub);
  --card-icon: var(--home-todo-icon);
}

.home-feature-wish {
  background: linear-gradient(145deg, var(--home-wish-start), var(--home-wish-end));
  /* v2.9.24：补齐钩子 */
  --card-title: var(--home-wish-title, var(--warm-text));
  --card-sub: var(--home-wish-sub, var(--home-ink-2));
  --card-icon: var(--home-wish-icon, var(--primary));
}

.home-feature-icon {
  display: grid;
  place-items: center;
  width: 32px;
  height: 32px;
  flex: 0 0 32px;
  margin-bottom: 0;
  border-radius: 10px;
  background: var(--bg-glass);
  color: var(--card-icon, var(--primary));
  font-size: 17px;
}

/* v2.9.54：标题 + 数据副标题两行文字栏 */
.home-feature-text {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: 2px;
}

.home-feature-text strong {
  color: var(--card-title, var(--warm-text));
  font-size: 14px;
}

.home-feature-text small {
  min-width: 0;
  overflow: hidden;
  color: var(--card-sub, var(--home-ink-2));
  font-size: 12px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* v2.9.54：生活概览卡已删（数据并入功能卡副标题，方案 B），整组 .home-summary-* 样式随之清理。
   仅保留 .home-summary-kicker —— 「今日穿什么」卡的 TODAY'S OUTFIT 眉题仍在使用。 */
.home-summary-kicker {
  color: var(--home-ink-2, #bd5b2b);
  font-size: 11px; /* v2.9.62 typeset：10px→11px（impeccable 功能文字 11px 底线） */
  font-weight: 800;
  letter-spacing: 0.14em;
}

@media (max-width: 600px) { /* v2.9.78 C3：520px 临时断点就近收编 */
  .home-dashboard {
    padding-top: 6px;
  }
  .home-welcome-card {
    padding: 8px 12px;
  }
  .home-quick-grid {
    gap: 8px;
  }
  /* v2.9.54：2×2 横排卡窄屏收紧 padding 与图标，长副标题走 ellipsis（.home-feature-text small） */
  .home-feature-card {
    gap: 8px;
    padding: 10px 12px;
  }
  .home-feature-icon {
    width: 28px;
    height: 28px;
    flex-basis: 28px;
    border-radius: 9px;
    font-size: 15px;
  }
}

/* ========== 许愿池功能卡片（v2.8.6） ========== */

.wish-entry-badge,
.home-entry-badge {
  position: absolute;
  top: 6px;
  right: 6px;
  min-width: 18px;
  padding: 0 5px;
  /* v2.9.66 N4：小河石——不规则椭圆替代正药丸（计数徽章属 signature 情绪件） */
  border-radius: 46% 54% 52% 48% / 54% 46% 52% 48%;
  /* v2.9.24：底色从 --warm-primary(#C98252，白字仅 3.09:1）降到主色深色档 ——
     白字实测 default 5.83 / sandstone 8.63 / mist 8.64 / steel 9.71，全部 ≥4.5:1 */
  background: var(--primary-dark);
  color: var(--white-text);
  font-size: 11px;
  font-weight: 700;
  line-height: 17px;
  text-align: center;
  pointer-events: none;
}

/* v2.9.24：数量为 0 时不显示（原先无条件渲染「0」） */
.wish-entry-badge[hidden],
.home-entry-badge[hidden] {
  display: none;
}