/* 主题变量定义 */
:root {
    --color-primary: #34d399;
    --color-secondary: #d1fae5;
    --color-dark: #059669;
    --color-light: #ecfdf5;
    --color-accent: #10b981;
    --color-soft: #a7f3d0;
    --bg-body: #f9fafb;
    --bg-card: #ffffff;
    --text-primary: #1f2937;
    --text-secondary: #6b7280;
    --border-color: #e5e7eb;
    
    /* 字号变量 - 默认大号 */
    --font-size-xs: 0.875rem;
    --font-size-sm: 1rem;
    --font-size-base: 1.125rem;
    --font-size-lg: 1.25rem;
    --font-size-xl: 1.5rem;
    --font-size-2xl: 1.75rem;
    --font-size-3xl: 2rem;
    --font-size-4xl: 2.5rem;
}

/* 
 * 字号切换功能已禁用，默认使用大号字体
 * 如需恢复切换功能，取消以下注释
 */

/* 小字号方案
[data-font-size="small"] {
    --font-size-xs: 0.625rem;
    --font-size-sm: 0.75rem;
    --font-size-base: 0.875rem;
    --font-size-lg: 1rem;
    --font-size-xl: 1.125rem;
    --font-size-2xl: 1.25rem;
    --font-size-3xl: 1.5rem;
    --font-size-4xl: 1.75rem;
}
*/

/* 中等字号方案
[data-font-size="medium"] {
    --font-size-xs: 0.75rem;
    --font-size-sm: 0.875rem;
    --font-size-base: 1rem;
    --font-size-lg: 1.125rem;
    --font-size-xl: 1.25rem;
    --font-size-2xl: 1.5rem;
    --font-size-3xl: 1.875rem;
    --font-size-4xl: 2.25rem;
}
*/

/* 应用字号变量覆盖 Tailwind 默认字号 */
body {
    font-size: var(--font-size-base);
}

.text-xs { font-size: var(--font-size-xs) !important; }
.text-sm { font-size: var(--font-size-sm) !important; }
.text-base { font-size: var(--font-size-base) !important; }
.text-lg { font-size: var(--font-size-lg) !important; }
.text-xl { font-size: var(--font-size-xl) !important; }
.text-2xl { font-size: var(--font-size-2xl) !important; }
.text-3xl { font-size: var(--font-size-3xl) !important; }
.text-4xl { font-size: var(--font-size-4xl) !important; }

/* 导航栏字体增大 */
header nav .nav-link {
    font-size: 1.125rem !important;
}

/* 游戏列表页卡片字体增大 */
.game-list-page .bg-gray-50.md\:bg-white.border.border-gray-200,
.game-list-page [class*="grid"] > div.bg-gray-50,
.game-list-page [class*="grid"] > div.md\:bg-white {
    font-size: 1.0625rem !important;
}

.game-list-page [class*="grid"] h3 {
    font-size: 1.25rem !important;
}

.game-list-page [class*="grid"] h3 a {
    font-size: 1.25rem !important;
}

.game-list-page [class*="grid"] p {
    font-size: 1rem !important;
}

.game-list-page [class*="grid"] span.inline-block {
    font-size: 0.875rem !important;
}

/* 攻略列表页卡片字体增大 */
.strategy-list-page #strategy-list > div {
    font-size: 1.0625rem !important;
}

.strategy-list-page #strategy-list h3 {
    font-size: 1.25rem !important;
}

.strategy-list-page #strategy-list h3 a {
    font-size: 1.25rem !important;
}

.strategy-list-page #strategy-list p {
    font-size: 1rem !important;
}

.strategy-list-page #strategy-list .text-gray-600 {
    font-size: 1rem !important;
}

.strategy-list-page #strategy-list .text-xs {
    font-size: 0.875rem !important;
}

/* 游戏列表页和游戏攻略列表页额外字号增大 */
.page-game-list,
.page-strategy-list {
    font-size: 1.125rem !important;
}

.page-game-list .text-sm,
.page-strategy-list .text-sm {
    font-size: 1rem !important;
}

.page-game-list .text-base,
.page-strategy-list .text-base {
    font-size: 1.125rem !important;
}

.page-game-list h1,
.page-strategy-list h1 {
    font-size: 1.75rem !important;
}

.page-game-list h2,
.page-strategy-list h2 {
    font-size: 1.5rem !important;
}

.page-game-list .game-card-title,
.page-strategy-list .strategy-card-title {
    font-size: 1.25rem !important;
}

.page-game-list .game-card-info,
.page-strategy-list .strategy-card-info {
    font-size: 1.125rem !important;
}

/* 导航 active 样式 - 默认/清新绿主题 */
.nav-link.active {
    color: var(--color-primary) !important;
    background-color: var(--color-secondary) !important;
}

/* 樱花粉主题 */
[data-theme="pink"] {
    --color-primary: #f472b6;
    --color-secondary: #fce7f3;
    --color-dark: #db2777;
    --color-light: #fdf2f8;
    --color-accent: #ec4899;
    --color-soft: #fbcfe8;
    --bg-body: #fdf2f8;
    --bg-card: #ffffff;
    --text-primary: #831843;
    --text-secondary: #9d174d;
    --border-color: #fce7f3;
}

[data-theme="pink"] body::before {
    content: '';
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    z-index: -1;
    background-image: 
        radial-gradient(circle at 10% 20%, rgba(244, 114, 182, 0.08) 0%, transparent 50%),
        radial-gradient(circle at 90% 80%, rgba(236, 72, 153, 0.06) 0%, transparent 50%),
        radial-gradient(circle at 50% 50%, rgba(251, 207, 232, 0.05) 0%, transparent 70%);
}

[data-theme="pink"] body::after {
    content: '';
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    z-index: -1;
    opacity: 0.15;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='60' height='60' viewBox='0 0 60 60'%3E%3Cpath d='M30 5c-2 0-3 2-3 4 0 1 0 2 1 3-1-1-2-1-3-1-2 0-4 1-4 3s2 3 4 3c1 0 2 0 3-1-1 1-1 2-1 3 0 2 1 4 3 4s3-2 3-4c0-1 0-2-1-3 1 1 2 1 3 1 2 0 4-1 4-3s-2-3-4-3c-1 0-2 0-3 1 1-1 1-2 1-3 0-2-1-4-3-4z' fill='%23f472b6' fill-opacity='0.4'/%3E%3C/svg%3E");
    background-size: 80px 80px;
    animation: sakura-bg-float 20s ease-in-out infinite;
}

