/**
 * EwoooC Design Token v3.0 — Production
 * ─────────────────────────────────────────────────────────────
 * DNA: MOMO Pro × minimal grid × operational clarity
 * 變更重點（相對 v2.x）：
 *   1. 全站去除 linear-gradient／radial-gradient／box-shadow blur，改為單色 + 1px 線條
 *   2. 五大導航群組各自 accent，避免「全站焦糖橘」造成主次不分
 *   3. 字級從 16 級壓到 8 級；spacing scale 重新排序為 4/8/12/16/24/32/48
 *   4. 米色背景統一 #f0ebe1（介於原本 body 與 surface 之間）
 *   5. 不純黑：所有 ink 都帶 5% 暖色，避免 var(--momo-text-strong) / var(--momo-on-accent, #fff8ef) 的數位刺眼
 *
 * 用法：
 *   .momo-app[data-active-page="..."] 由 _ewoooc_shell.html 自動套群組 accent
 *   不要在 component CSS 裡再重新指定群組色，全部走 var(--momo-page-*)
 */

:root {
  /* ════════════════════════════════════════════════════════
   * 1. 中性色系 — 暖米基底
   * ════════════════════════════════════════════════════════ */
  /* 頁面層 */
  --momo-bg-body:           #f0ebe1;   /* 主背景，比 v2 略提亮 */
  --momo-bg-surface:        #faf6ec;   /* 卡片底 */
  --momo-bg-elevated:       #fdfaf2;   /* 浮層、modal */
  --momo-bg-paper:          #f5efe2;   /* 第二層卡片、表格列 */
  --momo-bg-subtle:         #e6e0d2;   /* 分區底色 */
  --momo-bg-muted:          #d3cbb9;   /* disabled 區塊 */
  --momo-bg-sidebar:        #ebe4d4;   /* sidebar 米色（不再是黑底） */
  --momo-bg-sidebar-hover:  #e0d8c4;

  /* 暖墨色（用於文字 / 線條，永遠不純黑） */
  --momo-ink:               #2a2520;
  --momo-ink-strong:        #1a1612;
  --momo-ink-soft:          #4a4138;

  /* 主錦 KPI 深色家族 — 各群組獨立設計性格 */
  --momo-ink-monitor:       #3d2e22;   /* walnut 胡桃 — 監控 */
  --momo-ink-analytics:     #3a2e1a;   /* 焦糖糖蜜 — 分析 */
  --momo-ink-ops:           #3f2418;   /* 深陶土 — 營運 */
  --momo-ink-ai:            #3a2a1f;   /* espresso — AI */
  --momo-ink-system:        #352621;   /* 烏木 — 系統 */

  /* 文字三層 */
  --momo-text-primary:      #2a2520;
  --momo-text-secondary:    #6b6155;
  --momo-text-tertiary:     #9b9081;
  --momo-text-disabled:     #c4baa8;
  --momo-text-inverse:      #faf7f0;

  /* 邊框 — 全部走低對比暖色 */
  --momo-border:            rgba(42, 37, 32, 0.16);
  --momo-border-strong:     rgba(42, 37, 32, 0.28);
  --momo-border-light:      rgba(42, 37, 32, 0.10);
  --momo-border-faint:      rgba(42, 37, 32, 0.06);
  --momo-divider:           rgba(42, 37, 32, 0.10);

  /* ════════════════════════════════════════════════════════
   * 2. 暖色家族 — 全站可用的 accent token
   * ════════════════════════════════════════════════════════
   *   所有 accent 都在「不太暗」的暖色域：HSL L 38–62
   *   命名遵循「材質感」而非「明度」：caramel/honey/clay/rust...
   */
  --momo-warm-caramel:      #c96442;   /* 焦糖橘 — 監控群組 */
  --momo-warm-clay:          #b86f52;   /* 陶土橘紅 — 營運群組 */
  --momo-warm-honey:        #c89043;   /* 蜂蜜金 — 分析群組 */
  --momo-warm-saffron:      #b8792f;   /* 番紅花橘 — AI 中樞群組 */
  --momo-warm-terra:        #a85d3d;   /* 暖陶土 — 系統群組 */
  --momo-warm-rose:         #a84428;   /* 磚紅 — danger only (HSL 12°，真暖紅) */
  --momo-warm-olive:        #8a7340;   /* 焦土 — 中性暖 */
  --momo-warm-cream:        #f7efe3;   /* 奶油米白 */
  --momo-warm-latte:        #d8c1aa;   /* 奶茶木 */
  --momo-warm-apricot:      #e7b98f;   /* 杏色 */
  --momo-warm-blush:        #edd6cc;   /* 霧粉 */
  --momo-warm-greige:       #b8aea2;   /* 暖灰 */

  /* 暖色 soft 版本（背景 / chip 用） */
  --momo-warm-caramel-soft: rgba(201, 100, 66, 0.12);
  --momo-warm-clay-soft:     rgba(184, 111, 82, 0.12);
  --momo-warm-honey-soft:   rgba(200, 144, 67, 0.14);
  --momo-warm-saffron-soft: rgba(184, 121, 47, 0.13);
  --momo-warm-terra-soft:   rgba(168, 93, 61, 0.12);
  --momo-warm-rose-soft:    rgba(168, 68, 40, 0.12);
  --momo-warm-olive-soft:   rgba(138, 115, 64, 0.12);

  --momo-accent-strong:     #8f4530;   /* V2 compatibility: prefer --momo-page-accent-dark in new CSS */

  /* ════════════════════════════════════════════════════════
   * 3. 群組主題 — 五大導航群組各自 accent
   * ════════════════════════════════════════════════════════
   *   由 _ewoooc_shell.html 設置 data-page-group=""
   *   未指定時 fallback 到 caramel
   *
   *   群組映射：
   *     monitor    → caramel  (商品看板 / 活動看板)
   *     analytics  → honey    (業績分析 / 月份總表 / 成長 / 當日)
   *     ops        → clay     (廠商缺貨 / 雲端匯入)
   *     ai         → saffron  (AI 助手 / AI 觀測台)
   *     system     → terra    (系統管理 / 設定)
   */
  --momo-page-accent:       var(--momo-warm-caramel);
  --momo-page-accent-dark:  #8f4530;
  --momo-page-accent-soft:  var(--momo-warm-caramel-soft);
  --momo-page-accent-line:  rgba(201, 100, 66, 0.32);
  --momo-page-inverse:      #fff8ef;

  /* 圖表 / 視覺輔助色（屬於同群組的協和色） */
  --momo-page-chart-1:      var(--momo-warm-caramel);
  --momo-page-chart-2:      var(--momo-warm-apricot);
  --momo-page-chart-3:      var(--momo-warm-honey);
  --momo-page-chart-4:      var(--momo-warm-olive);
  --momo-page-chart-5:      var(--momo-warm-clay);
  --momo-page-chart-6:      var(--momo-warm-greige);

  /* ════════════════════════════════════════════════════════
   * 4. 狀態色 — 去飽和
   * ════════════════════════════════════════════════════════ */
  --momo-success:           #5a7a3f;
  --momo-success-bg:        #e6ead6;
  --momo-success-border:    rgba(90, 122, 63, 0.32);
  --momo-success-text:      #3d5527;

  --momo-warning:           #b8792f;
  --momo-warning-bg:        #f3e7c4;
  --momo-warning-border:    rgba(184, 121, 47, 0.32);
  --momo-warning-text:      #6e500e;

  --momo-danger:            #a84428;
  --momo-danger-bg:         #efd3c4;
  --momo-danger-border:     rgba(168, 68, 40, 0.32);
  --momo-danger-text:       #7a3210;

  --momo-info:              #4a6b85;
  --momo-info-bg:           #dfe5ec;
  --momo-info-border:       rgba(74, 107, 133, 0.32);
  --momo-info-text:         #2d4459;

  /* ════════════════════════════════════════════════════════
   * 5. 標籤色（Tag / Chip / Badge）
   * ════════════════════════════════════════════════════════
   *   一個標籤 = 一組 (bg + border + text)，三件成套
   *   全部 WCAG AA on bg
   */
  --momo-tag-caramel-bg:     #f5e1d9;
  --momo-tag-caramel-border: rgba(201, 100, 66, 0.32);
  --momo-tag-caramel-text:   #7a3520;

  --momo-tag-honey-bg:       #f3e7c4;
  --momo-tag-honey-border:   rgba(200, 144, 67, 0.36);
  --momo-tag-honey-text:     #6e500e;

  --momo-tag-clay-bg:         #ebd9cb;
  --momo-tag-clay-border:     rgba(184, 111, 82, 0.34);
  --momo-tag-clay-text:       #6f3a23;

  --momo-tag-saffron-bg:     #f0dfc1;
  --momo-tag-saffron-border: rgba(184, 121, 47, 0.36);
  --momo-tag-saffron-text:   #6f4915;

  --momo-tag-terra-bg:       #ecdcd0;
  --momo-tag-terra-border:   rgba(168, 93, 61, 0.34);
  --momo-tag-terra-text:     #6a3621;

  --momo-tag-rust-bg:        #efd3c4;
  --momo-tag-rust-border:    rgba(168, 68, 40, 0.34);
  --momo-tag-rust-text:      #7a3210;

  --momo-tag-olive-bg:       #ece5d2;
  --momo-tag-olive-border:   rgba(138, 115, 64, 0.32);
  --momo-tag-olive-text:     #5a4a1c;

  --momo-tag-ink-bg:         #2a2520;
  --momo-tag-ink-border:     #2a2520;
  --momo-tag-ink-text:       #faf7f0;

  --momo-tag-muted-bg:       #e2dccf;
  --momo-tag-muted-border:   rgba(42, 37, 32, 0.16);
  --momo-tag-muted-text:     #645c52;

  --momo-tag-success-bg:     #e6ead6;
  --momo-tag-success-border: rgba(90, 122, 63, 0.30);
  --momo-tag-success-text:   #3d5527;

  /* P0 / P1 / P2 警示專用（與蜂蜜黃同家族，HSL 12° / 39° / 30°） */
  --momo-priority-p0-bg:     #efd3c4;
  --momo-priority-p0-border: rgba(168, 68, 40, 0.36);
  --momo-priority-p0-text:   #7a3210;

  --momo-priority-p1-bg:     #f3e7c4;
  --momo-priority-p1-border: rgba(200, 144, 67, 0.36);
  --momo-priority-p1-text:   #6e500e;

  --momo-priority-p2-bg:     #ece5d2;
  --momo-priority-p2-border: rgba(138, 115, 64, 0.32);
  --momo-priority-p2-text:   #5a4a1c;

  /* ════════════════════════════════════════════════════════
   * 6. Typography
   * ════════════════════════════════════════════════════════ */
  --momo-font-display:
    "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI",
    "PingFang TC", "Noto Sans TC", "Microsoft JhengHei", sans-serif;
  --momo-font-family:
    "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI",
    "PingFang TC", "Noto Sans TC", "Microsoft JhengHei", sans-serif;
  --momo-font-mono:
    "JetBrains Mono", "SF Mono", Menlo, Consolas, monospace;
  --momo-font-family-base:  var(--momo-font-family);
  --momo-font-family-mono:  var(--momo-font-mono);

  /* 字級 — 8 階 (從 28 種降到 8) */
  --momo-text-display:      30px;     /* hero 數字 */
  --momo-text-headline:     22px;     /* 區塊大數字 */
  --momo-text-title:        17px;     /* 卡片標題 */
  --momo-text-body:         14px;     /* 內文 */
  --momo-text-body-sm:      13px;     /* 表格內文 */
  --momo-text-meta:         12px;     /* mono 數據 / 次要 */
  --momo-text-label:        11px;     /* LABEL only */
  --momo-text-label-tiny:   10px;     /* 角落標籤 only */

  /* 兼容 v2 命名 */
  --momo-font-size-xs:      12px;
  --momo-font-size-sm:      13px;
  --momo-font-size-base:    14px;
  --momo-font-size-lg:      17px;
  --momo-font-size-xl:      22px;
  --momo-font-size-2xl:     30px;

  --momo-font-weight-normal:    400;
  --momo-font-weight-medium:    500;
  --momo-font-weight-semibold:  600;
  --momo-font-weight-bold:      700;
  --momo-font-weight-black:     800;

  --momo-line-height-tight:     1.2;
  --momo-line-height-base:      1.5;
  --momo-line-height-loose:     1.7;

  /* ════════════════════════════════════════════════════════
   * 7. Spacing — 7 階
   * ════════════════════════════════════════════════════════ */
  --momo-space-1:           4px;
  --momo-space-2:           8px;
  --momo-space-3:           12px;
  --momo-space-4:           16px;
  --momo-space-5:           24px;
  --momo-space-6:           32px;
  --momo-space-7:           48px;
  --momo-space-8:           64px;

  /* ════════════════════════════════════════════════════════
   * 8. Radius — 全站偏方角
   * ════════════════════════════════════════════════════════ */
  --momo-radius-sm:         2px;
  --momo-radius-md:         4px;
  --momo-radius-lg:         6px;
  --momo-radius-xl:         10px;     /* 只有 hero / modal */
  --momo-radius-pill:       999px;
  --momo-radius-circle:     50%;

  /* ════════════════════════════════════════════════════════
   * 9. Shadow — Nothing 風：用線條取代陰影
   * ════════════════════════════════════════════════════════ */
  --momo-shadow-sm:         inset 0 -1px 0 var(--momo-border-light);
  --momo-shadow-md:         0 0 0 1px var(--momo-border-light);
  --momo-shadow-lg:         0 0 0 1px var(--momo-border-strong);
  --momo-shadow-modal:      0 8px 28px -10px rgba(42, 37, 32, 0.18),
                            0 0 0 1px var(--momo-border-light);
  --momo-shadow-focus:      0 0 0 3px var(--momo-page-accent-soft);

  /* ════════════════════════════════════════════════════════
   * 10. Transition
   * ════════════════════════════════════════════════════════ */
  --momo-duration-fast:     0.12s;
  --momo-duration-normal:   0.2s;
  --momo-duration-slow:     0.4s;
  --momo-ease-in-out:       cubic-bezier(0.4, 0, 0.2, 1);
  --momo-ease-out:          cubic-bezier(0, 0, 0.2, 1);

  --momo-transition-base:
    color var(--momo-duration-fast) var(--momo-ease-in-out),
    background-color var(--momo-duration-fast) var(--momo-ease-in-out),
    border-color var(--momo-duration-fast) var(--momo-ease-in-out),
    box-shadow var(--momo-duration-fast) var(--momo-ease-in-out);

  /* ════════════════════════════════════════════════════════
   * 10b. Dot Matrix — 點陣視覺語言（Nothing Phone 風）
   * ════════════════════════════════════════════════════════
   *   全站共用 utility token；不要在 component CSS 裡重新定義 dot 圖樣
   *   尺寸 token：tight(8) / base(10) / loose(12) / wide(14)
   *   濃度 token：whisper(0.06) / soft(0.14) / mid(0.28) / strong(0.55)
   *   顏色：預設吃 currentColor，由父層字色決定
   */
  --momo-dot-size-tight:    8px;
  --momo-dot-size-base:     10px;
  --momo-dot-size-loose:    12px;
  --momo-dot-size-wide:     14px;
  --momo-dot-radius:        1.1px;     /* 點半徑（用於 radial-gradient 半徑） */

  --momo-dot-alpha-whisper: 0.06;
  --momo-dot-alpha-soft:    0.14;
  --momo-dot-alpha-mid:     0.28;
  --momo-dot-alpha-strong:  0.55;

  /* ════════════════════════════════════════════════════════
   * 11. z-index
   * ════════════════════════════════════════════════════════ */
  --momo-z-base:            1;
  --momo-z-dropdown:        1000;
  --momo-z-sticky:          1020;
  --momo-z-fixed:           1030;
  --momo-z-modal-backdrop:  1040;
  --momo-z-modal:           1050;
  --momo-z-popover:         1060;
  --momo-z-tooltip:         1070;
  --momo-z-toast:           1080;

  /* ════════════════════════════════════════════════════════
   * 12. Layout
   * ════════════════════════════════════════════════════════ */
  --momo-sidebar-width:           240px;
  --momo-sidebar-collapsed-width: 64px;
  --momo-topbar-height:           56px;
  --momo-content-max-width:       1600px;
  --momo-content-padding-x:       28px;
  --momo-content-padding-y:       24px;
}

