/* @kd-registry: tokens v3.0 — synced from @kdocs/kdesign-theme@2.4.8 */
/* ══════════════════════════════════════════════════════════════════════
   KDesign Token 变量（完整版）
   权威来源：@kdocs/kdesign-theme@2.4.8 (default.less + dark.less + modules)
   架构：Base Palette (RGB triplets) + Semantic References (rgba)
   选择器约定：:root = Light（默认），[data-theme="dark"] = Dark
   ══════════════════════════════════════════════════════════════════════ */

/* ══════════════════════════════════════════════════════════════════════
   LIGHT THEME (default)
   ══════════════════════════════════════════════════════════════════════ */

:root {

  /* ══ Base Palette (RGB triplets) ══════════════════════════════════ */

  /* ── Orange ── */
  --kd-color-orange-1: 254, 241, 234;
  --kd-color-orange-2: 253, 224, 207;
  --kd-color-orange-3: 252, 196, 162;
  --kd-color-orange-4: 251, 164, 113;
  --kd-color-orange-5: 251, 126, 51;
  --kd-color-orange-6: 226, 101, 26;
  --kd-color-orange-7: 194, 80, 16;
  --kd-color-orange-8: 159, 64, 9;
  --kd-color-orange-9: 123, 48, 5;
  --kd-color-orange-10: 88, 34, 2;

  /* ── Yellow ── */
  --kd-color-yellow-1: 252, 242, 224;
  --kd-color-yellow-2: 248, 228, 187;
  --kd-color-yellow-3: 248, 214, 144;
  --kd-color-yellow-4: 249, 201, 107;
  --kd-color-yellow-5: 248, 185, 56;
  --kd-color-yellow-6: 233, 157, 0;
  --kd-color-yellow-7: 196, 130, 0;
  --kd-color-yellow-8: 154, 102, 0;
  --kd-color-yellow-9: 112, 74, 0;
  --kd-color-yellow-10: 72, 48, 0;

  /* ── Verdure ── */
  --kd-color-verdure-1: 239, 246, 212;
  --kd-color-verdure-2: 224, 236, 174;
  --kd-color-verdure-3: 200, 216, 136;
  --kd-color-verdure-4: 176, 195, 99;
  --kd-color-verdure-5: 151, 175, 61;
  --kd-color-verdure-6: 123, 153, 0;
  --kd-color-verdure-7: 102, 127, 0;
  --kd-color-verdure-8: 82, 101, 0;
  --kd-color-verdure-9: 61, 77, 0;
  --kd-color-verdure-10: 44, 55, 0;

  /* ── Green ── */
  --kd-color-green-1: 233, 246, 227;
  --kd-color-green-2: 202, 241, 185;
  --kd-color-green-3: 169, 222, 146;
  --kd-color-green-4: 134, 197, 107;
  --kd-color-green-5: 101, 171, 72;
  --kd-color-green-6: 65, 143, 31;
  --kd-color-green-7: 52, 115, 23;
  --kd-color-green-8: 39, 91, 16;
  --kd-color-green-9: 30, 72, 11;
  --kd-color-green-10: 22, 58, 7;

  /* ── Teal ── */
  --kd-color-teal-1: 228, 246, 240;
  --kd-color-teal-2: 188, 241, 222;
  --kd-color-teal-3: 143, 224, 195;
  --kd-color-teal-4: 104, 205, 170;
  --kd-color-teal-5: 63, 182, 140;
  --kd-color-teal-6: 16, 153, 104;
  --kd-color-teal-7: 5, 124, 82;
  --kd-color-teal-8: 2, 98, 64;
  --kd-color-teal-9: 0, 79, 51;
  --kd-color-teal-10: 0, 60, 39;

  /* ── Azure ── */
  --kd-color-azure-1: 230, 246, 248;
  --kd-color-azure-2: 196, 238, 243;
  --kd-color-azure-3: 131, 222, 234;
  --kd-color-azure-4: 95, 200, 214;
  --kd-color-azure-5: 59, 179, 195;
  --kd-color-azure-6: 0, 155, 176;
  --kd-color-azure-7: 0, 130, 148;
  --kd-color-azure-8: 0, 106, 121;
  --kd-color-azure-9: 0, 82, 93;
  --kd-color-azure-10: 0, 59, 67;

  /* ── Blue ── */
  --kd-color-blue-1: 237, 244, 255;
  --kd-color-blue-2: 214, 230, 255;
  --kd-color-blue-3: 166, 200, 255;
  --kd-color-blue-4: 116, 169, 253;
  --kd-color-blue-5: 69, 139, 250;
  --kd-color-blue-6: 31, 105, 224;
  --kd-color-blue-7: 30, 95, 199;
  --kd-color-blue-8: 23, 76, 160;
  --kd-color-blue-9: 15, 58, 128;
  --kd-color-blue-10: 10, 48, 108;

  /* ── Navy ── */
  --kd-color-navy-1: 244, 243, 253;
  --kd-color-navy-2: 229, 227, 250;
  --kd-color-navy-3: 197, 191, 243;
  --kd-color-navy-4: 165, 156, 236;
  --kd-color-navy-5: 137, 124, 235;
  --kd-color-navy-6: 108, 90, 251;
  --kd-color-navy-7: 86, 69, 236;
  --kd-color-navy-8: 72, 52, 214;
  --kd-color-navy-9: 60, 47, 166;
  --kd-color-navy-10: 49, 40, 119;

  /* ── Indigo ── */
  --kd-color-indigo-1: 247, 242, 254;
  --kd-color-indigo-2: 236, 225, 252;
  --kd-color-indigo-3: 212, 186, 246;
  --kd-color-indigo-4: 187, 148, 238;
  --kd-color-indigo-5: 167, 112, 240;
  --kd-color-indigo-6: 147, 72, 243;
  --kd-color-indigo-7: 128, 45, 240;
  --kd-color-indigo-8: 111, 38, 208;
  --kd-color-indigo-9: 90, 38, 160;
  --kd-color-indigo-10: 66, 33, 109;

  /* ── Violet ── */
  --kd-color-violet-1: 251, 238, 254;
  --kd-color-violet-2: 246, 222, 252;
  --kd-color-violet-3: 240, 192, 251;
  --kd-color-violet-4: 231, 156, 248;
  --kd-color-violet-5: 219, 111, 242;
  --kd-color-violet-6: 195, 67, 224;
  --kd-color-violet-7: 157, 49, 182;
  --kd-color-violet-8: 128, 39, 149;
  --kd-color-violet-9: 103, 30, 120;
  --kd-color-violet-10: 83, 23, 97;

  /* ── Purple ── */
  --kd-color-purple-1: 252, 239, 247;
  --kd-color-purple-2: 254, 221, 240;
  --kd-color-purple-3: 254, 180, 223;
  --kd-color-purple-4: 249, 143, 205;
  --kd-color-purple-5: 242, 102, 182;
  --kd-color-purple-6: 225, 67, 160;
  --kd-color-purple-7: 196, 50, 134;
  --kd-color-purple-8: 165, 35, 111;
  --kd-color-purple-9: 134, 22, 88;
  --kd-color-purple-10: 100, 9, 62;

  /* ── Red ── */
  --kd-color-red-1: 254, 241, 241;
  --kd-color-red-2: 253, 223, 223;
  --kd-color-red-3: 250, 193, 193;
  --kd-color-red-4: 245, 143, 143;
  --kd-color-red-5: 241, 92, 91;
  --kd-color-red-6: 221, 51, 50;
  --kd-color-red-7: 187, 39, 38;
  --kd-color-red-8: 157, 28, 28;
  --kd-color-red-9: 131, 19, 19;
  --kd-color-red-10: 106, 11, 10;

  /* ── Gray ── */
  --kd-color-gray-1: 245, 245, 245;
  --kd-color-gray-2: 240, 240, 240;
  --kd-color-gray-3: 230, 230, 230;
  --kd-color-gray-4: 219, 219, 219;
  --kd-color-gray-5: 194, 194, 194;
  --kd-color-gray-6: 145, 145, 145;
  --kd-color-gray-7: 107, 107, 107;
  --kd-color-gray-8: 87, 87, 87;
  --kd-color-gray-9: 51, 51, 51;
  --kd-color-gray-10: 13, 13, 13;

  /* ── Special ── */
  --kd-color-white: 255, 255, 255;
  --kd-color-black: 0, 0, 0;

  /* ── Brand (default = WPS Blue, same as blue palette) ── */
  --kd-color-brand-1: 237, 244, 255;
  --kd-color-brand-2: 214, 230, 255;
  --kd-color-brand-3: 166, 200, 255;
  --kd-color-brand-4: 116, 169, 253;
  --kd-color-brand-5: 69, 139, 250;
  --kd-color-brand-6: 31, 105, 224;
  --kd-color-brand-7: 30, 95, 199;
  --kd-color-brand-8: 23, 76, 160;
  --kd-color-brand-9: 15, 58, 128;
  --kd-color-brand-10: 10, 48, 108;

  /* ══ Semantic Colors ═════════════════════════════════════════════ */

  /* ── Public (global action color) ── */
  --kd-color-public-normal:  rgba(var(--kd-color-blue-6), 1);
  --kd-color-public-hover:   rgba(var(--kd-color-blue-5), 1);
  --kd-color-public-pressed: rgba(var(--kd-color-blue-7), 1);
  --kd-color-public-light:   rgba(var(--kd-color-blue-1), 1);

  /* ── Brand ── */
  --kd-color-brand-normal:  rgba(var(--kd-color-brand-6), 1);
  --kd-color-brand-hover:   rgba(var(--kd-color-brand-5), 1);
  --kd-color-brand-pressed: rgba(var(--kd-color-brand-7), 1);
  --kd-color-brand-light:   rgba(var(--kd-color-brand-1), 1);

  /* ── AI ── */
  --kd-color-ai-normal:         rgba(131, 80, 242, 1);
  --kd-color-ai-hover:          rgba(156, 117, 240, 1);
  --kd-color-ai-pressed:        rgba(104, 42, 239, 1);
  --kd-color-ai-light:          rgba(244, 239, 253, 1);
  --kd-color-ai-light-gradient: linear-gradient(90deg, rgba(237, 225, 253, 1) 0%, rgba(224, 212, 250, 1) 100%);

  /* ── Member ── */
  --kd-color-member-primary-normal:  rgba(50, 35, 14, 1);
  --kd-color-member-primary-hover:   rgba(77, 55, 22, 1);
  --kd-color-member-primary-pressed: rgba(36, 25, 10, 1);
  --kd-color-text-member-primary:    rgba(250, 198, 125, 1);
  --kd-color-icon-member-primary:    rgba(250, 198, 125, 1);

  /* ── Text ── */
  --kd-color-text-primary:   rgba(var(--kd-color-gray-10), 1);
  --kd-color-text-secondary: rgba(var(--kd-color-gray-7), 1);
  --kd-color-text-tertiary:  rgba(var(--kd-color-gray-10), 0.46);
  --kd-color-text-public:    rgba(var(--kd-color-blue-7), 1);
  --kd-color-text-white:     rgba(var(--kd-color-white), 1);
  --kd-color-text-brand:     rgba(var(--kd-color-brand-7), 1);
  --kd-color-text-ai:        rgba(104, 42, 239, 1);
  --kd-color-text-success:   rgba(var(--kd-color-green-7), 1);
  --kd-color-text-info:      rgba(var(--kd-color-blue-7), 1);
  --kd-color-text-error:     rgba(var(--kd-color-red-7), 1);
  --kd-color-text-warning:   rgba(var(--kd-color-orange-7), 1);
  --kd-color-text-highlight: rgba(var(--kd-color-yellow-7), 1);

  /* ── Icon ── */
  --kd-color-icon-primary:            rgba(var(--kd-color-gray-9), 1);
  --kd-color-icon-secondary:          rgba(var(--kd-color-gray-7), 1);
  --kd-color-icon-tertiary:           rgba(var(--kd-color-gray-5), 1);
  --kd-color-icon-quaternary:         rgba(var(--kd-color-gray-3), 1);
  --kd-color-icon-public:             rgba(var(--kd-color-blue-7), 1);
  --kd-color-icon-white:              rgba(var(--kd-color-white), 1);
  --kd-color-icon-brand:              rgba(var(--kd-color-brand-7), 1);
  --kd-color-icon-ai:                 rgba(104, 42, 239, 1);
  --kd-color-icon-success:            rgba(var(--kd-color-green-6), 1);
  --kd-color-icon-info:               rgba(var(--kd-color-blue-6), 1);
  --kd-color-icon-error:              rgba(var(--kd-color-red-6), 1);
  --kd-color-icon-warning:            rgba(var(--kd-color-orange-6), 1);
  --kd-color-icon-highlight:          rgba(var(--kd-color-yellow-6), 1);
  --kd-color-icon-blue-primary:       rgba(31, 105, 224, 1);
  --kd-color-icon-blue-quaternary:    rgba(214, 230, 255, 1);
  --kd-color-icon-green-primary:      rgba(32, 128, 78, 1);
  --kd-color-icon-green-quaternary:   rgba(206, 243, 228, 1);
  --kd-color-icon-orange-primary:     rgba(225, 105, 28, 1);
  --kd-color-icon-orange-quaternary:  rgba(253, 224, 206, 1);
  --kd-color-icon-red-primary:        rgba(216, 54, 66, 1);
  --kd-color-icon-red-quaternary:     rgba(253, 222, 224, 1);

  /* ── State ── */
  --kd-color-state-normal:         rgba(var(--kd-color-gray-10), 0);
  --kd-color-state-hover:          rgba(var(--kd-color-gray-10), 0.06);
  --kd-color-state-pressed:        rgba(var(--kd-color-gray-10), 0.1);
  --kd-color-state-pressed-public: rgba(var(--kd-color-blue-6), 0.1);
  --kd-color-state-pressed-brand:  rgba(var(--kd-color-brand-6), 0.1);
  --kd-color-state-pressed-ai:     rgba(131, 80, 242, 0.10);

  /* ── Background (7-layer system, from top surface to deepest base) ── */
  --kd-color-background-top:    rgba(var(--kd-color-white), 1);
  --kd-color-background-middle: rgba(var(--kd-color-white), 1);
  --kd-color-background-bottom: rgba(var(--kd-color-white), 1);
  --kd-color-background-group:  rgba(250, 250, 250, 1);
  --kd-color-background-plate:  rgba(var(--kd-color-gray-1), 1);
  --kd-color-background-base:   rgba(var(--kd-color-gray-2), 1);
  --kd-color-background-frame:  rgba(var(--kd-color-gray-3), 1);
  --kd-color-background-ai:     rgba(246, 249, 255, 1);

  /* ── Line ── */
  --kd-color-line-heavy:     rgba(var(--kd-color-gray-10), 0.48);
  --kd-color-line-medium:    rgba(var(--kd-color-gray-10), 0.24);
  --kd-color-line-regular:   rgba(var(--kd-color-gray-10), 0.12);
  --kd-color-line-light:     rgba(var(--kd-color-gray-10), 0.06);
  --kd-color-line-public:    rgba(var(--kd-color-blue-7), 1);
  --kd-color-line-white:     rgba(var(--kd-color-white), 1);
  --kd-color-line-brand:     rgba(var(--kd-color-brand-7), 1);
  --kd-color-line-ai:        rgba(104, 42, 239, 1);
  --kd-color-line-success:   rgba(var(--kd-color-green-6), 1);
  --kd-color-line-info:      rgba(var(--kd-color-blue-6), 1);
  --kd-color-line-error:     rgba(var(--kd-color-red-6), 1);
  --kd-color-line-warning:   rgba(var(--kd-color-orange-6), 1);
  --kd-color-line-highlight: rgba(var(--kd-color-yellow-6), 1);

  /* ── Fill (solid) ── */
  --kd-color-fill-extra-heavy: rgba(var(--kd-color-gray-5), 1);
  --kd-color-fill-heavy:       rgba(var(--kd-color-gray-4), 1);
  --kd-color-fill-medium:      rgba(var(--kd-color-gray-3), 1);
  --kd-color-fill-regular:     rgba(var(--kd-color-gray-2), 1);
  --kd-color-fill-light:       rgba(var(--kd-color-gray-1), 1);
  --kd-color-fill-base:        rgba(var(--kd-color-white), 1);

  /* ── Fill (alpha overlay) ── */
  --kd-color-fill-alpha-extra-heavy: rgba(var(--kd-color-gray-10), 0.4);
  --kd-color-fill-alpha-heavy:       rgba(var(--kd-color-gray-10), 0.16);
  --kd-color-fill-alpha-medium:      rgba(var(--kd-color-gray-10), 0.12);
  --kd-color-fill-alpha-regular:     rgba(var(--kd-color-gray-10), 0.08);
  --kd-color-fill-alpha-light:       rgba(var(--kd-color-gray-10), 0.04);

  /* ── Mask ── */
  --kd-color-mask-regular: rgba(var(--kd-color-gray-10), 0.5);
  --kd-color-mask-heavy:   rgba(var(--kd-color-gray-10), 0.8);

  /* ── Feedback / Inverse ── */
  --kd-color-feedback-regular: rgba(var(--kd-color-gray-8), 1);
  --kd-color-inverse-base:     rgba(var(--kd-color-white), 1);

  /* ── Functional: Info ── */
  --kd-color-info-normal:  rgba(var(--kd-color-blue-6), 1);
  --kd-color-info-hover:   rgba(var(--kd-color-blue-5), 1);
  --kd-color-info-pressed: rgba(var(--kd-color-blue-7), 1);
  --kd-color-info-light:   rgba(var(--kd-color-blue-1), 1);

  /* ── Functional: Success ── */
  --kd-color-success-normal:  rgba(var(--kd-color-green-6), 1);
  --kd-color-success-hover:   rgba(var(--kd-color-green-5), 1);
  --kd-color-success-pressed: rgba(var(--kd-color-green-7), 1);
  --kd-color-success-light:   rgba(var(--kd-color-green-1), 1);

  /* ── Functional: Error ── */
  --kd-color-error-normal:  rgba(var(--kd-color-red-6), 1);
  --kd-color-error-hover:   rgba(var(--kd-color-red-5), 1);
  --kd-color-error-pressed: rgba(var(--kd-color-red-7), 1);
  --kd-color-error-light:   rgba(var(--kd-color-red-1), 1);

  /* ── Functional: Highlight ── */
  --kd-color-highlight-normal:  rgba(var(--kd-color-yellow-6), 1);
  --kd-color-highlight-hover:   rgba(var(--kd-color-yellow-5), 1);
  --kd-color-highlight-pressed: rgba(var(--kd-color-yellow-7), 1);
  --kd-color-highlight-light:   rgba(var(--kd-color-yellow-1), 1);

  /* ── Functional: Warning ── */
  --kd-color-warning-normal:  rgba(var(--kd-color-orange-6), 1);
  --kd-color-warning-hover:   rgba(var(--kd-color-orange-5), 1);
  --kd-color-warning-pressed: rgba(var(--kd-color-orange-7), 1);
  --kd-color-warning-light:   rgba(var(--kd-color-orange-1), 1);

  /* ══ Shadows ═════════════════════════════════════════════════════ */

  --kd-box-shadow-extra-small: 0px 0px 0px 1px rgba(var(--kd-color-gray-10), 0.1), 0px 1px 0px rgba(var(--kd-color-gray-10), 0.14);
  --kd-box-shadow-small:       0px 1px 4px rgba(var(--kd-color-gray-10), 0.1);
  --kd-box-shadow-middle:      0px 1px 4px rgba(var(--kd-color-gray-10), 0.14);
  --kd-box-shadow-large:       0px 12px 32px rgba(var(--kd-color-gray-10), 0.08);
  --kd-box-shadow-extra-large: 0px 32px 48px rgba(var(--kd-color-gray-10), 0.2);
  --kd-box-shadow-glow:        0px 0px 4px rgba(var(--kd-color-blue-6), 1);

  /* ══ Typography ══════════════════════════════════════════════════ */

  --kd-font-family:    "system-ui", "-apple-system", "BlinkMacSystemFont", "Segoe UI", "Roboto", "Helvetica Neue", "Arial", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "微软雅黑", "Noto Sans SC", "Noto Sans CJK SC", "sans-serif";
  --kd-font-family-tw: "Helvetica Neue", "Helvetica", "Segoe UI", "Roboto", "Arial", "PingFang TC", "Microsoft JhengHei", "微軟正黑體", "Noto Sans TC", "Noto Sans CJK TC", "sans-serif";
  --kd-font-family-hk: "Helvetica Neue", "Helvetica", "Segoe UI", "Roboto", "Arial", "PingFang HK", "Microsoft JhengHei", "微軟正黑體", "Noto Sans HK", "Noto Sans CJK HK", "sans-serif";
  --kd-font-family-ja: "Helvetica Neue", "Helvetica", "Segoe UI", "Roboto", "Arial", "Noto Sans JP", "Noto Sans CJK JP", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "BIZ UDPGothic", "Meiryo", "MS PGothic";

  --kd-font-size-extra-small: 10px;
  --kd-font-size-small:       12px;
  --kd-font-size-sub-base:    13px;
  --kd-font-size-base:        14px;
  --kd-font-size-middle:      16px;
  --kd-font-size-large:       18px;
  --kd-font-size-extra-large: 20px;
  --kd-font-size-xx-large:    24px;
  --kd-font-size-xxx-large:   28px;

  --kd-font-weight-regular: 400;
  --kd-font-weight-bold:    600;

  --kd-font-line-height-extra-small: calc(var(--kd-font-size-extra-small) + 8px);
  --kd-font-line-height-small:       calc(var(--kd-font-size-small) + 8px);
  --kd-font-line-height-base:        calc(var(--kd-font-size-base) + 8px);
  --kd-font-line-height-middle:      calc(var(--kd-font-size-middle) + 8px);
  --kd-font-line-height-large:       calc(var(--kd-font-size-large) + 12px);
  --kd-font-line-height-extra-large: calc(var(--kd-font-size-extra-large) + 12px);
  --kd-font-line-height-xx-large:    calc(var(--kd-font-size-xx-large) + 12px);
  --kd-font-line-height-xxx-large:   calc(var(--kd-font-size-xxx-large) + 12px);
  --kd-font-line-height-reset:       1;
  --kd-font-line-height-text:        1.625;

  /* ══ Border Radius ═══════════════════════════════════════════════ */

  --kd-border-radius-none:        0;
  --kd-border-radius-extra-small: 2px;
  --kd-border-radius-small:       4px;
  --kd-border-radius-middle:      6px;
  --kd-border-radius-large:       8px;
  --kd-border-radius-extra-large: 12px;
  --kd-border-radius-circle:      999px;

  /* ══ Icon Stroke ═════════════════════════════════════════════════ */

  --kd-stroke-width-icon-regular: 1;
  --kd-stroke-width-icon-bold:    1.2;

  /* ══ Transitions ═════════════════════════════════════════════════ */

  --kd-all-transition:          all 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);
  --kd-fade-transition:         opacity 300ms cubic-bezier(0.23, 1, 0.32, 1);
  --kd-fade-linear-transition:  opacity 200ms linear;
  --kd-md-fade-transition:      transform 300ms cubic-bezier(0.23, 1, 0.32, 1) 100ms, opacity 300ms cubic-bezier(0.23, 1, 0.32, 1) 100ms;
  --kd-border-transition-base:  border-color 0.2s cubic-bezier(0.645, 0.045, 0.355, 1);
  --kd-color-transition-base:   color 0.2s cubic-bezier(0.645, 0.045, 0.355, 1);

  /* ══ Z-Index ═════════════════════════════════════════════════════ */

  --kd-z-index-invisible: -100;
  --kd-z-index-default:   1;
  --kd-z-index-float:     10;
  --kd-z-index-mask:      999;
  --kd-z-index-dialog:    1000;
  --kd-z-index-reminder:  1020;
  --kd-z-index-popover:   1030;
  --kd-z-index-popupmenu: 1040;
  --kd-z-index-tip:       1050;

  /* ══ Opacity & Custom ════════════════════════════════════════════ */

  --kd-opacity-disabled:   0.4;
  --kd-opacity-icon:       1;
  --kd-opacity-icon-hover:  0.48;
  --kd-opacity-icon-active: 0.72;
  --kd-opacity-icon-mode:   1;

  --kd-color-brand-disable: rgba(var(--kd-color-brand-6), var(--kd-opacity-disabled));
  --kd-color-text-disable:  rgba(var(--kd-color-gray-10), 0.27);

  /* ══ Backward-Compatible Aliases ═════════════════════════════════
     旧版 token 名 → 新版名映射，保证已有组件 CSS 不破坏 */

  --kd-font-size-xs:  var(--kd-font-size-extra-small);
  --kd-font-size-xl:  var(--kd-font-size-extra-large);
  --kd-font-size-xxl: var(--kd-font-size-xx-large);

  --kd-line-height-xs:     var(--kd-font-line-height-extra-small);
  --kd-line-height-small:  var(--kd-font-line-height-small);
  --kd-line-height-base:   var(--kd-font-line-height-base);
  --kd-line-height-middle: var(--kd-font-line-height-middle);
  --kd-line-height-large:  var(--kd-font-line-height-large);
  --kd-line-height-xl:     var(--kd-font-line-height-extra-large);
  --kd-line-height-xxl:    var(--kd-font-line-height-xx-large);

  --kd-time-fast:   120ms;
  --kd-time-normal: 240ms;
  --kd-easing-ease: cubic-bezier(.25, .10, .25, 1.00);
}

