dcrey7 commited on
Commit
3d56650
·
verified ·
1 Parent(s): 1300f27

Update static/css/styles.css

Browse files
Files changed (1) hide show
  1. static/css/styles.css +155 -306
static/css/styles.css CHANGED
@@ -1,306 +1,155 @@
1
- /* Base styling and CSS variables for consistent theming */
2
- :root {
3
- /* Color palette */
4
- --bg-primary: #0a0a0a;
5
- --bg-secondary: #1a1a1a;
6
- --text-primary: #ffffff;
7
- --text-secondary: #cccccc;
8
- --accent-red: #ff0000;
9
- --accent-green: #00ff00;
10
-
11
- /* Animation timings */
12
- --transition-speed: 0.3s;
13
-
14
- /* Spacing units */
15
- --spacing-sm: 0.5rem;
16
- --spacing-md: 1rem;
17
- --spacing-lg: 2rem;
18
- }
19
-
20
- /* Global reset and base styles */
21
- * {
22
- margin: 0;
23
- padding: 0;
24
- box-sizing: border-box;
25
- }
26
-
27
- body {
28
- font-family: 'Pixelify Sans', sans-serif;
29
- background-color: var(--bg-primary);
30
- color: var(--text-primary);
31
- line-height: 1.6;
32
- overflow-x: hidden;
33
- }
34
-
35
- /* WebGL background container */
36
- #webgl-background {
37
- position: fixed;
38
- top: 0;
39
- left: 0;
40
- width: 100vw;
41
- height: 100vh;
42
- z-index: 1;
43
- }
44
-
45
- /* Main game container */
46
- #game-container {
47
- position: relative;
48
- z-index: 2;
49
- min-height: 100vh;
50
- padding: var(--spacing-lg);
51
- display: flex;
52
- flex-direction: column;
53
- align-items: center;
54
- justify-content: center;
55
- }
56
-
57
- /* Game pages styling */
58
- .game-page {
59
- display: none;
60
- width: 100%;
61
- max-width: 800px;
62
- margin: 0 auto;
63
- padding: var(--spacing-lg);
64
- }
65
-
66
- .game-page.active {
67
- display: block;
68
- animation: fadeIn 0.5s ease-in-out;
69
- }
70
-
71
- /* Landing page specific styles */
72
- #landing-page {
73
- text-align: center;
74
- }
75
-
76
- .game-title {
77
- font-size: 4rem;
78
- margin-bottom: var(--spacing-lg);
79
- text-transform: uppercase;
80
- letter-spacing: 0.2em;
81
- }
82
-
83
- .title-emphasis {
84
- color: var(--accent-red);
85
- }
86
-
87
- /* Button styles */
88
- .button {
89
- background: transparent;
90
- border: 2px solid var(--text-primary);
91
- color: var(--text-primary);
92
- padding: var(--spacing-md) var(--spacing-lg);
93
- font-family: 'Pixelify Sans', sans-serif;
94
- font-size: 1.2rem;
95
- cursor: pointer;
96
- transition: all var(--transition-speed) ease;
97
- }
98
-
99
- .button:hover {
100
- background: var(--text-primary);
101
- color: var(--bg-primary);
102
- }
103
-
104
- .button:disabled {
105
- opacity: 0.5;
106
- cursor: not-allowed;
107
- }
108
-
109
- /* Player setup page styles */
110
- .player-grid {
111
- display: grid;
112
- grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
113
- gap: var(--spacing-md);
114
- margin-bottom: var(--spacing-lg);
115
- }
116
-
117
- .player-avatar {
118
- width: 100px;
119
- height: 100px;
120
- border-radius: 50%;
121
- border: 2px solid var(--text-primary);
122
- display: flex;
123
- align-items: center;
124
- justify-content: center;
125
- font-size: 2rem;
126
- margin: 0 auto;
127
- }
128
-
129
- /* Recording phase styles */
130
- .question-display {
131
- text-align: center;
132
- font-size: 1.5rem;
133
- margin-bottom: var(--spacing-lg);
134
- padding: var(--spacing-md);
135
- background: var(--bg-secondary);
136
- border-radius: 8px;
137
- }
138
-
139
- .timer {
140
- position: absolute;
141
- top: var(--spacing-md);
142
- left: var(--spacing-md);
143
- font-size: 2rem;
144
- color: var(--accent-red);
145
- }
146
-
147
- .recording-controls {
148
- display: flex;
149
- flex-direction: column;
150
- align-items: center;
151
- gap: var(--spacing-md);
152
- }
153
-
154
- /* Listening phase styles */
155
- .audio-player {
156
- width: 100%;
157
- margin-bottom: var(--spacing-md);
158
- }
159
-
160
- .player-list {
161
- display: flex;
162
- flex-direction: column;
163
- gap: var(--spacing-md);
164
- }
165
-
166
- /* Voting phase styles */
167
- .vote-options {
168
- display: grid;
169
- grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
170
- gap: var(--spacing-md);
171
- margin-top: var(--spacing-lg);
172
- }
173
-
174
- .vote-button {
175
- width: 100px;
176
- height: 100px;
177
- border-radius: 50%;
178
- border: 2px solid var(--text-primary);
179
- background: transparent;
180
- color: var(--text-primary);
181
- font-size: 1.5rem;
182
- cursor: pointer;
183
- transition: all var(--transition-speed) ease;
184
- }
185
-
186
- .vote-button:hover {
187
- background: var(--text-primary);
188
- color: var(--bg-primary);
189
- }
190
-
191
- /* Results page styles */
192
- .results-container {
193
- text-align: center;
194
- }
195
-
196
- .result-message {
197
- font-size: 2rem;
198
- margin-bottom: var(--spacing-lg);
199
- }
200
-
201
- .impostor-reveal {
202
- color: var(--accent-red);
203
- font-size: 1.5rem;
204
- margin-bottom: var(--spacing-lg);
205
- }
206
-
207
- /* Animation keyframes */
208
- @keyframes fadeIn {
209
- from {
210
- opacity: 0;
211
- transform: translateY(20px);
212
- }
213
- to {
214
- opacity: 1;
215
- transform: translateY(0);
216
- }
217
- }
218
-
219
- /* Settings icon */
220
- .settings-icon {
221
- position: absolute;
222
- top: var(--spacing-md);
223
- right: var(--spacing-md);
224
- font-size: 1.5rem;
225
- cursor: pointer;
226
- transition: transform var(--transition-speed) ease;
227
- }
228
-
229
- .settings-icon:hover {
230
- transform: rotate(90deg);
231
- }
232
-
233
- /* Responsive design */
234
- @media (max-width: 768px) {
235
- .game-title {
236
- font-size: 3rem;
237
- }
238
-
239
- .player-grid {
240
- grid-template-columns: repeat(2, 1fr);
241
- }
242
-
243
- .player-avatar {
244
- width: 80px;
245
- height: 80px;
246
- font-size: 1.5rem;
247
- }
248
-
249
- .question-display {
250
- font-size: 1.2rem;
251
- }
252
- }
253
-
254
- @media (max-width: 480px) {
255
- .game-title {
256
- font-size: 2rem;
257
- }
258
-
259
- .player-grid {
260
- grid-template-columns: 1fr;
261
- }
262
-
263
- .button {
264
- width: 100%;
265
- margin-bottom: var(--spacing-sm);
266
- }
267
- }
268
-
269
- /* Loading and transition states */
270
- .loading {
271
- position: fixed;
272
- top: 0;
273
- left: 0;
274
- width: 100vw;
275
- height: 100vh;
276
- background: rgba(0, 0, 0, 0.8);
277
- display: flex;
278
- align-items: center;
279
- justify-content: center;
280
- z-index: 1000;
281
- }
282
-
283
- .loading-spinner {
284
- width: 50px;
285
- height: 50px;
286
- border: 4px solid var(--text-secondary);
287
- border-top-color: var(--accent-red);
288
- border-radius: 50%;
289
- animation: spin 1s linear infinite;
290
- }
291
-
292
- @keyframes spin {
293
- to {
294
- transform: rotate(360deg);
295
- }
296
- }
297
-
298
- /* Error message styling */
299
- .error-message {
300
- background: rgba(255, 0, 0, 0.2);
301
- border: 1px solid var(--accent-red);
302
- padding: var(--spacing-md);
303
- margin: var(--spacing-md) 0;
304
- border-radius: 4px;
305
- text-align: center;
306
- }
 
