/**
 * 巡樓 · Lapras — Harbor Desk UI
 * 色：pale blue 主色 / cream 次色 / burnt orange 點綴（Pokémon Palette）
 * 字體：Inter（拉丁）+ Noto Sans TC（中文，可變字重 400–700）
 *
 * 唯一真相：顏色、字級、間距只在這個檔案定義。其他 css 與 tsx 一律吃 var()，
 * 不寫死色碼與 font-size —— 否則深淺模式會有一半的畫面不跟著切。
 * 由 `npm run check:tokens` 把關。
 *
 * 命名規則：
 *   X        當填色、底色、邊框
 *   X-on     疊在 X 底色上的文字
 *   X-soft   hover／淡底
 *   X-deep   把該色「當文字」放在頁面或卡片底色上的深一階；只有本身對比不足的
 *            顏色才有（brand / danger / warning），success 自己就過 AA。
 * 主色是淺藍，當文字只有 1.9:1，所以主色當文字一律走 --hb-brand-deep。
 * --hb-subtle 只有 3.8:1，僅供裝飾與 18px 以上大字，勿用於內文。
 *
 * 兩條防髒規則：
 * 1. 不要把兩個「有彩度」的顏色互相 color-mix。藍(H≈187)配橘(H≈32)是補色，
 *    混出來一定是濁褐；要調淡就跟 surface／line／transparent 混。要一深一淺的
 *    同一顏色就用 X 與 X-deep。
 * 2. 中性色（bg / surface / line / muted / subtle）全部維持 H≈180-191 的冷青，
 *    跟 ink 與主色同溫。palette 原本的 muted 是 H=44 的暖褐，疊在偏冷的白底上
 *    會整片發黃發濁。暖色只出現在刻意的強調上：warning、accent、方案金標。
 */

