/* ══════════════════════════════════════════════════════════════
   时间段主题色系 — 作用域：#diary-steps.period-X
   ══════════════════════════════════════════════════════════════ */

/* ── 过渡（只对弧线直接子元素用 > 避免影响太阳/月亮） ─────── */
#diary-steps .step-question,
#diary-steps .step-question small,
#diary-steps #step-indicator,
#diary-steps #btn-prev-step,
#diary-steps .period-tab,
#diary-steps .act-tab-btn,
#diary-steps .act-tag,
#diary-steps .activity-search-wrap input,
#diary-steps .period-note-input,
#diary-steps #activity-count,
#diary-steps #btn-activities-done,
#diary-steps .step-tab,
#diary-steps .step-save-btn,
#today-empty .date-hero-weekday,
#today-empty .date-hero-day,
#today-empty .date-hero,
#app-nav .nav-title,
#app-nav .nav-tab,
#app-nav #btn-logout,
#app-nav #btn-profile {
  transition:
    background-color 0.7s ease,
    border-color     0.7s ease,
    color            0.7s ease;
}
/* 只过渡 SVG 弧线/地平线直接子元素，不触碰 g 内的太阳月亮 */
#diary-steps .sky-arc-svg > path,
#diary-steps .sky-arc-svg > line,
#diary-steps .sky-arc-svg > circle {
  transition: stroke 0.7s ease, fill 0.7s ease;
}

/* ════════════════════════════════════════════════════════════════
   上午 — 晨光暖白，琥珀强调
   ════════════════════════════════════════════════════════════════ */
#diary-steps.period-morning .step-question          { color: #2d2420; }
#diary-steps.period-morning .step-question small     { color: #a0907e; }
#diary-steps.period-morning #step-indicator          { color: #a0907e; }
#diary-steps.period-morning #btn-prev-step           { color: #a0907e; border-color: rgba(195,172,140,0.45); }
#diary-steps.period-morning #btn-prev-step:hover     { background: rgba(196,121,62,0.08); }
#diary-steps.period-morning #activity-count          { color: #a0907e; }

#diary-steps.period-morning .period-tab {
  background: rgba(255,250,244,0.88);
  border-color: rgba(195,172,140,0.45);
  color: #7a6656;
}
#diary-steps.period-morning .period-tab.active       { background: #c4793e; border-color: #c4793e; color: #fff; }
#diary-steps.period-morning .period-tab:not(.active):hover { border-color: rgba(196,121,62,0.55); color: #c4793e; }

#diary-steps.period-morning .act-tab-btn                      { background: rgba(255,250,244,0.85); border-color: rgba(195,172,140,0.40); color: #7a6656; }
#diary-steps.period-morning .act-tab-btn.active               { background: #c4793e; border-color: #c4793e; color: #fff; }
#diary-steps.period-morning .act-tab-btn.has-selection        { background: #f0b07a; border-color: rgba(196,121,62,0.45); border-width: 1px; color: #7a3a10; font-weight: 500; }
#diary-steps.period-morning .act-tab-btn.active.has-selection { background: #c4793e; border-color: #c4793e; border-width: 1px; color: #fff; }

#diary-steps.period-morning .act-tag                 { background: rgba(255,250,244,0.85); border-color: rgba(195,172,140,0.40); color: #5a4a40; }
#diary-steps.period-morning .act-tag:hover           { border-color: rgba(196,121,62,0.55); color: #c4793e; }
#diary-steps.period-morning .act-tag.selected        { background: #c4793e; border-color: #c4793e; color: #fff; }

#diary-steps.period-morning .activity-search-wrap input       { background: rgba(255,252,248,0.85); border-color: rgba(195,172,140,0.45); color: #2d2420; }
#diary-steps.period-morning .activity-search-wrap input:focus { border-color: #c4793e; }
#diary-steps.period-morning .period-note-input       { background: rgba(255,252,248,0.85); border-color: rgba(195,172,140,0.45); color: #2d2420; }
#diary-steps.period-morning .period-note-input:focus { border-color: #c4793e; }
#diary-steps.period-morning #btn-activities-done     { background: #c4793e; color: #fff; }

