:root {
  --jxt-font-ui: "PingFang SC", "Microsoft YaHei", "Hiragino Sans GB", sans-serif;
  --jxt-font-mono: "SFMono-Regular", Consolas, "Liberation Mono", monospace;
  --jxt-color-canvas: #f3f8f5;
  --jxt-color-canvas-muted: #edf4f0;
  --jxt-color-surface: #ffffff;
  --jxt-color-surface-subtle: #f8fbf9;
  --jxt-color-surface-raised: #ffffff;
  --jxt-color-text: #183028;
  --jxt-color-muted: #65766f;
  --jxt-color-subtle: #829089;
  --jxt-color-inverse: #ffffff;
  --jxt-color-border: rgba(25, 135, 84, 0.18);
  --jxt-color-border-strong: rgba(20, 108, 65, 0.34);
  --jxt-color-border-inverse: rgba(255, 255, 255, 0.18);
  --jxt-color-primary: #0f8a4c;
  --jxt-color-primary-strong: #0d6f3f;
  --jxt-color-primary-soft: rgba(24, 160, 88, 0.1);
  --jxt-color-success: #16794a;
  --jxt-color-success-soft: #e9f6ef;
  --jxt-color-info: #356483;
  --jxt-color-info-soft: #edf4fb;
  --jxt-color-danger: #a23838;
  --jxt-color-danger-soft: #faeeee;
  --jxt-color-warning: #866419;
  --jxt-color-warning-soft: #fbf5df;
  --jxt-color-overlay: rgba(12, 24, 19, 0.72);
  --jxt-color-preview: #101814;
  --jxt-space-0: 0;
  --jxt-space-1: 4px;
  --jxt-space-2: 8px;
  --jxt-space-3: 12px;
  --jxt-space-4: 16px;
  --jxt-space-5: 20px;
  --jxt-space-6: 24px;
  --jxt-space-7: 28px;
  --jxt-space-8: 32px;
  --jxt-space-10: 40px;
  --jxt-radius-control: 5px;
  --jxt-radius-panel: 8px;
  --jxt-radius-card: 7px;
  --jxt-radius-media: 6px;
  --jxt-radius-control-relaxed: 10px;
  --jxt-radius-card-large: 16px;
  --jxt-radius-pill: 999px;
  --jxt-control-height-compact: 34px;
  --jxt-control-height: 42px;
  --jxt-control-height-large: 46px;
  --jxt-font-size-caption: 12px;
  --jxt-font-size-body: 14px;
  --jxt-font-size-title: 20px;
  --jxt-line-height-body: 1.55;
  --jxt-weight-medium: 600;
  --jxt-weight-strong: 700;
  --jxt-shadow-panel: 0 12px 30px rgba(20, 60, 42, 0.07);
  --jxt-shadow-card: 0 6px 18px rgba(20, 60, 42, 0.06);
  --jxt-shadow-soft: 0 8px 20px rgba(20, 60, 42, 0.05);
  --jxt-shadow-lift: 0 14px 28px rgba(20, 60, 42, 0.09);
  --jxt-shadow-primary: 0 16px 30px rgba(24, 160, 88, 0.18);
  --jxt-shadow-primary-hover: 0 20px 36px rgba(24, 160, 88, 0.22);
  --jxt-shadow-preview: 0 14px 32px rgba(0, 0, 0, 0.34);
  --jxt-shadow-modal: 0 24px 70px rgba(12, 42, 30, 0.18);
  --jxt-focus-ring: 0 0 0 4px var(--jxt-color-primary-soft);
  --jxt-transition-fast: 140ms ease;
}
