File size: 1,518 Bytes
86134e2
 
 
5eaef9a
 
86134e2
 
5eaef9a
 
86134e2
 
5eaef9a
 
86134e2
 
5eaef9a
 
86134e2
 
5eaef9a
86134e2
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
/* Custom Styles for BounceBox Simulator */
.control-btn {
    @apply flex items-center justify-center p-3 border-2 border-gray-200 rounded-lg text-sm font-medium text-gray-700 transition-all duration-200 hover:border-blue-500 hover:text-blue-600;
}

.control-btn.active {
    @apply border-blue-500 bg-blue-50 text-blue-600;
}

.btn-primary {
    @apply flex items-center justify-center p-3 bg-blue-600 text-white rounded-lg font-medium transition-all duration-200 hover:bg-blue-700 transform hover:scale-105;
}

.btn-secondary {
    @apply flex items-center justify-center p-3 bg-gray-200 text-gray-700 rounded-lg font-medium transition-all duration-200 hover:bg-gray-300 transform hover:scale-105;
}

.slider {
    background: linear-gradient(to right, #3b82f6 0%, #3b82f6 50%, #e5e7eb 50%, #e5e7eb 100%);
}

.slider::-webkit-slider-thumb {
    @apply appearance-none h-5 w-5 bg-white border-2 border-blue-600 rounded-full cursor-pointer shadow-lg;
}

.slider::-moz-range-thumb {
    @apply h-5 w-5 bg-white border-2 border-blue-600 rounded-full cursor-pointer shadow-lg;
}

/* Canvas styling */
#simulationCanvas {
    cursor: crosshair;
}

/* Animation for bounce counter */
@keyframes bounce {
    0%, 20%, 53%, 80%, 100% {
        transform: translate3d(0,0,0);
    }
    40%, 43% {
        transform: translate3d(0,-8px,0);
    }
    70% {
        transform: translate3d(0,-4px,0);
    }
    90% {
        transform: translate3d(0,-2px,0);
    }
}

.bounce-animation {
    animation: bounce 0.6s ease-in-out;
}