1
+ /* Base styling and CSS variables for consistent theming */
2
+ :root {
3
+ /* Color palette */
4
+ --bg-primary: #0a0a0a;
5
+ --bg-secondary: #1a1a1a;
6
+ --text-primary: #ffffff;
7
+ --text-secondary: #cccccc;
8
+ --accent-red: #ff0000;
9
+ --accent-green: #00ff00;
10
+
11
+ /* Animation timings */
12
+ --transition-speed: 0.3s;
13
+
14
+ /* Spacing units */
15
+ --spacing-sm: 0.5rem;
16
+ --spacing-md: 1rem;
17
+ --spacing-lg: 2rem;
18
+ }
19
+
20
+ /* Global reset and base styles */
21
+ * {
22
+ margin: 0;
23
+ padding: 0;
24
+ box-sizing: border-box;
25
+ }
26
+
27
+ html, body {
28
+ height: 100%;
29
+ overflow: hidden; /* Prevent scrolling */
30
+ }
31
+
32
+ body {
33
+ font-family: 'Pixelify Sans', sans-serif;
34
+ background-color: var(--bg-primary);
35
+ color: var(--text-primary);
36
+ line-height: 1.6;
37
+ display: flex;
38
+ justify-content: center;
39
+ align-items: center;
40
+ }
41
+
42
+ /* WebGL background container */
43
+ #webgl-background {
44
+ position: fixed;
45
+ top: 0;
46
+ left: 0;
47
+ width: 100vw;
48
+ height: 100vh;
49
+ z-index: 1;
50
+ }
51
+
52
+ /* Main game container */
53
+ #game-container {
54
+ position: relative;
55
+ z-index: 2;
56
+ width: 854px; /* YouTube standard width */
57
+ height: 480px; /* YouTube standard height */
58
+ margin: auto;
59
+ padding: var(--spacing-lg);
60
+ display: flex;
61
+ flex-direction: column;
62
+ align-items: center;
63
+ justify-content: center;
64
+ background-color: rgba(0, 0, 0, 0.7); /* Semi-transparent background */
65
+ border-radius: 8px;
66
+ overflow: hidden; /* Contain child elements */
67
+ }
68
+
69
+ /* Game pages styling */
70
+ .game-page {
71
+ display: none;
72
+ width: 100%;
73
+ height: 100%;
74
+ position: absolute;
75
+ top: 0;
76
+ left: 0;
77
+ padding: var(--spacing-lg);
78
+ }
79
+
80
+ .game-page.active {
81
+ display: flex;
82
+ flex-direction: column;
83
+ align-items: center;
84
+ justify-content: center;
85
+ animation: fadeIn 0.5s ease-in-out;
86
+ }
87
+
88
+ /* Landing page specific styles */
89
+ #landing-page {
90
+ text-align: center;
91
+ }
92
+
93
+ .game-title {
94
+ font-size: 4rem;
95
+ margin-bottom: var(--spacing-lg);
96
+ text-transform: uppercase;
97
+ letter-spacing: 0.2em;
98
+ white-space: nowrap;
99
+ }
100
+
101
+ .title-emphasis {
102
+ color: var(--accent-red);
103
+ }
104
+
105
+ /* Button styles */
106
+ .button {
107
+ background: transparent;
108
+ border: 2px solid var(--text-primary);
109
+ color: var(--text-primary);
110
+ padding: var(--spacing-md) var(--spacing-lg);
111
+ font-family: 'Pixelify Sans', sans-serif;
112
+ font-size: 1.2rem;
113
+ cursor: pointer;
114
+ transition: all var(--transition-speed) ease;
115
+ }
116
+
117
+ .button:hover {
118
+ background: var(--text-primary);
119
+ color: var(--bg-primary);
120
+ }
121
+
122
+ .button:disabled {
123
+ opacity: 0.5;
124
+ cursor: not-allowed;
125
+ }
126
+
127
+ /* Rest of the styles remain the same... */
128
+
129
+ /* Responsive design - Modified for fixed container size */
130
+ @media (max-width: 900px) {
131
+ #game-container {
132
+ width: 640px; /* Smaller YouTube format */
133
+ height: 360px;
134
+ }
135
+
136
+ .game-title {
137
+ font-size: 3rem;
138
+ }
139
+ }
140
+
141
+ @media (max-width: 680px) {
142
+ #game-container {
143
+ width: 426px; /* Mobile-friendly size */
144
+ height: 240px;
145
+ }
146
+
147
+ .game-title {
148
+ font-size: 2rem;
149
+ }
150
+
151
+ .button {
152
+ padding: var(--spacing-sm) var(--spacing-md);
153
+ font-size: 1rem;
154
+ }
155
+ }