#diary-steps.period-morning .sky-arc-svg > path   { stroke: rgba(175,150,105,0.28); }
#diary-steps.period-morning .sky-arc-svg > line   { stroke: rgba(148,130,98,0.42); }
#diary-steps.period-morning .sky-arc-svg > circle { fill: rgba(148,130,98,0.28); }

/* ════════════════════════════════════════════════════════════════
   下午 — 晴空蓝白，冷蓝强调
   ════════════════════════════════════════════════════════════════ */
#diary-steps.period-afternoon .step-question          { color: #1a2530; }
#diary-steps.period-afternoon .step-question small     { color: #2e5878; }
#diary-steps.period-afternoon #step-indicator          { color: #2e5878; }
#diary-steps.period-afternoon #btn-prev-step           { color: #2e5878; border-color: rgba(130,175,210,0.55); }
#diary-steps.period-afternoon #btn-prev-step:hover     { background: rgba(74,136,190,0.08); }
#diary-steps.period-afternoon #activity-count          { color: #2e5878; }

#diary-steps.period-afternoon .period-tab              { background: rgba(240,248,255,0.88); border-color: rgba(130,175,210,0.45); color: #5a6e82; }
#diary-steps.period-afternoon .period-tab.active       { background: #4a88be; border-color: #4a88be; color: #fff; }
#diary-steps.period-afternoon .period-tab:not(.active):hover { border-color: rgba(74,136,190,0.55); color: #4a88be; }

#diary-steps.period-afternoon .act-tab-btn                      { background: rgba(240,248,255,0.85); border-color: rgba(130,175,210,0.40); color: #5a6e82; }
#diary-steps.period-afternoon .act-tab-btn.active               { background: #4a88be; border-color: #4a88be; color: #fff; }
#diary-steps.period-afternoon .act-tab-btn.has-selection        { background: #7ab8e8; border-color: rgba(74,136,190,0.45); border-width: 1px; color: #0a3050; font-weight: 500; }
#diary-steps.period-afternoon .act-tab-btn.active.has-selection { background: #4a88be; border-color: #4a88be; border-width: 1px; color: #fff; }

#diary-steps.period-afternoon .act-tag                 { background: rgba(240,248,255,0.85); border-color: rgba(130,175,210,0.40); color: #3a5068; }
#diary-steps.period-afternoon .act-tag:hover           { border-color: rgba(74,136,190,0.55); color: #4a88be; }
#diary-steps.period-afternoon .act-tag.selected        { background: #4a88be; border-color: #4a88be; color: #fff; }

#diary-steps.period-afternoon .activity-search-wrap input       { background: rgba(242,249,255,0.85); border-color: rgba(130,175,210,0.45); color: #1a2530; }
#diary-steps.period-afternoon .activity-search-wrap input:focus { border-color: #4a88be; }
#diary-steps.period-afternoon .period-note-input       { background: rgba(242,249,255,0.85); border-color: rgba(130,175,210,0.45); color: #1a2530; }
#diary-steps.period-afternoon .period-note-input:focus { border-color: #4a88be; }
#diary-steps.period-afternoon #btn-activities-done     { background: #4a88be; color: #fff; }

#diary-steps.period-afternoon .sky-arc-svg > path   { stroke: rgba(100,155,200,0.28); }
#diary-steps.period-afternoon .sky-arc-svg > line   { stroke: rgba(80,135,185,0.38); }
#diary-steps.period-afternoon .sky-arc-svg > circle { fill: rgba(80,135,185,0.25); }

/* ════════════════════════════════════════════════════════════════
   晚上 — 暮色柔玫，淡粉强调（轻薄透明，不压背景）
   ════════════════════════════════════════════════════════════════ */
#diary-steps.period-evening .step-question          { color: #ffe8f0; }
#diary-steps.period-evening .step-question small     { color: rgba(255,210,225,0.70); }
#diary-steps.period-evening #step-indicator          { color: rgba(255,210,225,0.65); }
#diary-steps.period-evening #btn-prev-step           { color: rgba(255,210,225,0.70); border-color: rgba(255,180,200,0.25); }
#diary-steps.period-evening #btn-prev-step:hover     { background: rgba(255,180,200,0.12); }
#diary-steps.period-evening #activity-count          { color: rgba(255,210,225,0.65); }