@keyframes sakura-bg-float {
    0%, 100% { transform: translateY(0) translateX(0); }
    25% { transform: translateY(-10px) translateX(5px); }
    50% { transform: translateY(0) translateX(10px); }
    75% { transform: translateY(10px) translateX(5px); }
}

/* 清新绿主题 */
[data-theme="mint"] {
    --color-primary: #34d399;
    --color-secondary: #d1fae5;
    --color-dark: #059669;
    --color-light: #ecfdf5;
    --color-accent: #10b981;
    --color-soft: #a7f3d0;
    --bg-body: #f9fafb;
    --bg-card: #ffffff;
    --text-primary: #064e3b;
    --text-secondary: #047857;
    --border-color: #d1fae5;
}

[data-theme="mint"] body::before {
    content: '';
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    z-index: -1;
    background-image: 
        radial-gradient(circle at 15% 25%, rgba(52, 211, 153, 0.08) 0%, transparent 50%),
        radial-gradient(circle at 85% 75%, rgba(16, 185, 129, 0.06) 0%, transparent 50%),
        radial-gradient(circle at 50% 50%, rgba(167, 243, 208, 0.05) 0%, transparent 70%);
}

[data-theme="mint"] body::after {
    content: '';
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    z-index: -1;
    opacity: 0.12;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='50' height='50' viewBox='0 0 50 50'%3E%3Cpath d='M25 5c-1.5 0-2.5 1.5-2.5 3 0 1 0.5 2 1 2.5-0.5-0.5-1.5-1-2.5-1-1.5 0-3 1-3 2.5s1.5 2.5 3 2.5c1 0 2-0.5 2.5-1-0.5 0.5-1 1.5-1 2.5 0 1.5 1 3 2.5 3s2.5-1.5 2.5-3c0-1-0.5-2-1-2.5 0.5 0.5 1.5 1 2.5 1 1.5 0 3-1 3-2.5s-1.5-2.5-3-2.5c-1 0-2 0.5-2.5 1 0.5-0.5 1-1.5 1-2.5 0-1.5-1-3-2.5-3z' fill='%2334d399' fill-opacity='0.5'/%3E%3C/svg%3E");
    background-size: 60px 60px;
    animation: mint-bg-float 25s ease-in-out infinite;
}

@keyframes mint-bg-float {
    0%, 100% { transform: translateY(0) translateX(0); }
    33% { transform: translateY(-8px) translateX(8px); }
    66% { transform: translateY(5px) translateX(-5px); }
}

/* 秋叶黄主题 */
[data-theme="yellow"] {
    --color-primary: #fbbf24;
    --color-secondary: #fef3c7;
    --color-dark: #d97706;
    --color-light: #fffbeb;
    --color-accent: #f59e0b;
    --color-soft: #fde68a;
    --bg-body: #fffbeb;
    --bg-card: #ffffff;
    --text-primary: #78350f;
    --text-secondary: #92400e;
    --border-color: #fef3c7;
}

[data-theme="yellow"] body::before {
    content: '';
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    z-index: -1;
    background-image: 
        radial-gradient(circle at 20% 30%, rgba(251, 191, 36, 0.1) 0%, transparent 50%),
        radial-gradient(circle at 80% 70%, rgba(245, 158, 11, 0.08) 0%, transparent 50%),
        radial-gradient(circle at 50% 50%, rgba(253, 230, 138, 0.06) 0%, transparent 70%);
}

[data-theme="yellow"] body::after {
    content: '';
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    z-index: -1;
    opacity: 0.1;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='40' viewBox='0 0 40 40'%3E%3Cpath d='M20 2L22 15L35 17L22 19L20 32L18 19L5 17L18 15Z' fill='%23fbbf24' fill-opacity='0.6'/%3E%3Cpath d='M20 8L21 15L28 16L21 17L20 24L19 17L12 16L19 15Z' fill='%23f59e0b' fill-opacity='0.4'/%3E%3C/svg%3E");
    background-size: 70px 70px;
    animation: yellow-bg-float 22s ease-in-out infinite;
}

@keyframes yellow-bg-float {
    0%, 100% { transform: translateY(0) rotate(0deg); }
    50% { transform: translateY(-10px) rotate(2deg); }
}

/* 冬雪蓝主题 */
[data-theme="blue"] {
    --color-primary: #60a5fa;
    --color-secondary: #dbeafe;
    --color-dark: #2563eb;
    --color-light: #eff6ff;
    --color-accent: #3b82f6;
    --color-soft: #bfdbfe;
    --bg-body: #eff6ff;
    --bg-card: #ffffff;
    --text-primary: #1e3a8a;
    --text-secondary: #1d4ed8;
    --border-color: #dbeafe;
}

[data-theme="blue"] body::before {
    content: '';
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    z-index: -1;
    background-image: 
        radial-gradient(circle at 10% 20%, rgba(96, 165, 250, 0.08) 0%, transparent 50%),
        radial-gradient(circle at 90% 80%, rgba(59, 130, 246, 0.06) 0%, transparent 50%),
        radial-gradient(circle at 50% 50%, rgba(191, 219, 254, 0.05) 0%, transparent 70%);
}

[data-theme="blue"] body::after {
    content: '';
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    z-index: -1;
    opacity: 0.15;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3E%3Cpath d='M15 2L15 28M2 15L28 15M5 5L25 25M25 5L5 25' stroke='%2360a5fa' stroke-width='1' fill='none' stroke-opacity='0.4'/%3E%3Ccircle cx='15' cy='15' r='3' fill='%2360a5fa' fill-opacity='0.3'/%3E%3Ccircle cx='15' cy='2' r='1.5' fill='%2360a5fa' fill-opacity='0.4'/%3E%3Ccircle cx='15' cy='28' r='1.5' fill='%2360a5fa' fill-opacity='0.4'/%3E%3Ccircle cx='2' cy='15' r='1.5' fill='%2360a5fa' fill-opacity='0.4'/%3E%3Ccircle cx='28' cy='15' r='1.5' fill='%2360a5fa' fill-opacity='0.4'/%3E%3C/svg%3E");
    background-size: 80px 80px;
    animation: blue-bg-float 30s ease-in-out infinite;
}

@keyframes blue-bg-float {
    0%, 100% { transform: translateY(0) rotate(0deg); }
    25% { transform: translateY(-5px) rotate(1deg); }
    75% { transform: translateY(5px) rotate(-1deg); }
}

