/**
 * 极栈源录 · 设计令牌（前后台共用）
 * 所有组件的间距、圆角、阴影、语义色、文字层级都从这里取值。
 */
.jzy-admin,
.jzy-app,
.jzy-user {
  /* 间距刻度 */
  --jzy-space-1: 4px;
  --jzy-space-2: 8px;
  --jzy-space-3: 12px;
  --jzy-space-4: 16px;
  --jzy-space-5: 20px;
  --jzy-space-6: 24px;
  --jzy-space-7: 32px;
  --jzy-space-8: 48px;

  /* 圆角 */
  --jzy-radius-sm: 8px;
  --jzy-radius-md: 12px;
  --jzy-radius-lg: 16px;
  --jzy-radius-xl: 20px;
  --jzy-radius-pill: 999px;

  /* 阴影 */
  --jzy-shadow-1: 0 1px 2px rgba(16, 24, 40, .06), 0 1px 3px rgba(16, 24, 40, .08);
  --jzy-shadow-2: 0 4px 8px -2px rgba(16, 24, 40, .1), 0 2px 4px -2px rgba(16, 24, 40, .06);
  --jzy-shadow-3: 0 16px 32px -8px rgba(16, 24, 40, .16), 0 6px 12px -6px rgba(16, 24, 40, .08);

  /* 语义色 */
  --jzy-c-primary: #2563eb;
  --jzy-c-primary-strong: #1d4ed8;
  --jzy-c-primary-soft: rgba(37, 99, 235, .1);
  --jzy-c-success: #12b76a;
  --jzy-c-success-soft: rgba(18, 183, 106, .12);
  --jzy-c-warning: #f79009;
  --jzy-c-warning-soft: rgba(247, 144, 9, .12);
  --jzy-c-danger: #f04438;
  --jzy-c-danger-soft: rgba(240, 68, 56, .12);
  --jzy-c-info: #0ba5ec;
  --jzy-c-info-soft: rgba(11, 165, 236, .12);

  /* 文字层级 */
  --jzy-t-1: #101828;
  --jzy-t-2: #475467;
  --jzy-t-3: #98a2b3;
  --jzy-t-inverse: #ffffff;

  /* 背景与描边 */
  --jzy-b-1: #ffffff;
  --jzy-b-2: #f9fafb;
  --jzy-b-3: #f2f4f7;
  --jzy-line: #e4e7ec;
  --jzy-line-strong: #d0d5dd;

  /* 字号与行高 */
  --jzy-fs-xs: 12px;
  --jzy-fs-sm: 13px;
  --jzy-fs-md: 14px;
  --jzy-fs-lg: 16px;
  --jzy-fs-xl: 20px;
  --jzy-fs-2xl: 26px;
  --jzy-lh-tight: 1.35;
  --jzy-lh-base: 1.6;

  /* 动效 */
  --jzy-ease: cubic-bezier(.4, 0, .2, 1);
  --jzy-dur: .18s;
}

/* 深色模式（跟随系统或主题类名） */
@media (prefers-color-scheme: dark) {
  .jzy-app.jzy-auto-dark,
  .jzy-user.jzy-auto-dark {
    --jzy-t-1: #e8eef7;
    --jzy-t-2: #9aa6bb;
    --jzy-t-3: #6b7789;
    --jzy-b-1: #161c27;
    --jzy-b-2: #1a2130;
    --jzy-b-3: #202836;
    --jzy-line: #2d3648;
    --jzy-line-strong: #3a4558;
    --jzy-shadow-1: 0 1px 2px rgba(0, 0, 0, .4);
    --jzy-shadow-2: 0 4px 12px rgba(0, 0, 0, .45);
    --jzy-shadow-3: 0 18px 36px rgba(0, 0, 0, .55);
  }
}

html.dark .jzy-app,
html.dark .jzy-user,
body.dark .jzy-app,
body.dark .jzy-user,
html[data-theme="dark"] .jzy-app,
html[data-theme="dark"] .jzy-user,
[data-night="1"] .jzy-app,
[data-night="1"] .jzy-user,
.night-theme .jzy-app,
.night-theme .jzy-user,
.jzy-app.jzy-night,
.jzy-user.jzy-night {
  --jzy-t-1: #e8eef7;
  --jzy-t-2: #9aa6bb;
  --jzy-t-3: #6b7789;
  --jzy-b-1: #161c27;
  --jzy-b-2: #1a2130;
  --jzy-b-3: #202836;
  --jzy-line: #2d3648;
  --jzy-line-strong: #3a4558;
  --jzy-shadow-1: 0 1px 2px rgba(0, 0, 0, .4);
  --jzy-shadow-2: 0 4px 12px rgba(0, 0, 0, .45);
  --jzy-shadow-3: 0 18px 36px rgba(0, 0, 0, .55);
}
