/* Google 风加载动画 */
#global-loader {
    position: fixed; top: 0; left: 0; width: 100%; height: 100%;
    background: rgba(245, 245, 247, 0.9); backdrop-filter: blur(10px);
    z-index: 99999; display: flex; align-items: center; justify-content: center;
    transition: opacity 0.5s ease;
}
.google-spinner {
    width: 50px; height: 50px;
    border: 4px solid #e5e5ea;
    border-top: 4px solid #d6336c;
    border-radius: 50%;
    animation: spin 1s cubic-bezier(0.4, 0, 0.2, 1) infinite;
}
@keyframes spin { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } }

/* 爱心光标特效 */
.heart-particle {
    position: fixed; pointer-events: none; z-index: 9999;
    font-size: 16px; color: #ff4d6d;
    animation: heart-fly 1s ease-out forwards;
}
@keyframes heart-fly {
    0% { opacity: 1; transform: translate(0, 0) scale(1); }
    100% { opacity: 0; transform: translate(var(--tx), var(--ty)) scale(0.5); }
}

/* VIP 发光头像框 */
.vip-frame {
    border: 3px solid transparent;
    background: linear-gradient(#fff, #fff) padding-box, linear-gradient(45deg, #d4af37, #ff9a9e, #a18cd1) border-box;
    box-shadow: 0 0 15px rgba(212, 175, 55, 0.6);
    animation: vip-glow 2s infinite alternate;
}
@keyframes vip-glow { 
    0% { box-shadow: 0 0 10px rgba(212, 175, 55, 0.4); } 
    100% { box-shadow: 0 0 25px rgba(212, 175, 55, 0.9); } 
}