/* 深邃蓝夜间主题 */
[data-theme="dark-blue"] {
    --color-primary: #60a5fa;
    --color-secondary: #1e293b;
    --color-dark: #0ea5e9;
    --color-light: #0f172a;
    --color-accent: #38bdf8;
    --color-soft: #334155;
    --bg-body: #0f172a;
    --bg-card: #1e293b;
    --text-primary: #f1f5f9;
    --text-secondary: #94a3b8;
    --border-color: #334155;
}

/* 暗夜紫夜间主题 */
[data-theme="dark-purple"] {
    --color-primary: #61afef;
    --color-secondary: #21252b;
    --color-dark: #528bcc;
    --color-light: #282c34;
    --color-accent: #61afef;
    --color-soft: #3e4451;
    --bg-body: #282c34;
    --bg-card: #21252b;
    --text-primary: #abb2bf;
    --text-secondary: #7f848e;
    --border-color: #3b4048;
}

/* 基础样式 */
body {
    background-color: var(--bg-body);
    transition: background-color 0.3s ease;
}

.bg-card { background-color: var(--bg-card); }
.text-theme-primary { color: var(--text-primary); }
.text-theme-secondary { color: var(--text-secondary); }
.border-theme { border-color: var(--border-color); }

/* 夜间模式通用样式 */
[data-theme="dark-blue"] .bg-white,
[data-theme="dark-purple"] .bg-white {
    background-color: var(--bg-card) !important;
}

[data-theme="dark-blue"] .text-gray-900,
[data-theme="dark-blue"] .text-gray-800,
[data-theme="dark-blue"] .text-gray-700,
[data-theme="dark-blue"] .text-gray-600,
[data-theme="dark-purple"] .text-gray-900,
[data-theme="dark-purple"] .text-gray-800,
[data-theme="dark-purple"] .text-gray-700,
[data-theme="dark-purple"] .text-gray-600 {
    color: var(--text-primary) !important;
}

[data-theme="dark-blue"] .text-gray-500,
[data-theme="dark-blue"] .text-gray-400,
[data-theme="dark-purple"] .text-gray-500,
[data-theme="dark-purple"] .text-gray-400 {
    color: var(--text-secondary) !important;
}

[data-theme="dark-blue"] .text-gray-300,
[data-theme="dark-purple"] .text-gray-300 {
    color: #a0a0a0 !important;
}

[data-theme="dark-blue"] .text-gray-200,
[data-theme="dark-purple"] .text-gray-200 {
    color: #909090 !important;
}

[data-theme="dark-blue"] .bg-gray-50,
[data-theme="dark-blue"] .bg-gray-100,
[data-theme="dark-purple"] .bg-gray-50,
[data-theme="dark-purple"] .bg-gray-100 {
    background-color: var(--color-soft) !important;
}

[data-theme="dark-blue"] .bg-gray-200,
[data-theme="dark-purple"] .bg-gray-200 {
    background-color: #404040 !important;
}

[data-theme="dark-blue"] .border-gray-200,
[data-theme="dark-blue"] .border-gray-100,
[data-theme="dark-purple"] .border-gray-200,
[data-theme="dark-purple"] .border-gray-100 {
    border-color: var(--border-color) !important;
}

[data-theme="dark-blue"] header,
[data-theme="dark-blue"] footer,
[data-theme="dark-purple"] header,
[data-theme="dark-purple"] footer {
    background-color: var(--color-secondary) !important;
    border-color: var(--border-color) !important;
}

[data-theme="dark-blue"] .nav-link,
[data-theme="dark-purple"] .nav-link {
    color: var(--text-primary) !important;
}

[data-theme="dark-blue"] .nav-link:hover,
[data-theme="dark-blue"] .nav-link.active,
[data-theme="dark-purple"] .nav-link:hover,
[data-theme="dark-purple"] .nav-link.active {
    color: var(--color-primary) !important;
    background-color: rgba(96, 165, 250, 0.1) !important;
}

[data-theme="dark-blue"] .shadow-sm,
[data-theme="dark-blue"] .shadow,
[data-theme="dark-blue"] .shadow-lg,
[data-theme="dark-blue"] .shadow-md,
[data-theme="dark-purple"] .shadow-sm,
[data-theme="dark-purple"] .shadow,
[data-theme="dark-purple"] .shadow-lg,
[data-theme="dark-purple"] .shadow-md {
    box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.4), 0 1px 2px 0 rgba(0, 0, 0, 0.3) !important;
}

/* 夜间模式背景色 */
[data-theme="dark-blue"] .bg-emerald-50,
[data-theme="dark-blue"] .bg-emerald-100,
[data-theme="dark-purple"] .bg-emerald-50,
[data-theme="dark-purple"] .bg-emerald-100 {
    background-color: rgba(16, 185, 129, 0.1) !important;
}

[data-theme="dark-blue"] .bg-blue-50,
[data-theme="dark-blue"] .bg-blue-100,
[data-theme="dark-purple"] .bg-blue-50,
[data-theme="dark-purple"] .bg-blue-100 {
    background-color: rgba(59, 130, 246, 0.1) !important;
}

[data-theme="dark-blue"] .bg-red-50,
[data-theme="dark-blue"] .bg-red-100,
[data-theme="dark-purple"] .bg-red-50,
[data-theme="dark-purple"] .bg-red-100 {
    background-color: rgba(239, 68, 68, 0.1) !important;
}

[data-theme="dark-blue"] .bg-purple-50,
[data-theme="dark-blue"] .bg-purple-100,
[data-theme="dark-purple"] .bg-purple-50,
[data-theme="dark-purple"] .bg-purple-100 {
    background-color: rgba(139, 92, 246, 0.1) !important;
}

[data-theme="dark-blue"] .bg-yellow-50,
[data-theme="dark-blue"] .bg-yellow-100,
[data-theme="dark-purple"] .bg-yellow-50,
[data-theme="dark-purple"] .bg-yellow-100 {
    background-color: rgba(245, 158, 11, 0.1) !important;
}

[data-theme="dark-blue"] .bg-pink-50,
[data-theme="dark-blue"] .bg-pink-100,
[data-theme="dark-purple"] .bg-pink-50,
[data-theme="dark-purple"] .bg-pink-100 {
    background-color: rgba(236, 72, 153, 0.1) !important;
}

[data-theme="dark-blue"] .bg-orange-50,
[data-theme="dark-blue"] .bg-orange-100,
[data-theme="dark-purple"] .bg-orange-50,
[data-theme="dark-purple"] .bg-orange-100 {
    background-color: rgba(249, 115, 22, 0.1) !important;
}

