Lucatastik commited on
Commit
9a53344
·
verified ·
1 Parent(s): 73feb35

CSS de la page d'accueil

Browse files
Files changed (1) hide show
  1. style.css +228 -313
style.css CHANGED
@@ -1,411 +1,326 @@
1
- * {
2
- margin: 0;
3
- padding: 0;
4
- box-sizing: border-box;
5
  }
6
 
7
- body {
8
- font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
9
- line-height: 1.6;
10
- color: #333;
11
- background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
12
- min-height: 100vh;
 
 
 
 
 
 
 
 
 
 
13
  }
14
 
15
- .hero {
16
- background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
17
- color: white;
18
- padding: 4rem 2rem;
19
- text-align: center;
 
 
 
20
  }
21
 
22
- .hero-content {
23
- max-width: 800px;
24
- margin: 0 auto;
25
- }
26
 
27
- .app-icon {
28
- font-size: 4rem;
29
- margin-bottom: 1rem;
30
- display: inline-block;
 
 
31
  }
32
 
33
- .hero h1 {
34
- font-size: 3rem;
35
- font-weight: 700;
36
- margin-bottom: 1rem;
37
- background: linear-gradient(45deg, #fff, #f0f9ff);
38
- background-clip: text;
39
- -webkit-background-clip: text;
40
- -webkit-text-fill-color: transparent;
41
  }
42
 
43
- .tagline {
44
- font-size: 1.25rem;
45
- opacity: 0.9;
46
- max-width: 600px;
47
- margin: 0 auto;
 
48
  }
49
 
50
- .container {
51
- max-width: 1200px;
52
- margin: 0 auto;
53
- padding: 0 2rem;
54
- position: relative;
55
- z-index: 2;
56
  }
57
 
58
- .main-card {
59
- background: white;
60
- border-radius: 20px;
61
- box-shadow: 0 20px 40px rgba(0, 0, 0, 0.1);
62
- margin-top: -2rem;
63
- overflow: hidden;
64
- margin-bottom: 3rem;
65
  }
66
 
67
- .app-preview {
68
- background: linear-gradient(135deg, #1e3a8a, #3b82f6);
69
- padding: 3rem;
70
- color: white;
71
- text-align: center;
72
- position: relative;
73
  }
74
 
75
- .preview-image {
76
- background: #000;
77
- border-radius: 15px;
78
- padding: 2rem;
79
- max-width: 500px;
80
- margin: 0 auto;
81
- position: relative;
82
- overflow: hidden;
 
83
  }
84
 
85
- .camera-feed {
86
- font-size: 4rem;
87
- margin-bottom: 1rem;
88
- opacity: 0.7;
89
- }
90
 
91
- .detection-overlay {
92
- position: absolute;
93
- top: 50%;
94
- left: 50%;
95
- transform: translate(-50%, -50%);
96
- width: 100%;
 
97
  }
98
 
99
- .bbox {
100
- background: rgba(34, 197, 94, 0.9);
101
- color: white;
102
- padding: 0.5rem 1rem;
103
- border-radius: 8px;
104
- font-size: 0.9rem;
105
- font-weight: 600;
106
- margin: 0.5rem;
107
- display: inline-block;
108
- border: 2px solid #22c55e;
109
  }
110
 
111
- .app-details {
112
- padding: 3rem;
113
- }
114
 
115
- .app-details h2 {
116
- font-size: 2rem;
117
- color: #1e293b;
118
- margin-bottom: 2rem;
119
- text-align: center;
120
  }
121
 
122
- .template-info {
123
- display: grid;
124
- grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
125
- gap: 2rem;
126
- margin-bottom: 3rem;
 
127
  }
128
 
129
- .info-box {
130
- background: #f0f9ff;
131
- border: 2px solid #e0f2fe;
132
- border-radius: 12px;
133
- padding: 2rem;
 
 
 
134
  }
135
 
136
- .info-box h3 {
137
- color: #0c4a6e;
138
- margin-bottom: 1rem;
139
- font-size: 1.2rem;
140
  }
141
 
142
- .info-box p {
143
- color: #0369a1;
144
- line-height: 1.6;
 
 
145
  }
146
 
147
- .how-to-use {
148
- background: #fefce8;
149
- border: 2px solid #fde047;
150
- border-radius: 12px;
151
- padding: 2rem;
152
- margin-top: 3rem;
153
- }
154
 
155
- .how-to-use h3 {
156
- color: #a16207;
157
- margin-bottom: 1.5rem;
158
- font-size: 1.3rem;
159
- text-align: center;
160
  }
161
 
162
  .steps {
163
- display: flex;
164
- flex-direction: column;
165
- gap: 1.5rem;
166
  }
167
 
168
  .step {
169
- display: flex;
170
- align-items: flex-start;
171
- gap: 1rem;
172
- }
173
-
174
- .step-number {
175
- background: #eab308;
176
- color: white;
177
- width: 2rem;
178
- height: 2rem;
179
- border-radius: 50%;
180
- display: flex;
181
- align-items: center;
182
- justify-content: center;
183
- font-weight: bold;
184
- flex-shrink: 0;
185
- }
186
-
187
- .step h4 {
188
- color: #a16207;
189
- margin-bottom: 0.5rem;
190
- font-size: 1.1rem;
191
  }
192
 
193
- .step p {
194
- color: #ca8a04;
 
195
  }
196
 
197
- .download-card {
198
- background: white;
199
- border-radius: 20px;
200
- box-shadow: 0 20px 40px rgba(0, 0, 0, 0.1);
201
- padding: 3rem;
202
- text-align: center;
203
  }
204
 
205
- .download-card h2 {
206
- font-size: 2rem;
207
- color: #1e293b;
208
- margin-bottom: 1rem;
209
  }
210
 
211
- .download-card>p {
212
- color: #64748b;
213
- font-size: 1.1rem;
214
- margin-bottom: 2rem;
215
  }
216
 
217
- .dashboard-config {
218
- margin-bottom: 2rem;
219
- text-align: left;
220
- max-width: 400px;
221
- margin-left: auto;
222
- margin-right: auto;
223
  }
224
 
225
- .dashboard-config label {
226
- display: block;
227
- color: #374151;
228
- font-weight: 600;
229
- margin-bottom: 0.5rem;
230
- }
231
 
232
- .dashboard-config input {
233
- width: 100%;
234
- padding: 0.75rem 1rem;
235
- border: 2px solid #e5e7eb;
236
- border-radius: 8px;
237
- font-size: 0.95rem;
238
- transition: border-color 0.2s;
239
  }
240
 
241
- .dashboard-config input:focus {
242
- outline: none;
243
- border-color: #667eea;
 
 
 
244
  }
245
 
246
- .install-btn {
247
- background: linear-gradient(135deg, #667eea, #764ba2);
248
- color: white;
249
- border: none;
250
- padding: 1.25rem 3rem;
251
- border-radius: 16px;
252
- font-size: 1.2rem;
253
- font-weight: 700;
254
- cursor: pointer;
255
- transition: all 0.3s ease;
256
- display: inline-flex;
257
- align-items: center;
258
- gap: 0.75rem;
259
- margin-bottom: 2rem;
260
- box-shadow: 0 8px 25px rgba(102, 126, 234, 0.3);
261
  }
262
 
263
- .install-btn:hover:not(:disabled) {
264
- transform: translateY(-3px);
265
- box-shadow: 0 15px 35px rgba(102, 126, 234, 0.4);
 
 
266
  }
267
 
268
- .install-btn:disabled {
269
- opacity: 0.7;
270
- cursor: not-allowed;
271
- transform: none;
 
 
 
 
 
 
 
272
  }
273
 
274
- .manual-option {
275
- background: #f8fafc;
276
- border-radius: 12px;
277
- padding: 2rem;
278
- margin-top: 2rem;
279
  }
280
 
281
- .manual-option h3 {
282
- color: #1e293b;
283
- margin-bottom: 1rem;
284
- font-size: 1.2rem;
 
 
285
  }
286
 
287
- .manual-option>p {
288
- color: #64748b;
289
- margin-bottom: 1rem;
290
- }
291
 
292
- .btn-icon {
293
- font-size: 1.1rem;
294
  }
295
 
296
- .install-status {
297
- padding: 1rem;
298
- border-radius: 8px;
299
- font-size: 0.9rem;
300
- text-align: center;
301
- display: none;
302
- margin-top: 1rem;
303
  }
304
 
305
- .install-status.success {
306
- background: #dcfce7;
307
- color: #166534;
308
- border: 1px solid #bbf7d0;
 
 
 
 
 
309
  }
310
 
311
- .install-status.error {
312
- background: #fef2f2;
313
- color: #dc2626;
314
- border: 1px solid #fecaca;
315
- }
316
-
317
- .install-status.loading {
318
- background: #dbeafe;
319
- color: #1d4ed8;
320
- border: 1px solid #bfdbfe;
321
- }
322
 
323
- .install-status.info {
324
- background: #e0f2fe;
325
- color: #0369a1;
326
- border: 1px solid #7dd3fc;
327
  }
328
 
329
- .manual-install {
330
- background: #1f2937;
331
- border-radius: 8px;
332
- padding: 1rem;
333
- margin-bottom: 1rem;
334
- display: flex;
335
- align-items: center;
336
- gap: 1rem;
337
  }
338
 
339
- .manual-install code {
340
- color: #10b981;
341
- font-family: 'SF Mono', 'Monaco', 'Inconsolata', 'Roboto Mono', monospace;
342
- font-size: 0.85rem;
343
- flex: 1;
344
- overflow-x: auto;
345
  }
346
 
347
- .copy-btn {
348
- background: #374151;
349
- color: white;
350
- border: none;
351
- padding: 0.5rem 1rem;
352
- border-radius: 6px;
353
- font-size: 0.8rem;
354
- cursor: pointer;
355
- transition: background-color 0.2s;
356
  }
357
 
358
- .copy-btn:hover {
359
- background: #4b5563;
360
- }
361
 
362
- .manual-steps {
363
- color: #6b7280;
364
- font-size: 0.9rem;
365
- line-height: 1.8;
366
  }
367
 
368
- .footer {
369
- text-align: center;
370
- padding: 2rem;
371
- color: white;
372
- opacity: 0.8;
373
  }
374
 
375
- .footer a {
376
- color: white;
377
- text-decoration: none;
378
- font-weight: 600;
379
  }
380
 
381
- .footer a:hover {
382
- text-decoration: underline;
383
  }
384
 
385
- /* Responsive Design */
386
- @media (max-width: 768px) {
387
- .hero {
388
- padding: 2rem 1rem;
389
- }
390
-
391
- .hero h1 {
392
- font-size: 2rem;
393
- }
394
-
395
- .container {
396
- padding: 0 1rem;
397
- }
398
-
399
- .app-details,
400
- .download-card {
401
- padding: 2rem;
402
- }
403
-
404
- .features-grid {
405
- grid-template-columns: 1fr;
406
- }
407
 
408
- .download-options {
409
- grid-template-columns: 1fr;
410
- }
 
 
411
  }
 
1
+ *, *::before, *::after {
2
+ box-sizing: border-box;
3
+ margin: 0;
4
+ padding: 0;
5
  }
6
 
7
+ :root {
8
+ --bg: #0e0e0f;
9
+ --bg-panel: #141416;
10
+ --bg-input: #1a1a1d;
11
+ --border: #2a2a2e;
12
+ --border-active:#404046;
13
+ --text-primary: #f0eee8;
14
+ --text-secondary:#6b6b72;
15
+ --text-muted: #3d3d42;
16
+ --accent: #c8fa64;
17
+ --accent-dim: #8fba2a;
18
+ --accent-bg: #1a2408;
19
+ --font-display: 'Syne', sans-serif;
20
+ --font-mono: 'DM Mono', monospace;
21
+ --radius: 6px;
22
+ --radius-lg: 10px;
23
  }
24
 
25
+ html, body {
26
+ background: var(--bg);
27
+ color: var(--text-primary);
28
+ font-family: var(--font-mono);
29
+ font-size: 13px;
30
+ line-height: 1.6;
31
+ -webkit-font-smoothing: antialiased;
32
+ min-height: 100vh;
33
  }
34
 
 
 
 
 
35
 
36
+ header {
37
+ display: flex;
38
+ align-items: center;
39
+ justify-content: space-between;
40
+ padding: 20px 40px;
41
+ border-bottom: 1px solid var(--border);
42
  }
43
 
44
+ .logo {
45
+ display: flex;
46
+ align-items: center;
47
+ gap: 10px;
 
 
 
 
48
  }
49
 
50
+ .logo-dot {
51
+ width: 8px;
52
+ height: 8px;
53
+ background: var(--accent);
54
+ border-radius: 50%;
55
+ animation: pulse 2.4s ease-in-out infinite;
56
  }
57
 
58
+ @keyframes pulse {
59
+ 0%, 100% { opacity: 1; transform: scale(1); }
60
+ 50% { opacity: 0.4; transform: scale(0.8); }
 
 
 
61
  }
62
 
63
+ .logo-text {
64
+ font-family: var(--font-display);
65
+ font-size: 17px;
66
+ font-weight: 700;
67
+ letter-spacing: -0.02em;
68
+ color: var(--text-primary);
 
69
  }
70
 
71
+ .logo-text em {
72
+ font-style: normal;
73
+ color: var(--accent);
 
 
 
74
  }
75
 
76
+ .header-badge {
77
+ font-size: 10px;
78
+ font-weight: 500;
79
+ letter-spacing: 0.1em;
80
+ text-transform: uppercase;
81
+ color: var(--text-muted);
82
+ border: 1px solid var(--border);
83
+ border-radius: 4px;
84
+ padding: 3px 9px;
85
  }
86
 
 
 
 
 
 
87
 
88
+ main {
89
+ max-width: 900px;
90
+ margin: 0 auto;
91
+ padding: 0 40px 80px;
92
+ display: flex;
93
+ flex-direction: column;
94
+ gap: 1px;
95
  }
96
 
97
+ .section-label {
98
+ font-size: 10px;
99
+ font-weight: 500;
100
+ letter-spacing: 0.14em;
101
+ text-transform: uppercase;
102
+ color: var(--text-muted);
103
+ margin-bottom: 28px;
 
 
 
104
  }
105
 
 
 
 
106
 
107
+ .hero {
108
+ padding: 72px 0 64px;
109
+ border-bottom: 1px solid var(--border);
 
 
110
  }
111
 
112
+ .hero-label {
113
+ font-size: 10px;
114
+ letter-spacing: 0.14em;
115
+ text-transform: uppercase;
116
+ color: var(--text-muted);
117
+ margin-bottom: 28px;
118
  }
119
 
120
+ .hero-title {
121
+ font-family: var(--font-display);
122
+ font-size: clamp(42px, 7vw, 76px);
123
+ font-weight: 800;
124
+ line-height: 1.0;
125
+ letter-spacing: -0.03em;
126
+ color: var(--text-primary);
127
+ margin-bottom: 32px;
128
  }
129
 
130
+ .hero-title em {
131
+ font-style: normal;
132
+ color: var(--accent);
 
133
  }
134
 
135
+ .hero-desc {
136
+ font-size: 14px;
137
+ color: var(--text-secondary);
138
+ line-height: 1.75;
139
+ max-width: 520px;
140
  }
141
 
 
 
 
 
 
 
 
142
 
143
+ .how {
144
+ padding: 60px 0;
145
+ border-bottom: 1px solid var(--border);
 
 
146
  }
147
 
148
  .steps {
149
+ display: flex;
150
+ flex-direction: column;
151
+ gap: 2px;
152
  }
153
 
154
  .step {
155
+ display: flex;
156
+ align-items: flex-start;
157
+ gap: 24px;
158
+ padding: 20px 16px;
159
+ border-radius: var(--radius);
160
+ border: 1px solid transparent;
161
+ transition: border-color 0.15s, background 0.15s;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
162
  }
163
 
164
+ .step:hover {
165
+ background: var(--bg-panel);
166
+ border-color: var(--border);
167
  }
168
 
169
+ .step-n {
170
+ font-size: 10px;
171
+ color: var(--text-muted);
172
+ font-weight: 500;
173
+ min-width: 24px;
174
+ padding-top: 2px;
175
  }
176
 
177
+ .step-body {
178
+ display: flex;
179
+ flex-direction: column;
180
+ gap: 4px;
181
  }
182
 
183
+ .step-title {
184
+ font-size: 13px;
185
+ color: var(--text-primary);
186
+ font-weight: 500;
187
  }
188
 
189
+ .step-desc {
190
+ font-size: 12px;
191
+ color: var(--text-secondary);
192
+ line-height: 1.6;
 
 
193
  }
194
 
 
 
 
 
 
 
195
 
196
+ .install-section {
197
+ padding: 60px 0;
198
+ border-bottom: 1px solid var(--border);
 
 
 
 
199
  }
200
 
201
+ .install-desc {
202
+ font-size: 13px;
203
+ color: var(--text-secondary);
204
+ line-height: 1.75;
205
+ max-width: 540px;
206
+ margin-bottom: 32px;
207
  }
208
 
209
+ .mono {
210
+ font-family: var(--font-mono);
211
+ color: var(--accent-dim);
 
 
 
 
 
 
 
 
 
 
 
 
212
  }
213
 
214
+ .install-steps {
215
+ display: flex;
216
+ flex-direction: column;
217
+ gap: 2px;
218
+ max-width: 560px;
219
  }
220
 
221
+ .istep {
222
+ display: flex;
223
+ align-items: baseline;
224
+ gap: 20px;
225
+ padding: 16px;
226
+ border-radius: var(--radius);
227
+ border: 1px solid transparent;
228
+ font-size: 13px;
229
+ color: var(--text-secondary);
230
+ line-height: 1.7;
231
+ transition: border-color 0.15s, background 0.15s;
232
  }
233
 
234
+ .istep:hover {
235
+ background: var(--bg-panel);
236
+ border-color: var(--border);
 
 
237
  }
238
 
239
+ .istep-n {
240
+ font-size: 10px;
241
+ color: var(--text-muted);
242
+ font-weight: 500;
243
+ min-width: 20px;
244
+ flex-shrink: 0;
245
  }
246
 
 
 
 
 
247
 
248
+ .team-section {
249
+ padding: 60px 0 0;
250
  }
251
 
252
+ .team-grid {
253
+ display: flex;
254
+ flex-direction: column;
255
+ gap: 2px;
 
 
 
256
  }
257
 
258
+ .member {
259
+ display: flex;
260
+ align-items: center;
261
+ gap: 20px;
262
+ padding: 16px;
263
+ border-radius: var(--radius);
264
+ border: 1px solid transparent;
265
+ transition: border-color 0.15s, background 0.15s;
266
+ animation: slide-in 0.3s ease both;
267
  }
268
 
269
+ .member:nth-child(1) { animation-delay: 0.0s; }
270
+ .member:nth-child(2) { animation-delay: 0.06s; }
271
+ .member:nth-child(3) { animation-delay: 0.12s; }
 
 
 
 
 
 
 
 
272
 
273
+ @keyframes slide-in {
274
+ from { opacity: 0; transform: translateY(8px); }
275
+ to { opacity: 1; transform: translateY(0); }
 
276
  }
277
 
278
+ .member:hover {
279
+ background: var(--bg-panel);
280
+ border-color: var(--border);
 
 
 
 
 
281
  }
282
 
283
+ .member-index {
284
+ font-size: 11px;
285
+ color: var(--accent);
286
+ min-width: 16px;
 
 
287
  }
288
 
289
+ .member-name {
290
+ font-family: var(--font-display);
291
+ font-size: 16px;
292
+ font-weight: 600;
293
+ color: var(--text-primary);
294
+ letter-spacing: -0.01em;
 
 
 
295
  }
296
 
 
 
 
297
 
298
+ footer {
299
+ border-top: 1px solid var(--border);
300
+ padding: 20px 40px;
301
+ text-align: center;
302
  }
303
 
304
+ .footer-text {
305
+ font-size: 11px;
306
+ color: var(--text-muted);
307
+ letter-spacing: 0.04em;
 
308
  }
309
 
310
+ .footer-text a {
311
+ color: var(--text-secondary);
312
+ text-decoration: none;
313
+ transition: color 0.15s;
314
  }
315
 
316
+ .footer-text a:hover {
317
+ color: var(--accent);
318
  }
319
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
320
 
321
+ @media (max-width: 600px) {
322
+ header { padding: 16px 20px; }
323
+ main { padding: 0 20px 60px; }
324
+ footer { padding: 16px 20px; }
325
+ .hero { padding: 48px 0 40px; }
326
  }