:root {
  color-scheme: light;

  --hb-bg: #fcfdfd;
  --hb-surface: rgba(255, 255, 255, 0.9);
  --hb-surface-solid: #ffffff;
  --hb-surface-muted: #f2f6f6;
  --hb-ink: #152628;
  --hb-text: #152628;
  --hb-fg: #152628;
  --hb-ink-secondary: #33474a;
  --hb-muted: #566869; /* 5.8:1 於 bg、5.4:1 於 surface-muted */
  --hb-subtle: #748687; /* 3.8:1 — 裝飾／大字限定 */
  --hb-line: color-mix(in srgb, #e0e9eb 88%, transparent);
  --hb-line-strong: #e0e9eb;
  --hb-scrim: rgb(21 38 40 / 0.55);

  --hb-brand: #8bc5cd;
  --hb-brand-hover: #76b8c1;
  --hb-brand-soft: color-mix(in srgb, #8bc5cd 20%, #ffffff);
  --hb-brand-on: #0a0a0a; /* 10.3:1 於 brand */
  --hb-brand-deep: #2d5f66; /* 7.0:1 於 bg，主色當文字時用 */
  --hb-magic: #fee5a1; /* 次色奶油黃：只當淡底與裝飾 */
  --hb-magic-glow: rgb(139 197 205 / 0.2);
  --hb-focus: #2d5f66;

  --hb-success: #2f7d3f; /* 純綠 H=135，與 brand-deep 的青藍明顯分開 */
  --hb-success-soft: #eaf4ec;
  --hb-success-on: #ffffff; /* 5.2:1 */
  --hb-danger: #ef4444;
  --hb-danger-soft: #fdecec;
  --hb-danger-on: #0a0a0a; /* 5.3:1；白字只有 3.8:1 */
  --hb-danger-deep: #c0392b; /* 5.3:1 於 bg */
  --hb-warning: #b96b1c;
  --hb-warning-soft: #fbf1e3;
  --hb-warning-on: #0a0a0a; /* 4.9:1；白字只有 4.1:1 */
  --hb-warning-deep: #a35d16; /* 5.1:1 於白卡 */
  --hb-accent-warm: #b96b1c; /* 與 warning 同色：palette 只有這一個暖點綴 */

  /* 畫布極光：主色的暗一階，只用來鋪背景 */
  --hb-brand-dim: #6f9ba3;
  --hb-aurora-1: color-mix(in srgb, #8bc5cd 20%, transparent);
  --hb-aurora-2: color-mix(in srgb, #8bc5cd 11%, transparent);
  --hb-aurora-3: color-mix(in srgb, #6f9ba3 12%, transparent);

  /* 付費方案的金色字光（裝飾用，不當文字色） */
  --hb-gold: #d9a531;
  --hb-gold-bright: #fee5a1;

  --hb-radius: 0.8rem;
  --hb-radius-lg: 1rem;
  --hb-radius-xl: 1.15rem;
  --hb-radius-pill: 9999px;

  --hb-shadow-card:
    0 0 0 1px color-mix(in srgb, var(--hb-line-strong) 70%, transparent),
    0 1px 2px rgb(21 38 40 / 0.04),
    0 9px 28px rgb(21 38 40 / 0.06);
  --hb-shadow-soft: 0 4px 18px var(--hb-magic-glow);
  --hb-shadow-float: 0 16px 48px rgb(21 38 40 / 0.12);
  --hb-shadow-glow: 0 0 24px rgb(139 197 205 / 0.4);

  /* Latin → Inter；中文只走 Noto Sans TC（400–700，含 500／600／650）。 */
  --hb-font-sans: "Inter", "Noto Sans TC", system-ui, -apple-system, "Segoe UI", sans-serif;
  --hb-font-en: var(--hb-font-sans);
  --hb-font-mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace;

  /* 字階只有這 7 級，之間沒有中間值 —— 0.8 / 0.82 / 0.85 併存看不出差別，
     只會讓整頁失去節奏。輸入框維持 16px 避免 iOS 聚焦時縮放。 */
  --hb-text-2xs: 0.75rem; /* 12px · badge／極小 meta */
  --hb-text-xs: 0.8125rem; /* 13px · 次要 meta */
  --hb-text-sm: 0.875rem; /* 14px · 按鈕／輔助 */
  --hb-text-base: 1rem; /* 16px · 內文 */
  --hb-text-lg: 1.125rem; /* 18px · 卡片標題 */
  --hb-text-xl: 1.375rem; /* 22px · 頁標題 */
  --hb-text-2xl: 1.75rem; /* 28px · 登入／定價大標 */
  --hb-text-input: 1rem; /* 16px · 表單 */

  --hb-space-1: 0.25rem;
  --hb-space-2: 0.5rem;
  --hb-space-3: 0.75rem;
  --hb-space-4: 1rem;
  --hb-space-5: 1.25rem;
  --hb-space-6: 1.5rem;
  --hb-space-8: 2rem;
  --hb-space-10: 2.5rem;
  --hb-gap-tight: 0.5rem; /* 列內小元件 */
  --hb-gap-inline: 0.625rem; /* 同列按鈕、chip */
  --hb-gap-stack: 0.8rem; /* 表單欄位、stack 預設 */
  --hb-gap-block: 1.05rem; /* 卡片內大段 */
  --hb-gap-section: 1.3rem; /* 頁面區塊與區塊 */
  --hb-gap-page: 1.75rem; /* 頁面上下大留白（桌面） */

  --hb-touch: 2.75rem;
  --hb-sidebar-width: 15rem;
  --hb-topbar-height: 3.6rem;
  --hb-dock-height: 3.85rem;
}

/**
 * Dark：冷灰藍畫布，暖褐色作為 muted 層（palette 的 --muted 就是暖色）。
 * 深底下亮色本身對比就夠，所以 -deep 反而是更亮的一階。
 */
[data-theme="dark"] {
  color-scheme: dark;

  --hb-bg: #141a1a;
  --hb-surface: rgba(27, 38, 39, 0.9);
  --hb-surface-solid: #1b2627;
  --hb-surface-muted: #243132;
  --hb-ink: #f4f6f6;
  --hb-text: #f4f6f6;
  --hb-fg: #f4f6f6;
  --hb-ink-secondary: #d3dcdc;
  --hb-muted: #a9b7b7; /* 8.5:1 */
  --hb-subtle: #8b9a9a; /* 6.0:1 */
  --hb-line: color-mix(in srgb, #2d4143 92%, transparent);
  --hb-line-strong: #2d4143;
  --hb-scrim: rgb(0 0 0 / 0.66);

  --hb-brand: #89c5cd;
  --hb-brand-hover: #a3d4da;
  --hb-brand-soft: color-mix(in srgb, #89c5cd 14%, #1b2627);
  --hb-brand-on: #0a0a0a; /* 10.3:1 */
  --hb-brand-deep: #b7e3e8;
  --hb-magic: #fee59f;
  --hb-magic-glow: rgb(137 197 205 / 0.18);
  --hb-focus: #89c5cd;

  --hb-success: #74d189; /* 9.4:1，純綠 */
  --hb-success-soft: #16251a;
  --hb-success-on: #0a0a0a;
  --hb-danger: #dc2626;
  --hb-danger-soft: #341919;
  --hb-danger-on: #ffffff; /* 4.8:1 —— 深底的紅維持白字 */
  --hb-danger-deep: #f87171; /* 5.6:1 於卡片；#ef4444 只有 4.1:1 */
  --hb-warning: #e18c37; /* 6.7:1 */
  --hb-warning-soft: #2f2416;
  --hb-warning-on: #0a0a0a;
  --hb-warning-deep: #e18c37; /* 深底不必再加深 */
  --hb-accent-warm: #e18c37;

  --hb-brand-dim: #7fb0b8;
  --hb-aurora-1: color-mix(in srgb, #89c5cd 14%, transparent);
  --hb-aurora-2: color-mix(in srgb, #89c5cd 7%, transparent);
  --hb-aurora-3: color-mix(in srgb, #7fb0b8 8%, transparent);

  --hb-gold: #e1b84f;
  --hb-gold-bright: #fee59f;

  --hb-shadow-card:
    0 0 0 1px color-mix(in srgb, #2d4143 90%, transparent),
    0 10px 36px rgb(0 0 0 / 0.45);
  --hb-shadow-soft: 0 4px 22px var(--hb-magic-glow);
  --hb-shadow-float: 0 20px 56px rgb(0 0 0 / 0.55);
  --hb-shadow-glow: 0 0 32px rgb(137 197 205 / 0.28);
}
