aicodingfun commited on
Commit
d37737e
·
verified ·
1 Parent(s): 7b6a123

Update style.css

Browse files
Files changed (1) hide show
  1. style.css +299 -18
style.css CHANGED
@@ -1,28 +1,309 @@
 
 
 
 
 
 
1
  body {
2
- padding: 2rem;
3
- font-family: -apple-system, BlinkMacSystemFont, "Arial", sans-serif;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4
  }
5
 
6
- h1 {
7
- font-size: 16px;
8
- margin-top: 0;
 
9
  }
10
 
11
- p {
12
- color: rgb(107, 114, 128);
13
- font-size: 15px;
14
- margin-bottom: 10px;
15
- margin-top: 5px;
16
  }
17
 
18
- .card {
19
- max-width: 620px;
20
- margin: 0 auto;
21
- padding: 16px;
22
- border: 1px solid lightgray;
23
- border-radius: 16px;
24
  }
25
 
26
- .card p:last-child {
27
- margin-bottom: 0;
 
 
 
 
 
 
 
28
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ * {
2
+ margin: 0;
3
+ padding: 0;
4
+ box-sizing: border-box;
5
+ }
6
+
7
  body {
8
+ font-family: 'Arial', sans-serif;
9
+ background: linear-gradient(135deg, #1a1a2e 0%, #16213e 50%, #0f3460 100%);
10
+ min-height: 100vh;
11
+ color: white;
12
+ overflow-x: hidden;
13
+ }
14
+
15
+ .container {
16
+ max-width: 1400px;
17
+ margin: 0 auto;
18
+ padding: 20px;
19
+ }
20
+
21
+ .header {
22
+ text-align: center;
23
+ margin-bottom: 40px;
24
+ position: relative;
25
+ }
26
+
27
+ .title {
28
+ font-size: 3.5rem;
29
+ font-weight: bold;
30
+ background: linear-gradient(45deg, #ff6b35, #f7931e, #ffd700);
31
+ -webkit-background-clip: text;
32
+ -webkit-text-fill-color: transparent;
33
+ background-clip: text;
34
+ text-shadow: 0 0 30px rgba(255, 107, 53, 0.3);
35
+ margin-bottom: 10px;
36
+ animation: glow 2s ease-in-out infinite alternate;
37
+ }
38
+
39
+ @keyframes glow {
40
+ from {
41
+ text-shadow: 0 0 20px rgba(255, 107, 53, 0.3);
42
+ }
43
+
44
+ to {
45
+ text-shadow: 0 0 40px rgba(255, 107, 53, 0.6);
46
+ }
47
+ }
48
+
49
+ .subtitle {
50
+ font-size: 1.2rem;
51
+ color: #b0b0b0;
52
+ margin-bottom: 30px;
53
+ }
54
+
55
+ .main-content {
56
+ display: grid;
57
+ grid-template-columns: 1fr 1fr;
58
+ gap: 40px;
59
+ align-items: start;
60
+ }
61
+
62
+ .camera-section {
63
+ background: rgba(255, 255, 255, 0.05);
64
+ backdrop-filter: blur(10px);
65
+ border-radius: 20px;
66
+ padding: 30px;
67
+ border: 1px solid rgba(255, 255, 255, 0.1);
68
+ box-shadow: 0 20px 40px rgba(0, 0, 0, 0.3);
69
+ }
70
+
71
+ .camera-header {
72
+ display: flex;
73
+ align-items: center;
74
+ justify-content: space-between;
75
+ margin-bottom: 25px;
76
+ }
77
+
78
+ .camera-title {
79
+ font-size: 1.5rem;
80
+ font-weight: bold;
81
+ color: #ffd700;
82
+ }
83
+
84
+ .status-indicator {
85
+ width: 12px;
86
+ height: 12px;
87
+ border-radius: 50%;
88
+ background: #ff4444;
89
+ animation: pulse 2s infinite;
90
+ }
91
+
92
+ .status-indicator.active {
93
+ background: #44ff44;
94
+ }
95
+
96
+ @keyframes pulse {
97
+ 0% {
98
+ transform: scale(1);
99
+ opacity: 1;
100
+ }
101
+
102
+ 50% {
103
+ transform: scale(1.2);
104
+ opacity: 0.7;
105
+ }
106
+
107
+ 100% {
108
+ transform: scale(1);
109
+ opacity: 1;
110
+ }
111
+ }
112
+
113
+ .canvas-container {
114
+ position: relative;
115
+ text-align: center;
116
+ margin-bottom: 25px;
117
+ }
118
+
119
+ #canvas {
120
+ border-radius: 15px;
121
+ border: 3px solid rgba(255, 215, 0, 0.3);
122
+ box-shadow: 0 10px 30px rgba(0, 0, 0, 0.4);
123
+ max-width: 100%;
124
+ height: auto;
125
+ }
126
+
127
+ .start-btn {
128
+ width: 100%;
129
+ padding: 15px 30px;
130
+ font-size: 1.2rem;
131
+ font-weight: bold;
132
+ background: linear-gradient(45deg, #ff6b35, #f7931e);
133
+ color: white;
134
+ border: none;
135
+ border-radius: 50px;
136
+ cursor: pointer;
137
+ transition: all 0.3s ease;
138
+ box-shadow: 0 5px 15px rgba(255, 107, 53, 0.3);
139
+ text-transform: uppercase;
140
+ letter-spacing: 1px;
141
+ }
142
+
143
+ .start-btn:hover {
144
+ transform: translateY(-2px);
145
+ box-shadow: 0 10px 25px rgba(255, 107, 53, 0.5);
146
+ }
147
+
148
+ .start-btn:active {
149
+ transform: translateY(0);
150
+ }
151
+
152
+ .results-section {
153
+ background: rgba(255, 255, 255, 0.05);
154
+ backdrop-filter: blur(10px);
155
+ border-radius: 20px;
156
+ padding: 30px;
157
+ border: 1px solid rgba(255, 255, 255, 0.1);
158
+ box-shadow: 0 20px 40px rgba(0, 0, 0, 0.3);
159
+ }
160
+
161
+ .results-title {
162
+ font-size: 1.5rem;
163
+ font-weight: bold;
164
+ color: #ffd700;
165
+ margin-bottom: 25px;
166
+ display: flex;
167
+ align-items: center;
168
+ }
169
+
170
+ #label-container {
171
+ display: flex;
172
+ flex-direction: column;
173
+ gap: 15px;
174
+ }
175
+
176
+ .prediction-item {
177
+ background: rgba(255, 255, 255, 0.08);
178
+ padding: 20px;
179
+ border-radius: 15px;
180
+ border-left: 4px solid #ffd700;
181
+ transition: all 0.3s ease;
182
+ position: relative;
183
+ overflow: hidden;
184
+ }
185
+
186
+ .prediction-item::before {
187
+ content: '';
188
+ position: absolute;
189
+ top: 0;
190
+ left: 0;
191
+ right: 0;
192
+ bottom: 0;
193
+ background: linear-gradient(90deg, transparent, rgba(255, 215, 0, 0.1), transparent);
194
+ transform: translateX(-100%);
195
+ animation: shimmer 2s infinite;
196
+ }
197
+
198
+ @keyframes shimmer {
199
+ 0% {
200
+ transform: translateX(-100%);
201
+ }
202
+
203
+ 100% {
204
+ transform: translateX(100%);
205
+ }
206
+ }
207
+
208
+ .prediction-item:hover {
209
+ transform: translateX(5px);
210
+ background: rgba(255, 255, 255, 0.12);
211
  }
212
 
213
+ .prediction-text {
214
+ font-size: 1.1rem;
215
+ font-weight: 500;
216
+ color: white;
217
  }
218
 
219
+ .footer {
220
+ text-align: center;
221
+ margin-top: 50px;
222
+ padding: 20px;
223
+ border-top: 1px solid rgba(255, 255, 255, 0.1);
224
  }
225
 
226
+ .footer-text {
227
+ color: #888;
228
+ font-size: 0.9rem;
 
 
 
229
  }
230
 
231
+ .loading-spinner {
232
+ display: none;
233
+ width: 40px;
234
+ height: 40px;
235
+ border: 4px solid rgba(255, 215, 0, 0.3);
236
+ border-top: 4px solid #ffd700;
237
+ border-radius: 50%;
238
+ animation: spin 1s linear infinite;
239
+ margin: 20px auto;
240
  }
241
+
242
+ @keyframes spin {
243
+ 0% {
244
+ transform: rotate(0deg);
245
+ }
246
+
247
+ 100% {
248
+ transform: rotate(360deg);
249
+ }
250
+ }
251
+
252
+ @media (max-width: 768px) {
253
+ .main-content {
254
+ grid-template-columns: 1fr;
255
+ gap: 20px;
256
+ }
257
+
258
+ .title {
259
+ font-size: 2.5rem;
260
+ }
261
+
262
+ .container {
263
+ padding: 15px;
264
+ }
265
+ }
266
+
267
+ /* Basketball Court Background Decoration */
268
+ .bg-decoration {
269
+ position: fixed;
270
+ top: 0;
271
+ left: 0;
272
+ width: 100%;
273
+ height: 100%;
274
+ pointer-events: none;
275
+ z-index: -1;
276
+ opacity: 0.1;
277
+ }
278
+
279
+ .court-line {
280
+ position: absolute;
281
+ background: linear-gradient(90deg, transparent, #ffd700, transparent);
282
+ height: 2px;
283
+ }
284
+
285
+ .court-line:nth-child(1) {
286
+ top: 20%;
287
+ left: 0;
288
+ width: 100%;
289
+ animation: float 6s ease-in-out infinite;
290
+ }
291
+
292
+ .court-line:nth-child(2) {
293
+ top: 60%;
294
+ left: 0;
295
+ width: 100%;
296
+ animation: float 8s ease-in-out infinite reverse;
297
+ }
298
+
299
+ @keyframes float {
300
+
301
+ 0%,
302
+ 100% {
303
+ transform: translateY(0px);
304
+ }
305
+
306
+ 50% {
307
+ transform: translateY(-10px);
308
+ }
309
+ }