[data-theme="dark-blue"] .bg-cyan-50,
[data-theme="dark-blue"] .bg-cyan-100,
[data-theme="dark-purple"] .bg-cyan-50,
[data-theme="dark-purple"] .bg-cyan-100 {
    background-color: rgba(6, 182, 212, 0.1) !important;
}

[data-theme="dark-blue"] .bg-green-50,
[data-theme="dark-blue"] .bg-green-100,
[data-theme="dark-purple"] .bg-green-50,
[data-theme="dark-purple"] .bg-green-100 {
    background-color: rgba(34, 197, 94, 0.1) !important;
}

[data-theme="dark-blue"] .bg-green-500,
[data-theme="dark-purple"] .bg-green-500 {
    background-color: #22c55e !important;
}

[data-theme="dark-blue"] .bg-blue-500,
[data-theme="dark-purple"] .bg-blue-500 {
    background-color: #3b82f6 !important;
}

[data-theme="dark-blue"] .bg-gray-400,
[data-theme="dark-purple"] .bg-gray-400 {
    background-color: #6b7280 !important;
}

/* 夜间模式文字颜色 */
[data-theme="dark-blue"] .text-emerald-600,
[data-theme="dark-blue"] .text-emerald-500,
[data-theme="dark-purple"] .text-emerald-600,
[data-theme="dark-purple"] .text-emerald-500 {
    color: #34d399 !important;
}

[data-theme="dark-blue"] .text-blue-500,
[data-theme="dark-blue"] .text-blue-600,
[data-theme="dark-blue"] .text-blue-700,
[data-theme="dark-purple"] .text-blue-500,
[data-theme="dark-purple"] .text-blue-600,
[data-theme="dark-purple"] .text-blue-700 {
    color: #60a5fa !important;
}

[data-theme="dark-blue"] .text-red-500,
[data-theme="dark-blue"] .text-red-600,
[data-theme="dark-blue"] .text-red-700,
[data-theme="dark-purple"] .text-red-500,
[data-theme="dark-purple"] .text-red-600,
[data-theme="dark-purple"] .text-red-700 {
    color: #f87171 !important;
}

[data-theme="dark-blue"] .text-purple-500,
[data-theme="dark-blue"] .text-purple-600,
[data-theme="dark-blue"] .text-purple-700,
[data-theme="dark-purple"] .text-purple-500,
[data-theme="dark-purple"] .text-purple-600,
[data-theme="dark-purple"] .text-purple-700 {
    color: #a78bfa !important;
}

[data-theme="dark-blue"] .text-yellow-500,
[data-theme="dark-blue"] .text-yellow-600,
[data-theme="dark-blue"] .text-yellow-700,
[data-theme="dark-purple"] .text-yellow-500,
[data-theme="dark-purple"] .text-yellow-600,
[data-theme="dark-purple"] .text-yellow-700 {
    color: #fbbf24 !important;
}

[data-theme="dark-blue"] .text-pink-500,
[data-theme="dark-blue"] .text-pink-600,
[data-theme="dark-blue"] .text-pink-700,
[data-theme="dark-purple"] .text-pink-500,
[data-theme="dark-purple"] .text-pink-600,
[data-theme="dark-purple"] .text-pink-700 {
    color: #f472b6 !important;
}

[data-theme="dark-blue"] .text-orange-500,
[data-theme="dark-blue"] .text-orange-600,
[data-theme="dark-blue"] .text-orange-700,
[data-theme="dark-purple"] .text-orange-500,
[data-theme="dark-purple"] .text-orange-600,
[data-theme="dark-purple"] .text-orange-700 {
    color: #fb923c !important;
}

[data-theme="dark-blue"] .text-cyan-500,
[data-theme="dark-blue"] .text-cyan-600,
[data-theme="dark-blue"] .text-cyan-700,
[data-theme="dark-purple"] .text-cyan-500,
[data-theme="dark-purple"] .text-cyan-600,
[data-theme="dark-purple"] .text-cyan-700 {
    color: #22d3ee !important;
}

[data-theme="dark-blue"] .text-green-500,
[data-theme="dark-blue"] .text-green-600,
[data-theme="dark-blue"] .text-green-700,
[data-theme="dark-purple"] .text-green-500,
[data-theme="dark-purple"] .text-green-600,
[data-theme="dark-purple"] .text-green-700 {
    color: #4ade80 !important;
}

/* 夜间模式悬停效果 */
[data-theme="dark-blue"] .hover\:bg-gray-50:hover,
[data-theme="dark-blue"] .hover\:bg-gray-100:hover,
[data-theme="dark-purple"] .hover\:bg-gray-50:hover,
[data-theme="dark-purple"] .hover\:bg-gray-100:hover {
    background-color: rgba(255, 255, 255, 0.05) !important;
}

[data-theme="dark-blue"] .divide-gray-100 > * + *,
[data-theme="dark-blue"] .divide-gray-200 > * + *,
[data-theme="dark-purple"] .divide-gray-100 > * + *,
[data-theme="dark-purple"] .divide-gray-200 > * + * {
    border-color: var(--border-color) !important;
}

/* 夜间模式表单元素 */
[data-theme="dark-blue"] input,
[data-theme="dark-blue"] select,
[data-theme="dark-blue"] textarea,
[data-theme="dark-purple"] input,
[data-theme="dark-purple"] select,
[data-theme="dark-purple"] textarea {
    background-color: var(--color-soft) !important;
    border-color: var(--border-color) !important;
    color: var(--text-primary) !important;
}

[data-theme="dark-blue"] input::placeholder,
[data-theme="dark-blue"] textarea::placeholder,
[data-theme="dark-purple"] input::placeholder,
[data-theme="dark-purple"] textarea::placeholder {
    color: var(--text-secondary) !important;
}

[data-theme="dark-blue"] a.text-gray-500:hover,
[data-theme="dark-blue"] a.text-gray-400:hover,
[data-theme="dark-purple"] a.text-gray-500:hover,
[data-theme="dark-purple"] a.text-gray-400:hover {
    color: var(--color-primary) !important;
}

/* 夜间模式按钮 */
[data-theme="dark-blue"] .bg-primary,
[data-theme="dark-purple"] .bg-primary {
    background-color: var(--color-primary) !important;
}

[data-theme="dark-blue"] .btn-primary,
[data-theme="dark-purple"] .btn-primary {
    background-color: var(--color-primary) !important;
    color: #fff !important;
}

/* 夜间模式表格 */
[data-theme="dark-blue"] table,
[data-theme="dark-purple"] table {
    background-color: var(--bg-card) !important;
}

