.reveal { opacity: 0; transform: translateY(30px); transition: all 0.8s ease-out; }
.reveal.active { opacity: 1; transform: translateY(0); }
.bg-grid {
    background-image: linear-gradient(to right, rgba(255,255,255,0.03) 1px, transparent 1px),
                        linear-gradient(to bottom, rgba(255,255,255,0.03) 1px, transparent 1px);
    background-size: 40px 40px;
}
::-webkit-scrollbar { width: 8px; }
::-webkit-scrollbar-track { background: #050505; }
::-webkit-scrollbar-thumb { background: #222; border-radius: 4px; }
::-webkit-scrollbar-thumb:hover { background: #D4AF37; }

/* 强制 RTL 动画反向 */
html[dir="rtl"] .animate-marquee { animation-direction: reverse; }

/* 阿拉伯语下的字体覆盖与字号微调 */
html[dir="rtl"] body { font-family: 'Cairo', sans-serif; font-size: 1.05rem; }
html[dir="rtl"] .font-tech { font-family: 'Cairo', sans-serif; }

/* 确保画布层绝对置底，且不阻挡点击事件 */
#particle-canvas { position: absolute; top: 0; left: 0; width: 100%; height: 100%; z-index: 0; pointer-events: none; }