/* ════════════════════════════════════════════════════════
 * 群組主題切換 — 由 [data-page-group] 觸發
 * ════════════════════════════════════════════════════════ */
.momo-app[data-page-group="monitor"] {
  --momo-page-accent:       var(--momo-warm-caramel);
  --momo-page-accent-dark:  #8f4530;
  --momo-page-accent-soft:  var(--momo-warm-caramel-soft);
  --momo-page-accent-line:  rgba(201, 100, 66, 0.32);
  --momo-page-ink:          var(--momo-ink-monitor);
  --momo-page-chart-1:      var(--momo-warm-caramel);
  --momo-page-chart-2:      var(--momo-warm-apricot);
  --momo-page-chart-3:      var(--momo-warm-honey);
  --momo-page-chart-4:      var(--momo-warm-olive);
  --momo-page-chart-5:      var(--momo-warm-clay);
  --momo-page-chart-6:      var(--momo-warm-greige);
}

.momo-app[data-page-group="analytics"] {
  --momo-page-accent:       var(--momo-warm-honey);
  --momo-page-accent-dark:  #80541a;
  --momo-page-accent-soft:  var(--momo-warm-honey-soft);
  --momo-page-accent-line:  rgba(200, 144, 67, 0.36);
  --momo-page-ink:          var(--momo-ink-analytics);
  --momo-page-chart-1:      var(--momo-warm-honey);
  --momo-page-chart-2:      var(--momo-warm-caramel);
  --momo-page-chart-3:      var(--momo-warm-olive);
  --momo-page-chart-4:      var(--momo-warm-apricot);
  --momo-page-chart-5:      var(--momo-warm-clay);
  --momo-page-chart-6:      var(--momo-warm-greige);
}