[data-theme="dark-blue"] th,
[data-theme="dark-blue"] td,
[data-theme="dark-purple"] th,
[data-theme="dark-purple"] td {
    border-color: var(--border-color) !important;
    color: var(--text-primary) !important;
}

[data-theme="dark-blue"] thead,
[data-theme="dark-purple"] thead {
    background-color: var(--color-soft) !important;
}

[data-theme="dark-blue"] tbody tr:hover,
[data-theme="dark-purple"] tbody tr:hover {
    background-color: rgba(255, 255, 255, 0.05) !important;
}

/* 夜间模式卡片标题 */
[data-theme="dark-blue"] .card-title,
[data-theme="dark-blue"] .section-title,
[data-theme="dark-purple"] .card-title,
[data-theme="dark-purple"] .section-title {
    color: var(--text-primary) !important;
}

/* 夜间模式标签 */
[data-theme="dark-blue"] .badge,
[data-theme="dark-blue"] .tag,
[data-theme="dark-purple"] .badge,
[data-theme="dark-purple"] .tag {
    background-color: var(--color-soft) !important;
    color: var(--text-primary) !important;
    border-color: var(--border-color) !important;
}

/* 夜间模式下拉菜单 */
[data-theme="dark-blue"] .dropdown-menu,
[data-theme="dark-blue"] .dropdown-content,
[data-theme="dark-purple"] .dropdown-menu,
[data-theme="dark-purple"] .dropdown-content {
    background-color: var(--bg-card) !important;
    border-color: var(--border-color) !important;
}

[data-theme="dark-blue"] .dropdown-item,
[data-theme="dark-purple"] .dropdown-item {
    color: var(--text-primary) !important;
}

[data-theme="dark-blue"] .dropdown-item:hover,
[data-theme="dark-purple"] .dropdown-item:hover {
    background-color: rgba(255, 255, 255, 0.05) !important;
}

/* 夜间模式模态框 */
[data-theme="dark-blue"] .modal,
[data-theme="dark-blue"] .modal-content,
[data-theme="dark-purple"] .modal,
[data-theme="dark-purple"] .modal-content {
    background-color: var(--bg-card) !important;
    border-color: var(--border-color) !important;
}

/* 夜间模式分页 */
[data-theme="dark-blue"] .pagination,
[data-theme="dark-purple"] .pagination {
    background-color: transparent !important;
}

[data-theme="dark-blue"] .pagination li a,
[data-theme="dark-blue"] .pagination li span,
[data-theme="dark-purple"] .pagination li a,
[data-theme="dark-purple"] .pagination li span {
    background-color: var(--bg-card) !important;
    border-color: var(--border-color) !important;
    color: var(--text-primary) !important;
}

[data-theme="dark-blue"] .pagination li a:hover,
[data-theme="dark-purple"] .pagination li a:hover {
    background-color: var(--color-soft) !important;
}

[data-theme="dark-blue"] .pagination .active a,
[data-theme="dark-purple"] .pagination .active a {
    background-color: var(--color-primary) !important;
    color: #fff !important;
}

/* 夜间模式面包屑 */
[data-theme="dark-blue"] .breadcrumb,
[data-theme="dark-purple"] .breadcrumb {
    background-color: transparent !important;
}

[data-theme="dark-blue"] .breadcrumb a,
[data-theme="dark-purple"] .breadcrumb a {
    color: var(--color-primary) !important;
}

[data-theme="dark-blue"] .breadcrumb span,
[data-theme="dark-purple"] .breadcrumb span {
    color: var(--text-secondary) !important;
}

/* 夜间模式警告框 */
[data-theme="dark-blue"] .alert,
[data-theme="dark-purple"] .alert {
    border-color: var(--border-color) !important;
}

[data-theme="dark-blue"] .alert-success,
[data-theme="dark-purple"] .alert-success {
    background-color: rgba(34, 197, 94, 0.1) !important;
    color: #4ade80 !important;
}

[data-theme="dark-blue"] .alert-error,
[data-theme="dark-blue"] .alert-danger,
[data-theme="dark-purple"] .alert-error,
[data-theme="dark-purple"] .alert-danger {
    background-color: rgba(239, 68, 68, 0.1) !important;
    color: #f87171 !important;
}

[data-theme="dark-blue"] .alert-warning,
[data-theme="dark-purple"] .alert-warning {
    background-color: rgba(245, 158, 11, 0.1) !important;
    color: #fbbf24 !important;
}

[data-theme="dark-blue"] .alert-info,
[data-theme="dark-purple"] .alert-info {
    background-color: rgba(59, 130, 246, 0.1) !important;
    color: #60a5fa !important;
}

/* 夜间模式代码块 */
[data-theme="dark-blue"] code,
[data-theme="dark-blue"] pre,
[data-theme="dark-purple"] code,
[data-theme="dark-purple"] pre {
    background-color: var(--color-soft) !important;
    color: var(--text-primary) !important;
    border-color: var(--border-color) !important;
}

/* 夜间模式水平线 */
[data-theme="dark-blue"] hr,
[data-theme="dark-purple"] hr {
    border-color: var(--border-color) !important;
}

/* 夜间模式列表 */
[data-theme="dark-blue"] li,
[data-theme="dark-purple"] li {
    color: var(--text-primary) !important;
}

/* 夜间模式链接 */
[data-theme="dark-blue"] a,
[data-theme="dark-purple"] a {
    color: var(--color-primary);
}

[data-theme="dark-blue"] a:hover,
[data-theme="dark-purple"] a:hover {
    color: var(--color-accent);
}

/* 夜间模式滚动条 */
[data-theme="dark-blue"] ::-webkit-scrollbar,
[data-theme="dark-purple"] ::-webkit-scrollbar {
    background-color: var(--color-soft);
}

[data-theme="dark-blue"] ::-webkit-scrollbar-thumb,
[data-theme="dark-purple"] ::-webkit-scrollbar-thumb {
    background-color: var(--border-color);
}

/* 夜间模式选择文本 */
[data-theme="dark-blue"] ::selection,
[data-theme="dark-purple"] ::selection {
    background-color: var(--color-primary);
    color: #fff;
}

/* 夜间模式禁用状态 */
[data-theme="dark-blue"] .disabled,
[data-theme="dark-blue"] [disabled],
[data-theme="dark-purple"] .disabled,
[data-theme="dark-purple"] [disabled] {
    opacity: 0.5;
    cursor: not-allowed;
}