#diary-steps.period-evening .period-tab              { background: rgba(255,240,248,0.22); border-color: rgba(255,180,205,0.30); color: rgba(255,220,235,0.85); }
#diary-steps.period-evening .period-tab.active       { background: rgba(200,100,140,0.70); border-color: rgba(220,120,155,0.70); color: #fff; }
#diary-steps.period-evening .period-tab:not(.active):hover { border-color: rgba(220,140,170,0.50); color: #fff; }

#diary-steps.period-evening .act-tab-btn                      { background: rgba(255,240,248,0.20); border-color: rgba(255,180,205,0.28); color: rgba(255,215,230,0.80); }
#diary-steps.period-evening .act-tab-btn.active               { background: rgba(200,100,140,0.68); border-color: rgba(220,120,155,0.68); color: #fff; }
#diary-steps.period-evening .act-tab-btn.has-selection        { background: rgba(220,100,150,0.55); border-color: rgba(220,120,155,0.40); border-width: 1px; color: #fff; font-weight: 500; }
#diary-steps.period-evening .act-tab-btn.active.has-selection { background: rgba(200,100,140,0.68); border-color: rgba(220,120,155,0.68); border-width: 1px; color: #fff; }

#diary-steps.period-evening .act-tag                 { background: rgba(255,240,248,0.20); border-color: rgba(255,180,205,0.28); color: rgba(255,220,238,0.88); }
#diary-steps.period-evening .act-tag:hover           { border-color: rgba(220,140,170,0.50); color: #fff; background: rgba(255,240,248,0.30); }
#diary-steps.period-evening .act-tag.selected        { background: rgba(200,100,140,0.68); border-color: rgba(220,120,155,0.68); color: #fff; }

#diary-steps.period-evening .activity-search-wrap input       { background: rgba(255,238,248,0.20); border-color: rgba(255,180,205,0.28); color: #ffe8f4; }
#diary-steps.period-evening .activity-search-wrap input::placeholder { color: rgba(255,200,220,0.50); }
#diary-steps.period-evening .activity-search-wrap input:focus { border-color: rgba(220,120,155,0.60); }
#diary-steps.period-evening .period-note-input       { background: rgba(255,238,248,0.20); border-color: rgba(255,180,205,0.28); color: #ffe8f4; }
#diary-steps.period-evening .period-note-input::placeholder { color: rgba(255,200,220,0.50); }
#diary-steps.period-evening .period-note-input:focus { border-color: rgba(220,120,155,0.60); }
#diary-steps.period-evening #btn-activities-done     { background: rgba(195,95,135,0.80); color: #fff; }

#diary-steps.period-evening .sky-arc-svg > path   { stroke: rgba(220,160,185,0.30); }
#diary-steps.period-evening .sky-arc-svg > line   { stroke: rgba(200,140,168,0.38); }
#diary-steps.period-evening .sky-arc-svg > circle { fill: rgba(200,140,168,0.25); }

/* ════════════════════════════════════════════════════════════════
   深夜 — 暗夜深蓝，暖金强调
   ════════════════════════════════════════════════════════════════ */
#diary-steps.period-night .step-question          { color: #ddd8f0; }
#diary-steps.period-night .step-question small     { color: #7878a0; }
#diary-steps.period-night #step-indicator          { color: #7878a0; }
#diary-steps.period-night #btn-prev-step           { color: #8888b0; border-color: rgba(255,255,255,0.16); }
#diary-steps.period-night #btn-prev-step:hover     { background: rgba(200,144,80,0.12); color: #c89050; }
#diary-steps.period-night #activity-count          { color: #7878a0; }

#diary-steps.period-night .period-tab              { background: rgba(16,12,32,0.72); border-color: rgba(255,255,255,0.13); color: #9090b8; }
#diary-steps.period-night .period-tab.active       { background: rgba(200,144,80,0.88); border-color: rgba(200,144,80,0.88); color: #1a1228; }
#diary-steps.period-night .period-tab:not(.active):hover { border-color: rgba(200,144,80,0.45); color: #c89050; }

#diary-steps.period-night .act-tab-btn                      { background: rgba(16,12,32,0.68); border-color: rgba(255,255,255,0.11); color: #9090b8; }
#diary-steps.period-night .act-tab-btn.active               { background: rgba(200,144,80,0.85); border-color: rgba(200,144,80,0.85); color: #1a1228; }
#diary-steps.period-night .act-tab-btn.has-selection        { background: rgba(200,144,80,0.60); border-color: rgba(200,144,80,0.45); border-width: 1px; color: #1a1228; font-weight: 500; }
#diary-steps.period-night .act-tab-btn.active.has-selection { background: rgba(200,144,80,0.85); border-color: rgba(200,144,80,0.85); border-width: 1px; color: #1a1228; }

