/* ============================================================
   拾序 SortStep · 全站皮膚主題（跨模塊同步）
   
   積分模塊（/points）皮膚商店揀咗皮膚之後，呢個樣式檔負責令
   其他所有模塊（任務 / 拆解 / 提醒 / 統計 / 專注 + App 外殼首頁）
   嘅背景、主色、文字色同積分模塊一致。
   
   用法：喺每個模塊 <head> 最後加
     <link rel="stylesheet" href="/shared/theme-skin.css">
   再由 shared/theme-skin.js 喺 <body> 加 theme-<皮膚名> class。
   
   配色來源：
     - 背景 / 文字 / 語義色 → /points/style.css 各 body.theme-* 定義
     - 品牌色（按鈕、強調） → index.html NAV_THEMES（導航欄同款）
   另外將同一組色值映射到各模塊自有變數名（--primary / --card-bg /
   --text / --surface / --border ...），保證每個模塊都食到個主題。
   ============================================================ */

/* ---------- 背景裝飾層（漂浮 emoji，同積分模塊） ---------- */
#decorLayer { position: fixed; inset: 0; z-index: 0; pointer-events: none; overflow: hidden; }
.decor-emoji {
  position: fixed;
  opacity: .32;
  pointer-events: none;
  z-index: 0;
  line-height: 1;
  animation: decor-float 5s ease-in-out infinite alternate;
  filter: drop-shadow(0 4px 8px rgba(0, 0, 0, .12));
}
@keyframes decor-float {
  from { transform: translateY(-9px) rotate(-7deg); }
  to   { transform: translateY(11px) rotate(9deg); }
}

/* 主要內容層蓋過裝飾（同積分模塊 .app z-index:1 嘅效果） */
body > header, body > main, body > #app, body > .app,
body > .container, body > .view, body > #root { position: relative; z-index: 1; }

/* ============================================================
   皮膚：經典暖橙（預設）
   各模塊本身嘅預設配色就係 classic，但為咗同 decompose 嘅
   .app-shell 背景統一，仍定義經典漸變
   ============================================================ */
body.theme-classic {
  background: linear-gradient(160deg, var(--bg-1), var(--bg-2));
  --bg-1: #FAF6F1; --bg-2: #F6EDE3;
  --bg-soft: #FBF8F4; /* 問卷按鍵底色：比背景淺一檔 */
  /* 卡片唔用純白：暖橙調 → 輕奶油色（同 design-tokens --card） */
  --card: #FFF9F4; --surface: #FFF9F4; --card-bg: #FFF9F4;
  /* 卡片上嘅次要文字加深一檔：對比度 6.1:1（原 #8D6E63 僅 4.4:1） */
  --sub: #77594E;
}

/* ============================================================
   任務拆解模塊（decompose）背景統一
   decompose 嘅全屏內容容器 .app-shell 自帶暖橙底色 + 圓點裝飾，
   呢度令佢跟隨皮膚漸變，同其他模塊一致
   ============================================================ */
body.theme-classic .app-shell,
body.theme-white .app-shell,
body.theme-study .app-shell,
body.theme-lavender .app-shell,
body.theme-piano .app-shell,
body.theme-night .app-shell,
body.theme-rainforest .app-shell,
body.theme-dessert-party .app-shell,
body.theme-mint-chocolate .app-shell,
body.theme-spring-windowsill .app-shell {
  background: linear-gradient(160deg, var(--bg-1), var(--bg-2));
}

/* ============================================================
   皮膚：白色（純淨簡約）
   ============================================================ */