.momo-app[data-page-group="ops"] {
  --momo-page-accent:       var(--momo-warm-clay);
  --momo-page-accent-dark:  #6f3a23;
  --momo-page-accent-soft:  var(--momo-warm-clay-soft);
  --momo-page-accent-line:  rgba(184, 111, 82, 0.34);
  --momo-page-ink:          var(--momo-ink-ops);
  --momo-page-chart-1:      var(--momo-warm-clay);
  --momo-page-chart-2:      var(--momo-warm-terra);
  --momo-page-chart-3:      var(--momo-warm-honey);
  --momo-page-chart-4:      var(--momo-warm-caramel);
  --momo-page-chart-5:      var(--momo-warm-apricot);
  --momo-page-chart-6:      var(--momo-warm-greige);
}

.momo-app[data-page-group="ai"] {
  --momo-page-accent:       var(--momo-warm-saffron);
  --momo-page-accent-dark:  #6f4915;
  --momo-page-accent-soft:  var(--momo-warm-saffron-soft);
  --momo-page-accent-line:  rgba(184, 121, 47, 0.36);
  --momo-page-ink:          var(--momo-ink-ai);
  --momo-page-chart-1:      var(--momo-warm-saffron);
  --momo-page-chart-2:      var(--momo-warm-honey);
  --momo-page-chart-3:      var(--momo-warm-caramel);
  --momo-page-chart-4:      var(--momo-warm-olive);
  --momo-page-chart-5:      var(--momo-warm-apricot);
  --momo-page-chart-6:      var(--momo-warm-greige);
}