#diary-steps.period-night .act-tag                 { background: rgba(16,12,32,0.68); border-color: rgba(255,255,255,0.11); color: #b0b0d0; }
#diary-steps.period-night .act-tag:hover           { border-color: rgba(200,144,80,0.45); color: #c89050; }
#diary-steps.period-night .act-tag.selected        { background: rgba(200,144,80,0.88); border-color: rgba(200,144,80,0.88); color: #1a1228; }

#diary-steps.period-night .activity-search-wrap input       { background: rgba(12,8,26,0.72); border-color: rgba(255,255,255,0.13); color: #ccc8e4; }
#diary-steps.period-night .activity-search-wrap input::placeholder { color: #585880; }
#diary-steps.period-night .activity-search-wrap input:focus { border-color: rgba(200,144,80,0.65); }
#diary-steps.period-night .period-note-input       { background: rgba(12,8,26,0.72); border-color: rgba(255,255,255,0.13); color: #ccc8e4; }
#diary-steps.period-night .period-note-input::placeholder { color: #585880; }
#diary-steps.period-night .period-note-input:focus { border-color: rgba(200,144,80,0.65); }
#diary-steps.period-night #btn-activities-done     { background: #c89050; color: #1a1228; }

#diary-steps.period-night .sky-arc-svg > path   { stroke: rgba(180,170,220,0.22); }
#diary-steps.period-night .sky-arc-svg > line   { stroke: rgba(160,155,210,0.35); }
#diary-steps.period-night .sky-arc-svg > circle { fill: rgba(160,155,210,0.20); }

/* 删除模式下的活动标签统一使用红色高亮，覆盖各时段主题色 */
#diary-steps .act-tag.delete-selected,
#diary-steps .act-tag.selected.delete-selected,
#diary-steps .act-tag.delete-selected:hover,
#diary-steps .act-tag.selected.delete-selected:hover {
  background: #fff1ef !important;
  border-color: #c45c4f !important;
  color: #c45c4f !important;
}

/* ════════════════════════════════════════════════════════════════
   步骤 Tab & 保存按钮 主题色
   ════════════════════════════════════════════════════════════════ */

/* 上午 */
#diary-steps.period-morning .step-tab               { background: rgba(255,250,244,0.80); border-color: rgba(195,172,140,0.40); color: #7a6656; }
#diary-steps.period-morning .step-tab.active        { background: #c4793e; border-color: #c4793e; color: #fff; }
#diary-steps.period-morning .step-tab.done:not(.active) { color: #c4793e; border-color: rgba(196,121,62,0.55); background: rgba(255,250,244,0.80); }
#diary-steps.period-morning .step-save-btn          { border-color: rgba(195,172,140,0.45); color: #a0907e; background: rgba(255,250,244,0.80); }
#diary-steps.period-morning .step-save-btn:hover    { background: rgba(196,121,62,0.10); }

/* 下午 */
#diary-steps.period-afternoon .step-tab               { background: rgba(240,248,255,0.80); border-color: rgba(80,130,180,0.45); color: #1e3d58; }
#diary-steps.period-afternoon .step-tab.active        { background: #4a88be; border-color: #4a88be; color: #fff; }
#diary-steps.period-afternoon .step-tab.done:not(.active) { color: #2060a0; border-color: rgba(74,136,190,0.65); background: rgba(240,248,255,0.80); }
#diary-steps.period-afternoon .step-save-btn          { border-color: rgba(80,130,180,0.50); color: #1e3d58; background: rgba(240,248,255,0.80); }
#diary-steps.period-afternoon .step-save-btn:hover    { background: rgba(74,136,190,0.12); }

