/* 使用 Noto Serif SC 字体，营造古典感 */
body {
    font-family: 'Noto Serif SC', serif;
    transition: background-color 0.5s, color 0.5s;
}

/* 主题配色方案 */
.theme-jade { background-color: #f0f5f1; color: #1a3a3a; }
.theme-imperial { background-color: #fdfaf2; color: #0d1b2a; }
.theme-crimson { background-color: #fff8f1; color: #5c1a1b; }
.theme-parchment { background-color: #f5eeda; color: #4e342e; }

/* 不同主题下元素的颜色 */
.theme-jade .static-card { background-color: #d1e2d8; color: #1a3a3a; }
.theme-jade .header-decoration { border-color: #6a9c89; }
.theme-jade .day { color: #6a9c89; }

.theme-imperial .static-card { background-color: #fff8dc; color: #0d1b2a; }
.theme-imperial .header-decoration { border-color: #e6b800; }
.theme-imperial .day { color: #e6b800; }

.theme-crimson .static-card { background-color: #faebd7; color: #5c1a1b; }
.theme-crimson .header-decoration { border-color: #b94547; }
.theme-crimson .day { color: #b94547; }

.theme-parchment .static-card { background-color: #fffbf0; color: #4e342e; border: 1px solid #dcd1b8;}
.theme-parchment .header-decoration { border-color: #4e342e; }
.theme-parchment .day { color: #4e342e; }

/* 卡片样式 */
.static-card {
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -2px rgba(0, 0, 0, 0.1);
    transition: box-shadow 0.3s ease;
}

.static-card:hover {
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -4px rgba(0, 0, 0, 0.1);
}

.separator {
    /* 主题相关的颜色在下面定义 */
}
.theme-jade .separator { border-color: #c1d1c8; }
.theme-imperial .separator { border-color: #e6dca9; }
.theme-crimson .separator { border-color: #e8d7c7; }
.theme-parchment .separator { border-color: #dcd1b8; }

.theme-button {
    transition: all 0.2s ease;
    border: 2px solid transparent;
}
.theme-button.active {
    transform: scale(1.1);
    border-color: currentColor;
}

/* 段落首行缩进 */
.static-card p:not(.opacity-80) {
    text-indent: 2em;
}

/* Homework Highlight Animation */
@keyframes slide-bg {
    0% {
        background-position: 200% 0;
    }
    100% {
        background-position: -200% 0;
    }
}

.animated-underline {
    position: relative;
    display: inline-block;
}

.animated-underline::after {
    content: '';
    position: absolute;
    bottom: -4px;
    left: 0;
    width: 100%;
    height: 4px;
    background-size: 300% 100%;
    animation: slide-bg 5s linear infinite;
    border-radius: 2px;
}

.theme-jade .animated-underline::after {
    background-image: linear-gradient(90deg, #6a9c89, #a3c1b3, #6a9c89);
}
.theme-imperial .animated-underline::after {
    background-image: linear-gradient(90deg, #e6b800, #f0d466, #e6b800);
}
.theme-crimson .animated-underline::after {
    background-image: linear-gradient(90deg, #b94547, #d17c7e, #b94547);
}
.theme-parchment .animated-underline::after {
    background-image: linear-gradient(90deg, #4e342e, #8d6e63, #4e342e);
}