/* ============================================================
   星夜日记 · CSS 令牌 + 动效关键帧
   供 diary_view() 星空月历界面使用。
   ============================================================ */

:root {
  /* ── 夜空纵深 ── */
  --night-1000: #070A1C;
  --night-900:  #0C1130;
  --night-800:  #141A42;
  --night-700:  #1E2356;
  --night-600:  #2A2766;
  --night-500:  #3A2E74;
  --night-horizon: #4B3C86;

  /* ── 星光 ── */
  --star-white:  #F6F4FF;
  --star-blue:   #BBD0FF;
  --star-gold:   #FBE6A6;
  --star-lilac:  #D9C9FF;
  --star-glow:   rgba(187, 208, 255, 0.55);
  --gold-glow:   rgba(251, 230, 166, 0.55);

  /* ── 月华 ── */
  --moon-core:   #FCF7E6;
  --moon-halo:   rgba(252, 247, 230, 0.30);

  /* ── 花海 ── */
  --field-dark:   #15102E;
  --field-mid:    #241B49;
  --flower-lilac: #B6A8E8;
  --flower-peri:  #9FB4E8;
  --flower-pale:  #EDE9FF;
  --flower-warm:  #E8C9A0;
  --leaf-deep:    #2E4A4A;

  /* ── 羊皮纸 ── */
  --parch-100:  #F7EFDC;
  --parch-200:  #F2E7CE;
  --parch-300:  #E9D9B8;
  --parch-edge: #D8C297;
  --parch-line: rgba(122, 92, 52, 0.14);

  /* ── 木牌 ── */
  --wood-100: #A9825A;
  --wood-200: #8A6442;
  --wood-300: #6E4E33;
  --wood-edge: #5A3F29;
  --rope:     #C9B48C;

  /* ── 墨色 ── */
  --ink-900: #3A2C18;
  --ink-700: #4E3C24;
  --ink-500: #6E5A3E;
  --ink-300: #9A876A;

  /* ── 夜空文字 ── */
  --text-night-100: #F4F2FF;
  --text-night-200: #D7D2F0;
  --text-night-300: #A7A0CC;
  --text-night-400: #756E9E;

  /* ── 玻璃面板 ── */
  --glass-bg:      rgba(34, 30, 74, 0.46);
  --glass-bg-soft: rgba(34, 30, 74, 0.28);
  --glass-border:  rgba(187, 208, 255, 0.18);
  --glass-border-strong: rgba(217, 201, 255, 0.34);

  /* ── 语义 ── */
  --danger:   #D98A8A;
  --success:  #8FD0A8;

  /* ── 阴影 ── */
  --shadow-soft:    0 4px 14px rgba(4, 6, 20, 0.40);
  --shadow-lifted:  0 14px 40px rgba(4, 6, 20, 0.55);
  --shadow-parch:   0 10px 34px rgba(20, 12, 4, 0.45);
  --shadow-inset-parch: inset 0 1px 0 rgba(255,255,255,0.4),
                        inset 0 -18px 40px rgba(180, 150, 100, 0.18);

  /* ── 光晕 ── */
  --glow-star:    0 0 8px var(--star-glow), 0 0 16px var(--star-glow);
  --glow-star-lg: 0 0 10px #fff, 0 0 22px var(--star-glow), 0 0 40px var(--star-glow);
  --glow-gold:    0 0 10px var(--gold-glow), 0 0 24px var(--gold-glow);
  --glow-moon:    0 0 40px 12px var(--moon-halo);
  --glow-flower:  0 0 12px rgba(182, 168, 232, 0.55);

  /* ── 磨砂 ── */
  --blur-glass: blur(16px) saturate(1.1);
  --blur-soft:  blur(8px) saturate(1.05);

  /* ── 缓动 ── */
  --ease-soft:   cubic-bezier(0.4, 0.0, 0.2, 1);
  --ease-out:    cubic-bezier(0.16, 1, 0.3, 1);
  --ease-sway:   cubic-bezier(0.37, 0, 0.63, 1);
  --dur-fast:    0.18s;
  --dur-base:    0.3s;
  --dur-slow:    0.6s;
  --dur-twinkle: 3.2s;
  --dur-sway:    4.5s;
  --dur-float:   6s;

  /* ── 字体（沿用项目字体系统） ── */
  --font-letter:  "LXGW WenKai TC", "Kaiti SC", "KaiTi", "PingFang SC", serif;
  --font-display: "ZCOOL XiaoWei", "Noto Serif SC", "Songti SC", serif;
  --font-ui:      "Noto Sans SC", "PingFang SC", "Microsoft YaHei", sans-serif;

  /* ── 圆角 ── */
  --r-cell: 16px;
  --r-xl:   20px;
  --r-pill: 999px;

  /* ── 间距 ── */
  --sp-sm: 8px;
  --sp-md: 12px;
  --sp-lg: 16px;
  --sp-xl: 24px;
}