/* 晚上 */
#diary-steps.period-evening .step-tab               { background: rgba(255,240,248,0.18); border-color: rgba(255,180,205,0.28); color: rgba(255,215,230,0.85); }
#diary-steps.period-evening .step-tab.active        { background: rgba(200,100,140,0.68); border-color: rgba(220,120,155,0.68); color: #fff; }
#diary-steps.period-evening .step-tab.done:not(.active) { color: rgba(255,200,220,0.85); border-color: rgba(255,160,190,0.45); background: rgba(255,240,248,0.18); }
#diary-steps.period-evening .step-save-btn          { border-color: rgba(255,180,205,0.28); color: rgba(255,210,225,0.70); background: rgba(255,240,248,0.15); }
#diary-steps.period-evening .step-save-btn:hover    { background: rgba(255,180,205,0.14); color: #fff; }

/* 深夜 */
#diary-steps.period-night .step-tab               { background: rgba(16,12,32,0.65); border-color: rgba(255,255,255,0.12); color: #9090b8; }
#diary-steps.period-night .step-tab.active        { background: rgba(200,144,80,0.85); border-color: rgba(200,144,80,0.85); color: #1a1228; }
#diary-steps.period-night .step-tab.done:not(.active) { color: #c89050; border-color: rgba(200,144,80,0.40); background: rgba(16,12,32,0.65); }
#diary-steps.period-night .step-save-btn          { border-color: rgba(255,255,255,0.14); color: #8888b0; background: rgba(16,12,32,0.65); }
#diary-steps.period-night .step-save-btn:hover    { background: rgba(200,144,80,0.12); color: #c89050; }

/* ════════════════════════════════════════════════════════════════
   紧凑日期区主题色（#today-empty）
   ════════════════════════════════════════════════════════════════ */

/* 上午/下午：深色文字，保持默认，只微调边线 */
#today-empty.period-morning .date-hero  { border-color: rgba(195,172,140,0.35); }
#today-empty.period-afternoon .date-hero { border-color: rgba(80,130,180,0.45); }
#today-empty.period-afternoon .date-hero-weekday { color: #1e3d58; }
#today-empty.period-afternoon .date-hero-day     { color: #0e1e2e; }

/* 晚上 */
#today-empty.period-evening .date-hero          { border-color: rgba(255,180,205,0.30); }
#today-empty.period-evening .date-hero-weekday  { color: rgba(255,200,220,0.75); }
#today-empty.period-evening .date-hero-day      { color: #ffe8f0; }

/* 深夜 */
#today-empty.period-night .date-hero          { border-color: rgba(255,255,255,0.12); }
#today-empty.period-night .date-hero-weekday  { color: #7878a0; }
#today-empty.period-night .date-hero-day      { color: #ddd8f0; }

/* ════════════════════════════════════════════════════════════════
   顶部导航栏主题色（#app-nav）
   ════════════════════════════════════════════════════════════════ */

/* 上午 */
#app-nav.period-morning .nav-title               { color: #8b7d72; }
#app-nav.period-morning .nav-tab                 { color: #8b7d72; }
#app-nav.period-morning .nav-tab.active          { background: rgba(196,121,62,0.14); color: #c4793e; }
#app-nav.period-morning #btn-logout,
#app-nav.period-morning #btn-profile             { color: #a0907e; }

/* 下午 */
#app-nav.period-afternoon .nav-title             { color: rgba(255,255,255,0.80); }
#app-nav.period-afternoon .nav-tab               { color: rgba(255,255,255,0.75); }
#app-nav.period-afternoon .nav-tab.active        { background: rgba(255,255,255,0.22); color: #fff; }
#app-nav.period-afternoon #btn-logout,
#app-nav.period-afternoon #btn-profile           { color: rgba(255,255,255,0.70); }

/* 晚上 */
#app-nav.period-evening .nav-title               { color: rgba(255,210,225,0.65); }
#app-nav.period-evening .nav-tab                 { color: rgba(255,210,225,0.70); }
#app-nav.period-evening .nav-tab.active          { background: rgba(200,100,140,0.45); color: #fff; }
#app-nav.period-evening #btn-logout,
#app-nav.period-evening #btn-profile             { color: rgba(255,200,220,0.60); }

/* 深夜 */
#app-nav.period-night .nav-title                 { color: #7878a0; }
#app-nav.period-night .nav-tab                   { color: #7878a0; }
#app-nav.period-night .nav-tab.active            { background: rgba(200,144,80,0.25); color: #c89050; }
#app-nav.period-night #btn-logout,
#app-nav.period-night #btn-profile               { color: #8888b0; }