body.theme-white {
  /* 背景漸變（同積分模塊） */
  background: linear-gradient(160deg, var(--bg-1), var(--bg-2));
  --bg-1: #FFFFFF; --bg-2: #F2F4F7;
  --bg: var(--bg-2); --bg-top: var(--bg-1); --bg-bottom: var(--bg-2);
  --bg-soft: #F5F6F9; /* 比背景淺一檔 */
  /* 品牌色（同導航欄） */
  --brand: #5B7FFF; --brand-deep: #3D63E0; --brand-2: #8FA8FF;
  --brand-soft: #EEF2FF;
  --brand-grad: linear-gradient(135deg, #5B7FFF, #8FA8FF);
  --brand-shadow: 0 6px 18px rgba(61, 99, 224, .25);
  --primary: var(--brand); --primary-dark: var(--brand-deep); --primary-light: var(--brand-soft);
  --primary-soft: var(--brand-soft); --primary-deep: var(--brand-deep); --primary-press: var(--brand-deep);
  --primary-grad: var(--brand-grad);
  /* 文字 / 表面 */
  --ink: #2E3440; --ink-soft: #66707F; --ink-mute: #B4BAC6;
  --sub: var(--ink-soft); --muted: var(--ink-soft);
  --text: var(--ink); --text-2: var(--ink-soft); --text-3: var(--ink-mute);
  --text-main: var(--ink); --text-sub: var(--ink-soft);
  --card: #F5F8FF; --surface: #F5F8FF; --card-bg: #F5F8FF; --soft: #F8FAFC;
  --line: #E4E8EF; --border: var(--line); --border-strong: #D9DEE7; --line-strong: #D9DEE7;
  /* 琥珀 / 提醒色 */
  --gold: #FFC53D; --amber: #FFC53D; --amber-soft: #FFF6E0; --amber-dark: #C77800;
  --orange: #C77800; --orange-soft: #FFF6E0;
  --accent: #F6A623; --accent-dark: #C77800;
  --warn: #F6A623; --warn-soft: #FFF6E0;
  /* 語義色 */
  --green: #43A047; --green-soft: #E8F5E9; --green-dark: #38853C;
  --done: #43A047; --done-light: #E8F5E9;
  --success: #43A047; --success-soft: #E8F5E9;
  --red: #E5534B; --red-soft: #FDECEA;
  --danger: #E5534B; --danger-soft: #FDECEA;
  --blue: #4E8FE1; --blue-soft: #EEF2FF;
}

/* ============================================================
   皮膚：我愛學習（藍色為主，綠紅輔助）
   ============================================================ */
body.theme-study {
  background: linear-gradient(160deg, var(--bg-1), var(--bg-2));
  --bg-1: #1A6BD4; --bg-2: #63B3F0;
  --bg: var(--bg-1); --bg-top: var(--bg-1); --bg-bottom: var(--bg-2);
  --bg-soft: #4889DD; /* 比背景淺一檔 */
  --brand: #1A6BD4; --brand-deep: #13549F; --brand-2: #63B3F0;
  --brand-soft: #E3F0FD;
  --brand-grad: linear-gradient(135deg, #1A6BD4, #63B3F0);
  --brand-shadow: 0 6px 18px rgba(19, 84, 159, .3);
  --primary: var(--brand); --primary-dark: var(--brand-deep); --primary-light: var(--brand-soft);
  --primary-soft: var(--brand-soft); --primary-deep: var(--brand-deep); --primary-press: var(--brand-deep);
  --primary-grad: var(--brand-grad);
  --ink: #12355B; --ink-soft: #47688F; --ink-mute: #93AAC8;
  --sub: var(--ink-soft); --muted: var(--ink-soft);
  --text: var(--ink); --text-2: var(--ink-soft); --text-3: var(--ink-mute);
  --text-main: var(--ink); --text-sub: var(--ink-soft);
  --card: #EDF4FD; --surface: #EDF4FD; --card-bg: #EDF4FD; --soft: #F0F7FF;
  --line: #D3E6F7; --border: var(--line); --border-strong: #B8D0E8; --line-strong: #B8D0E8;
  --gold: #FFC53D; --amber: #FFC53D; --amber-soft: #FFF6E0; --amber-dark: #C77800;
  --orange: #C77800; --orange-soft: #FFF6E0;
  --accent: #1565C0; --accent-dark: #0D47A1;
  --warn: #F6A623; --warn-soft: #FFF6E0;
  --green: #43A047; --green-soft: #E8F5E9; --green-dark: #38853C;
  --done: #43A047; --done-light: #E8F5E9;
  --success: #43A047; --success-soft: #E8F5E9;
  --red: #E5534B; --red-soft: #FDECEA;
  --danger: #E5534B; --danger-soft: #FDECEA;
  --blue: #1A6BD4; --blue-soft: #E3F0FD;
}

/* ============================================================
   皮膚：薰衣草
   ============================================================ */
body.theme-lavender {
  background: linear-gradient(160deg, var(--bg-1), var(--bg-2));
  --bg-1: #F3E8FF; --bg-2: #E3D2FF;
  --bg: var(--bg-2); --bg-top: var(--bg-1); --bg-bottom: var(--bg-2);
  --bg-soft: #E9DBFF; /* 比背景淺一檔 */
  --brand: #9B6BE8; --brand-deep: #7B4FD8; --brand-2: #C3A6F5;
  --brand-soft: #F1E9FC;
  --brand-grad: linear-gradient(135deg, #9B6BE8, #C3A6F5);
  --brand-shadow: 0 6px 18px rgba(123, 79, 216, .28);
  --primary: var(--brand); --primary-dark: var(--brand-deep); --primary-light: var(--brand-soft);
  --primary-soft: var(--brand-soft); --primary-deep: var(--brand-deep); --primary-press: var(--brand-deep);
  --primary-grad: var(--brand-grad);
  --ink: #4A2E6E; --ink-soft: #715A92; --ink-mute: #B39FC8;
  --sub: var(--ink-soft); --muted: var(--ink-soft);
  --text: var(--ink); --text-2: var(--ink-soft); --text-3: var(--ink-mute);
  --text-main: var(--ink); --text-sub: var(--ink-soft);
  --card: #F7F3FD; --surface: #F7F3FD; --card-bg: #F7F3FD; --soft: #F9F4FF;
  --line: #E5D6F7; --border: var(--line); --border-strong: #D5C3E8; --line-strong: #D5C3E8;
  --gold: #E8C97A; --amber: #E8C97A; --amber-soft: #FBF3E3; --amber-dark: #C9A227;
  --orange: #C9A227; --orange-soft: #FBF3E3;
  --accent: #C9A227; --accent-dark: #A8831E;
  --warn: #F6A623; --warn-soft: #FBF3E3;
  --green: #7BC47F; --green-soft: #E9F7EB; --green-dark: #5E9B62;
  --done: #7BC47F; --done-light: #E9F7EB;
  --success: #7BC47F; --success-soft: #E9F7EB;
  --red: #E5534B; --red-soft: #FDECEA;
  --danger: #E5534B; --danger-soft: #FDECEA;
  --blue: #7B4FD8; --blue-soft: #F1E9FC;
}

/* ============================================================
   皮膚：黑白鋼琴（深色）
   ============================================================ */
body.theme-piano {
  background: linear-gradient(160deg, var(--bg-1), var(--bg-2));
  --bg-1: #161616; --bg-2: #2A2A2A;
  --bg: var(--bg-1); --bg-top: var(--bg-1); --bg-bottom: var(--bg-2);
  --bg-soft: #454545; /* 比背景淺一檔 */
  --brand: #D4AF37; --brand-deep: #B8942F; --brand-2: #E6C86B;
  --brand-soft: rgba(212, 175, 55, .16);
  --brand-grad: linear-gradient(135deg, #D4AF37, #E6C86B);
  --brand-shadow: 0 6px 18px rgba(0, 0, 0, .45);
  --primary: var(--brand); --primary-dark: var(--brand-deep); --primary-light: rgba(212, 175, 55, .16);
  --primary-soft: rgba(212, 175, 55, .16); --primary-deep: var(--brand-deep); --primary-press: var(--brand-deep);
  --primary-grad: var(--brand-grad);
  --ink: #F5F5F5; --ink-soft: #A8A8A8; --ink-mute: #6E6E6E;
  --sub: var(--ink-soft); --muted: var(--ink-soft);
  --text: var(--ink); --text-2: var(--ink-soft); --text-3: var(--ink-mute);
  --text-main: var(--ink); --text-sub: var(--ink-soft);
  --card: #232323; --surface: #232323; --card-bg: #232323; --soft: #303030;
  --line: #454545; --border: var(--line); --border-strong: #3A3A3A; --line-strong: #3A3A3A;
  --gold: #D4AF37; --amber: #D4AF37; --amber-soft: rgba(212, 175, 55, .14); --amber-dark: #B8942F;
  --orange: #B8942F; --orange-soft: rgba(212, 175, 55, .14);
  --accent: #D4AF37; --accent-dark: #B8942F;
  --warn: #F6A623; --warn-soft: rgba(212, 175, 55, .14);
  --green: #9CCC65; --green-soft: rgba(156, 204, 101, .16); --green-dark: #7CA650;
  --done: #9CCC65; --done-light: rgba(156, 204, 101, .16);
  --success: #9CCC65; --success-soft: rgba(156, 204, 101, .16);
  --red: #FF6B6B; --red-soft: rgba(255, 107, 107, .16);
  --danger: #FF6B6B; --danger-soft: rgba(255, 107, 107, .16);
  --blue: #8FA8FF; --blue-soft: rgba(143, 168, 255, .16);
  /* 深色主題嘅陰影 */
  --shadow-sm: 0 2px 8px rgba(0, 0, 0, .35);
  --shadow: 0 6px 22px rgba(0, 0, 0, .45);
  --shadow-lg: 0 12px 32px rgba(0, 0, 0, .5);
  --shadow-card: 0 4px 16px rgba(0, 0, 0, .4);
  --shadow-pop: 0 10px 30px rgba(0, 0, 0, .5);
  --shadow-hover: 0 12px 32px rgba(0, 0, 0, .5);
}

/* ============================================================
   皮膚：暗夜星空（深色）
   ============================================================ */
body.theme-night {
  background: linear-gradient(160deg, var(--bg-1), var(--bg-2));
  --bg-1: #0B1026; --bg-2: #1B2450;
  --bg: var(--bg-1); --bg-top: var(--bg-1); --bg-bottom: var(--bg-2);
  --bg-soft: #3C4051; /* 比背景淺一檔 */
  --brand: #5FA8FF; --brand-deep: #3D7FE8; --brand-2: #8FBCFF;
  --brand-soft: rgba(95, 168, 255, .15);
  --brand-grad: linear-gradient(135deg, #5FA8FF, #8FBCFF);
  --brand-shadow: 0 6px 18px rgba(5, 8, 30, .55);
  --primary: var(--brand); --primary-dark: var(--brand-deep); --primary-light: rgba(95, 168, 255, .15);
  --primary-soft: rgba(95, 168, 255, .15); --primary-deep: var(--brand-deep); --primary-press: var(--brand-deep);
  --primary-grad: var(--brand-grad);
  --ink: #E8ECFF; --ink-soft: #9AA6D8; --ink-mute: #5C6BA3;
  --sub: var(--ink-soft); --muted: var(--ink-soft);
  --text: var(--ink); --text-2: var(--ink-soft); --text-3: var(--ink-mute);
  --text-main: var(--ink); --text-sub: var(--ink-soft);
  --card: #161D3F; --surface: #161D3F; --card-bg: #161D3F; --soft: #1E2750;
  --line: #333F6E; --border: var(--line); --border-strong: #2B3660; --line-strong: #2B3660;
  --gold: #FFD93D; --amber: #FFD93D; --amber-soft: rgba(255, 217, 61, .13); --amber-dark: #E8B64C;
  --orange: #E8B64C; --orange-soft: rgba(255, 217, 61, .13);
  --accent: #E8B64C; --accent-dark: #C9A41F;
  --warn: #F6A623; --warn-soft: rgba(255, 217, 61, .13);
  --green: #66BB6A; --green-soft: rgba(102, 187, 106, .16); --green-dark: #57A85B;
  --done: #66BB6A; --done-light: rgba(102, 187, 106, .16);
  --success: #66BB6A; --success-soft: rgba(102, 187, 106, .16);
  --red: #FF6B6B; --red-soft: rgba(255, 107, 107, .16);
  --danger: #FF6B6B; --danger-soft: rgba(255, 107, 107, .16);
  --blue: #5FA8FF; --blue-soft: rgba(95, 168, 255, .15);
  --shadow-sm: 0 2px 8px rgba(5, 8, 30, .4);
  --shadow: 0 6px 22px rgba(5, 8, 30, .55);
  --shadow-lg: 0 12px 32px rgba(5, 8, 30, .6);
  --shadow-card: 0 4px 16px rgba(5, 8, 30, .5);
  --shadow-pop: 0 10px 30px rgba(5, 8, 30, .6);
  --shadow-hover: 0 12px 32px rgba(5, 8, 30, .6);
}

/* ============================================================
   皮膚：仲夏雨林（熱帶綠意）
   ============================================================ */
body.theme-rainforest {
  background: linear-gradient(160deg, var(--bg-1), var(--bg-2));
  --bg-1: #0E5C3F; --bg-2: #2E9E63;
  --bg: var(--bg-1); --bg-top: var(--bg-1); --bg-bottom: var(--bg-2);
  --bg-soft: #3E7D65; /* 比背景淺一檔 */
  --brand: #FFB300; --brand-deep: #E8962E; --brand-2: #FFC94D;
  --brand-soft: rgba(255, 179, 0, .18);
  --brand-grad: linear-gradient(135deg, #FFB300, #FFC94D);
  --brand-shadow: 0 6px 18px rgba(0, 0, 0, .35);
  --primary: var(--brand); --primary-dark: var(--brand-deep); --primary-light: rgba(255, 179, 0, .18);
  --primary-soft: rgba(255, 179, 0, .18); --primary-deep: var(--brand-deep); --primary-press: var(--brand-deep);
  --primary-grad: var(--brand-grad);
  --ink: #16382A; --ink-soft: #476F5B; --ink-mute: #8FB09C;
  --sub: var(--ink-soft); --muted: var(--ink-soft);
  --text: var(--ink); --text-2: var(--ink-soft); --text-3: var(--ink-mute);
  --text-main: var(--ink); --text-sub: var(--ink-soft);
  --card: #FFF3C4; --surface: #FFF3C4; --card-bg: #FFF3C4; --soft: #F0FAF4;
  --line: #C9E6D5; --border: var(--line); --border-strong: #A9D4B8; --line-strong: #A9D4B8;
  --gold: #FFD93D; --amber: #FFD93D; --amber-soft: #FFF6E0; --amber-dark: #C9A41F;
  --orange: #C9A41F; --orange-soft: #FFF6E0;
  --accent: #FFB300; --accent-dark: #E8962E;
  --warn: #F6A623; --warn-soft: #FFF6E0;
  --green: #2E9E63; --green-soft: #E9F5EC; --green-dark: #256B46;
  --done: #2E9E63; --done-light: #E9F5EC;
  --success: #2E9E63; --success-soft: #E9F5EC;
  --red: #E5534B; --red-soft: #FDECEA;
  --danger: #E5534B; --danger-soft: #FDECEA;
  --blue: #4E8FE1; --blue-soft: #E2F2EA;
}

/* ============================================================
   皮膚：甜品派對（粉嫩糖果）
   ============================================================ */
body.theme-dessert-party {
  background: linear-gradient(160deg, var(--bg-1), var(--bg-2));
  --bg-1: #FFEFF5; --bg-2: #FFDBEA;
  --bg: var(--bg-2); --bg-top: var(--bg-1); --bg-bottom: var(--bg-2);
  --bg-soft: #FFE2EE; /* 比背景淺一檔 */
  --brand: #FF6FA5; --brand-deep: #E84D85; --brand-2: #FFB0CE;
  --brand-soft: #FFE9F1;
  --brand-grad: linear-gradient(135deg, #FF6FA5, #FFB0CE);
  --brand-shadow: 0 6px 18px rgba(232, 77, 133, .3);
  --primary: var(--brand); --primary-dark: var(--brand-deep); --primary-light: var(--brand-soft);
  --primary-soft: var(--brand-soft); --primary-deep: var(--brand-deep); --primary-press: var(--brand-deep);
  --primary-grad: var(--brand-grad);
  --ink: #5C3A44; --ink-soft: #936571; --ink-mute: #C9A8B4;
  --sub: var(--ink-soft); --muted: var(--ink-soft);
  --text: var(--ink); --text-2: var(--ink-soft); --text-3: var(--ink-mute);
  --text-main: var(--ink); --text-sub: var(--ink-soft);
  --card: #FFF6FA; --surface: #FFF6FA; --card-bg: #FFF6FA; --soft: #FFF7FA;
  --line: #F8CDDD; --border: var(--line); --border-strong: #F0C0D2; --line-strong: #F0C0D2;
  --gold: #FFD1DC; --amber: #FFD1DC; --amber-soft: #FFF0F4; --amber-dark: #E8A3B5;
  --orange: #E8A3B5; --orange-soft: #FFF0F4;
  --accent: #E84D85; --accent-dark: #C23A6F;
  --warn: #F6A623; --warn-soft: #FFF0F4;
  --green: #8FD4A0; --green-soft: #EAF6EC; --green-dark: #6FA87F;
  --done: #8FD4A0; --done-light: #EAF6EC;
  --success: #8FD4A0; --success-soft: #EAF6EC;
  --red: #FF6B6B; --red-soft: #FDECEA;
  --danger: #FF6B6B; --danger-soft: #FDECEA;
  --blue: #E84D85; --blue-soft: #FFE9F1;
}

/* ============================================================
   皮膚：薄荷巧克力（深朱古力棕背景 × 天藍色卡片）
   ============================================================ */
body.theme-mint-chocolate {
  background: linear-gradient(160deg, var(--bg-1), var(--bg-2));
  --bg-1: #3E2723; --bg-2: #5D4037;
  --bg: var(--bg-1); --bg-top: var(--bg-1); --bg-bottom: var(--bg-2);
  --bg-soft: #4E342E; /* 比背景淺一檔 */
  /* 天藍色卡片（窗口） */
  --card: #C9E4FA; --surface: #C9E4FA; --card-bg: #C9E4FA; --soft: #D6ECFC;
  /* 卡片上嘅深色文字 */
  --ink: #1E3A5C; --ink-soft: #3E5D80; --ink-mute: #7C9DBE;
  --sub: var(--ink-soft); --muted: var(--ink-soft);
  --text: var(--ink); --text-2: var(--ink-soft); --text-3: var(--ink-mute);
  --text-main: var(--ink); --text-sub: var(--ink-soft);
  --line: #8A6E5F; --border: var(--line); --border-strong: #6F5647; --line-strong: #6F5647;
  --brand: #8D6E63; --brand-deep: #6D4C41; --brand-2: #B08D57;
  --brand-soft: rgba(176, 141, 87, .16);
  --brand-grad: linear-gradient(135deg, #8D6E63, #B08D57);
  --brand-shadow: 0 6px 18px rgba(0, 0, 0, .45);
  --primary: var(--brand); --primary-dark: var(--brand-deep); --primary-light: rgba(176, 141, 87, .16);
  --primary-soft: rgba(176, 141, 87, .16); --primary-deep: var(--brand-deep); --primary-press: var(--brand-deep);
  --primary-grad: var(--brand-grad);
  /* 青藍點綴（強調 / 鏈接 / 焦點） */
  --accent: #2E86C1; --accent-dark: #1F6FA8;
  --blue: #3D9BE0; --blue-soft: rgba(61, 155, 224, .16);
  --gold: #D9A441; --amber: #D9A441; --amber-soft: rgba(217, 164, 65, .15); --amber-dark: #B8862F;
  --orange: #B8862F; --orange-soft: rgba(217, 164, 65, .15);
  --warn: #F6A623; --warn-soft: rgba(246, 166, 35, .15);
  --green: #7BC47F; --green-soft: rgba(123, 196, 127, .16); --green-dark: #5E9B62;
  --done: #7BC47F; --done-light: rgba(123, 196, 127, .16);
  --success: #7BC47F; --success-soft: rgba(123, 196, 127, .16);
  --red: #FF6B6B; --red-soft: rgba(255, 107, 107, .16);
  --danger: #FF6B6B; --danger-soft: rgba(255, 107, 107, .16);
  /* 深色主題嘅陰影 */
  --shadow-sm: 0 2px 8px rgba(0, 0, 0, .35);
  --shadow: 0 6px 22px rgba(0, 0, 0, .45);
  --shadow-lg: 0 12px 32px rgba(0, 0, 0, .5);
  --shadow-card: 0 4px 16px rgba(0, 0, 0, .4);
  --shadow-pop: 0 10px 30px rgba(0, 0, 0, .5);
  --shadow-hover: 0 12px 32px rgba(0, 0, 0, .5);
}

/* 深巧克力背景上嘅頁面級文字（標題/副標）用白色；
   卡片（天藍色）內嘅文字由上面 --ink 深色負責 */
body.theme-mint-chocolate .topbar h1,
body.theme-mint-chocolate .section-title,
body.theme-mint-chocolate .view-title,
body.theme-mint-chocolate .app-header h1,
body.theme-mint-chocolate .ss-titles h1,
body.theme-mint-chocolate .brand h1,
body.theme-mint-chocolate .hero-title,
body.theme-mint-chocolate .page-head h1,
body.theme-mint-chocolate .mood-btn,
body.theme-mint-chocolate .insight .t,
body.theme-mint-chocolate .ai-msg--bot .ai-msg-bubble,
body.theme-mint-chocolate .icon-btn:hover,
body.theme-mint-chocolate .link-btn:hover { color: #FFFFFF; }

/* 導航欄品牌「拾序」+ App 外殼首頁標題（深巧克力底）→ 白色 */
body.theme-mint-chocolate .side-brand .sb-name,
body.theme-mint-chocolate .home-greet h1,
body.theme-mint-chocolate .home-sec h2 { color: #FFFFFF; }
body.theme-mint-chocolate .topbar .sub,
body.theme-mint-chocolate .ss-titles .ss-sub,
body.theme-mint-chocolate .today-date,
body.theme-mint-chocolate .subtitle,
body.theme-mint-chocolate .slogan,
body.theme-mint-chocolate .hero-sub,
body.theme-mint-chocolate .hero-stars,
body.theme-mint-chocolate .app-category-head,
body.theme-mint-chocolate .page-head p,
body.theme-mint-chocolate .insight .d,
body.theme-mint-chocolate .mt-hint,
body.theme-mint-chocolate .chat .msg.sys { color: #C9B8A5; }

/* 深巧克力底嘅內嵌面板/按鈕（--bg / --bg-soft 底）內嘅文字用淺色 */
body.theme-mint-chocolate .timer-mode-btn,
body.theme-mint-chocolate .duration-chip,
body.theme-mint-chocolate .duration-chip.active,
body.theme-mint-chocolate .duration-step,
body.theme-mint-chocolate .btn-ghost:hover,
body.theme-mint-chocolate .mt-set,
body.theme-mint-chocolate .mt-add,
body.theme-mint-chocolate .stars-log-item,
body.theme-mint-chocolate .seg button,
body.theme-mint-chocolate .chip:not(.ok):not(.warn):not(.bad),
body.theme-mint-chocolate .week-summary,
body.theme-mint-chocolate .r-tag,
body.theme-mint-chocolate .badge-item:not(.earned),
body.theme-mint-chocolate .tab:hover,
body.theme-mint-chocolate .opt { color: #F5EFE6; }
body.theme-mint-chocolate .seg button.active { color: var(--brand); }
body.theme-mint-chocolate .opt.on { color: var(--brand); }
body.theme-mint-chocolate .locked-apps .mini-app,
body.theme-mint-chocolate .ai-quick .quick-q,
body.theme-mint-chocolate .sound-volume-label,
body.theme-mint-chocolate .stars-log-time,
body.theme-mint-chocolate .badge-item:not(.earned) .b-s,
body.theme-mint-chocolate .manual-empty { color: #C9B8A5; }

/* ============================================================
   皮膚：春日窗台（奶油暖光 × 嫩綠 × 花朵）
   ============================================================ */
body.theme-spring-windowsill {
  background: linear-gradient(160deg, var(--bg-1), var(--bg-2));
  --bg-1: #FFF9E9; --bg-2: #E7F5E3;
  --bg: var(--bg-2); --bg-top: var(--bg-1); --bg-bottom: var(--bg-2);
  --bg-soft: #F5FAEE; /* 比背景淺一檔 */
  --brand: #74BE58; --brand-deep: #4F9A3E; --brand-2: #A2D985;
  --brand-soft: #EBF7E4;
  --brand-grad: linear-gradient(135deg, #74BE58, #A2D985);
  --brand-shadow: 0 6px 18px rgba(79, 154, 62, .3);
  --primary: var(--brand); --primary-dark: var(--brand-deep); --primary-light: var(--brand-soft);
  --primary-soft: var(--brand-soft); --primary-deep: var(--brand-deep); --primary-press: var(--brand-deep);
  --primary-grad: var(--brand-grad);
  --ink: #4A5A3F; --ink-soft: #4F6630; --ink-mute: #B3C4A4;
  --sub: var(--ink-soft); --muted: var(--ink-soft);
  --text: var(--ink); --text-2: var(--ink-soft); --text-3: var(--ink-mute);
  --text-main: var(--ink); --text-sub: var(--ink-soft);
  /* 嫩綠色卡片（同奶油背景區分開） */
  --card: #CDE9B0; --surface: #CDE9B0; --card-bg: #CDE9B0; --soft: #DCF1BE;
  --line: #D3E9B1; --border: var(--line); --border-strong: #B9D98F; --line-strong: #B9D98F;
  --gold: #F2C14E; --amber: #F2C14E; --amber-soft: #FDF3DC; --amber-dark: #C9972F;
  --orange: #C9972F; --orange-soft: #FDF3DC;
  --accent: #F0B53D; --accent-dark: #C9972F;
  --warn: #F6A623; --warn-soft: #FDF3DC;
  --green: #74BE58; --green-soft: #EBF7E4; --green-dark: #4F9A3E;
  --done: #74BE58; --done-light: #EBF7E4;
  --success: #74BE58; --success-soft: #EBF7E4;
  --red: #E5534B; --red-soft: #FDECEA;
  --danger: #E5534B; --danger-soft: #FDECEA;
  --blue: #5FA8D0; --blue-soft: #E6F3FA;
}

/* ============================================================
   首頁模塊卡片「立即開始」箭頭（.m-go）文字色
   原 --brand-deep 喺部分皮膚嘅卡片底上對比度唔夠（<4.5:1），
   呢度按皮膚揀同色系、深/淺一檔嘅色值（其餘皮膚嘅
   --brand-deep 喺卡片上已 ≥4.5:1，唔使覆蓋）
   ============================================================ */
body.theme-classic .m-go { color: #C14E17; }              /* 暖橙深一檔 4.6:1 */
body.theme-night .m-go { color: #6FA6FF; }                /* 星藍提亮 6.7:1 */
body.theme-rainforest .m-go { color: #9C5E00; }           /* 琥珀深一檔 4.7:1 */
body.theme-dessert-party .m-go { color: #C23A6F; }        /* 同 --accent-dark 4.8:1 */
body.theme-spring-windowsill .m-go { color: #2F6B22; }    /* 嫩綠深一檔 4.9:1 */