.momo-app[data-page-group="system"] {
  --momo-page-accent:       var(--momo-warm-terra);
  --momo-page-accent-dark:  #6a3621;
  --momo-page-accent-soft:  var(--momo-warm-terra-soft);
  --momo-page-accent-line:  rgba(168, 93, 61, 0.34);
  --momo-page-ink:          var(--momo-ink-system);
  --momo-page-chart-1:      var(--momo-warm-terra);
  --momo-page-chart-2:      var(--momo-warm-clay);
  --momo-page-chart-3:      var(--momo-warm-olive);
  --momo-page-chart-4:      var(--momo-warm-greige);
  --momo-page-chart-5:      var(--momo-warm-honey);
  --momo-page-chart-6:      var(--momo-warm-apricot);
}

/* ════════════════════════════════════════════════════════
 * 全域基礎
 * ════════════════════════════════════════════════════════ */
.momo-app {
  font-family: var(--momo-font-family);
  font-size: var(--momo-text-body);
  line-height: var(--momo-line-height-base);
  color: var(--momo-text-primary);
  background-color: var(--momo-bg-body);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  letter-spacing: 0;
}

.momo-app *,
.momo-app *::before,
.momo-app *::after {
  box-sizing: border-box;
}

.momo-mono {
  font-family: var(--momo-font-mono);
  font-feature-settings: "tnum";
}

.momo-display {
  font-family: var(--momo-font-display);
  font-feature-settings: "tnum", "ss01";
  letter-spacing: 0;
}

.momo-label {
  font-family: var(--momo-font-display);
  font-size: var(--momo-text-label-tiny);
  font-weight: 600;
  letter-spacing: 0.10em;
  text-transform: uppercase;
  color: var(--momo-text-tertiary);
}

/* 滾動條 */
.momo-scroll::-webkit-scrollbar { width: 8px; height: 8px; }
.momo-scroll::-webkit-scrollbar-track { background: transparent; }
.momo-scroll::-webkit-scrollbar-thumb {
  background: rgba(42, 37, 32, 0.18);
  border-radius: var(--momo-radius-pill);
}
.momo-scroll::-webkit-scrollbar-thumb:hover { background: rgba(42, 37, 32, 0.32); }

.momo-app button:not(.btn):not(.btn-close) {
  font-family: inherit;
}

/* 動畫 */
@keyframes momo-fade-in {
  from { opacity: 0; transform: translateY(2px); }
  to { opacity: 1; transform: translateY(0); }
}
@keyframes momo-pulse-dot {
  0%, 100% { opacity: 1; }
  50% { opacity: 0.3; }
}
