/* 15-Academia 核心变量 */
:root {
    --bg-mahogany: #1C1714;
    --bg-oak: #251E19;
    --text-parchment: #E8DFD4;
    --text-ink: #9C8B7A;
    --accent-brass: #C9A962;
    --accent-crimson: #8B2635;
    --border-wood: #4A3F35;
}

body {
    background-color: var(--bg-mahogany);
    color: var(--text-parchment);
    font-family: 'Crimson Pro', serif;
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.65' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)' opacity='0.03'/%3E%3C/svg%3E");
}

/* 字体定义 */
.font-heading { font-family: 'Cormorant Garamond', serif; }
.font-display { font-family: 'Cinzel', serif; }

/* 铜管渐变 */
.bg-brass-gradient {
    background: linear-gradient(180deg, #D4B872 0%, #C9A962 50%, #B8953F 100%);
}

/* 蚀刻文字效果 */
.text-engraved {
    text-shadow: 1px 1px 1px rgba(0,0,0,0.4), -1px -1px 1px rgba(255,255,255,0.1);
}

/* 装饰性分割线 */
.ornate-divider {
    height: 1px;
    background: linear-gradient(90deg, transparent 0%, #4A3F35 20%, #C9A962 50%, #4A3F35 80%, transparent 100%);
    position: relative;
}
.ornate-divider::before {
    content: "✶";
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -54%);
    color: var(--accent-brass);
    font-size: 14px;
    background-color: var(--bg-oak);
    padding: 0 12px;
}

/* 角落花纹 */
.corner-flourish {
    position: relative;
}
.corner-flourish::before, .corner-flourish::after {
    content: "";
    position: absolute;
    width: 24px;
    height: 24px;
    border: 1px solid var(--accent-brass);
    opacity: 0.5;
    transition: opacity 0.3s;
}
.corner-flourish::before { top: -1px; left: -1px; border-right: none; border-bottom: none; }
.corner-flourish::after { bottom: -1px; right: -1px; border-left: none; border-top: none; }
.corner-flourish:hover::before, .corner-flourish:hover::after { opacity: 1; }

.animate-enter {
    animation: fade-in-up 0.6s ease-out forwards;
}

@keyframes fade-in-up {
    from { opacity: 0; transform: translateY(20px); }
    to { opacity: 1; transform: translateY(0); }
}
