* { 
    -webkit-tap-highlight-color: transparent; 
    box-sizing: border-box; 
    outline: none; 
}

body { 
    overscroll-behavior-y: none;
    background: linear-gradient(-45deg, #ffffff, #f0fdf4, #ffffff, #fefce8);
    background-size: 400% 400%;
    animation: gradientBG 15s ease infinite;
    min-height: 100vh;
}

@keyframes gradientBG {
    0% { background-position: 0% 50%; }
    50% { background-position: 100% 50%; }
    100% { background-position: 0% 50%; }
}

.dark body { 
    background: linear-gradient(-45deg, #0a0a0a, #0f172a, #0a0a0a, #064e3b);
    background-size: 400% 400%;
    animation: gradientBG 20s ease infinite;
}

::-webkit-scrollbar { 
    display: none; 
}

.no-scrollbar { 
    -ms-overflow-style: none; 
    scrollbar-width: none; 
}

.glass {
    background: rgba(255, 255, 255, 0.75);
    backdrop-filter: blur(24px);
    -webkit-backdrop-filter: blur(24px);
}

.dark .glass {
    background: rgba(10, 10, 10, 0.75);
    backdrop-filter: blur(24px);
    -webkit-backdrop-filter: blur(24px);
}

.tab-content { 
    display: none; 
}

.tab-content.active { 
    display: block; 
    animation: fadeIn 0.4s ease-out; 
}

.heart-active { 
    color: #15803d !important; 
    fill: #15803d !important; 
    animation: scaleIn 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275); 
}

.input-animated { 
    transition: all 0.3s ease; 
}

.input-animated:focus-within { 
    box-shadow: 0 0 0 3px rgba(21, 128, 61, 0.2); 
    border-color: #15803d; 
}

/* لضمان الأنيميشن المتدرج */
.stagger-item { 
    opacity: 0; 
}