/* packages/shared-i18n/components/LanguageSwitcher.css */

.language-switcher {
  position: relative;
  display: flex;
  visibility: visible;
  transition: all 0.3s ease;
  pointer-events: auto;
  overflow: visible;
}

/* 下拉菜单：相对触发图标定位，显示在图标正下方（覆盖公共 Dropdown 的 fixed 定位）
 * 不覆盖 transform，保留 Dropdown 的 scaleY(0)→scaleY(1) 弹出动画 */
.language-switcher [class*="dropdownBottom"],
.language-switcher [class*="dropdownTop"] {
  position: absolute !important;
  left: 50% !important;
  top: calc(100% + 12px) !important;
  z-index: 1001;
  overflow: visible;
}

/* 按钮外观由 Header 的 `.header-icon-btn` 统一控制 */
.language-switcher .language-switcher-icon {
  line-height: 1;
}

/* 仅放大图标按钮本体，不影响 Dropdown 菜单层 */
.language-switcher .language-switcher-btn {
  transform: scale(1);
  transform-origin: center center;
  transition: transform 0.18s ease, color 0.18s ease;
}

.language-switcher:hover .language-switcher-btn {
  transform: scale(1.15);
  color: var(--primary-color);
}

/* 覆盖 Dropdown 的下拉菜单项样式 - 使其内容居中 */
.language-switcher button {
  justify-content: center !important;
}

/* 覆盖 Dropdown 的标签样式 - 居中显示 */
.language-switcher button span {
  text-align: center;
  flex: none !important;
}

.language-switcher button:disabled {
  font-weight: 600;
  opacity: 1 !important;
  cursor: default !important;
}

.language-switcher .language-switcher-btn,
.language-switcher .language-switcher-btn * {
  opacity: 1 !important;
}

/* dropdown 打开时图标保持放大状态 */
.language-switcher[class*="active"] .language-switcher-btn {
  /* 避免与 Header 的 .header-icon-btn:hover 同时触发导致“双倍放大” */
  pointer-events: none !important;
  color: var(--primary-color) !important;
}

/* 下拉菜单容器 */
.main-dropdownContainer_kzw6S {
  position: relative;
  display: inline-flex;
  align-items: center;
}

.main-trigger_RXMzs {
  cursor: pointer;
}

.main-dropdown_XmVjU {
  position: fixed;
  padding: 8px;
  pointer-events: none;
  min-width: 104px;
  background: var(--bg-secondary);
  color: var(--text-tertiary);
  font-size: 14px;
  border-radius: 16px;
  box-shadow: 0px 0px 12px 0px var(--shadow-color);
  z-index: 9999;
  overflow: visible;
  backdrop-filter: blur(80px);
  -webkit-backdrop-filter: blur(80px);
  /* 收起时使用 ease-out，避免 scaleY(0) 时 overshoot 导致负值翻转 */
  transition: opacity 0.25s ease-out, transform 0.25s ease-out;
  will-change: opacity, transform;
  opacity: 0;
  transform: translateX(-50%) scaleY(0);
}

/* 向下展开：菜单在下方，从上方边缘展开 */
.main-dropdownBottom_jUbfp {
  transform-origin: top center;
}

/* 向上展开：菜单在上方，从下方边缘展开 */
.main-dropdownTop_Npx0j {
  transform-origin: bottom center;
}

.main-dropdownArrow_WpQe5 {
  position: absolute;
  left: 50%;
  width: 30px;
  height: 15px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transform: translateX(-50%);
  font-size: 15px;
  line-height: 1;
  color: var(--bg-secondary);
}

.main-dropdownBottom_jUbfp .main-dropdownArrow_WpQe5 {
  top: -10px;
}

.main-dropdownTop_Npx0j .main-dropdownArrow_WpQe5 {
  bottom: -10px;
}

/* 桥接区域：悬浮时填补 trigger 到菜单之间的空隙 */
.main-bridge_rkr3k {
  position: fixed;
  width: 60px;
  height: 16px;
  transform: translateX(-50%) translateY(60%);
  background: transparent;
  pointer-events: auto;
  z-index: 10000;
}

.main-dropdownVisible_VmViR {
  opacity: 1;
  pointer-events: auto;
  transform: translateX(-50%) scaleY(1);
  /* 展开时使用回弹曲线 */
  transition: opacity 0.25s ease-out, transform 0.25s cubic-bezier(0.34, 1.56, 0.64, 1);
}

/* 左对齐：菜单左边与触发器左边对齐，取消水平居中偏移 */
.main-dropdownAlignLeft_dl2a2 {
  transform: translateX(0) scaleY(0);
}
.main-dropdownAlignLeft_dl2a2.main-dropdownBottom_jUbfp {
  transform-origin: top left;
}
.main-dropdownAlignLeft_dl2a2.main-dropdownTop_Npx0j {
  transform-origin: bottom left;
}
.main-dropdownAlignLeft_dl2a2.main-dropdownVisible_VmViR {
  transform: translateX(0) scaleY(1);
}
.main-dropdownAlignLeft_dl2a2 .main-dropdownArrow_WpQe5 {
  left: 24px;
  transform: translateX(-50%);
}

.main-dropdownItem_nEx6m {
  width: 100%;
  display: flex;
  align-items: center;
  padding: 9px 14px;
  background: transparent;
  font-size: 14px;
  color: var(--text-tertiary);
  cursor: pointer;
  transition: background 0.3s ease;
  border: none;
  text-align: left;
  box-sizing: border-box;
}

.main-dropdownItem_nEx6m:hover:not(.main-disabledItem_FOQYu):not(.main-selectedItem_FV_Un) {
  color: var(--text-primary);
  background: var(--text-placeholder);
  border-radius: 8px;
}

.main-dropdownItem_nEx6m:active:not(.main-disabledItem_FOQYu) {
  color: var(--primary-color);
}

.main-selectedItem_FV_Un {
  background: transparent;
  color: var(--primary-color);
}

.main-selectedItem_FV_Un:hover {
  color: var(--btn-primary-bg-hover);
  background: var(--text-placeholder);
  border-radius: 8px;
}

.main-disabledItem_FOQYu {
  color: var(--primary-color);
  cursor: not-allowed;
}

.main-dropdownItemIcon_JrXQq {
  width: 16px;
  height: 16px;
  flex-shrink: 0;
  margin-right: 8px;
}

