cjc0013 commited on
Commit
1549ae8
·
verified ·
1 Parent(s): fb387d3

Force explicit dark palette and text contrast across all cards

Browse files
Files changed (1) hide show
  1. public_space_app.py +41 -37
public_space_app.py CHANGED
@@ -247,49 +247,49 @@ def _space_css() -> str:
247
  padding-bottom: 48px !important;
248
  }
249
  .hero-panel {
250
- background: linear-gradient(135deg, #fff8ed 0%, #f5eee2 100%);
251
- border: 1px solid #e6d8bf;
252
  border-radius: 24px;
253
  padding: 28px;
254
  margin: 6px 0 20px 0;
255
- box-shadow: 0 10px 30px rgba(62, 46, 14, 0.08);
256
  }
257
  .hero-eyebrow {
258
  font-size: 0.82rem;
259
  font-weight: 700;
260
  letter-spacing: 0.08em;
261
  text-transform: uppercase;
262
- color: #8a6220;
263
  margin-bottom: 8px;
264
  }
265
  .hero-title {
266
  font-size: 2.2rem;
267
  line-height: 1.1;
268
  font-weight: 800;
269
- color: #1f2b2d;
270
  margin: 0 0 12px 0;
271
  }
272
  .hero-lede {
273
  font-size: 1.05rem;
274
  line-height: 1.6;
275
- color: #334244;
276
  margin: 0 0 10px 0;
277
  max-width: 900px;
278
  }
279
  .hero-note {
280
  font-size: 0.98rem;
281
  line-height: 1.5;
282
- color: #5f4e2a;
283
- background: rgba(255,255,255,0.72);
284
- border: 1px solid #eadcbf;
285
  border-radius: 14px;
286
  padding: 12px 14px;
287
  margin-top: 14px;
288
  }
289
  .gradio-container .prose .hero-note strong {
290
- color: #6b2d00 !important;
291
- background: #fff1d7 !important;
292
- border: 1px solid #e7c78d !important;
293
  border-radius: 999px;
294
  padding: 3px 8px;
295
  margin-right: 6px;
@@ -307,42 +307,42 @@ def _space_css() -> str:
307
  margin: 10px 0 22px 0;
308
  }
309
  .stat-card, .story-card, .source-card, .glossary-card, .result-card {
310
- background: #fffdf8;
311
- border: 1px solid #e7dcc8;
312
  border-radius: 18px;
313
  padding: 16px 18px;
314
- box-shadow: 0 6px 18px rgba(40, 31, 9, 0.05);
315
  }
316
  .stat-label {
317
  font-size: 0.82rem;
318
  font-weight: 700;
319
  text-transform: uppercase;
320
  letter-spacing: 0.06em;
321
- color: #8b6b2e;
322
  margin-bottom: 8px;
323
  }
324
  .stat-value {
325
  font-size: 1.9rem;
326
  font-weight: 800;
327
- color: #1f2b2d;
328
  line-height: 1;
329
  margin-bottom: 6px;
330
  }
331
  .stat-help {
332
  font-size: 0.92rem;
333
- color: #5b5b5b;
334
  line-height: 1.45;
335
  }
336
  .story-title, .source-title, .glossary-title {
337
  font-size: 1rem;
338
  font-weight: 800;
339
- color: #1f2b2d;
340
  margin-bottom: 6px;
341
  }
342
  .story-body, .source-body, .glossary-body {
343
  font-size: 0.95rem;
344
  line-height: 1.55;
345
- color: #435153;
346
  }
347
  .source-table {
348
  width: 100%;
@@ -351,18 +351,21 @@ def _space_css() -> str:
351
  font-size: 0.95rem;
352
  }
353
  .source-table th, .source-table td {
354
- border-top: 1px solid #eadfcf;
355
  padding: 12px 10px;
356
  text-align: left;
357
  vertical-align: top;
358
  }
359
  .source-table th {
360
- color: #7a5b20;
361
  font-size: 0.82rem;
362
  text-transform: uppercase;
363
  letter-spacing: 0.06em;
364
  width: 32%;
365
  }
 
 
 
366
  .glossary-list {
367
  display: grid;
368
  gap: 10px;
@@ -370,11 +373,11 @@ def _space_css() -> str:
370
  }
371
  .glossary-item strong {
372
  display: block;
373
- color: #1f2b2d;
374
  margin-bottom: 2px;
375
  }
376
  .section-kicker {
377
- color: #8a6220;
378
  font-size: 0.84rem;
379
  font-weight: 700;
380
  letter-spacing: 0.06em;
@@ -396,7 +399,7 @@ def _space_css() -> str:
396
  .result-rank {
397
  font-size: 0.78rem;
398
  font-weight: 700;
399
- color: #8b6b2e;
400
  text-transform: uppercase;
401
  letter-spacing: 0.06em;
402
  margin-bottom: 4px;
@@ -404,12 +407,12 @@ def _space_css() -> str:
404
  .result-title {
405
  font-size: 1.12rem;
406
  font-weight: 800;
407
- color: #1f2b2d;
408
  line-height: 1.2;
409
  margin-bottom: 4px;
410
  }
411
  .result-subtitle {
412
- color: #546365;
413
  font-size: 0.93rem;
414
  }
415
  .metric-stack {
@@ -431,8 +434,9 @@ def _space_css() -> str:
431
  color: white;
432
  }
433
  .strength-pill {
434
- background: #f3e4b9;
435
- color: #5a470d;
 
436
  }
437
  .chip-row {
438
  display: flex;
@@ -441,8 +445,8 @@ def _space_css() -> str:
441
  margin: 12px 0 10px 0;
442
  }
443
  .chip {
444
- background: #f2ede2;
445
- color: #4a4a4a;
446
  }
447
  .meta-grid {
448
  display: grid;
@@ -450,11 +454,11 @@ def _space_css() -> str:
450
  gap: 10px;
451
  margin-top: 10px;
452
  font-size: 0.9rem;
453
- color: #465558;
454
  }
455
  .meta-grid strong {
456
  display: block;
457
- color: #1f2b2d;
458
  margin-bottom: 2px;
459
  font-size: 0.82rem;
460
  text-transform: uppercase;
@@ -463,14 +467,14 @@ def _space_css() -> str:
463
  .result-hint {
464
  margin-top: 12px;
465
  font-size: 0.88rem;
466
- color: #7a5b20;
467
  }
468
  .panel-note {
469
- background: #fffdf8;
470
- border: 1px solid #e7dcc8;
471
  border-radius: 18px;
472
  padding: 14px 16px;
473
- color: #4b4b4b;
474
  margin-bottom: 12px;
475
  }
476
  .gradio-container .prose,
 
247
  padding-bottom: 48px !important;
248
  }
249
  .hero-panel {
250
+ background: linear-gradient(135deg, #161c24 0%, #202733 100%);
251
+ border: 1px solid rgba(212, 162, 74, 0.34);
252
  border-radius: 24px;
253
  padding: 28px;
254
  margin: 6px 0 20px 0;
255
+ box-shadow: 0 14px 34px rgba(0, 0, 0, 0.34);
256
  }
257
  .hero-eyebrow {
258
  font-size: 0.82rem;
259
  font-weight: 700;
260
  letter-spacing: 0.08em;
261
  text-transform: uppercase;
262
+ color: #d4a24a;
263
  margin-bottom: 8px;
264
  }
265
  .hero-title {
266
  font-size: 2.2rem;
267
  line-height: 1.1;
268
  font-weight: 800;
269
+ color: #fff4e1;
270
  margin: 0 0 12px 0;
271
  }
272
  .hero-lede {
273
  font-size: 1.05rem;
274
  line-height: 1.6;
275
+ color: #e2dacd;
276
  margin: 0 0 10px 0;
277
  max-width: 900px;
278
  }
279
  .hero-note {
280
  font-size: 0.98rem;
281
  line-height: 1.5;
282
+ color: #eee4d5;
283
+ background: rgba(11, 14, 18, 0.45);
284
+ border: 1px solid rgba(212, 162, 74, 0.28);
285
  border-radius: 14px;
286
  padding: 12px 14px;
287
  margin-top: 14px;
288
  }
289
  .gradio-container .prose .hero-note strong {
290
+ color: #ffd47a !important;
291
+ background: rgba(212, 162, 74, 0.16) !important;
292
+ border: 1px solid rgba(212, 162, 74, 0.42) !important;
293
  border-radius: 999px;
294
  padding: 3px 8px;
295
  margin-right: 6px;
 
307
  margin: 10px 0 22px 0;
308
  }
309
  .stat-card, .story-card, .source-card, .glossary-card, .result-card {
310
+ background: #151b22;
311
+ border: 1px solid rgba(212, 162, 74, 0.22);
312
  border-radius: 18px;
313
  padding: 16px 18px;
314
+ box-shadow: 0 8px 18px rgba(0, 0, 0, 0.22);
315
  }
316
  .stat-label {
317
  font-size: 0.82rem;
318
  font-weight: 700;
319
  text-transform: uppercase;
320
  letter-spacing: 0.06em;
321
+ color: #d4a24a;
322
  margin-bottom: 8px;
323
  }
324
  .stat-value {
325
  font-size: 1.9rem;
326
  font-weight: 800;
327
+ color: #fff4e1;
328
  line-height: 1;
329
  margin-bottom: 6px;
330
  }
331
  .stat-help {
332
  font-size: 0.92rem;
333
+ color: #d8cfbf;
334
  line-height: 1.45;
335
  }
336
  .story-title, .source-title, .glossary-title {
337
  font-size: 1rem;
338
  font-weight: 800;
339
+ color: #fff4e1;
340
  margin-bottom: 6px;
341
  }
342
  .story-body, .source-body, .glossary-body {
343
  font-size: 0.95rem;
344
  line-height: 1.55;
345
+ color: #ddd5c8;
346
  }
347
  .source-table {
348
  width: 100%;
 
351
  font-size: 0.95rem;
352
  }
353
  .source-table th, .source-table td {
354
+ border-top: 1px solid rgba(212, 162, 74, 0.16);
355
  padding: 12px 10px;
356
  text-align: left;
357
  vertical-align: top;
358
  }
359
  .source-table th {
360
+ color: #d4a24a;
361
  font-size: 0.82rem;
362
  text-transform: uppercase;
363
  letter-spacing: 0.06em;
364
  width: 32%;
365
  }
366
+ .source-table td {
367
+ color: #ddd5c8;
368
+ }
369
  .glossary-list {
370
  display: grid;
371
  gap: 10px;
 
373
  }
374
  .glossary-item strong {
375
  display: block;
376
+ color: #fff4e1;
377
  margin-bottom: 2px;
378
  }
379
  .section-kicker {
380
+ color: #d4a24a;
381
  font-size: 0.84rem;
382
  font-weight: 700;
383
  letter-spacing: 0.06em;
 
399
  .result-rank {
400
  font-size: 0.78rem;
401
  font-weight: 700;
402
+ color: #d4a24a;
403
  text-transform: uppercase;
404
  letter-spacing: 0.06em;
405
  margin-bottom: 4px;
 
407
  .result-title {
408
  font-size: 1.12rem;
409
  font-weight: 800;
410
+ color: #fff4e1;
411
  line-height: 1.2;
412
  margin-bottom: 4px;
413
  }
414
  .result-subtitle {
415
+ color: #d5cbbb;
416
  font-size: 0.93rem;
417
  }
418
  .metric-stack {
 
434
  color: white;
435
  }
436
  .strength-pill {
437
+ background: rgba(212, 162, 74, 0.18);
438
+ color: #ffd47a;
439
+ border: 1px solid rgba(212, 162, 74, 0.32);
440
  }
441
  .chip-row {
442
  display: flex;
 
445
  margin: 12px 0 10px 0;
446
  }
447
  .chip {
448
+ background: rgba(255,255,255,0.08);
449
+ color: #ece3d5;
450
  }
451
  .meta-grid {
452
  display: grid;
 
454
  gap: 10px;
455
  margin-top: 10px;
456
  font-size: 0.9rem;
457
+ color: #d6cec2;
458
  }
459
  .meta-grid strong {
460
  display: block;
461
+ color: #fff4e1;
462
  margin-bottom: 2px;
463
  font-size: 0.82rem;
464
  text-transform: uppercase;
 
467
  .result-hint {
468
  margin-top: 12px;
469
  font-size: 0.88rem;
470
+ color: #d4a24a;
471
  }
472
  .panel-note {
473
+ background: #151b22;
474
+ border: 1px solid rgba(212, 162, 74, 0.22);
475
  border-radius: 18px;
476
  padding: 14px 16px;
477
+ color: #ddd5c8;
478
  margin-bottom: 12px;
479
  }
480
  .gradio-container .prose,