/* 自定义样式补充 */
body {
    -webkit-tap-highlight-color: transparent;
}

/* 宣纸与水墨暗纹背景 */
.bg-pattern {
    background-image: 
        url('data:image/svg+xml;utf8,<svg width="200" height="200" xmlns="http://www.w3.org/2000/svg"><filter id="noise"><feTurbulence type="fractalNoise" baseFrequency="0.8" numOctaves="4" stitchTiles="stitch"/></filter><rect width="100%" height="100%" filter="url(%23noise)" opacity="0.08"/></svg>'),
        linear-gradient(to bottom, transparent, rgba(255,255,255,0.5));
    background-blend-mode: multiply;
}

/* 印章效果 */
.seal {
    font-family: "Noto Serif SC", serif;
    writing-mode: vertical-rl;
    border: 2px solid currentColor;
    border-radius: 4px;
    padding: 4px 2px;
    letter-spacing: 2px;
    font-weight: 900;
    opacity: 0.85;
    mix-blend-mode: multiply;
}

/* 滚动条美化 */
::-webkit-scrollbar {
    width: 6px;
}
::-webkit-scrollbar-track {
    background: transparent;
}
::-webkit-scrollbar-thumb {
    background-color: rgba(0,0,0,0.2);
    border-radius: 10px;
}

/* 页面切换动画 */
.fade-enter {
    animation: fadeIn 0.4s ease-out forwards;
}
@keyframes fadeIn {
    from { opacity: 0; transform: translateY(10px); }
    to { opacity: 1; transform: translateY(0); }
}

/* 音乐播放波纹动画 */
.playing .audio-wave {
    animation: wave 1s infinite alternate ease-in-out;
}
@keyframes wave {
    0% { transform: scaleY(0.5); }
    100% { transform: scaleY(1.5); }
}