.main-dropdownItemLabel_JSPi2 {
  flex: 1;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.main-disabled_tWT3z {
  opacity: 0.6;
  pointer-events: none;
  color: var(--text-secondary);
}

/* hover 模式下，active 时禁用 trigger 的 pointer-events（避免鼠标移开时立即关闭） */
/* click 模式下，需要保持可点击以关闭菜单 */
.main-active_YtzxT.main-hover-mode_Qoq8D .main-trigger_RXMzs,
.main-active_YtzxT.main-hover-mode_Qoq8D .main-trigger_RXMzs * {
  pointer-events: none;
  color: var(--primary-hover);
}

/* packages/shared-theme/theme.css */

/* 全局字体（唯一加载路径：main-app/public/index.html 内 requestIdleCallback + FontFace）
   中文与标点 → Alibaba PuHuiTi；数字、英文、符号等 → HarmonyOS Sans */

/* Alibaba PuHuiTi：中文汉字 + CJK/全角标点 */
/* @font-face {
  font-family: "Alibaba PuHuiTi";
  src: url("./font/alibabaph/BGgQ5owLOA0l.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
  unicode-range: U+4E00-9FFF, U+3000-303F, U+FE10-FE2F, U+FE30-FE4F,
    U+FF01-FF0F, U+FF1A-FF20, U+FF3B-FF40, U+FF5B-FF65;
} */

/* HarmonyOS Sans：拉丁、数字、符号、日韩文、全角英数等 */
/* @font-face {
  font-family: "HarmonyOS Sans";
  src: url("./font/harmonyossans/HarmonyOS_Sans_SC_Regular.woff2")
    format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
  unicode-range: U+0009-000D, U+0020-002F, U+0030-0039, U+003A-007E, U+00A0-00FF,
    U+3040-309F, U+30A0-30FF, U+1100-11FF, U+3130-318F, U+AC00-D7AF,
    U+0600-06FF, U+0E00-0E7F, U+0400-04FF, U+0370-03FF,
    U+FF10-FF19, U+FF21-FF5A, U+FF66-FFEF;
} */

/* 禁止网页选中文字和图片 */
html,
body {
  user-select: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
}

/* 禁止图片拖拽 */
img {
  -webkit-user-drag: none;
  -khtml-user-drag: none;
  -moz-user-drag: none;
  -o-user-drag: none;
}

/* 输入框、可编辑区域允许选中 */
input,
textarea,
[contenteditable="true"] {
  user-select: text;
  -webkit-user-select: text;
  -moz-user-select: text;
  -ms-user-select: text;
}

/* 浅色与深色共用变量 */
:root {
  /* 文本大小 */
  --text-h1: 18px;
  --text-h2: 16px;
  --text-h3: 14px;
  --text-body: 14px;
  --text-caption: 12px;

  /* 文字字重 */
  --text-weight-black: 900;
  --text-weight-h1: 700;
  --text-weight-h2: 700;
  --text-weight-h3: 500;
  --text-weight-body: 500;
  --text-weight-caption: 400;

  /* 主题色 */
  --primary-color: #ff5019;
  --primary-color-hover: #ff602e;
  /* 兼容历史变量名 */
  --primary-hover: var(--primary-color-hover);

  --delete-color: #ff1919;
  --delete-color-hover: #ff4d4f;
}

/* 浅色主题（默认） */
[data-theme="light"],
#root[data-theme="light"] {
  /* 背景色 */
  --bg-primary: #ebedf0;
  --bg-secondary: #ffffff;
  --bg-tertiary: #f3f4f6;

  --shadow-color: rgba(0, 0, 0, 0.12);
  --shadow-color-light: rgba(0, 0, 0, 0.08);

  /* 文字颜色 */
  --text-primary: #1e2023;
  --text-secondary: #3f4144;
  --text-tertiary: #6c6e70;
  --text-quaternary: #999a9c;
  --text-muted: #c6c7c8;
  --text-disabled: #dddede;
  --text-placeholder: #ebebeb;
  --text-inverse: #f6f6f6;

  --text-title-color: #1E2023;
  --text-body-color: #7F8792;
  --text-caption-color: #999A9C;

  /* 分割线颜色 */
  --line-color: #ebebeb;

  /* 数字输入框（带箭头） */
  --number-input-border: #d3d5d6;
  --number-input-arrow: #959698;
  --number-input-arrow-bg: #f7f7f7;
  --number-input-arrow-border: #dcdcde;

  /* 按钮颜色 */
  --btn-default-bg: #F3F4F6;
  --btn-default-bg-hover: #E8EAEE;
  --btn-default-text: #1E2023;
  --btn-default-text-hover: #1E2023;            
  --btn-primary-bg: var(--primary-color);
  --btn-primary-bg-hover: var(--primary-color-hover);
  --btn-primary-text: #ffffff;          
  --btn-primary-text-hover: #FFFFFF;
  --btn-secondary-bg: #1E2023;
  --btn-secondary-bg-hover: #2F3237;
  --btn-secondary-text: #FFFFFF;
  --btn-secondary-text-hover: #FFFFFF;
  --btn-disabled-bg: #EBEBEB;
  --btn-disabled-text: #999A9C;

  /* 开关颜色：关闭 / 打开 */
  --switch-bg-off: #f7f8f9;
  --switch-thumb-off: #d6dae0;
  --switch-border-off: #d6dae0;
  --switch-thumb-border-off: #f7f8f9;
  --switch-bg-on: var(--primary-color);
  --switch-thumb-on: #ffffff;
  --switch-border-on: var(--primary-color);
  --switch-thumb-border-on: #ffffff;

  /* Radio 未选中边框 */
  --radio-border-color: #1E202340;

  /* 搜索输入框 */
  --input-placeholder: #949597;

  /* 章节描述 */
  --section-description: #949597;

  /* Tabs pill */
  --tab-pill-text-inactive: #949597;
  --tabspill-bg: #f6f6f6;

  /* 小圆点（指示器）选中时的边框色 */
  --dot-selected-border-color: #d3d3d3;

  /* logo 图片 */
  --logo-img: url(/images/logo.bc19c6995c8cbf1f01b1.png);
  --logo-img-shrink: url(/images/logo-shrink.d80ca742de130ab9c76a.png);

  /* 滑块颜色 */
  --slider-bg-color: #F1F2F4; /* 背景色 */
  --slider-strip-color: #D6DAE0; /* 滑块颜色 */
  --slider-thumb-up:#99A3B2;
  --slider-thumb-down:rgba(255, 255, 255, 0.45);
  --slider-thumb-shadow:0 0 10px rgba(153, 163, 178, 0.45); /* 拖拽按钮悬停时-边框颜色 */
  --slider-border-color: var(--slider-strip-color); /* 边框颜色 */
  --slider-border-focus-color: var(--text-primary); /* 聚焦时边框颜色 */
  --slider-text-color: var(--text-primary); /* 滑块文字颜色 */
  --slider-text-unit-color: #7f8792; /* 单位文字颜色 */
  --slider-scale-color: #cdd2d9; /* 标尺颜色 */
  --slider-scale-color-dpi: #ffffff; /* 标尺颜色 */
  --slider-input-bg-color: #ffffff; /* 输入框背景色 */

  /* 弹窗颜色 */
  --modal-bg-color: #ffffff; /* 弹窗背景色 */
  --modal-title-text-color: #1e2023; /* 标题文字颜色 */
  --modal-button-confirm-bg-color: var(--modal-title-text-color);
  --modal-button-confirm-text-color: var(--modal-bg-color);
  --modal-button-cancel-bg-color: #f3f4f6;
  --modal-button-cancel-text-color: var(--modal-title-text-color);

  /* Loading 组件 */
  --loading-content-bg: var(--modal-bg-color);
  --loading-content-border: rgba(255, 255, 255, 1);
  --loading-spinner-track: rgba(30, 32, 35, 0.15);
  --loading-spinner-active: #1E2023;
  --loading-progress-track: rgba(0, 0, 0, 0.15);
  --loading-progress-bar: linear-gradient(90deg, #474B52 0%, #1E2023 100%);

  /* 调色板板颜色 */
  --palette-bg-color: #f3f4f6;
  --palette-label-color: #1e202345;
  --palette-el-tab-active-bg: #1E2023;
  --palette-el-tab-active-color: #f3f4f6; 
  --palette-el-hex-group-border: #D6DAE0;
  --palette-el-clear-btn-bg: #F3F4F6;
  --palette-el-clear-btn-color: #1E2023;
  --palette-colorLabel-color: #1e2023;

  /* 设备卡片 - 休眠条（底部横条） */
  --device-card-sleep-bg: rgba(30, 32, 35, 0.56);
  --device-card-sleep-bar-bg: rgba(0, 0, 0, 0.25);
  --device-card-sleep-bar-text: #FFFFFF;
  --device-card-icon: rgba(30, 32, 35, 0.85);
  --device-card-instruction-bg: rgba(30, 32, 35, 0.04);
  --device-card-tips-text: #1E2023; 

  /* 连接设备按钮颜色 */
  --connect-button-bg: var(--primary-color);
  --connect-button-text: #ffffff;
  --connect-button-bg-hover: var(--primary-color-hover);

  /* 菜单样式 */
  --menu-bg-color: #f9f9fc;
  /* DeviceStatus：独立的毛玻璃背景与悬停浮层 */
  --devicestatus-bg: rgba(255, 255, 255, 0.8);
  --devicestatus-overlay-mask-bg: rgba(0, 0, 0, 0.86);
  --devicestatus-overlay-button-bg: rgba(255, 255, 255, 0.96);
  --devicestatus-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
  --menu-child-bg-color: rgba(249, 249, 252,0.98);
  --menu-child-bg-color-hover: rgba(30, 32, 25, 0.06);
  --menu-equipment-before-bg1: #FFFFFF80;
  --menu-equipment-before-bg2: #FFFFFF80;
  --menu-equipment-bg: #FFFFFF80;
  --menu-equipment-name-text: #0F131A;
  --menu-equipment-power-text: rgba(30, 32, 25, 0.45);
  --menu-patttern-before-bg: rgba(0, 0, 0, 0.86);
  --menu-patttern-button-bg: rgba(255, 255, 255, 0.65);
  --menu-patttern-icon-color: #ffffff;
  --menu-list-title-text: rgba(30, 32, 35, 0.45);
  --menu-list-child-icon: #1E2023;
  --menu-child-list-text-arrow: #646465;
  --menu-child-list-text-arrow-active: #1e2023;
  --menu-line: rgba(30, 32, 25, 0.09);
  --menu-feedback-bg: #F0F2F5;
  --menu-feedback-text: #1E2023;
  --menu-modal-bg: rgb(235, 236, 239);
  --menu-modal-border: rgba(30, 32, 35, 0.09);
  --menu-modal-title-text: #1e2023;
  --menu-modal-desc-text: #6c6e70;
  --menu-devicelist-item-bg: #dbdcde;
  --menu-devicelist-item-hover-bg: #1e2023;
  --menu-devicelist-item-hover-text: #ffffff;


  /* 灯光样式 */
  --lighting-operation-bg: #ffffff;
  --lighting-operation-line: rgba(34, 38, 44, 0.08);

  /* 全局音乐律动 — 设备列表行 / 复选框（亮主题，对齐设计稿） */
  --music-rhythm-device-row-bg: #f5f5f5;
  --music-rhythm-device-row-bg-hover: #ebebeb;
  --music-rhythm-device-checkbox-bg: #ffffff;
  --music-rhythm-device-checkbox-border: #d6dae0;
  --music-rhythm-device-checkbox-checked-bg: #1e2023;
  --music-rhythm-device-checkbox-checked-border: #1e2023;
  --music-rhythm-device-checkbox-checked-icon: #ffffff;

  /* 鼠标改键页文本颜色 */
  --label-bg: #ffffff;
  --label-border-color: #1e2023;
  --connection-line-color: #1e2023;
  --key-remapping-description: rgba(0, 0, 0, 0.4);

  /* 滚动条（keymap 等） */
  --scrollbar-track: #ffffff;
  --scrollbar-thumb: #1E202317;
  --scrollbar-thumb-hover: rgba(30, 32, 35, 0.15);

  /* 宏样式 */
  --macro-bg: var(--bg-secondary);
  --macro-line: rgba(34, 38, 44, 0.09);
  --macro-list-item-bg: var(--bg-tertiary);
  --macro-list-item-active-bg: transparent;
  --macro-setting-keyvalue-bg: var(--macro-list-item-bg);
  --macro-setting-keyvalue-border: transparent;
  --macro-setting-keyvalue-text: #1E2023;
  --macro-recording-tips-color: #7E7E7E;
  --macro-recording-item-bg: rgba(243, 244, 246, 1);
  --macro-recording-item-drag: #1E2023;

  /* 高级键样式 */
  --advancedKey-bg: #ffffff;
  --advancedKey-max-tit: #1e2023;
  --advancedKey-min-tit: rgba(0, 0, 0, 0.4);
  --advancedKey-list-item-bg: #F3F4F6; 
  --advancedKey-list-item-icon: #72777F;
  --advancedKey-after-border: #F3F4F6;
  --advancedKey-before-list-key-bg: #FFFFFF;
  --advancedKey-after-key-item-bg: rgba(0, 0, 0, 0.09);
  --advancedKey-key-bg: rgba(0, 0, 0, 0.09);
  --advancedKey-key-hover-bg: rgba(0, 0, 0, 0.09);
  --advancedKey-key-hover-border: #1E2023;
  --advancedKey-select-key-bg: #F6F7F8;
  --advancedKey-select-key-model-bg: #72777F;
  --advancedKey-select-bg: #F3F4F6; 
  --advancedKey-select-active-bg: #1E2023;
  --advancedKey-select-radio-bg: none;
  --advancedKey-select-radio-border: rgba(30, 32, 35, 0.25);
  --advancedKey-select-radio-active-bg: #ffffff;
  --advancedKey-select-radio-active-border: #ffffff;
  --advancedKey-select-radio-active-svg: #000000;
  --advancedKey-select-text: #1E2023;
  --advancedKey-select-active-text: #FFFFFF;
  --advancedKey-dks-tips-bg: #EBEBEB;
  --advancedKey-dks-tips-line: #D9D9D9;
  --advancedKey-dks-tips-text1: #1E2023;
  --advancedKey-dks-tips-text2: #1E2023;
  --advancedKey-dks-tips-icon001: url(/images/001-white.413d918424ae81cee260.png);
  --advancedKey-dks-tips-icon002: url(/images/002-white.fc8fc034c9f01c312e2e.png);
  --advancedKey-dks-tips-icon003: url(/images/003-white.357864d94c4d38d8b5e1.png);
  --advancedKey-socd-icon: url(/images/socd-white.abbfb9833335f7581e3e.png);
  --advancedKey-rs-icon: url(/images/rs-white.4607fd89f9b87ec4f625.png);
  --advancedKey-dks-icon: url(/images/dks-white.0cd1705ace992f44e7db.png);
  --advancedKey-mpt-icon: url(/images/mpt-white.f689f7808de5384db9f4.png);
  --advancedKey-mt-icon: url(/images/mt-white.e2d80f9b0a32e70968f1.png);
  --advancedKey-tgl-icon: url(/images/tgl-white.8179248a548c62b31fc7.png);
  --advancedKey-end-icon: url(/images/end-white.167be6e9c56edec98c1d.png);
  --allKeyboardSelect-bg: #FFFFFF;
  --allKeyboardSelect-shadow: rgba(25, 26, 31, 0.28);


  /* 接收器配对弹窗 - 圆环颜色（由内到外） */
  --pairing-ring-1: rgba(0, 0, 0, 0.15);
  --pairing-ring-2: rgba(0, 0, 0, 0.12);
  --pairing-ring-3: rgba(0, 0, 0, 0.09);
  --pairing-ring-4: rgba(0, 0, 0, 0.06);
  --receiver-color:rgba(0, 0, 0, 0.15);
  --receiver-color-hover:rgba(30, 32, 35); 

  /* 板载配置样式 */
  --board-bg: #ffffff;
  --board-title: #0f131a;
  --board-desc: #576e8d;
  --board-btn-import-bg: #ffffff;
  --board-btn-import-border: var(--primary-color);
  --board-btn-import-text: var(--primary-color);
  --board-btn-newConfig-bg: var(--primary-color);
  --board-btn-newConfig-text: #ffffff;
  --board-configCard-bg: #f3f4f6;

  /* 触发样式 */
  --taigger-bg: #ffffff !important;
  --taigger-line: #dbdcdd;
  --taigger-mixedshaft-bg: transparent;
  --taigger-mixedshaft-border: #EBEDF0;
  --taigger-mixedshaft-gradient: linear-gradient(180deg,#00000000 0%,#DAFFFC 65%,#00000000 100%);
  --default-img-url: url(/images/007.b7d6c3e080329b517f56.png);
  --taigger-img-url: url(/images/006.766427b625defbe2e154.png);

  --reportrate-option-bg-hover: #e3e3e3;

  /* 性能样式 */
  --performance-bg: #ffffff;
  --performance-title: #1e2023;
  --performance-desc: #7f8792;

  /* 其他模块样式 */
  --other-tab-bg: #f1f2f4;
  --other-tab-active-bg: #161c27;
  --other-tab-border: #c0c0c1;
  --other-tab-text: #6c6e70;
  --other-tab-hover-text: #161c27;
  --other-tab-active-text: #f6f6f6;
  --other-version-max-text: #1e2023;
  --other-version-min-text: #6c6e70;
  --other-button-bg: #f3f4f6;
  --other-button-text: #1e2023;
  --other-button-hover-bg: var(--primary-color);
  --other-button-hover-text: #ffffff;
  --other-button-install-bg: #161c27;
  --other-button-install-text: #f6f6f6;
  --other-upload-icon: url(/images/001-white.ccec3db0760d487f2c64.png);
  --other-recovery-bg: #f3f4f6;
  --other-recovery-button-bg: #e0e1e3;
  --other-recovery-button-text: #161c27;
  --other-recovery-button-danger-bg: #ff2c2c;
  --other-recovery-button-danger-text: #f6f6f6;

  /* 系统设置样式 */
  --system-bg: #ffffff;
  --system-text: #1e2023;
  --system-about-bg: #f1f2f4;
  --system-about-text: rgb(30, 32, 35, 0.65);
  --system-about-btn: #1e2023;

  /* 连接设备样式 */
  --connect-mask-bg: linear-gradient(
    to right,
    #ebedf0 0%,
    transparent 9%,
    transparent 91%,
    #ebedf0 100%
  );
  --connect-list-bg: #ffffff;
  --connect-name-text: #0f131a;
  --connect-power-text: rgba(30, 32, 35, 0.85);
  --connect-dormancy-before-bg: rgba(30, 32, 35, 0.56);
  --connect-dormancy-bg: rgba(0, 0, 0, 0.25);
  --connect-dormancy-text: #ffffff;
  --connect-color-active: #D3D3D3;

  /* 传感器模式卡片背景色 */
  --sensor-mode-bg:#F9F9F9;
  --sensor-mode-bg-active:#FFFFFF;
  --sensor-mode-label: #1E2023;
  --sensor-mode-description: #6C6E70;
  --sensor-mode-icon: #1E2023;

  /* Message 组件 - */
  --message-bg: #FFFFFF;
  --message-text: #1E2023;

  --scaleslider-track-color: #F7F8F9;
  --scaleslider-value-bg-color: #EFF0F3;

  --usb-plug-cover-up:rgb(235, 237, 240, 1);
  --usb-plug-cover-down:rgb(235, 237, 240 ,0);

  --macro-letter-bg: rgba(30, 32, 35, 0.09);

  --sensor-rotation-btn-icon: rgba(30, 32, 35, 0.25);

  --auth-modal-get-code-btn-bg: #FFFFFF;

  /* 壁纸 */
  --wallpaper-title: rgba(0, 0, 0, 0.85);
  --wallpaper-border-color: rgba(30, 32, 35, 0.25);
  --wallpaper-border-hover-color: rgba(30, 32, 35, 0.4);
  --wallpaper-upload-bg: url(/images/upload-white.905278e182d21f437833.png);
  --wallpaper-icon-bg: rgba(0, 0, 0, 0.04);
  --wallpaper-icon-color: rgba(0, 0, 0, 0.65);
  --wallpaper-tips-bg: rgba(255, 255, 255, 0.45);;
  --wallpaper-tips-label-color: rgba(0, 0, 0, 0.85);
  --wallpaper-tips-value-color: rgba(0, 0, 0, 0.65);

  --keyremap-tooltip-color: rgba(30, 32, 35, 0.75);
  --keyremap-tooltip-text: #FFFFFF;

  /* 键盘样式 */
  --keyboard-bg: #EBEDF0;
  --beyboard-border: #EBEDF0;
  --keyboard-bg-hover: rgba(30, 32, 35, 0.15);
  --beyboard-border-hover: rgba(30, 32, 35, 1);
  --beyboard-text-hover: #1E2023;
  --keyboard-label-color: #F6F6F6;
  --keyboard-selected-bg: #1E2023;
  --keyboard-selected-text: #F6F6F6;
  --keyboard-selected-text-hover: #F6F6F6;

  --dpi-card-bg-hover: #EBECEE;

  /* 头部更新图标 */
  --header-update-icon-color: #1E2023;
  --header-update-icon-hover-color: var(--primary-color-hover);
  --header-search-input-bg: rgba(255, 255, 255, 0.65);
  --header-search-input-bg-hover: #FFFFFF;
  --header-search-input-color: rgba(30, 32, 35, 0.45);

  /* 屏幕页样式 */
  --screen-list-item-bg: #1E20230A;
  --screen-list-item-border: #1E202340;
  --screen-icon-bg: #F2F2F2A6;
  --screen-operation-bg: #0000000A;
  --screen-right-panel-overlay-bg: #FFFFFF73;
  --screen-right-panel-overlay-progress-bar: linear-gradient(90deg, #474B52, #1E2023);
  --screen-upload-icon: url(/images/upload-ligth.db18f55564f219228f07.png);

  /* 物理按键样式 */
  --physical-tips-bg: #ffffff;
  --physical-tips-beofre-bg: #1E2023;
  --physical-tips-max-color: #1E2023;
  --physical-tips-min-color: #6C6E70;
  --physical-setting-bg: #ffffff;
  --physical-setting-title-color: #1E2023;
  --physical-hover-setting-border: #1E2023;

  /* 板载配置样式 */
  --config-tips-iconfont-color: rgba(30, 32, 35, 0.25);
  --config-tips-tip-bg: #ffffff;
  --config-tips-shadow-color: rgba(0, 0, 0, 0.35);
  --config-tips-content-color: rgba(30, 32, 35, 0.85);

  --cover-color: rgba(255, 255, 255, 0.65);
  /* 骨架屏样式 */  
  --skeleton-bg: linear-gradient(
    90deg,
    rgba(243, 244, 246, 1) 0%,
    rgba(232, 234, 238, 1) 50%,
    rgba(243, 244, 246, 1) 100%
  );
  --skeleton-bg-keyboard: linear-gradient(
    90deg,
    transparent 0%,
    transparent 20%,
    rgba(243, 244, 246, 1) 50%,
    transparent 70%,
    transparent 100%
  );
  --quick-skeleton-bg: linear-gradient(
    90deg,
    rgba(255, 255, 255, 1) 0%,
    rgba(226, 229, 233, 1) 100%
  );
}

/* 深色主题 */
[data-theme="dark"],
#root[data-theme="dark"] {
  /* 背景色 */
  --bg-primary: #06080a;
  --bg-secondary: #0f131a;
  --bg-tertiary: #161c27;

  --shadow-color: rgba(0, 0, 0, 0.6);
  --shadow-color-light: rgba(0, 0, 0, 0.25);

  /* 文字颜色 */
  --text-primary: #f6f6f6;
  --text-secondary: #dbdcdd;
  --text-tertiary: #abadaf;
  --text-quaternary: #7b7d81;
  --text-muted: #4b4e53;
  --text-disabled: #33363c;
  --text-placeholder: #25282f;
  --text-inverse: #181c23;

  --text-title-color: #f6f6f6;
  --text-body-color: #7b7d81;
  --text-caption-color: #4b4e53;

  /* 开关颜色：关闭 / 打开 */
  --switch-bg-off: #21242c;
  --switch-thumb-off: #4b4f57;
  --switch-border-off: #4b4f57;
  --switch-thumb-border-off: #21242c;
  --switch-bg-on: var(--primary-color);
  --switch-thumb-on: #ffffff;
  --switch-border-on: var(--primary-color);
  --switch-thumb-border-on: #ffffff;

  /* 分割线颜色 */
  --line-color: #25282f;

  /* 数字输入框（带箭头） */
  --number-input-border: #454952;
  --number-input-arrow: #4b4e55;
  --number-input-arrow-bg: #131720;
  --number-input-arrow-border: #42454d;

  /* 按钮颜色 */
  --btn-default-bg: #FFFFFF17;
  --btn-default-bg-hover: #181C23;
  --btn-default-text: #ffffff;
  --btn-default-text-hover: #abadaf;
  --btn-primary-bg: var(--primary-color);
  --btn-primary-bg-hover: var(--primary-color-hover);
  --btn-primary-text: #ffffff;
  --btn-primary-text-hover: #ffffff;
  --btn-secondary-bg: #f6f6f6;
  --btn-secondary-bg-hover: #a5a7a9;
  --btn-secondary-text: #1e2023;
  --btn-secondary-text-hover: #323437;
  --btn-disabled-bg: #33363c;
  --btn-disabled-text: #7b7d81;

  /* Radio 未选中边框 */
  --radio-border-color: #9fa1a3;

  /* 搜索输入框 */
  --input-placeholder: #6f7176;

  /* 章节描述 */
  --section-description: #6f7176;

  /* Tabs pill */
  --tab-pill-text-inactive: #6f7176;
  --tabspill-bg: #090c0f;

  /* 小圆点（指示器）选中时的边框色 */
  --dot-selected-border-color: #adadad;

  /* logo 图片 */
  --logo-img: url(/images/logo-black.61ffeca59b72e575ad5b.png);
  --logo-img-shrink: url(/images/logo-shrink.d80ca742de130ab9c76a.png);

  /* 滑块颜色 */
  --slider-bg-color: #2B303A; /* 背景色 */
  --slider-strip-color: #B5B7BA; /* 滑块颜色 */
  --slider-thumb-up:#D9D9D9;
  --slider-thumb-down:rgba(255, 255, 255, 0.25);
  --slider-thumb-shadow: transparent; /* 拖拽按钮悬停时-边框颜色 */
  --slider-border-color: #404248; /* 边框颜色 */
  --slider-border-focus-color: #ffffff; /* 聚焦时边框颜色 */
  --slider-text-color: #ffffff; /* 滑块文字颜色 */
  --slider-text-unit-color: #7a7d81; /* 单位文字颜色 */
  --slider-scale-color: #60646b; /* 标尺颜色 */
  --slider-scale-color-dpi: #2b303a; /* 标尺颜色 */
  --slider-input-bg-color: #0f131a; /* 输入框背景色 */


  /* 弹窗颜色 */
  --modal-bg-color: var(--bg-secondary); /* 弹窗背景色 */
  --modal-title-text-color: #f6f6f6; /* 标题文字颜色 */
  --modal-button-confirm-bg-color: var(--modal-title-text-color);
  --modal-button-confirm-text-color: var(--modal-bg-color);
  --modal-button-cancel-bg-color: var(--bg-tertiary);
  --modal-button-cancel-text-color: var(--modal-title-text-color);

  /* Loading 组件 */
  --loading-content-bg: var(--modal-bg-color);
  --loading-content-border: rgba(255, 255, 255, 0.25);
  --loading-spinner-track: rgba(255, 255, 255, 0.2);
  --loading-spinner-active: #FFFFFF;
  --loading-progress-track: rgba(255, 255, 255, 0.15);
  --loading-progress-bar: linear-gradient(90deg, rgba(0, 0, 0, 0.65) 0%, rgba(0, 0, 0, 1) 100%);

  /* 调色板板颜色 */
  /* --palette-bg-color: var(--bg-tertiary);
  --palette-label-color: #ffffff22;
  --palette-colorLabel-color: #c2c3c4; */

  --palette-bg-color: #1e202345;
  --palette-label-color: #f3f4f6;
  --palette-el-tab-active-bg: #f3f4f6;
  --palette-el-tab-active-color: #1E2023;
  --palette-el-hex-group-border: #292b2e;
  --palette-el-clear-btn-bg: #1E2023;
  --palette-el-clear-btn-color: #F3F4F6;
  --palette-colorLabel-color: #c2c3c4;

  /* 设备卡片 - 休眠条（底部横条，略深于卡片） */
  --device-card-sleep-bg: rgba(15, 19, 26, 0.85);
  --device-card-sleep-bar-bg: rgba(0, 0, 0, 0.25);
  --device-card-sleep-bar-text: #F5F6F6;
  --device-card-icon: rgba(255, 255, 255, 0.65);
  --device-card-instruction-bg: rgba(255, 255, 255, 0.04);
  --device-card-tips-text: rgba(255, 255, 255, 0.85);

  /* 连接设备按钮颜色（与浅色主题一致：品牌橙） */
  --connect-button-bg: var(--primary-color);
  --connect-button-text: #ffffff;
  --connect-button-bg-hover: var(--primary-color-hover);

  /* 菜单样式 */
  --menu-bg-color: var(--bg-secondary);
  /* DeviceStatus：独立的毛玻璃背景与悬停浮层 */
  --devicestatus-bg: rgba(15, 19, 26, 0.85);
  --devicestatus-stroke-color: rgba(255, 255, 255, 0.08);
  --devicestatus-stroke-color-end: rgba(255, 255, 255, 0);
  --devicestatus-stroke-gradient: linear-gradient(
    135deg,
    var(--devicestatus-stroke-color) 0%,
    var(--devicestatus-stroke-color-end) 100%
  );
  --devicestatus-overlay-mask-bg: rgba(0, 0, 0, 0.86);
  --devicestatus-overlay-button-bg: rgba(255, 255, 255, 0.65);
  --devicestatus-shadow: 0 4px 12px rgba(0, 0, 0, 0.24);
  --menu-child-bg-color: rgba(15, 19, 26, 0.98);
  --menu-child-bg-color-hover: rgba(255, 255, 255, 0.04);
  --menu-equipment-before-bg1: #FFFFFF14;
  --menu-equipment-before-bg2: #0F131A65;
  --menu-equipment-bg: var(--bg-secondary);
  --menu-equipment-name-text: rgba(255, 255, 255, 0.96);
  --menu-equipment-power-text: rgba(255, 255, 255, 0.45);
  --menu-patttern-before-bg: rgba(0, 0, 0, 0.86);
  --menu-patttern-button-bg: rgba(255, 255, 255, 0.96);
  --menu-patttern-icon-color: #ffffff;
  --menu-list-title-text: rgba(255, 255, 255, 0.45);
  --menu-list-child-icon: rgba(255, 255, 255, 0.85);
  --menu-child-list-text-arrow: #abadaf;
  --menu-child-list-text-arrow-active: #ffffff;
  --menu-line: rgba(255, 255, 255, 0.09);
  --menu-feedback-bg: #06080a;
  --menu-feedback-text: #ffffff;
  --menu-modal-bg: #11151c;
  --menu-modal-border: rgba(255, 255, 255, 0.15);
  --menu-modal-title-text: #ffffff;
  --menu-modal-desc-text: #7b7d81;
  --menu-devicelist-item-bg: #1e2023;
  --menu-devicelist-item-hover-bg: #dbdcde;
  --menu-devicelist-item-hover-text: #000000;

  /* Message 组件  */
  --message-bg: #0F131A;
  --message-text: #FFFFFF;

  /* 灯光样式 */
  --lighting-operation-bg: var(--bg-secondary);
  --lighting-operation-line: #22262c;

  /* 全局音乐律动 — 设备列表行 / 复选框（暗主题，对齐设计稿） */
  --music-rhythm-device-row-bg: #1c1c21;
  --music-rhythm-device-row-bg-hover: #25252c;
  --music-rhythm-device-checkbox-bg: #1c1c21;
  --music-rhythm-device-checkbox-border: #44444a;
  --music-rhythm-device-checkbox-checked-bg: #ffffff;
  --music-rhythm-device-checkbox-checked-border: #ffffff;
  --music-rhythm-device-checkbox-checked-icon: #1e2023;

  /* 鼠标改键页颜色 */
  --label-bg:#0F131A;
  --label-border-color: #FFFFFF;
  --connection-line-color: #8A8D93;
  --key-remapping-description: rgba(255, 255, 255, 0.4);

  /* 滚动条（keymap 等） */
  --scrollbar-track: #0f131a;
  --scrollbar-thumb: #FFFFFF17;
  --scrollbar-thumb-hover: rgba(255, 255, 255, 0.15);

  /* 宏样式 */
  --macro-bg: var(--bg-secondary);
  --macro-line: #22262c;
  --macro-list-item-bg: var(--bg-tertiary);

  --macro-setting-keyvalue-bg: var(--macro-list-item-bg);
  --macro-setting-keyvalue-border: #292e37;
  --macro-setting-keyvalue-text: rgba(255, 255, 255, 0.6);
  --macro-recording-tips-color: #7e7e7e;
  --macro-recording-item-bg: rgba(255, 255, 255, 0.09);
  --macro-recording-item-drag: rgba(255, 255, 255, 0.3);

  /* 高级键样式 */
  --advancedKey-bg: var(--bg-secondary);
  --advancedKey-max-tit: #FFFFFF;
  --advancedKey-min-tit: #6F7176;
  --advancedKey-list-item-bg: #181C23;
  --advancedKey-list-item-icon: #FFFFFF80;
  --advancedKey-after-border: #22262c;
  --advancedKey-before-list-key-bg: rgba(255,255,255,0.04);
  --advancedKey-after-key-item-bg: rgba(255,255,255,0.04);
  --advancedKey-key-bg: rgba(255,255,255,0.09);
  --advancedKey-key-hover-bg: rgba(255,255,255,0.25);
  --advancedKey-key-hover-border: rgba(255,255,255,0.85);
  --advancedKey-select-key-bg: #14181E;
  --advancedKey-select-key-model-bg: #FFFFFF80;
  --advancedKey-select-bg: rgba(255,255,255,0.09);
  --advancedKey-select-active-bg: rgba(255, 255, 255, 0.65);
  --advancedKey-select-radio-bg: none;
  --advancedKey-select-radio-border: rgba(255, 255, 255, 0.6);
  --advancedKey-select-radio-active-bg: #000000;
  --advancedKey-select-radio-active-border: #000000;
  --advancedKey-select-radio-active-svg: rgba(255, 255, 255, 0.6);
  --advancedKey-select-text: rgba(255, 255, 255, 0.6);
  --advancedKey-select-active-text: #000000;

  --advancedKey-dks-tips-bg: #33363c;
  --advancedKey-dks-tips-line: #393b42;
  --advancedKey-dks-tips-text1: rgba(255, 255, 255, 0.65);
  --advancedKey-dks-tips-text2: #FFFFFF;
  --advancedKey-dks-tips-icon001: url(/images/001-black.10568761bca14ef036f1.png);
  --advancedKey-dks-tips-icon002: url(/images/002-black.33bfd1700f0ff6e3dfd3.png);
  --advancedKey-dks-tips-icon003: url(/images/003-black.22fb2f4ae3f47de55759.png);
  --advancedKey-socd-icon: url(/images/socd.f9d36ee1b048602cf730.png);
  --advancedKey-rs-icon: url(/images/rs.2970d931571eb6f6ca67.png);
  --advancedKey-dks-icon: url(/images/dks.344fb9a605240ca988e2.png);
  --advancedKey-mpt-icon: url(/images/mpt.753a095f0823875cc592.png);
  --advancedKey-mt-icon: url(/images/mt.3d94cc0f3f5d388dafde.png);
  --advancedKey-tgl-icon: url(/images/tgl.e45d0f46f0e3e33c4772.png);
  --advancedKey-end-icon: url(/images/end.73543a6282318d6fc484.png);
  --allKeyboardSelect-bg: #0F131A;
  --allKeyboardSelect-shadow: rgba(255, 255, 255, 0.08);

  /* 接收器配对弹窗 - 圆环颜色（由外到内：外 #10131A → 内 #21262D） */
  --pairing-ring-1: rgba(255, 255, 255, 0.12);
  --pairing-ring-2: rgba(255, 255, 255, 0.09);
  --pairing-ring-3: rgba(255, 255, 255, 0.06);
  --pairing-ring-4: rgba(255, 255, 255, 0.03);
  --receiver-color:#33363C;
  --receiver-color-hover:#000000;

  /* 板载配置样式 */
  --board-bg: #0f131a;
  --board-title: #ffffff;
  --board-desc: #6f7176;
  --board-btn-import-bg: #25282f;
  --board-btn-import-text: #ffffff;
  --board-btn-newConfig-bg: var(--primary-color);
  --board-btn-newConfig-text: #ffffff;
  --board-configCard-bg: #191c23;

  /* 触发样式 */
  --taigger-bg: #0f131a !important;
  --taigger-line: #22262c;
  --taigger-mixedshaft-bg: #191c23;
  --taigger-mixedshaft-border: transparent;
  --taigger-mixedshaft-gradient: transparent;
  --default-img-url: url(/images/007-black.c8a931048c7c5dbffe34.png);
  --taigger-img-url: url(/images/006-black.c529ab72e3444df768e9.png);

  --reportrate-option-bg-hover: #212427;

  /* 性能样式 */
  --performance-bg: #0f131a;
  --performance-title: #ffffff;
  --performance-desc: #6f7176;

  /* 其他模块样式 */
  --other-tab-bg: #191c23;
  --other-tab-active-bg: #f6f6f6;
  --other-tab-border: #3b3e43;
  --other-tab-text: #abadaf;
  --other-tab-hover-text: #ffffff;
  --other-tab-active-text: #191c23;
  --other-version-max-text: #f6f6f6;
  --other-version-min-text: #7b7d81;
  --other-button-bg: #161c27;
  --other-button-text: rgba(255, 255, 255, 0.9);
  --other-button-hover-bg: var(--primary-color);
  --other-button-hover-text: #ffffff;
  --other-button-install-bg: #f6f6f6;
  --other-button-install-text: #161c27;
  --other-upload-icon: url(/images/001-black.414fa472946112a37f89.png);
  --other-recovery-bg: #161c27;
  --other-recovery-button-bg: #2b303a;
  --other-recovery-button-text: #ffffff;
  --other-recovery-button-danger-bg: #ff2c2c;
  --other-recovery-button-danger-text: #f6f6f6;

  /* 系统设置样式 */
  --system-bg: #171b21;
  --system-text: #ffffff;
  --system-about-bg: #222730;
  --system-about-text: #aeb0b4;
  --system-about-btn: rgba(255, 255, 255, 0.65);

  /* 连接设备样式 */
  --connect-mask-bg: linear-gradient(
    to right,
    #06080a 0%,
    transparent 9%,
    transparent 91%,
    #06080a 100%
  );
  --connect-list-bg: #0f131a;
  --connect-name-text: #ffffff;
  --connect-power-text: rgba(255, 255, 255, 0.65);
  --connect-dormancy-before-bg: rgba(30, 32, 35, 0.56);
  --connect-dormancy-bg: rgba(0, 0, 0, 0.25);
  --connect-dormancy-text: #ffffff;
  --connect-color-active: rgba(255, 255, 255, 0.65);

  /* 传感器模式卡片背景色 */
  --sensor-mode-bg: #181c23;
  --sensor-mode-bg-active: #000000;
  --sensor-mode-label: #aeb0b2;
  --sensor-mode-description: #808286;
  --sensor-mode-icon: #85878A;

  --scaleslider-track-color: #21242C;
  --scaleslider-value-bg-color: #21242C;

  
  --usb-plug-cover-up:rgb(6, 8, 10 , 1);
  --usb-plug-cover-down:rgb(6, 8, 10 , 0);

  --macro-letter-bg: rgba(255, 255, 255, 0.04);

  --sensor-rotation-btn-icon: rgba(255, 255, 255, 0.4);
  
  
  --auth-modal-get-code-btn-bg: #1C1F26;

  /* 壁纸 */
  --wallpaper-title: rgba(255, 255, 255, 0.85);
  --wallpaper-border-color: rgba(255, 255, 255, 0.15);
  --wallpaper-border-hover-color: rgba(255, 255, 255, 0.3);
  --wallpaper-upload-bg: url(/images/upload-black.2f951de072f7a0d5880f.png);
  --wallpaper-icon-bg: rgba(255, 255, 255, 0.04);
  --wallpaper-icon-color: rgba(255, 255, 255, 0.65);
  --wallpaper-tips-bg: rgba(0, 0, 0, 0.45);
  --wallpaper-tips-border-color: rgba(255, 255, 255, 0.09);
  --wallpaper-tips-label-color: rgba(255, 255, 255, 0.85);
  --wallpaper-tips-value-color: rgba(255, 255, 255, 0.65);

  --keyremap-tooltip-color: rgba(255, 255, 255, 0.75);
  --keyremap-tooltip-text: #000000;

  /* 键盘样式 */
  --keyboard-bg: #25282F;
  --beyboard-border: #25282F;
  --keyboard-bg-hover: rgba(255, 255, 255, 0.15);
  --beyboard-border-hover: rgba(255, 255, 255, 0.85);
  --beyboard-text-hover: #FFFFFF;
  --keyboard-label-color: #F6F6F6;
  --keyboard-selected-bg: rgba(255, 255, 255, 0.65);
  --keyboard-selected-text: rgba(30, 32, 35, 1);
  --keyboard-selected-text-hover: #0F131A;

  --dpi-card-bg-hover: #1D232E;

  /* 头部更新图标 */
  --header-update-icon-color: #FFFFFF;
  --header-update-icon-hover-color: var(--primary-color-hover);
  --header-search-input-bg: rgba(255, 255, 255, 0.09);
  --header-search-input-bg-hover: rgba(255, 255, 255, 0.15);
  --header-search-input-color: rgba(255, 255, 255, 0.45); 

  /* 屏幕页样式 */
  --screen-list-item-bg: #0F131A;
  --screen-list-item-border: #FFFFFF26;
  --screen-icon-bg: #FFFFFF0A;
  --screen-operation-bg: #00000026;
  --screen-right-panel-overlay-bg: #0F131AA6;
  --screen-right-panel-overlay-progress-bar: linear-gradient(90deg, #FFFFFFA6, #FFFFFF);
  --screen-upload-icon: url(/images/upload-dark.e77262222d8c26cf5215.png);

  /* 物理按键样式 */
  --physical-tips-bg: #161C27;
  --physical-tips-beofre-bg: rgba(255, 255, 255, 0.65);
  --physical-tips-max-color: #FFFFFF;
  --physical-tips-min-color: rgba(255, 255, 255, 0.6);
  --physical-setting-bg: #0F131A;
  --physical-setting-title-color: #FFFFFF;
  --physical-hover-setting-border: #FFFFFF;

  /* 板载配置样式 */
  --config-tips-iconfont-color: rgba(255, 255, 255, 0.25);
  --config-tips-tip-bg: #161C27;
  --config-tips-shadow-color: rgba(30, 32, 35, 0.65);
  --config-tips-content-color: rgba(255, 255, 255, 0.85);

  --cover-color: rgba(15, 19, 26, 0.75);
  /* 骨架屏样式 */
  --skeleton-bg: linear-gradient(
    90deg,
    rgba(37, 40, 47, 1) 0%,
    rgba(45, 49, 57, 1) 50%,
    rgba(37, 40, 47, 1) 100%
  );
  --skeleton-bg-keyboard: linear-gradient(
    90deg,
    transparent 0%,
    transparent 20%,
    rgba(37, 40, 47, 1) 50%,
    transparent 70%,
    transparent 100%
  );
  --quick-skeleton-bg: linear-gradient(
    90deg,
    rgba(15, 19, 26, 1) 0%,
    rgba(45, 49, 57, 1) 100%
  );
}



/* 全局滚动条（主应用 + 子应用统一，非主题变量） */
*::-webkit-scrollbar {
  width: 4px;
  height: 4px;
}

*::-webkit-scrollbar-thumb {
  background: var(--scrollbar-thumb);
  border-radius: 10px;
}

*::-webkit-scrollbar-thumb:hover {
  background: var(--scrollbar-thumb-hover);
}

/* 渐变边框动画：旋转（conic-gradient 绕中心转一圈） */
@keyframes gradient-border-rotate {
  to {
    transform: rotate(360deg);
  }
}

/* 工具类：彩虹渐变边框旋转（::before 渐变层 + ::after 内层遮罩露出 2px 环） */
.gradient-border-animation {
  position: relative;
  overflow: hidden;
  border-radius: var(--gradient-border-radius, 24px);
  /* 固定色投影兜底，保证能明显看到发光 */
  box-shadow: 0 0 12px 2px rgba(255, 80, 25, 0.2);
}

.gradient-border-animation::before {
  content: "";
  position: absolute;
  inset: -100px;
  background: conic-gradient(#ff5019, #f49153, #f67875, #ee64d9, #ff5019);
  border-radius: inherit;
  animation: gradient-border-rotate 2s linear infinite;
  z-index: 0;
}

.gradient-border-animation::after {
  content: "";
  position: absolute;
  inset: 1px;
  background: var(--bg-secondary);
  border-radius: calc(var(--gradient-border-radius, 24px) - 2px);
  z-index: 1;
}

/* 全局样式应用 */
body,
#root {
  background-color: var(--bg-primary);
  color: var(--text-primary);
  /* 中文与标点 → Alibaba PuHuiTi；其余 → HarmonyOS Sans（见 main-app/public/index.html） */
  /* font-family: "HarmonyOS Sans", "Alibaba PuHuiTi", sans-serif; */
  height: 100%;
}

/* 表单控件继承全局字体（浏览器默认会把 button/input 等设为 font-family: initial） */
button,
input,
select,
textarea {
  font-family: inherit;
}

/* 数字字体*/
/* .font-number,
[data-font="number"] {
  font-family: "HarmonyOS Sans";
} */

/* 设备配色圆点 - 与 ChooseDeviceCard / DeviceCard 共用 */

.colorDot {
  width: 12px;
  height: 12px;
  border-radius: 50%;
  cursor: pointer;
  transition: transform 0.2s ease, border-color 0.2s ease;
  position: relative;
  overflow: hidden;
  transform-origin: center;
}

.colorDot:hover {
  transform: scale(1.2);
}

/* .colorDot.active {
  box-shadow: inset 0 0 0 2px var(--dot-selected-border-color);
} */

/* 基础颜色 */
.colorDot[data-color='black'] {
  background: #0a0a0a;
}

.colorDot[data-color='white'] {
  background: #F0F0F0;
}

.colorDot[data-color='silvery'] {
  background: linear-gradient(135deg, #c0c0c0 0%, #e8e8e8 100%);
}

.colorDot[data-color='silver'] {
  background: linear-gradient(135deg, #c0c0c0 0%, #e8e8e8 100%);
}

.colorDot[data-color='grey'] {
  background: #808080;
}

.colorDot[data-color='red'] {
  background: #b82020;
}

.colorDot[data-color='duantan'] {
  background: #0a0a0a;
}

.colorDot[data-color='orange'] {
  background: #ff8c42;
}

.colorDot[data-color='yellow'] {
  background: #f1c40f;
}

.colorDot[data-color='pink'] {
  background: #ff69b4;
}

.colorDot[data-color='blue'] {
  background: #2d77ff;
}

.colorDot[data-color='cyan'] {
  background: #1abc9c;
}

.colorDot[data-color='green'] {
  background: #2ecc71;
}

.colorDot[data-color='purple'] {
  background: #6713ee;
}

.colorDot[data-color='lightpurple'] {
  background: linear-gradient(135deg, #b19cd9 0%, #dcd0ff 100%);
}

.colorDot[data-color='blackpink'] {
  background: linear-gradient(135deg, #ff548d 0%, #0a0a0a 100%);
}

.colorDot[data-color='luotianyi'] {
  background: linear-gradient(135deg, #cbe6ff 0%, #4a74e996 50%, #01154e96 100%);
}

.colorDot[data-color='light-blue'] {
  background: #87CEEB;
}

.colorDot[data-color='lightgreen'] {
  background: #97cf4e;
}

/* Z7 Master 松烟绿（仅 pinegreen 一色） */
.colorDot[data-color='pinegreen'] {
  background: linear-gradient(145deg, #6d8f72 0%, #4a5f4e 55%, #3d4a40 100%);
}

/* S9V2 Master 曼巴绿（偏荧光绿 / 亮黄绿高光） */
.colorDot[data-color='mambagreen'] {
  background: linear-gradient(145deg,#d8ff8a 0%,#5cff5c 42%,#16b85a 78%,#0a6b3d 100%);
}

.colorDot[data-color='dark-blue'] {
  background: #1e3b8a;
}

.colorDot[data-color='dark-green'] {
  background: #1c5832;
}

.colorDot[data-color='dark-red'] {
  background: #942727;
}

.colorDot[data-color='berryred'] {
  background: #C71585;
}

.colorDot[data-color='berryredTranslucent'] {
  background: rgba(199, 21, 133, 0.42);
}

.colorDot[data-color='baifenjianbian'] {
  background: #e1b4c3;
}

.colorDot[data-color='bikonglan'] {
  background: #808bcf;
}

.colorDot[data-color='fushihui'] {
  background: linear-gradient(135deg, #ffffff 0%, #333333 50%);
}

.colorDot[data-color='jingmihaiyang'] {
  background: linear-gradient(135deg, #8081b8 30%, #333333 70%);
}

.colorDot[data-color='piwen'] {
  background: #333333;
}

.colorDot[data-color='qingshimohei'] {
  background: linear-gradient(135deg, #70665a 30%, #333333 70%);
}

.colorDot[data-color='qingti'] {
  background: linear-gradient(135deg, #c4d959 30%, #333333 70%);
}

.colorDot[data-color='tianxinfen'] {
  background: linear-gradient(135deg, #ffffff 20%, #e1b4c3 60%);
}

.colorDot[data-color='weichen'] {
  background: linear-gradient(135deg, #ffffff 30%, #333333 70%);
}

.colorDot[data-color='wutou'] {
  background: linear-gradient(135deg, #83634f 30%, #333333 70%);
}

.colorDot[data-color='xueshanjianbian'] {
  background: linear-gradient(135deg, #98b8e7 30%, #c3cfea 70%);
}

.colorDot[data-color='piwenbai'] {
  background: #eeeeee;
}

/* X23 Pro 鼠标配色 */
.colorDot[data-color='shumeipink'] {
  background: #e2aaac;
}

/* X23 Carbon 鼠标配色 */
.colorDot[data-color='qianlan'] {
  background: #88ABDA;
}

/* A6 Pro 鼠标配色 */
.colorDot[data-color='bingchuangblue'] {
  background: #88ABDA;
}
.colorDot[data-color='yinghuapink'] {
  background: #D5A8AA;
}

/* ES98 键盘配色 */
.colorDot[data-color='blackpurple'] {
  background: linear-gradient(135deg, #1a0a1e 0%, #4a1f5c 100%);
}

.colorDot[data-color='tengwangge'] {
  background: linear-gradient(135deg, #d4af37 0%, #b8342f 50%, #1e4620 100%);
}

.colorDot[data-color='whiteblue'] {
  background: linear-gradient(135deg, #e8f4fd 0%, #4a90e2 100%);
}

.colorDot[data-color='whitepink'] {
  background: linear-gradient(135deg, #fff0f5 0%, #ffb6c1 100%);
}

.colorDot[data-color='panda'] {
  background: linear-gradient(135deg, #ffffff 0%, #000000 100%);
}

/* X98 键盘配色 */
.colorDot[data-color='taofen'] {
  background: #FFB1B9;
}
.colorDot[data-color='yunjianlan'] {
  background: #88ABDA;
}
.colorDot[data-color='zheyingzhiguang'] {
  background: #E6E9EF;
}

.colorDot[data-color='zheying'] {
  background: linear-gradient(135deg, #ffffff 0%, #ffb3d9 25%, #b388ff 50%, #64b5f6 75%, #81c784 100%);
}

/* X75 Pro 键盘配色 */
.colorDot[data-color='grapepurple'] {
  background: linear-gradient(135deg, #8E44AD 0%, #4B0082 100%);
}
.colorDot[data-color='jiangguohong'] {
  background: #C71585;
}
.colorDot[data-color='moyingjianbiandenggaoxian3'] {
  background: linear-gradient(135deg, #434343 0%, #000000 100%);
}
.colorDot[data-color='pinkgradient'] {
  background: linear-gradient(135deg, #FF9A9E 0%, #FAD0C4 100%);
}
.colorDot[data-color='whitedenggaoxian3'] {
  background: #f5f5f5;
}

/* M98 键盘配色 */
.colorDot[data-color='fendiye'] {
  background: #FF9A9E;
}
.colorDot[data-color='leitaocijianmao'] {
  background: #F9F4E8;
}

/* MUSE M71 键盘配色（与 DEVICE_CONFIGS「M71」colors[].key 一致） */
.colorDot[data-color='lipstickDot'] {
  background: linear-gradient(135deg, #ffe4ec 0%, #c41e3a 50%, #3a1d1e 100%);
}
.colorDot[data-color='cuteBearLiquidFoundation'] {
  background: linear-gradient(135deg, #fce8dc 0%, #e8b4a8 45%, #c9a07a 100%);
}
.colorDot[data-color='lipstickCuteLittleBear'] {
  background: linear-gradient(135deg, #ffe4ec 0%, #c41e3a 50%, #3a1d1e 100%);
}
.colorDot[data-color='liquidFoundationDots'] {
  background: linear-gradient(135deg, #f0e0d0 0%, #d4b896 40%, #b8956a 100%);
}

/* T87 键盘配色 */
.colorDot[data-color='jiguangwhite'] {
  background: linear-gradient(135deg, #7be4d5 0%, #a3b2cb 50%, #ffffff 100%);
}
.colorDot[data-color='moyunhui'] {
  background: linear-gradient(135deg, #1a1a1a 0%, #545454 50%, #a6a6a6 100%);
}
.colorDot[data-color='ningyepink'] {
  background: linear-gradient(135deg, #231b1e 0%, #8c6275 50%, #e8b4c4 100%);
}
.colorDot[data-color='taoyuewhite'] {
  background: linear-gradient(135deg, #e6e6e6 0%, #f5f5f5 50%, #ffffff 100%);
}
.colorDot[data-color='yuntianblue'] {
  background: linear-gradient(135deg, #5142a7 0%, #7689cb 50%, #ffffff 100%);
}

/* 默认样式 */
.colorDot:not([data-color]) {
  background: #666;
}

/* M98 屏幕版配色 */
.colorDot[data-color='JingTou'] {
  background: #F0F0F0;
}