/* 夜间模式图片边框 */
[data-theme="dark-blue"] img,
[data-theme="dark-purple"] img {
    border-color: var(--border-color);
}

/* 夜间模式侧边栏 */
[data-theme="dark-blue"] aside,
[data-theme="dark-blue"] .sidebar,
[data-theme="dark-purple"] aside,
[data-theme="dark-purple"] .sidebar {
    background-color: var(--color-secondary) !important;
    border-color: var(--border-color) !important;
}

/* 夜间模式主内容区 */
[data-theme="dark-blue"] main,
[data-theme="dark-purple"] main {
    background-color: var(--bg-body) !important;
}

/* 夜间模式特殊文字颜色保持 */
[data-theme="dark-blue"] .text-white,
[data-theme="dark-purple"] .text-white {
    color: #ffffff !important;
}

[data-theme="dark-blue"] .text-black,
[data-theme="dark-purple"] .text-black {
    color: var(--text-primary) !important;
}

/* 夜间模式筛选按钮 */
[data-theme="dark-blue"] .bg-gray-200,
[data-theme="dark-purple"] .bg-gray-200 {
    background-color: var(--color-soft) !important;
    color: var(--text-primary) !important;
}

[data-theme="dark-blue"] .hover\:bg-gray-300:hover,
[data-theme="dark-purple"] .hover\:bg-gray-300:hover {
    background-color: rgba(255, 255, 255, 0.1) !important;
}

/* 夜间模式标签样式 */
[data-theme="dark-blue"] .bg-green-100,
[data-theme="dark-purple"] .bg-green-100 {
    background-color: rgba(34, 197, 94, 0.15) !important;
    color: #4ade80 !important;
}

[data-theme="dark-blue"] .bg-blue-100,
[data-theme="dark-purple"] .bg-blue-100 {
    background-color: rgba(59, 130, 246, 0.15) !important;
    color: #60a5fa !important;
}

[data-theme="dark-blue"] .bg-purple-100,
[data-theme="dark-purple"] .bg-purple-100 {
    background-color: rgba(139, 92, 246, 0.15) !important;
    color: #a78bfa !important;
}

[data-theme="dark-blue"] .bg-red-100,
[data-theme="dark-purple"] .bg-red-100 {
    background-color: rgba(239, 68, 68, 0.15) !important;
    color: #f87171 !important;
}

[data-theme="dark-blue"] .bg-orange-100,
[data-theme="dark-purple"] .bg-orange-100 {
    background-color: rgba(249, 115, 22, 0.15) !important;
    color: #fb923c !important;
}

[data-theme="dark-blue"] .bg-yellow-100,
[data-theme="dark-purple"] .bg-yellow-100 {
    background-color: rgba(234, 179, 8, 0.15) !important;
    color: #fbbf24 !important;
}

[data-theme="dark-blue"] .bg-pink-100,
[data-theme="dark-purple"] .bg-pink-100 {
    background-color: rgba(236, 72, 153, 0.15) !important;
    color: #f472b6 !important;
}

[data-theme="dark-blue"] .bg-cyan-100,
[data-theme="dark-purple"] .bg-cyan-100 {
    background-color: rgba(6, 182, 212, 0.15) !important;
    color: #22d3ee !important;
}

[data-theme="dark-blue"] .text-green-800,
[data-theme="dark-blue"] .text-green-700,
[data-theme="dark-purple"] .text-green-800,
[data-theme="dark-purple"] .text-green-700 {
    color: #4ade80 !important;
}

[data-theme="dark-blue"] .text-blue-800,
[data-theme="dark-blue"] .text-blue-700,
[data-theme="dark-purple"] .text-blue-800,
[data-theme="dark-purple"] .text-blue-700 {
    color: #60a5fa !important;
}

[data-theme="dark-blue"] .text-purple-800,
[data-theme="dark-blue"] .text-purple-700,
[data-theme="dark-purple"] .text-purple-800,
[data-theme="dark-purple"] .text-purple-700 {
    color: #a78bfa !important;
}

[data-theme="dark-blue"] .text-red-800,
[data-theme="dark-blue"] .text-red-700,
[data-theme="dark-purple"] .text-red-800,
[data-theme="dark-purple"] .text-red-700 {
    color: #f87171 !important;
}

[data-theme="dark-blue"] .text-orange-800,
[data-theme="dark-blue"] .text-orange-700,
[data-theme="dark-purple"] .text-orange-800,
[data-theme="dark-purple"] .text-orange-700 {
    color: #fb923c !important;
}

/* 夜间模式渐变背景 */
[data-theme="dark-blue"] .from-gray-100,
[data-theme="dark-blue"] .to-gray-200,
[data-theme="dark-purple"] .from-gray-100,
[data-theme="dark-purple"] .to-gray-200 {
    --tw-gradient-from: var(--color-soft) !important;
    --tw-gradient-to: var(--bg-card) !important;
}

[data-theme="dark-blue"] .hover\:from-gray-200:hover,
[data-theme="dark-blue"] .hover\:to-gray-300:hover,
[data-theme="dark-purple"] .hover\:from-gray-200:hover,
[data-theme="dark-purple"] .hover\:to-gray-300:hover {
    --tw-gradient-from: var(--bg-card) !important;
    --tw-gradient-to: var(--color-soft) !important;
}

/* 夜间模式边框按钮 */
[data-theme="dark-blue"] .border-gray-300,
[data-theme="dark-purple"] .border-gray-300 {
    border-color: var(--border-color) !important;
}

[data-theme="dark-blue"] .hover\:bg-gray-50:hover,
[data-theme="dark-purple"] .hover\:bg-gray-50:hover {
    background-color: rgba(255, 255, 255, 0.05) !important;
}

/* 夜间模式 - 正文内容样式 */
[data-theme="dark-blue"] .prose,
[data-theme="dark-purple"] .prose {
    color: var(--text-primary) !important;
}

[data-theme="dark-blue"] .prose p,
[data-theme="dark-blue"] .prose div,
[data-theme="dark-blue"] .prose span,
[data-theme="dark-blue"] .prose li,
[data-theme="dark-blue"] .prose td,
[data-theme="dark-blue"] .prose th,
[data-theme="dark-purple"] .prose p,
[data-theme="dark-purple"] .prose div,
[data-theme="dark-purple"] .prose span,
[data-theme="dark-purple"] .prose li,
[data-theme="dark-purple"] .prose td,
[data-theme="dark-purple"] .prose th {
    color: var(--text-primary) !important;
}

