:root {
  --bg-primary: #f0fdf4;
  --bg-secondary: #e2fce8;
  --bg-card: rgba(255, 255, 255, 0.75);
  --bg-card-hover: rgba(255, 255, 255, 0.95);
  --accent-color: #059669;
  --accent-secondary: #10b981;
  --text-main: #061a12;
  --text-muted: #4a6b5d;
  --border-glass: rgba(16, 185, 129, 0.2);
  --border-glass-glow: rgba(5, 150, 105, 0.45);
  --shadow-glass: 0 20px 40px -15px rgba(5, 150, 105, 0.12), inset 0 1px 0 0 rgba(255, 255, 255, 0.9);
  --transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

body {
  font-family: 'Inter', system-ui, -apple-system, sans-serif;
  background-color: var(--bg-primary);
  color: var(--text-main);
  min-height: 100vh;
  overflow-x: hidden;
  position: relative;
  display: flex;
  flex-direction: column;
}

/* Sfondo Mesh Gradient Dinamico e Continuamente in Movimento */
body::before, body::after {
  content: '';
  position: fixed;
  width: 70vw;
  height: 70vw;
  border-radius: 50%;
  z-index: -1;
  pointer-events: none;
  filter: blur(110px);
  opacity: 0.65;
}

body::before {
  top: -30%;
  left: -20%;
  background: radial-gradient(circle, rgba(16, 185, 129, 0.35) 0%, rgba(52, 211, 153, 0.15) 50%, transparent 100%);
  animation: dynamicMesh1 12s ease-in-out infinite alternate;
}

body::after {
  bottom: -30%;
  right: -20%;
  background: radial-gradient(circle, rgba(110, 231, 183, 0.4) 0%, rgba(255, 255, 255, 0.6) 50%, transparent 100%);
  animation: dynamicMesh2 15s ease-in-out infinite alternate;
}

@keyframes dynamicMesh1 {
  0% { transform: translate(0, 0) scale(1) rotate(0deg); }
  50% { transform: translate(80px, 50px) scale(1.15) rotate(45deg); }
  100% { transform: translate(-40px, 80px) scale(0.95) rotate(90deg); }
}

@keyframes dynamicMesh2 {
  0% { transform: translate(0, 0) scale(1) rotate(0deg); }
  50% { transform: translate(-70px, -60px) scale(1.2) rotate(-45deg); }
  100% { transform: translate(50px, -40px) scale(1.05) rotate(-90deg); }
}