/**
 * MOMO Pro × Nothing × Claude 設計 Token v2.0
 * — Nothing 的點陣骨架（黑白、像素、工業）
 * — Claude 的暖米基底（#f0eee9、焦糖橘 #c96442）
 */

:root {
  /* ===== 1. 色彩 ===== */
  /* Claude 暖系基底（紙張 / 米色）— 加深暖度 */
  --momo-bg-body:           #ebe6dc;          /* Claude 米色頁面底（加深暖度）*/
  --momo-bg-surface:        #faf7f0;          /* 卡片改為米白，不純白 */
  --momo-bg-elevated:       #fdfaf3;
  --momo-bg-subtle:         #e2dccf;          /* 米色微深 */
  --momo-bg-muted:          #cfc7b5;
  --momo-bg-paper:          #f3eee2;          /* 卡片紙張感 */

  /* Nothing 黑（用暖墨色，不純黑）*/
  --momo-ink:               #2a2520;          /* 暖墨色 */
  --momo-ink-strong:        #1a1612;
  --momo-ink-soft:          #3d362f;
  --momo-line:              #2a2520;
  --momo-line-soft:          rgba(42,37,32,0.18);
  --momo-line-faint:         rgba(42,37,32,0.10);

  /* Claude 焦糖橘（accent） */
  --momo-accent:            #c96442;          /* 主 accent */
  --momo-accent-50:         #fbf2ef;
  --momo-accent-100:        #f5e1d9;
  --momo-accent-200:        #ecc3b3;
  --momo-accent-500:        #c96442;
  --momo-accent-600:        #b1543a;
  --momo-accent-700:        #8f4530;
  --momo-accent-soft:       rgba(201,100,66,0.12);

  /* ===== EwoooC 暖色家族（全站運用） =====
   * 全部留在暖色域（紅/橘/金/土），不混入冷色
   * 用法：活動頁 / 標籤色 / 圖表分類色 / 各區段視覺主軸
   */
  --momo-warm-caramel:      #c96442;          /* 焦糖橘 — 主 accent / 限時搶購 */
  --momo-warm-honey:        #b88416;          /* 蜂蜜金 — 1.1 狂歡 / 警示 */
  --momo-warm-rust:         #b5342f;          /* 暖紅 — 母親節 / danger */
  --momo-warm-mahogany:     #8f4530;          /* 深焦糖 — 520 情人節 / 強調 */
  --momo-warm-earth:        #8a5a2b;          /* 焦土 — 勞動節 / 中性暖 */
  /* 對應淡色（背景 / 軟標籤用） */
  --momo-warm-caramel-soft: rgba(201,100,66,0.12);
  --momo-warm-honey-soft:   rgba(184,132,22,0.12);
  --momo-warm-rust-soft:    rgba(181,52,47,0.12);
  --momo-warm-mahogany-soft:rgba(143,69,48,0.12);
  --momo-warm-earth-soft:   rgba(138,90,43,0.12);

  /* ===== 標籤色系統（Tag / Chip / Badge 統一規範） =====
   * 規則：
   *   1. 全部留在暖色域（caramel/honey/rust/mahogany/earth + 中性 ink）
   *   2. 一個標籤 = 一組 (bg + border + text)，三者一起用，不要混用
   *   3. 文字色一定是 *-text，已對 *-bg 做過 WCAG AA 對比驗證
   *   4. 不要任意指定 #色碼到標籤上
   *
   * 用途分配（語義化，不是看心情挑色）：
   *   caramel → 主強調 / 推薦 / 焦點品 / accent 動作
   *   honey   → 警示 / AI 挑品 / 待處理 / 提醒
   *   rust    → 危險 / 漲價 / 異常 / 警報
   *   mahogany→ 次強調 / 已選 / 已標記
   *   earth   → 中性分類 / 一般標籤 / 商品分類
   *   ink     → 平台標 / 狀態標 / mono 標籤（PChome 領先 / MOMO 領先）
   *   muted   → 弱資訊 / 待比對 / 已下架
   */

  /* caramel — 主焦點 */
  --momo-tag-caramel-bg:     #f5e1d9;
  --momo-tag-caramel-border: #ecc3b3;
  --momo-tag-caramel-text:   #7a3520;        /* AA on bg */

  /* honey — 警示 / AI */
  --momo-tag-honey-bg:       #f3e7c4;
  --momo-tag-honey-border:   #d9c590;
  --momo-tag-honey-text:     #6e500e;        /* AA on bg */

  /* rust — 漲價 / 異常 */
  --momo-tag-rust-bg:        #f0d8d4;
  --momo-tag-rust-border:    #d9b1ac;
  --momo-tag-rust-text:      #7d2520;        /* AA on bg */

  /* mahogany — 次強調 */
  --momo-tag-mahogany-bg:    #ecdcd4;
  --momo-tag-mahogany-border:#d4b8ab;
  --momo-tag-mahogany-text:  #5e2e20;

  /* earth — 中性分類（最常用，不搶眼）*/
  --momo-tag-earth-bg:       #ede4d2;
  --momo-tag-earth-border:   #d4c5a3;
  --momo-tag-earth-text:     #5a3f1c;

  /* ink — 平台 / mono */
  --momo-tag-ink-bg:         #2a2520;
  --momo-tag-ink-border:     #2a2520;
  --momo-tag-ink-text:       #faf7f0;

  /* muted — 弱資訊 */
  --momo-tag-muted-bg:       #e2dccf;
  --momo-tag-muted-border:   rgba(42,37,32,0.16);
  --momo-tag-muted-text:     #645c52;

  /* success / 降價（綠色保留，但去飽和對齊暖底）*/
  --momo-tag-success-bg:     #dde6cf;
  --momo-tag-success-border: #c2d0a6;
  --momo-tag-success-text:   #1f5a2d;

  /* ===== 字體層級規範（避免眼睛疲勞） =====
   * 原則：
   *   1. 主要內文 ≥ 13px (0.8125rem)；說明文 ≥ 12px (0.75rem) 但只用於 mono / 數據
   *   2. 11px / 10px 只給 LABEL（uppercase 標籤），且必須 letter-spacing ≥ 0.06em
   *   3. 顏色用 text-primary / secondary / tertiary 三層；tertiary 不放重點資訊
   *   4. 數據 (mono) 用 tnum 等寬，避免跳動
   *   5. line-height：標題 1.2 / 內文 1.5 / 鬆散段落 1.7
   */
  --momo-text-display:      2rem;             /* 32px - hero 大數字 */
  --momo-text-headline:     1.5rem;           /* 24px - 區塊大數字 */
  --momo-text-title:        1.0625rem;        /* 17px - 卡片標題 */
  --momo-text-body:         0.875rem;         /* 14px - 內文（提升 1px，減少疲勞）*/
  --momo-text-body-sm:      0.8125rem;        /* 13px - 表格內文最小值 */
  --momo-text-meta:         0.75rem;          /* 12px - mono 數據 / 次要說明 */
  --momo-text-label:        0.6875rem;        /* 11px - LABEL only */
  --momo-text-label-tiny:   0.625rem;         /* 10px - 角落標籤 only */

  /* 沿用 primary 命名以相容（指向 accent） */
  --momo-primary:           var(--momo-accent);
  --momo-primary-50:        var(--momo-accent-50);
  --momo-primary-100:       var(--momo-accent-100);
  --momo-primary-200:       var(--momo-accent-200);
  --momo-primary-300:       var(--momo-accent-200);
  --momo-primary-400:       var(--momo-accent-500);
  --momo-primary-500:       var(--momo-accent-500);
  --momo-primary-600:       var(--momo-accent-600);
  --momo-primary-700:       var(--momo-accent-700);
  --momo-primary-800:       var(--momo-accent-700);
  --momo-primary-900:       #5e2e20;

  /* 導航（Nothing 黑） */
  --momo-nav-start:         #1a1a1a;
  --momo-nav-end:           #000000;
  --momo-nav-text:          #ffffff;
  --momo-nav-text-muted:    rgba(255,255,255,0.55);
  --momo-nav-hover:         rgba(255,255,255,0.08);
  --momo-nav-active:        rgba(255,255,255,0.14);

  /* 漸層 → Nothing 風幾乎不用，保留低調黑灰漸層 */
  --momo-gradient-primary:  #1a1a1a;
  --momo-gradient-nav:      linear-gradient(180deg, #1a1a1a 0%, #000 100%);
  --momo-gradient-success:  #2a7a3f;
  --momo-gradient-danger:   #b5342f;
  --momo-gradient-warning:  #b88416;
  --momo-gradient-info:     #2d5d80;
  --momo-gradient-subtle:   linear-gradient(180deg, #f7f5ef 0%, #ebe8e1 100%);

  /* 狀態色（去飽和化、配合米色底） */
  --momo-success:           #2a7a3f;
  --momo-success-bg:        #e3ebd9;
  --momo-success-border:    #c5d4b0;
  --momo-success-text:      #1f5a2d;
  --momo-danger:            #b5342f;
  --momo-danger-bg:         #f0d8d4;
  --momo-danger-border:     #d9b1ac;
  --momo-danger-text:       #7d2520;
  --momo-warning:           #b88416;
  --momo-warning-bg:        #f3e7c4;
  --momo-warning-border:    #d9c590;
  --momo-warning-text:      #6e500e;
  --momo-info:              #2d5d80;
  --momo-info-bg:           #d8e2ea;
  --momo-info-border:       #b5c5d2;
  --momo-info-text:         #1d3e54;

  /* 文字（暖墨）*/
  --momo-text-primary:      #2a2520;
  --momo-text-secondary:    #645c52;
  --momo-text-tertiary:     #9b9081;
  --momo-text-disabled:     #c4baa8;
  --momo-text-inverse:      #faf7f0;
  --momo-text-link:         #c96442;
  --momo-text-link-hover:   #8f4530;

  /* 邊框（暖色調線）*/
  --momo-border:            #2a2520;
  --momo-border-light:      rgba(42,37,32,0.16);
  --momo-border-dark:       #2a2520;
  --momo-border-focus:      #c96442;
  --momo-divider:           rgba(42,37,32,0.12);

  /* Overlay */
  --momo-bg-overlay:        rgba(26, 26, 26, 0.7);
  --momo-bg-backdrop:       rgba(26, 26, 26, 0.3);

  /* ===== 2. Typography ===== */
  /* 標題：JetBrains Mono / Space Mono — 帶等寬機械感（替代 Ndot） */
  --momo-font-display:
    "JetBrains Mono", "Space Mono", "SF Mono", Menlo, Consolas, monospace;
  /* 內文：中英混排 */
  --momo-font-family:
    "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI",
    "PingFang TC", "Noto Sans TC", "Microsoft JhengHei",
    sans-serif;
  /* 等寬：數據 */
  --momo-font-family-mono:
    "JetBrains Mono", "SF Mono", Menlo, Consolas, monospace;

  --momo-font-size-xs:      0.75rem;
  --momo-font-size-sm:      0.8125rem;
  --momo-font-size-base:    0.9375rem;
  --momo-font-size-lg:      1.0625rem;
  --momo-font-size-xl:      1.625rem;
  --momo-font-size-2xl:     2.25rem;

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

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

  /* ===== 3. Spacing ===== */
  --momo-space-1:           0.25rem;
  --momo-space-2:           0.5rem;
  --momo-space-3:           0.75rem;
  --momo-space-4:           1rem;
  --momo-space-5:           1.5rem;
  --momo-space-6:           2rem;
  --momo-space-7:           3rem;
  --momo-space-8:           4rem;

  /* ===== 4. Shadow（Nothing 風幾乎不用陰影，改用線條） ===== */
  --momo-shadow-sm:         0 0 0 1px rgba(26,26,26,0.08);
  --momo-shadow-md:         0 0 0 1px rgba(26,26,26,0.10);
  --momo-shadow-lg:         0 12px 40px -8px rgba(26,26,26,0.18), 0 0 0 1px rgba(26,26,26,0.10);
  --momo-shadow-colored:    0 0 0 2px rgba(201,100,66,0.25);
  --momo-shadow-inner:      inset 0 1px 2px 0 rgba(26,26,26,0.08);

  /* ===== 5. Radius（Nothing 風偏方角，僅輕微圓角） ===== */
  --momo-radius-sm:         0.125rem;          /* 2px */
  --momo-radius-md:         0.25rem;           /* 4px */
  --momo-radius-lg:         0.375rem;          /* 6px */
  --momo-radius-pill:       50rem;
  --momo-radius-circle:     50%;

  /* ===== 6. 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-ease-in:           cubic-bezier(0.4, 0, 1, 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);

  /* ===== 7. 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;
}

/* 全域 */
.momo-app {
  font-family: var(--momo-font-family);
  font-size: var(--momo-font-size-base);
  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.005em;
}
.momo-app *, .momo-app *::before, .momo-app *::after { box-sizing: border-box; }
.momo-app button {
  font-family: inherit; cursor: pointer; border: none; background: none; padding: 0; color: inherit;
}
.momo-app input, .momo-app select, .momo-app textarea {
  font-family: inherit; font-size: inherit; color: inherit;
}

/* Display class for big numbers / titles in Nothing-mono */
.momo-display {
  font-family: var(--momo-font-display);
  font-feature-settings: "tnum", "ss01";
  letter-spacing: -0.02em;
}
.momo-mono {
  font-family: var(--momo-font-family-mono);
  font-feature-settings: "tnum";
}
.momo-label {
  font-family: var(--momo-font-display);
  font-size: 10px;
  font-weight: 500;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

/* Dot matrix 背景圖案（Nothing 招牌點陣） */
.momo-dot-bg {
  background-image: radial-gradient(circle, rgba(255,255,255,0.18) 1px, transparent 1px);
  background-size: 8px 8px;
}
.momo-dot-bg-dark {
  background-image: radial-gradient(circle, rgba(26,26,26,0.12) 1px, transparent 1px);
  background-size: 8px 8px;
}

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

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

/* ===== 商品看板響應式 ===== */
.dash-page { container-type: inline-size; }
@container (max-width: 900px) {
  .dash-kpi-num { font-size: 30px !important; }
  .dash-focus { grid-template-columns: 1fr 1fr !important; }
}
@container (max-width: 720px) {
  .dash-kpis { grid-template-columns: repeat(2, 1fr) !important; }
  .dash-kpis > div { border-right: none !important; border-bottom: 1px solid var(--momo-border-light) !important; }
  .dash-kpis > div:nth-child(odd) { border-right: 1px solid var(--momo-border-light) !important; }
  .dash-kpis > div:nth-child(n+3) { border-bottom: none !important; }
  .dash-kpi-num { font-size: 28px !important; }
  .dash-focus { grid-template-columns: 1fr !important; }
}
@media (max-width: 900px) {
  .dash-focus { grid-template-columns: 1fr 1fr !important; }
}
@media (max-width: 720px) {
  .dash-kpis { grid-template-columns: repeat(2, 1fr) !important; }
  .dash-focus { grid-template-columns: 1fr !important; }
}

/* ===== 活動看板響應式 ===== */
.camp-page { container-type: inline-size; }
@container (max-width: 900px) {
  .camp-hero { padding: 22px 24px !important; }
  .camp-hero-title { font-size: 32px !important; }
  .camp-hero-meta { gap: 20px !important; }
  .camp-hero-total { font-size: 28px !important; }
}
@container (max-width: 720px) {
  .camp-hero { padding: 20px 20px !important; }
  .camp-hero-title { font-size: 26px !important; }
  .camp-hero-meta-row { flex-direction: column !important; align-items: flex-start !important; gap: 14px !important; }
  .camp-hero-total-wrap { margin-left: 0 !important; text-align: left !important; }
  .camp-hero-total { font-size: 24px !important; }
  .camp-kpis { grid-template-columns: repeat(2, 1fr) !important; }
  .camp-kpis > div { border-right: none !important; border-bottom: 1px solid var(--momo-border-light) !important; }
  .camp-kpis > div:nth-child(odd) { border-right: 1px solid var(--momo-border-light) !important; }
  .camp-kpis > div:nth-child(n+3) { border-bottom: none !important; }
  .camp-kpi-num { font-size: 28px !important; }
  .camp-th-cat, .camp-td-cat { display: none !important; }
  .camp-table th, .camp-table td { padding: 12px 12px !important; }
}
@media (max-width: 900px) {
  .camp-hero { padding: 22px 24px !important; }
  .camp-hero-title { font-size: 32px !important; }
}
@media (max-width: 720px) {
  .camp-hero-meta-row { flex-direction: column !important; align-items: flex-start !important; gap: 14px !important; }
  .camp-hero-total-wrap { margin-left: 0 !important; text-align: left !important; }
  .camp-kpis { grid-template-columns: repeat(2, 1fr) !important; }
  .camp-th-cat, .camp-td-cat { display: none !important; }
}

/* Topbar responsive */
.momo-topbar { container-type: inline-size; }
@container (max-width: 1024px) {
  .momo-schedule-pill { display: none !important; }
}
@container (max-width: 880px) {
  .momo-user-meta { display: none !important; }
}
@container (max-width: 720px) {
  .momo-search-text { display: none !important; }
}
/* fallback：若瀏覽器不支援 container query，仍用 viewport */
@media (max-width: 1024px) {
  .momo-schedule-pill { display: none !important; }
}
@media (max-width: 880px) {
  .momo-user-meta { display: none !important; }
}
@media (max-width: 720px) {
  .momo-search-text { display: none !important; }
}