/* ── 动效关键帧 ── */

@keyframes star-twinkle {
  0%, 100% { opacity: 0.35; transform: scale(0.85); }
  50%      { opacity: 1;    transform: scale(1.1); }
}

@keyframes hang-sway {
  0%, 100% { transform: rotate(-2.5deg); }
  50%      { transform: rotate(2.5deg); }
}

@keyframes flower-float {
  0%, 100% { transform: translateY(0) rotate(-1.5deg); }
  50%      { transform: translateY(-4px) rotate(1.5deg); }
}

@keyframes moon-breathe {
  0%, 100% { box-shadow: var(--glow-moon); }
  50%      { box-shadow: 0 0 56px 18px var(--moon-halo); }
}

@keyframes shooting-star {
  0%   { transform: translate(0, 0) rotate(-32deg); opacity: 0; }
  8%   { opacity: 1; }
  22%  { opacity: 1; }
  40%  { transform: translate(-460px, 300px) rotate(-32deg); opacity: 0; }
  100% { transform: translate(-460px, 300px) rotate(-32deg); opacity: 0; }
}

@keyframes lian-typing-bounce {
  0%, 60%, 100% { transform: translateY(0); opacity: 0.4; }
  30% { transform: translateY(-4px); opacity: 1; }
}
.lian-typing-indicator .lian-typing-dot:nth-child(1) { animation: lian-typing-bounce 1.2s ease-in-out infinite; }
.lian-typing-indicator .lian-typing-dot:nth-child(2) { animation: lian-typing-bounce 1.2s ease-in-out 0.15s infinite; }
.lian-typing-indicator .lian-typing-dot:nth-child(3) { animation: lian-typing-bounce 1.2s ease-in-out 0.3s infinite; }

@media (prefers-reduced-motion: reduce) {
  * {
    animation-duration: 0.001ms !important;
    animation-iteration-count: 1 !important;
  }
  /* 省电降级：系统开启「减少动态效果」时，关掉硬编码的 backdrop-filter */
  [style*="backdrop-filter"],
  [style*="backdropFilter"] {
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
  }
}

/* ── 木牌 hover 效果 ── */
.night-wood-btn:hover  { filter: brightness(1.08); transform: translateY(1px); }
.night-wood-btn:active { transform: translateY(2px) scale(0.98); }

/* ── 风铃铃身 hover ── */
.night-bell-body:hover { transform: translateY(1px); }

/* ── 月历工具栏 玻璃图标按钮 ── */
.diary-tool-btn:hover   { transform: translateY(-2px); filter: brightness(1.1); }
.diary-tool-btn:hover .diary-tool-chip { box-shadow: 0 0 0 1px rgba(187,208,255,0.3), 0 6px 16px rgba(4,6,20,0.4); }
.diary-tool-btn:active  { transform: translateY(0) scale(0.96); }
