/* 字体优化 */

/* 导入 Google Fonts */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@500;600;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Fira+Code:wght@400;500&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,700;1,700&display=swap');

/* 基础字体设置 */
:root {
    --font-primary: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
    --font-heading: 'Montserrat', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
    --font-code: 'Fira Code', monospace;
    --font-quote: 'Playfair Display', serif;
    
    /* 字体大小 */
    --font-size-xs: 0.75rem;    /* 12px */
    --font-size-sm: 0.875rem;   /* 14px */
    --font-size-base: 1rem;     /* 16px */
    --font-size-lg: 1.125rem;   /* 18px */
    --font-size-xl: 1.25rem;    /* 20px */
    --font-size-2xl: 1.5rem;    /* 24px */
    --font-size-3xl: 1.75rem;   /* 28px */
    --font-size-4xl: 2rem;      /* 32px */
    
    /* 行高 */
    --line-height-tight: 1.2;
    --line-height-normal: 1.5;
    --line-height-relaxed: 1.75;
    
    /* 字间距 */
    --letter-spacing-tight: -0.01em;
    --letter-spacing-normal: 0;
    --letter-spacing-wide: 0.02em;
    --letter-spacing-wider: 0.05em;
}

/* 应用字体到元素 */
body {
    font-family: var(--font-primary);
    font-size: var(--font-size-base);
    line-height: var(--line-height-normal);
    letter-spacing: var(--letter-spacing-normal);
    font-weight: 400;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

h1, h2, h3, h4, h5, h6 {
    font-family: var(--font-heading);
    line-height: var(--line-height-tight);
    letter-spacing: var(--letter-spacing-wide);
    font-weight: 700;
    margin-top: 1.5em;
    margin-bottom: 0.5em;
}

h1 {
    font-size: var(--font-size-3xl);
}

h2 {
    font-size: var(--font-size-2xl);
}

h3 {
    font-size: var(--font-size-xl);
}

h4 {
    font-size: var(--font-size-lg);
}

/* 导航链接 */
.nav-link {
    font-weight: 500;
    letter-spacing: var(--letter-spacing-wide);
}

/* 按钮 */
button, .btn {
    font-family: var(--font-primary);
    font-weight: 600;
    letter-spacing: var(--letter-spacing-wide);
}

/* 代码块 */
code, pre {
    font-family: var(--font-code);
    font-size: var(--font-size-sm);
}

/* 引用 */
blockquote {
    font-family: var(--font-quote);
    font-style: italic;
    font-weight: 500;
    line-height: var(--line-height-relaxed);
    letter-spacing: var(--letter-spacing-tight);
}

/* 卡片标题 */
.card-title {
    font-family: var(--font-heading);
    font-weight: 600;
    font-size: var(--font-size-lg);
}

/* 卡片描述 */
.card-description {
    font-size: var(--font-size-sm);
    line-height: var(--line-height-relaxed);
}

/* 页脚 */
.footer {
    font-size: var(--font-size-sm);
}

/* 版权信息 */
.copyright {
    font-size: var(--font-size-xs);
    letter-spacing: var(--letter-spacing-wide);
}

/* 搜索框 */
#search-input {
    font-family: var(--font-primary);
    font-size: var(--font-size-base);
}

/* 分类标签 */
.tab {
    font-family: var(--font-heading);
    font-weight: 600;
    font-size: var(--font-size-sm);
    letter-spacing: var(--letter-spacing-wide);
}

/* 资源卡片 */
.resource-card {
    font-family: var(--font-primary);
}

/* 资源标签 */
.resource-tag {
    font-family: var(--font-primary);
    font-size: var(--font-size-xs);
    font-weight: 500;
    letter-spacing: var(--letter-spacing-wider);
}

/* 关于页面 */
.about-description p {
    font-size: var(--font-size-base);
    line-height: var(--line-height-relaxed);
    margin-bottom: 1.5em;
}

/* 字体平滑过渡 */
* {
    transition: font-size 0.3s ease, letter-spacing 0.3s ease;
}