[data-theme="dark-blue"] .prose h1,
[data-theme="dark-blue"] .prose h2,
[data-theme="dark-blue"] .prose h3,
[data-theme="dark-blue"] .prose h4,
[data-theme="dark-blue"] .prose h5,
[data-theme="dark-blue"] .prose h6,
[data-theme="dark-purple"] .prose h1,
[data-theme="dark-purple"] .prose h2,
[data-theme="dark-purple"] .prose h3,
[data-theme="dark-purple"] .prose h4,
[data-theme="dark-purple"] .prose h5,
[data-theme="dark-purple"] .prose h6 {
    color: var(--text-primary) !important;
}

[data-theme="dark-blue"] .prose a,
[data-theme="dark-purple"] .prose a {
    color: var(--color-primary) !important;
}

[data-theme="dark-blue"] .prose a:hover,
[data-theme="dark-purple"] .prose a:hover {
    color: var(--color-accent) !important;
}

[data-theme="dark-blue"] .prose blockquote,
[data-theme="dark-purple"] .prose blockquote {
    border-left-color: var(--color-primary) !important;
    background-color: rgba(255, 255, 255, 0.05) !important;
    color: var(--text-secondary) !important;
}

[data-theme="dark-blue"] .prose pre,
[data-theme="dark-blue"] .prose code,
[data-theme="dark-purple"] .prose pre,
[data-theme="dark-purple"] .prose code {
    background-color: var(--color-soft) !important;
    color: var(--text-primary) !important;
}

[data-theme="dark-blue"] .prose table,
[data-theme="dark-purple"] .prose table {
    border-color: var(--border-color) !important;
}

[data-theme="dark-blue"] .prose hr,
[data-theme="dark-purple"] .prose hr {
    border-color: var(--border-color) !important;
}

[data-theme="dark-blue"] .prose img,
[data-theme="dark-purple"] .prose img {
    border-color: var(--border-color) !important;
}

/* 夜间模式 - 富文本内容样式修复 */
/* 清除从富文本编辑器复制带来的内联背景色和颜色样式 */
[data-theme="dark-blue"] .prose p[style*="background"],
[data-theme="dark-blue"] .prose span[style*="background"],
[data-theme="dark-blue"] .prose div[style*="background"],
[data-theme="dark-blue"] .prose br[style*="background"],
[data-theme="dark-purple"] .prose p[style*="background"],
[data-theme="dark-purple"] .prose span[style*="background"],
[data-theme="dark-purple"] .prose div[style*="background"],
[data-theme="dark-purple"] .prose br[style*="background"] {
    background-color: transparent !important;
    background: transparent !important;
}

/* 重置富文本中的颜色样式 */
[data-theme="dark-blue"] .prose p[style*="color"],
[data-theme="dark-blue"] .prose span[style*="color"],
[data-theme="dark-blue"] .prose div[style*="color"],
[data-theme="dark-purple"] .prose p[style*="color"],
[data-theme="dark-purple"] .prose span[style*="color"],
[data-theme="dark-purple"] .prose div[style*="color"] {
    color: var(--text-primary) !important;
}

/* 处理带有浅色背景的元素 */
[data-theme="dark-blue"] .prose [style*="background-color: rgb"],
[data-theme="dark-blue"] .prose [style*="background-color:rgb"],
[data-theme="dark-blue"] .prose [style*="background: rgb"],
[data-theme="dark-blue"] .prose [style*="background:rgb"],
[data-theme="dark-purple"] .prose [style*="background-color: rgb"],
[data-theme="dark-purple"] .prose [style*="background-color:rgb"],
[data-theme="dark-purple"] .prose [style*="background: rgb"],
[data-theme="dark-purple"] .prose [style*="background:rgb"] {
    background-color: transparent !important;
    background: transparent !important;
}

/* 处理带有浅色文字颜色的元素（如灰色文字） */
[data-theme="dark-blue"] .prose [style*="color: rgb(1"],
[data-theme="dark-blue"] .prose [style*="color:rgb(1"],
[data-theme="dark-blue"] .prose [style*="color: rgb(2"],
[data-theme="dark-blue"] .prose [style*="color:rgb(2"],
[data-theme="dark-blue"] .prose [style*="color: rgb(3"],
[data-theme="dark-blue"] .prose [style*="color:rgb(3"],
[data-theme="dark-blue"] .prose [style*="color: rgb(4"],
[data-theme="dark-blue"] .prose [style*="color:rgb(4"],
[data-theme="dark-blue"] .prose [style*="color: rgb(5"],
[data-theme="dark-blue"] .prose [style*="color:rgb(5"],
[data-theme="dark-blue"] .prose [style*="color: rgb(6"],
[data-theme="dark-blue"] .prose [style*="color:rgb(6"],
[data-theme="dark-blue"] .prose [style*="color: rgb(7"],
[data-theme="dark-blue"] .prose [style*="color:rgb(7"],
[data-theme="dark-blue"] .prose [style*="color: rgb(8"],
[data-theme="dark-blue"] .prose [style*="color:rgb(8"],
[data-theme="dark-blue"] .prose [style*="color: rgb(9"],
[data-theme="dark-blue"] .prose [style*="color:rgb(9"],
[data-theme="dark-purple"] .prose [style*="color: rgb(1"],
[data-theme="dark-purple"] .prose [style*="color:rgb(1"],
[data-theme="dark-purple"] .prose [style*="color: rgb(2"],
[data-theme="dark-purple"] .prose [style*="color:rgb(2"],
[data-theme="dark-purple"] .prose [style*="color: rgb(3"],
[data-theme="dark-purple"] .prose [style*="color:rgb(3"],
[data-theme="dark-purple"] .prose [style*="color: rgb(4"],
[data-theme="dark-purple"] .prose [style*="color:rgb(4"],
[data-theme="dark-purple"] .prose [style*="color: rgb(5"],
[data-theme="dark-purple"] .prose [style*="color:rgb(5"],
[data-theme="dark-purple"] .prose [style*="color: rgb(6"],
[data-theme="dark-purple"] .prose [style*="color:rgb(6"],
[data-theme="dark-purple"] .prose [style*="color: rgb(7"],
[data-theme="dark-purple"] .prose [style*="color:rgb(7"],
[data-theme="dark-purple"] .prose [style*="color: rgb(8"],
[data-theme="dark-purple"] .prose [style*="color:rgb(8"],
[data-theme="dark-purple"] .prose [style*="color: rgb(9"],
[data-theme="dark-purple"] .prose [style*="color:rgb(9"] {
    color: var(--text-primary) !important;
}

