:root,
[data-gdqx-theme="light"] {
  /* ==================== 字体 ==================== */

  --gdqx-font-family:
    "Microsoft YaHei",
    "PingFang SC",
    "HarmonyOS Sans SC",
    system-ui,
    -apple-system,
    BlinkMacSystemFont,
    "Segoe UI",
    sans-serif;

  --gdqx-font-family-mono:
    Consolas,
    "SFMono-Regular",
    Menlo,
    monospace;


  /* ==================== 字号等级 ==================== */

  --gdqx-font-size-xs: 12px;
  --gdqx-font-size-sm: 13px;
  --gdqx-font-size-md: 14px;
  --gdqx-font-size-lg: 16px;
  --gdqx-font-size-xl: 20px;
  --gdqx-font-size-2xl: 24px;


  /* ==================== 文本语义 ====================
   *
   * 只包含：
   * font-weight font-size / line-height
   *
   * 组件内部使用：
   * font: var(--gdqx-text-body) var(--gdqx-font-family);
   * ================================================= */

  --gdqx-text-title:
    600 var(--gdqx-font-size-xl) / 1.4;

  --gdqx-text-heading:
    600 var(--gdqx-font-size-lg) / 1.45;

  --gdqx-text-subheading:
    500 var(--gdqx-font-size-md) / 1.5;

  --gdqx-text-emphasis:
    700 var(--gdqx-font-size-lg) / 1.5;

  --gdqx-text-body:
    400 var(--gdqx-font-size-md) / 1.6;

  --gdqx-text-tips:
    400 var(--gdqx-font-size-sm) / 1.5;

  --gdqx-text-label:
    500 var(--gdqx-font-size-md) / 1.4;


  /* ==================== 品牌颜色 ==================== */

  --gdqx-color-primary: #365c9d;
  --gdqx-color-primary-hover: #2f528d;
  --gdqx-color-primary-active: #284777;
  --gdqx-color-primary-subtle: rgb(54 92 157 / 10%);

  --gdqx-color-secondary: #5b82c7;
  --gdqx-color-secondary-subtle: rgb(91 130 199 / 12%);

  --gdqx-color-accent: #e79b57;
  --gdqx-color-accent-hover: #d98943;
  --gdqx-color-accent-subtle: rgb(231 155 87 / 12%);


  /* ==================== 文字颜色 ==================== */

  --gdqx-color-text-primary: #1f2937;
  --gdqx-color-text-secondary: #4b5563;
  --gdqx-color-text-tertiary: #8a94a3;
  --gdqx-color-text-disabled: #b7bec8;
  --gdqx-color-text-inverse: #ffffff;

  --gdqx-color-text-link: var(--gdqx-color-primary);
  --gdqx-color-text-link-hover: var(--gdqx-color-primary-hover);


  /* ==================== 背景颜色 ==================== */

  --gdqx-color-background: #f5f7fa;
  --gdqx-color-surface: #ffffff;
  --gdqx-color-surface-subtle: #f2f5f9;
  --gdqx-color-surface-elevated: #ffffff;
  --gdqx-color-surface-inverse: #1f2937;
  --gdqx-color-overlay: rgb(15 23 42 / 45%);


  /* ==================== 边框颜色 ==================== */

  --gdqx-color-border-subtle: #e5eaf0;
  --gdqx-color-border: #d6dde6;
  --gdqx-color-border-strong: #aeb8c5;
  --gdqx-color-border-focus: var(--gdqx-color-primary);
  --gdqx-color-divider: #e9edf2;


  /* ==================== 图标颜色 ==================== */

  --gdqx-color-icon-primary: var(--gdqx-color-text-primary);
  --gdqx-color-icon-secondary: var(--gdqx-color-text-secondary);
  --gdqx-color-icon-tertiary: var(--gdqx-color-text-tertiary);
  --gdqx-color-icon-disabled: var(--gdqx-color-text-disabled);
  --gdqx-color-icon-inverse: var(--gdqx-color-text-inverse);
  --gdqx-color-icon-brand: var(--gdqx-color-primary);


  /* ==================== 状态颜色 ==================== */

  --gdqx-color-info: #2f6fed;
  --gdqx-color-info-subtle: #eef4ff;
  --gdqx-color-info-text: #1f4fa8;

  --gdqx-color-success: #16865c;
  --gdqx-color-success-subtle: #edf8f3;
  --gdqx-color-success-text: #0f6846;

  --gdqx-color-warning: #d99a00;
  --gdqx-color-warning-subtle: #fff8e5;
  --gdqx-color-warning-text: #805b00;

  --gdqx-color-danger: #d9363e;
  --gdqx-color-danger-subtle: #fff0f1;
  --gdqx-color-danger-text: #a5262d;


  /* ==================== 间距 ==================== */

  --gdqx-space-0: 0;
  --gdqx-space-1: 2px;
  --gdqx-space-2: 4px;
  --gdqx-space-3: 8px;
  --gdqx-space-4: 12px;
  --gdqx-space-5: 16px;
  --gdqx-space-6: 24px;
  --gdqx-space-7: 32px;
  --gdqx-space-8: 40px;


  /* ==================== 圆角 ==================== */

  --gdqx-radius-none: 0;
  --gdqx-radius-xs: 2px;
  --gdqx-radius-sm: 4px;
  --gdqx-radius-md: 8px;
  --gdqx-radius-lg: 12px;
  --gdqx-radius-xl: 16px;
  --gdqx-radius-pill: 9999px;
  --gdqx-radius-circle: 50%;


  /* ==================== 边框宽度 ==================== */

  --gdqx-border-width-0: 0;
  --gdqx-border-width-1: 1px;
  --gdqx-border-width-2: 2px;


  /* ==================== 阴影 ==================== */

  --gdqx-shadow-none: none;

  --gdqx-shadow-sm:
    0 1px 2px rgb(15 23 42 / 8%);

  --gdqx-shadow-md:
    0 4px 12px rgb(15 23 42 / 10%);

  --gdqx-shadow-lg:
    0 12px 32px rgb(15 23 42 / 14%);

  --gdqx-shadow-overlay:
    0 20px 48px rgb(15 23 42 / 18%);

  --gdqx-shadow-focus:
    0 0 0 3px rgb(54 92 157 / 24%);


  /* ==================== 控件尺寸 ==================== */

  --gdqx-control-height-sm: 30px;
  --gdqx-control-height-md: 36px;
  --gdqx-control-height-lg: 44px;

  --gdqx-icon-size-sm: 16px;
  --gdqx-icon-size-md: 20px;
  --gdqx-icon-size-lg: 24px;
  --gdqx-icon-size-xl: 32px;


  /* ==================== 动效 ==================== */

  --gdqx-motion-duration-fast: 120ms;
  --gdqx-motion-duration-normal: 200ms;
  --gdqx-motion-duration-slow: 320ms;

  --gdqx-motion-easing-standard:
    cubic-bezier(0.2, 0, 0, 1);


  /* ==================== 通用标题 ==================== */

  --gdqx-title-font: var(--gdqx-text-title);
  --gdqx-title-color: var(--gdqx-color-text-primary);
  --gdqx-title-gap: var(--gdqx-space-3);
  --gdqx-title-align: center;


  /* ==================== 通用模块 ==================== */

  --gdqx-block-background: var(--gdqx-color-surface);
  --gdqx-block-color: var(--gdqx-color-text-primary);

  --gdqx-block-border:
    var(--gdqx-border-width-1)
    solid
    var(--gdqx-color-border-subtle);

  --gdqx-block-radius: var(--gdqx-radius-md);
  --gdqx-block-shadow: var(--gdqx-shadow-none);
  --gdqx-block-padding: var(--gdqx-space-5);
  --gdqx-block-gap: var(--gdqx-space-4);

  --gdqx-block-title-font: var(--gdqx-text-heading);
  --gdqx-block-title-color: var(--gdqx-color-text-primary);
  --gdqx-block-title-background:
    var(--gdqx-color-primary-subtle);


  /* ==================== 通用表格 ==================== */

  --gdqx-table-font: var(--gdqx-text-body);
  --gdqx-table-color: var(--gdqx-color-text-primary);
  --gdqx-table-background: var(--gdqx-color-surface);
  --gdqx-table-border-color: var(--gdqx-color-border-subtle);

  --gdqx-table-cell-padding:
    var(--gdqx-space-3)
    var(--gdqx-space-4);

  --gdqx-table-header-font: var(--gdqx-text-label);
  --gdqx-table-header-color: var(--gdqx-color-text-primary);
  --gdqx-table-header-background:
    var(--gdqx-color-primary-subtle);


  /* ==================== 通用横幅 ==================== */

  --gdqx-banner-font: var(--gdqx-text-heading);
  --gdqx-banner-color: var(--gdqx-color-text-primary);
  --gdqx-banner-background:
    var(--gdqx-color-primary-subtle);

  --gdqx-banner-border:
    var(--gdqx-border-width-1)
    solid
    var(--gdqx-color-border-subtle);

  --gdqx-banner-radius: var(--gdqx-radius-md);

  --gdqx-banner-padding:
    var(--gdqx-space-4)
    var(--gdqx-space-5);

  --gdqx-banner-gap: var(--gdqx-space-3);


  /* ==================== Picker ==================== */

  --gdqx-picker-height: 220px;
  --gdqx-picker-background: var(--gdqx-color-surface);

  --gdqx-picker-toolbar-background:
    var(--gdqx-color-primary);

  --gdqx-picker-toolbar-color:
    var(--gdqx-color-text-inverse);

  --gdqx-picker-option-font:
    var(--gdqx-text-body);

  --gdqx-picker-option-color:
    var(--gdqx-color-text-secondary);

  --gdqx-picker-option-font-selected:
    var(--gdqx-text-emphasis);

  --gdqx-picker-option-color-selected:
    var(--gdqx-color-text-primary);

  --gdqx-picker-option-icon-size:
    var(--gdqx-icon-size-sm);

  --gdqx-picker-option-icon-color:
    var(--gdqx-color-icon-brand);

  --gdqx-picker-highlight-background:
    rgb(54 92 157 / 10%);

  --gdqx-picker-highlight-radius:
    var(--gdqx-radius-md);

  --gdqx-picker-trigger-height:
    var(--gdqx-control-height-sm);

  --gdqx-picker-trigger-font:
    var(--gdqx-text-label);

  --gdqx-picker-trigger-border-width:
    var(--gdqx-border-width-1);

  --gdqx-picker-trigger-border-color:
    currentColor;

  --gdqx-picker-trigger-radius:
    var(--gdqx-radius-pill);


  /* ==================== Swiper ==================== */

  --gdqx-swiper-navigation-color:
    var(--gdqx-color-primary);

  --gdqx-swiper-navigation-size:
    var(--gdqx-icon-size-lg);

  --gdqx-swiper-navigation-background:
    rgb(255 255 255 / 82%);

  --gdqx-swiper-navigation-radius:
    var(--gdqx-radius-circle);

  --gdqx-swiper-pagination-color:
    var(--gdqx-color-primary);

  --gdqx-swiper-pagination-color-inactive:
    var(--gdqx-color-border-strong);

  --gdqx-swiper-pagination-size: 8px;
  --gdqx-swiper-pagination-gap: var(--gdqx-space-2);
  --gdqx-swiper-slide-gap: var(--gdqx-space-4);
}