/* SOFT UPDATE - Noir adouci + Animations */
body { background: linear-gradient(135deg, #12121a 0%, #0f0f16 50%, #12121a 100%) !important; color: #e8e8ec; }
@keyframes fadeInUp { from { opacity: 0; transform: translateY(15px); } to { opacity: 1; transform: translateY(0); } }
.site-content { animation: fadeInUp 0.6s ease-out; }
.glass-card, .card { transition: all 0.4s cubic-bezier(0.4,0,0.2,1); }
.glass-card:hover, .card:hover { transform: translateY(-3px); box-shadow: 0 20px 40px rgba(0,0,0,0.4); }
button, .btn { transition: all 0.3s ease; position: relative; overflow: hidden; }
button:hover, .btn:hover { transform: translateY(-2px); box-shadow: 0 10px 30px rgba(6,182,212,0.25); }
@keyframes shimmer { to { background-position: 200% center; } }
.gradient-text { animation: shimmer 4s linear infinite; background-size: 200% auto; }
a:not(.btn) { position: relative; text-decoration: none; }
a:not(.btn)::after { content: ''; position: absolute; bottom: -2px; left: 0; width: 0; height: 1px; background: linear-gradient(90deg, #06b6d4, #22d3ee); transition: width 0.3s ease; }
a:not(.btn):hover::after { width: 100%; }
img { transition: transform 0.5s ease; }
.card:hover img { transform: scale(1.03); }
input:focus, textarea:focus { box-shadow: 0 0 0 3px rgba(34,211,238,0.1); border-color: rgba(34,211,238,0.4); transition: all 0.3s ease; }
::selection { background: rgba(6,182,212,0.25); color: #fff; }
::-webkit-scrollbar { width: 8px; }
::-webkit-scrollbar-track { background: #12121a; }
::-webkit-scrollbar-thumb { background: #2a2a3a; border-radius: 4px; }
::-webkit-scrollbar-thumb:hover { background: #3a3a4a; }
