Force explicit dark palette and text contrast across all cards
Browse files- 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, #
|
| 251 |
-
border: 1px solid
|
| 252 |
border-radius: 24px;
|
| 253 |
padding: 28px;
|
| 254 |
margin: 6px 0 20px 0;
|
| 255 |
-
box-shadow: 0
|
| 256 |
}
|
| 257 |
.hero-eyebrow {
|
| 258 |
font-size: 0.82rem;
|
| 259 |
font-weight: 700;
|
| 260 |
letter-spacing: 0.08em;
|
| 261 |
text-transform: uppercase;
|
| 262 |
-
color: #
|
| 263 |
margin-bottom: 8px;
|
| 264 |
}
|
| 265 |
.hero-title {
|
| 266 |
font-size: 2.2rem;
|
| 267 |
line-height: 1.1;
|
| 268 |
font-weight: 800;
|
| 269 |
-
color: #
|
| 270 |
margin: 0 0 12px 0;
|
| 271 |
}
|
| 272 |
.hero-lede {
|
| 273 |
font-size: 1.05rem;
|
| 274 |
line-height: 1.6;
|
| 275 |
-
color: #
|
| 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: #
|
| 283 |
-
background: rgba(
|
| 284 |
-
border: 1px solid
|
| 285 |
border-radius: 14px;
|
| 286 |
padding: 12px 14px;
|
| 287 |
margin-top: 14px;
|
| 288 |
}
|
| 289 |
.gradio-container .prose .hero-note strong {
|
| 290 |
-
color: #
|
| 291 |
-
background:
|
| 292 |
-
border: 1px solid
|
| 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: #
|
| 311 |
-
border: 1px solid
|
| 312 |
border-radius: 18px;
|
| 313 |
padding: 16px 18px;
|
| 314 |
-
box-shadow: 0
|
| 315 |
}
|
| 316 |
.stat-label {
|
| 317 |
font-size: 0.82rem;
|
| 318 |
font-weight: 700;
|
| 319 |
text-transform: uppercase;
|
| 320 |
letter-spacing: 0.06em;
|
| 321 |
-
color: #
|
| 322 |
margin-bottom: 8px;
|
| 323 |
}
|
| 324 |
.stat-value {
|
| 325 |
font-size: 1.9rem;
|
| 326 |
font-weight: 800;
|
| 327 |
-
color: #
|
| 328 |
line-height: 1;
|
| 329 |
margin-bottom: 6px;
|
| 330 |
}
|
| 331 |
.stat-help {
|
| 332 |
font-size: 0.92rem;
|
| 333 |
-
color: #
|
| 334 |
line-height: 1.45;
|
| 335 |
}
|
| 336 |
.story-title, .source-title, .glossary-title {
|
| 337 |
font-size: 1rem;
|
| 338 |
font-weight: 800;
|
| 339 |
-
color: #
|
| 340 |
margin-bottom: 6px;
|
| 341 |
}
|
| 342 |
.story-body, .source-body, .glossary-body {
|
| 343 |
font-size: 0.95rem;
|
| 344 |
line-height: 1.55;
|
| 345 |
-
color: #
|
| 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
|
| 355 |
padding: 12px 10px;
|
| 356 |
text-align: left;
|
| 357 |
vertical-align: top;
|
| 358 |
}
|
| 359 |
.source-table th {
|
| 360 |
-
color: #
|
| 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: #
|
| 374 |
margin-bottom: 2px;
|
| 375 |
}
|
| 376 |
.section-kicker {
|
| 377 |
-
color: #
|
| 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: #
|
| 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: #
|
| 408 |
line-height: 1.2;
|
| 409 |
margin-bottom: 4px;
|
| 410 |
}
|
| 411 |
.result-subtitle {
|
| 412 |
-
color: #
|
| 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:
|
| 435 |
-
color: #
|
|
|
|
| 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:
|
| 445 |
-
color: #
|
| 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: #
|
| 454 |
}
|
| 455 |
.meta-grid strong {
|
| 456 |
display: block;
|
| 457 |
-
color: #
|
| 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: #
|
| 467 |
}
|
| 468 |
.panel-note {
|
| 469 |
-
background: #
|
| 470 |
-
border: 1px solid
|
| 471 |
border-radius: 18px;
|
| 472 |
padding: 14px 16px;
|
| 473 |
-
color: #
|
| 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,
|