/* 处理白色文字 */
[data-theme="dark-blue"] .prose [style*="color: white"],
[data-theme="dark-blue"] .prose [style*="color:white"],
[data-theme="dark-blue"] .prose [style*="color: #fff"],
[data-theme="dark-blue"] .prose [style*="color:#fff"],
[data-theme="dark-blue"] .prose [style*="color: #FFF"],
[data-theme="dark-blue"] .prose [style*="color:#FFF"],
[data-theme="dark-purple"] .prose [style*="color: white"],
[data-theme="dark-purple"] .prose [style*="color:white"],
[data-theme="dark-purple"] .prose [style*="color: #fff"],
[data-theme="dark-purple"] .prose [style*="color:#fff"],
[data-theme="dark-purple"] .prose [style*="color: #FFF"],
[data-theme="dark-purple"] .prose [style*="color:#FFF"] {
    color: var(--text-primary) !important;
}

/* 游戏简介区域特殊处理 */
[data-theme="dark-blue"] .prose p,
[data-theme="dark-blue"] .prose span,
[data-theme="dark-blue"] .prose div,
[data-theme="dark-blue"] .prose br,
[data-theme="dark-purple"] .prose p,
[data-theme="dark-purple"] .prose span,
[data-theme="dark-purple"] .prose div,
[data-theme="dark-purple"] .prose br {
    background-color: transparent !important;
}

/* 夜间模式 - 攻略/资讯详情页特定样式 */
[data-theme="dark-blue"] .bg-gray-50,
[data-theme="dark-blue"] .bg-gray-100,
[data-theme="dark-purple"] .bg-gray-50,
[data-theme="dark-purple"] .bg-gray-100 {
    background-color: var(--color-soft) !important;
}

[data-theme="dark-blue"] .border-gray-200,
[data-theme="dark-blue"] .border-gray-300,
[data-theme="dark-purple"] .border-gray-200,
[data-theme="dark-purple"] .border-gray-300 {
    border-color: var(--border-color) !important;
}

/* 飘落效果容器 */
.sakura-container,
.clover-container,
.ginkgo-container,
.snow-container {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    z-index: 9999;
    overflow: hidden;
}

/* 樱花飘落 */
.sakura {
    position: absolute;
    width: 12px;
    height: 12px;
    background: linear-gradient(135deg, #ffb7c5 0%, #ffd1dc 50%, #ffb7c5 100%);
    border-radius: 50% 0 50% 50%;
    opacity: 0.8;
    animation: sakura-fall linear infinite;
    pointer-events: none;
}

.sakura::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: inherit;
    border-radius: inherit;
    transform: rotate(45deg);
}

@keyframes sakura-fall {
    0% {
        transform: translateY(-10px) translateX(0) rotate(0deg);
        opacity: 0;
    }
    10% { opacity: 0.8; }
    90% { opacity: 0.8; }
    100% {
        transform: translateY(100vh) translateX(100px) rotate(720deg);
        opacity: 0;
    }
}

@keyframes sakura-sway {
    0%, 100% { transform: translateX(0); }
    50% { transform: translateX(30px); }
}

/* 四叶草飘落 */
.clover {
    position: absolute;
    width: 16px;
    height: 16px;
    opacity: 0.7;
    animation: clover-fall linear infinite;
    pointer-events: none;
}

.clover::before,
.clover::after {
    content: '';
    position: absolute;
    width: 8px;
    height: 8px;
    background: var(--leaf-bg, linear-gradient(135deg, #4ade80 0%, #22c55e 50%, #16a34a 100%));
    border-radius: 50% 50% 50% 0;
}

.clover .leaf3,
.clover .leaf4 {
    position: absolute;
    width: 8px;
    height: 8px;
    background: var(--leaf-bg, linear-gradient(135deg, #4ade80 0%, #22c55e 50%, #16a34a 100%));
    border-radius: 50% 50% 50% 0;
}

.clover::before {
    top: 0;
    left: 50%;
    transform: translateX(-50%) rotate(-45deg);
}

.clover::after {
    top: 50%;
    left: 0;
    transform: translateY(-50%) rotate(45deg);
}

.clover .leaf3 {
    top: 50%;
    right: 0;
    transform: translateY(-50%) rotate(135deg);
}

.clover .leaf4 {
    bottom: 0;
    left: 50%;
    transform: translateX(-50%) rotate(225deg);
}

@keyframes clover-fall {
    0% {
        transform: translateY(-20px) translateX(0) rotate(0deg);
        opacity: 0;
    }
    10% { opacity: 0.7; }
    90% { opacity: 0.7; }
    100% {
        transform: translateY(100vh) translateX(-80px) rotate(360deg);
        opacity: 0;
    }
}

@keyframes clover-sway {
    0%, 100% { transform: translateX(0) rotate(0deg); }
    25% { transform: translateX(20px) rotate(5deg); }
    75% { transform: translateX(-20px) rotate(-5deg); }
}

/* 银杏叶飘落 */
.ginkgo {
    position: absolute;
    width: 20px;
    height: 20px;
    opacity: 0.8;
    animation: ginkgo-fall linear infinite;
    pointer-events: none;
}

.ginkgo::before {
    content: '';
    position: absolute;
    width: 100%;
    height: 100%;
    background: var(--ginkgo-bg, linear-gradient(135deg, #fbbf24 0%, #f59e0b 50%, #d97706 100%));
    clip-path: polygon(50% 0%, 100% 50%, 80% 100%, 50% 80%, 20% 100%, 0% 50%);
}

@keyframes ginkgo-fall {
    0% {
        transform: translateY(-20px) translateX(0) rotate(0deg);
        opacity: 0;
    }
    10% { opacity: 0.8; }
    90% { opacity: 0.8; }
    100% {
        transform: translateY(100vh) translateX(60px) rotate(360deg);
        opacity: 0;
    }
}

/* 雪花飘落 */
.snowflake {
    position: absolute;
    color: #e0f2fe;
    opacity: 0.9;
    animation: snow-fall linear infinite;
    pointer-events: none;
    text-shadow: 0 0 3px rgba(255, 255, 255, 0.8);
    line-height: 1;
}

@keyframes snow-fall {
    0% {
        transform: translateY(-20px) translateX(0) rotate(0deg);
        opacity: 0;
    }
    10% { opacity: 0.9; }
    90% { opacity: 0.9; }
    100% {
        transform: translateY(100vh) translateX(40px) rotate(360deg);
        opacity: 0;
    }
}
