/* ============================================
   颜色系统 · 亮色模式（默认）
   ============================================ */
:root {
  /* 主色 */
  --color-primary:        #2D9596;
  --color-primary-light:  #E8F7F7;
  --color-primary-dark:   #1F6B6C;

  /* 辅色 */
  --color-accent:         #E8943A;
  --color-accent-light:   #FDF3E7;

  /* 背景色系 */
  --color-bg:             #FAFAF8;
  --color-bg-card:        #FFFFFF;
  --color-bg-sidebar:     #F5F5F2;
  --color-bg-code:        #1E2028;
  --color-bg-inline-code: #EEF0F3;
  --color-bg-blockquote:  #F0F7F7;
  --color-bg-footer:      #F0EFEB;
  --color-bg-hover:       #F0F7F7;

  /* 文字色系 */
  --color-text:           #2C2C2C;
  --color-text-secondary: #6B7280;
  --color-text-placeholder:#A0A8B3;
  --color-text-heading:   #1A1A1A;
  --color-text-link:      #2D9596;
  --color-text-link-hover:#1F6B6C;
  --color-text-code:      #E06C75;
  --color-text-on-primary:#FFFFFF;

  /* 边框色系 */
  --color-border:         #E5E7EB;
  --color-border-strong:  #D1D5DB;
  --color-border-focus:   #2D9596;

  /* 阴影 */
  --shadow-card:    0 1px 3px rgba(0,0,0,0.08), 0 4px 12px rgba(0,0,0,0.04);
  --shadow-card-hover: 0 4px 12px rgba(0,0,0,0.12), 0 8px 24px rgba(0,0,0,0.06);
  --shadow-nav:     0 1px 0 rgba(0,0,0,0.06);

  /* 阅读进度条 */
  --color-progress:       #2D9596;

  /* 分类颜色 */
  --color-cat-campus:     #4A90D9;
  --color-cat-tech:       #2D9596;
  --color-cat-travel:     #52A868;
  --color-cat-life:       #E8943A;
  --color-cat-default:    #8B5CF6;

  /* 字体族 */
  --font-display: 'LXGW WenKai GB', 'LXGW WenKai', 'Noto Serif SC', serif;
  --font-body:    'MiSans', 'PingFang SC', 'Microsoft YaHei', sans-serif;
  --font-mono:    'JetBrains Mono', 'Fira Code', Consolas, monospace;
  --font-heading: var(--font-display);
  --font-nav:     var(--font-body);
  --font-meta:    var(--font-body);
  --font-code:    var(--font-mono);

  /* 字体大小 */
  --text-xs:    0.75rem;
  --text-sm:    0.875rem;
  --text-base:  1rem;
  --text-md:    1.0625rem;
  --text-lg:    1.125rem;
  --text-xl:    1.25rem;
  --text-2xl:   1.5rem;
  --text-3xl:   1.875rem;
  --text-4xl:   2.5rem;
  --text-5xl:   3rem;

  /* 字重 */
  --font-weight-normal:   400;
  --font-weight-medium:   500;
  --font-weight-semibold: 500;
  --font-weight-bold:     600;

  /* 行高 */
  --leading-tight:  1.3;
  --leading-normal: 1.6;
  --leading-relaxed:1.8;
  --leading-loose:  2.0;

  /* 字间距 */
  --tracking-tight:  -0.02em;
  --tracking-normal:  0;
  --tracking-wide:    0.05em;
  --tracking-widest:  0.1em;

  /* 间距系统（8px 网格） */
  --space-1:   0.25rem;
  --space-2:   0.5rem;
  --space-3:   0.75rem;
  --space-4:   1rem;
  --space-5:   1.25rem;
  --space-6:   1.5rem;
  --space-8:   2rem;
  --space-10:  2.5rem;
  --space-12:  3rem;
  --space-16:  4rem;
  --space-20:  5rem;
  --space-24:  6rem;

  /* 语义化间距 */
  --gap-card:       var(--space-6);
  --gap-section:    var(--space-16);
  --padding-card:   var(--space-6);
  --padding-page:   var(--space-8);
  --padding-mobile: var(--space-4);
  --padding-nav:    var(--space-4) var(--space-8);

  /* 布局尺寸 */
  --max-width-content: 1200px;
  --max-width-article:  720px;
  --max-width-narrow:   640px;
  --width-sidebar:      280px;
  --height-nav:          56px;

  /* 圆角 */
  --radius-sm:    4px;
  --radius-md:    8px;
  --radius-lg:   12px;
  --radius-xl:   16px;
  --radius-full: 9999px;

  /* 过渡动画 */
  --transition-fast:   150ms ease;
  --transition-normal: 250ms ease;
  --transition-slow:   400ms ease;
  --transition-spring: 300ms cubic-bezier(0.34, 1.56, 0.64, 1);
}

/* ============================================
   颜色系统 · 暗色模式
   ============================================ */
[data-theme="dark"] {
  /* 主色 */
  --color-primary:        #3FBDBD;
  --color-primary-light:  #1A3535;
  --color-primary-dark:   #5DD0D0;

  /* 辅色 */
  --color-accent:         #F0A850;
  --color-accent-light:   #3A2A10;

  /* 背景色系 */
  --color-bg:             #141416;
  --color-bg-card:        #1E2024;
  --color-bg-sidebar:     #191C20;
  --color-bg-code:        #0D0F12;
  --color-bg-inline-code: #272B33;
  --color-bg-blockquote:  #1A2E2E;
  --color-bg-footer:      #111113;
  --color-bg-hover:       #252830;

  /* 文字色系 */
  --color-text:           #D4D8E0;
  --color-text-secondary: #8B92A0;
  --color-text-placeholder:#555D6B;
  --color-text-heading:   #ECEEF2;
  --color-text-link:      #3FBDBD;
  --color-text-link-hover:#5DD0D0;
  --color-text-code:      #FF8C94;
  --color-text-on-primary:#FFFFFF;

  /* 边框色系 */
  --color-border:         #2C3040;
  --color-border-strong:  #3A4054;
  --color-border-focus:   #3FBDBD;

  /* 阴影 */
  --shadow-card:    0 1px 3px rgba(0,0,0,0.3), 0 4px 12px rgba(0,0,0,0.2);
  --shadow-card-hover: 0 4px 16px rgba(0,0,0,0.4), 0 8px 24px rgba(0,0,0,0.3);
  --shadow-nav:     0 1px 0 rgba(255,255,255,0.04);

  --color-progress:       #3FBDBD;

  /* 分类颜色 */
  --color-cat-campus:     #60A8E8;
  --color-cat-tech:       #3FBDBD;
  --color-cat-travel:     #68C280;
  --color-cat-life:       #F0A850;
  --color-cat-default:    #A78BFA;
}

/* ============================================
   减少动态效果（无障碍）
   ============================================ */
@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration:   0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration:  0.01ms !important;
  }

  .reading-progress {
    display: none;
  }
}
