* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
    font-size: 15px; /* 增大基础字号 */
    color: var(--text-color);
    background-color: var(--bg-color);
    line-height: 1.8; /* 增大行高 */
    -webkit-font-smoothing: antialiased; /* 字体平滑 */
}

a {
    text-decoration: none;
    color: inherit;
    transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1); /* 优化过渡曲线 */
}

h1, h2, h3, h4, h5, h6 {
    font-weight: 600; /* 加强标题字重 */
    line-height: 1.4;
    color: #1a1a1a;
}

body.dark h1, body.dark h2, body.dark h3, body.dark h4, body.dark h5, body.dark h6 {
    color: #f0f0f0;
}

/* 等宽数字字体，用于阅读量、时间等 */
.num, .time, .pv, .date {
    font-family: "Roboto Mono", "Courier New", monospace;
    font-variant-numeric: tabular-nums;
}

a:hover {
    color: var(--primary-color);
}

ul, ol {
    list-style: none;
}

img {
    max-width: 100%;
    height: auto;
    vertical-align: middle;
}

input, button, textarea {
    font-family: inherit;
    outline: none;
}

button {
    cursor: pointer;
    border: none;
    background: none;
}