/* ══════════════════════════════════════════════════════════════════════
   DARK THEME
   Only overrides: base palette + tokens with explicitly different values.
   Semantic tokens referencing palette vars (e.g. rgba(var(--kd-color-blue-6), 1))
   adapt automatically through the palette swap.
   ══════════════════════════════════════════════════════════════════════ */

[data-theme="dark"] {

  /* ══ Dark Base Palette ═══════════════════════════════════════════ */

  /* ── Orange ── */
  --kd-color-orange-1: 66, 49, 45;
  --kd-color-orange-2: 95, 57, 46;
  --kd-color-orange-3: 124, 67, 45;
  --kd-color-orange-4: 153, 77, 42;
  --kd-color-orange-5: 181, 85, 36;
  --kd-color-orange-6: 208, 96, 29;
  --kd-color-orange-7: 245, 109, 28;
  --kd-color-orange-8: 254, 147, 76;
  --kd-color-orange-9: 255, 188, 148;
  --kd-color-orange-10: 255, 230, 215;

  /* ── Yellow ── */
  --kd-color-yellow-1: 60, 52, 35;
  --kd-color-yellow-2: 87, 71, 41;
  --kd-color-yellow-3: 117, 93, 45;
  --kd-color-yellow-4: 149, 115, 49;
  --kd-color-yellow-5: 183, 138, 51;
  --kd-color-yellow-6: 218, 163, 57;
  --kd-color-yellow-7: 247, 187, 67;
  --kd-color-yellow-8: 254, 208, 109;
  --kd-color-yellow-9: 254, 224, 157;
  --kd-color-yellow-10: 255, 233, 184;

  /* ── Verdure ── */
  --kd-color-verdure-1: 51, 55, 35;
  --kd-color-verdure-2: 63, 70, 36;
  --kd-color-verdure-3: 75, 85, 34;
  --kd-color-verdure-4: 89, 103, 31;
  --kd-color-verdure-5: 105, 126, 25;
  --kd-color-verdure-6: 127, 152, 27;
  --kd-color-verdure-7: 151, 176, 47;
  --kd-color-verdure-8: 176, 199, 86;
  --kd-color-verdure-9: 203, 221, 128;
  --kd-color-verdure-10: 228, 241, 175;

  /* ── Green ── */
  --kd-color-green-1: 45, 57, 40;
  --kd-color-green-2: 48, 67, 39;
  --kd-color-green-3: 52, 82, 39;
  --kd-color-green-4: 57, 101, 38;
  --kd-color-green-5: 62, 121, 36;
  --kd-color-green-6: 69, 144, 37;
  --kd-color-green-7: 92, 171, 57;
  --kd-color-green-8: 123, 197, 91;
  --kd-color-green-9: 160, 220, 131;
  --kd-color-green-10: 214, 243, 200;

  /* ── Teal ── */
  --kd-color-teal-1: 40, 56, 50;
  --kd-color-teal-2: 39, 70, 59;
  --kd-color-teal-3: 38, 85, 69;
  --kd-color-teal-4: 32, 105, 79;
  --kd-color-teal-5: 20, 123, 87;
  --kd-color-teal-6: 0, 148, 96;
  --kd-color-teal-7: 12, 175, 118;
  --kd-color-teal-8: 59, 201, 154;
  --kd-color-teal-9: 117, 227, 189;
  --kd-color-teal-10: 198, 244, 230;

  /* ── Azure ── */
  --kd-color-azure-1: 36, 56, 58;
  --kd-color-azure-2: 37, 70, 74;
  --kd-color-azure-3: 36, 86, 93;
  --kd-color-azure-4: 31, 103, 112;
  --kd-color-azure-5: 18, 121, 134;
  --kd-color-azure-6: 0, 141, 159;
  --kd-color-azure-7: 16, 166, 185;
  --kd-color-azure-8: 58, 196, 213;
  --kd-color-azure-9: 117, 221, 234;
  --kd-color-azure-10: 213, 240, 244;

  /* ── Blue ── */
  --kd-color-blue-1: 40, 53, 74;
  --kd-color-blue-2: 39, 61, 97;
  --kd-color-blue-3: 37, 71, 126;
  --kd-color-blue-4: 34, 85, 169;
  --kd-color-blue-5: 24, 99, 218;
  --kd-color-blue-6: 30, 116, 255;
  --kd-color-blue-7: 66, 137, 255;
  --kd-color-blue-8: 104, 161, 255;
  --kd-color-blue-9: 148, 189, 255;
  --kd-color-blue-10: 223, 235, 255;

  /* ── Navy ── */
  --kd-color-navy-1: 53, 49, 82;
  --kd-color-navy-2: 59, 50, 121;
  --kd-color-navy-3: 66, 52, 171;
  --kd-color-navy-4: 76, 57, 211;
  --kd-color-navy-5: 91, 70, 232;
  --kd-color-navy-6: 109, 92, 244;
  --kd-color-navy-7: 135, 120, 250;
  --kd-color-navy-8: 168, 156, 253;
  --kd-color-navy-9: 199, 190, 255;
  --kd-color-navy-10: 235, 232, 255;

  /* ── Indigo ── */
  --kd-color-indigo-1: 60, 47, 76;
  --kd-color-indigo-2: 74, 48, 106;
  --kd-color-indigo-3: 87, 50, 136;
  --kd-color-indigo-4: 104, 53, 171;
  --kd-color-indigo-5: 122, 53, 213;
  --kd-color-indigo-6: 144, 75, 233;
  --kd-color-indigo-7: 168, 110, 242;
  --kd-color-indigo-8: 193, 150, 249;
  --kd-color-indigo-9: 217, 189, 253;
  --kd-color-indigo-10: 241, 231, 254;

  /* ── Violet ── */
  --kd-color-violet-1: 66, 46, 70;
  --kd-color-violet-2: 87, 51, 95;
  --kd-color-violet-3: 111, 55, 123;
  --kd-color-violet-4: 135, 60, 151;
  --kd-color-violet-5: 162, 67, 183;
  --kd-color-violet-6: 192, 74, 219;
  --kd-color-violet-7: 209, 109, 233;
  --kd-color-violet-8: 224, 150, 241;
  --kd-color-violet-9: 234, 187, 245;
  --kd-color-violet-10: 246, 229, 250;

  /* ── Purple ── */
  --kd-color-purple-1: 69, 47, 60;
  --kd-color-purple-2: 100, 50, 79;
  --kd-color-purple-3: 126, 53, 96;
  --kd-color-purple-4: 152, 58, 113;
  --kd-color-purple-5: 182, 66, 133;
  --kd-color-purple-6: 215, 76, 158;
  --kd-color-purple-7: 235, 110, 182;
  --kd-color-purple-8: 243, 150, 204;
  --kd-color-purple-9: 249, 186, 223;
  --kd-color-purple-10: 254, 227, 243;

  /* ── Red ── */
  --kd-color-red-1: 74, 45, 45;
  --kd-color-red-2: 101, 45, 45;
  --kd-color-red-3: 129, 47, 47;
  --kd-color-red-4: 155, 50, 50;
  --kd-color-red-5: 184, 54, 54;
  --kd-color-red-6: 214, 61, 61;
  --kd-color-red-7: 237, 75, 75;
  --kd-color-red-8: 244, 120, 120;
  --kd-color-red-9: 250, 169, 169;
  --kd-color-red-10: 254, 229, 229;

  /* ── Gray (reversed: 1=darkest, 10=lightest) ── */
  --kd-color-gray-1: 51, 51, 51;
  --kd-color-gray-2: 56, 56, 56;
  --kd-color-gray-3: 64, 64, 64;
  --kd-color-gray-4: 71, 71, 71;
  --kd-color-gray-5: 87, 87, 87;
  --kd-color-gray-6: 102, 102, 102;
  --kd-color-gray-7: 138, 138, 138;
  --kd-color-gray-8: 153, 153, 153;
  --kd-color-gray-9: 199, 199, 199;
  --kd-color-gray-10: 245, 245, 245;

  /* ── Brand (dark) ── */
  --kd-color-brand-1: 40, 53, 74;
  --kd-color-brand-2: 39, 61, 97;
  --kd-color-brand-3: 37, 71, 126;
  --kd-color-brand-4: 34, 85, 169;
  --kd-color-brand-5: 24, 99, 218;
  --kd-color-brand-6: 30, 116, 255;
  --kd-color-brand-7: 66, 137, 255;
  --kd-color-brand-8: 104, 161, 255;
  --kd-color-brand-9: 148, 189, 255;
  --kd-color-brand-10: 223, 235, 255;

  /* ══ Dark-specific Semantic Overrides ════════════════════════════
     Only tokens whose CSS expression differs from Light.
     Palette-referencing tokens (e.g. rgba(var(--kd-color-blue-6), 1))
     need no override — they adapt through the palette swap above. */

  /* ── AI (different values in dark) ── */
  --kd-color-ai-normal:         rgba(136, 87, 242, 1);
  --kd-color-ai-hover:          rgba(113, 61, 225, 1);
  --kd-color-ai-pressed:        rgba(158, 117, 245, 1);
  --kd-color-ai-light:          rgba(58, 48, 85, 1);
  --kd-color-ai-light-gradient: linear-gradient(90deg, rgba(63, 60, 95, 1) 0%, rgba(110, 70, 163, 1) 100%);

  /* ── Member (light/dark values swap) ── */
  --kd-color-member-primary-normal:  rgba(250, 198, 125, 1);
  --kd-color-member-primary-hover:   rgba(221, 170, 95, 1);
  --kd-color-member-primary-pressed: rgba(251, 212, 156, 1);
  --kd-color-text-member-primary:    rgba(52, 35, 6, 1);
  --kd-color-icon-member-primary:    rgba(52, 35, 6, 1);

  /* ── Text AI ── */
  --kd-color-text-ai: rgba(158, 117, 245, 1);

  /* ── Icon (AI + colored variants differ) ── */
  --kd-color-icon-ai:                rgba(158, 117, 245, 1);
  --kd-color-icon-blue-primary:      rgba(85, 143, 236, 1);
  --kd-color-icon-blue-quaternary:   rgba(36, 71, 127, 1);
  --kd-color-icon-green-primary:     rgba(48, 171, 128, 1);
  --kd-color-icon-green-quaternary:  rgba(28, 84, 64, 1);
  --kd-color-icon-orange-primary:    rgba(224, 128, 66, 1);
  --kd-color-icon-orange-quaternary: rgba(119, 67, 34, 1);
  --kd-color-icon-red-primary:       rgba(231, 85, 96, 1);
  --kd-color-icon-red-quaternary:    rgba(122, 41, 47, 1);

  /* ── State (different opacities in dark) ── */
  --kd-color-state-pressed-public: rgba(var(--kd-color-blue-6), 0.16);
  --kd-color-state-pressed-brand:  rgba(var(--kd-color-brand-6), 0.16);
  --kd-color-state-pressed-ai:     rgba(136, 87, 242, 0.16);

  /* ── Background (explicit dark values) ── */
  --kd-color-background-top:    rgba(46, 46, 46, 1);
  --kd-color-background-middle: rgba(41, 41, 41, 1);
  --kd-color-background-bottom: rgba(36, 36, 36, 1);
  --kd-color-background-group:  rgba(31, 31, 31, 1);
  --kd-color-background-plate:  rgba(25, 25, 25, 1);
  --kd-color-background-base:   rgba(18, 18, 18, 1);
  --kd-color-background-frame:  rgba(0, 0, 0, 1);
  --kd-color-background-ai:     rgba(31, 33, 36, 1);

  /* ── Line AI ── */
  --kd-color-line-ai: rgba(158, 117, 245, 1);

  /* ── Fill (different opacity for fill-base in dark) ── */
  --kd-color-fill-base: rgba(var(--kd-color-white), 0.08);

  /* ── Fill Alpha (different opacities in dark) ── */
  --kd-color-fill-alpha-heavy:   rgba(var(--kd-color-gray-10), 0.18);
  --kd-color-fill-alpha-medium:  rgba(var(--kd-color-gray-10), 0.14);
  --kd-color-fill-alpha-regular: rgba(var(--kd-color-gray-10), 0.1);
  --kd-color-fill-alpha-light:   rgba(var(--kd-color-gray-10), 0.06);

  /* ── Mask (use gray-1 in dark, different opacity) ── */
  --kd-color-mask-regular: rgba(var(--kd-color-gray-1), 0.6);
  --kd-color-mask-heavy:   rgba(var(--kd-color-gray-1), 0.8);

  /* ── Inverse (white → black in dark) ── */
  --kd-color-inverse-base: rgba(var(--kd-color-black), 1);

  /* ── Shadows (use white/black instead of gray-10) ── */
  --kd-box-shadow-extra-small: 0px 0px 0px 1px rgba(var(--kd-color-white), 0.14);
  --kd-box-shadow-small:       0px 1px 4px rgba(var(--kd-color-black), 0.24);
  --kd-box-shadow-middle:      0px 1px 4px rgba(var(--kd-color-black), 0.32);
  --kd-box-shadow-large:       0px 12px 32px rgba(var(--kd-color-black), 0.32);
  --kd-box-shadow-extra-large: 0px 32px 48px rgba(var(--kd-color-black), 0.48);
  --kd-box-shadow-glow:        0px 0px 4px rgba(var(--kd-color-blue-6), 1);

  /* ── Opacity ── */
  --kd-opacity-icon-mode: 0.85;
}
