 /* 字体库定义 */
      @font-face {
        font-family: 'Source Han Sans SC';
        src: url('/fonts/SourceHanSans-Regular.otf') format('opentype');
        font-weight: 400;
      }
      @font-face {
        font-family: 'Source Han Sans SC';
        src: url('/fonts/SourceHanSansHWSC-Bold.otf') format('opentype');
        font-weight: 700;
      }

      /* CSS 变量库 */
      :root {
        /* 色彩系统 */
        --color-primary: #3B82F6;
        --color-primary-hover: #2563EB;
        --color-primary-dark: #1E40AF;

        --color-bg-page: #F9FAFB;
        --color-bg-card: #FFFFFF;
        --color-border: #E5E7EB;
        --color-border-light: #F3F4F6;

        --color-text-primary: #111827;
        --color-text-secondary: #374151;
        --color-text-tertiary: #6B7280;

        /* 状态颜色 */
        --color-success: #10B981;
        --color-success-bg: #ECFDF5;
        --color-success-border: rgba(16,185,129,0.2);

        --color-warning: #F59E0B;
        --color-warning-bg: #FFFBEB;
        --color-warning-border: rgba(245,158,11,0.2);

        --color-error: #EF4444;
        --color-error-bg: #FEF2F2;
        --color-error-border: rgba(239,68,68,0.2);

        --color-info: #3B82F6;
        --color-info-bg: #EFF6FF;
        --color-info-border: rgba(59,130,246,0.2);

        /* 间距 */
        --spacing-card: 1.5rem;

        /* 圆角 */
        --radius-default: 12px;
        --radius-lg: 16px;

        /* 阴影 */
        --shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
        --shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
        --shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.1);
        --shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, 0.1);

        /* 过渡 */
        --duration-fast: 150ms;
        --duration-base: 200ms;
        --duration-slow: 300ms;
      }

      /* 全局样式 */
      * {
        box-sizing: border-box;
      }

      html, body {
        font-family: 'Inter', 'Source Han Sans SC', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
        color: var(--color-text-secondary);
        line-height: 1.6;
      }

      body {
        background-color: var(--color-bg-page);
      }

      h1, h2, h3, h4, h5, h6 {
        font-weight: 600;
        letter-spacing: -0.02em;
        color: var(--color-text-primary);
      }

      /* 卡片样式 */
      .card {
        background-color: var(--color-bg-card);
        border: 1px solid var(--color-border);
        border-radius: var(--radius-default);
        box-shadow: var(--shadow-sm);
        transition: all var(--duration-base) ease;
      }

      .card:hover {
        transform: translateY(-2px);
        box-shadow: var(--shadow-lg);
        border-color: var(--color-border-light);
      }

      /* 状态标签 */
      .badge {
        display: inline-flex;
        align-items: center;
        padding: 0.375rem 0.75rem;
        border-radius: calc(var(--radius-default) / 2);
        font-size: 0.875rem;
        font-weight: 500;
        border: 1px solid;
      }

      .badge-success {
        background-color: var(--color-success-bg);
        color: var(--color-success);
        border-color: var(--color-success-border);
      }

      .badge-warning {
        background-color: var(--color-warning-bg);
        color: var(--color-warning);
        border-color: var(--color-warning-border);
      }

      .badge-error {
        background-color: var(--color-error-bg);
        color: var(--color-error);
        border-color: var(--color-error-border);
      }

      .badge-info {
        background-color: var(--color-info-bg);
        color: var(--color-info);
        border-color: var(--color-info-border);
      }

      /* 代码/等宽字体 */
      code, pre, .mono {
        font-family: 'JetBrains Mono', 'Monaco', 'Courier New', monospace;
        font-size: 0.875rem;
      }

      /* 移动端优化 */
      @media (max-width: 640px) {
        body { font-size: 16px; }
        h1 { font-size: 1.5rem; }
        h2 { font-size: 1.25rem; }
        h3 { font-size: 1.1rem; }
        button { min-height: 44px; min-width: 44px; }
        input, select, textarea { min-height: 44px; }
      }
