 .grid {
     position: relative;
     width: 560px;
     height: 300px;
     border: 2px solid #1f2937;
     margin: 0 auto;
     background-color: #f3f4f6;
     box-shadow: 0 10px 20px rgba(0, 0, 0, 0.1);
 }

 .block,
 .user {
     position: absolute;
     width: 100px;
     height: 20px;
 }

 .user {
     background-color: #7c3aed;
     border-radius: 4px;
     box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
 }

 .ball {
     position: absolute;
     width: 20px;
     height: 20px;
     border-radius: 50%;
     background-color: #ef4444;
     box-shadow: 0 2px 6px rgba(239, 68, 68, 0.4);
 }

 /* Neon suave, legível, sem ofuscar */
 .drop-shadow-soft-neon {
     color: #e0f2fe;
     text-shadow:
         0 0 4px rgba(168, 85, 247, 0.8),
         0 0 8px rgba(168, 85, 247, 0.6),
         0 0 12px rgba(168, 85, 247, 0.4);
     animation: softPulse 2s ease-in-out infinite alternate;
 }

 @keyframes softPulse {
     from {
         text-shadow:
             0 0 4px rgba(168, 85, 247, 0.8),
             0 0 8px rgba(168, 85, 247, 0.6),
             0 0 12px rgba(168, 85, 247, 0.4);
     }

     to {
         text-shadow:
             0 0 6px rgba(168, 85, 247, 0.9),
             0 0 12px rgba(168, 85, 247, 0.7),
             0 0 18px rgba(168, 85, 247, 0.5);
     }
 }