feat(ui): warm editorial redesign — Fraunces + Geist + stone palette

Lifts ideas from the ``datatools_layout_redesign.html`` mockup
(artistic licence, not literal). Two changes:

1. ``.streamlit/config.toml`` ``[theme]`` block — cream paper bg
   (#fafaf7), warm sidebar (#f5f4ef), stone ink (#1c1917), burnt
   orange primary (#c2410c). Streamlit threads these through its
   chrome (focus rings, file-uploader accents, link colors).

2. ``_DESIGN_TOKENS_CSS`` injected by ``hide_streamlit_chrome`` on
   every page. Imports Fraunces (display serif), Geist (body sans),
   Geist Mono. Restyles, scoped through ``--dt-*`` custom properties:

   - Page surface + sidebar — warm cream backgrounds, soft warm
     borders, no harsh white.
   - Sidebar nav — section labels in tiny uppercase tracking, nav
     items with soft hover, active item as a white pill with subtle
     shadow.
   - Typography — H1/H2/H3 in Fraunces with tightened tracking;
     body Geist; inline code Geist Mono with orange-on-cream chip.
   - Buttons — primary = dark ink (``#1c1917``) with white text;
     secondary = paper surface with warm border; disabled = muted
     cream.
   - Containers / expanders — editorial cards: 14px radius, 1px
     warm border, faint shadow, warm-cream summary headers.
   - File uploader — cream dropzone with dashed border + per-file
     paper chips.
   - Alerts — soft tinted fills (info=sky, success=mint, warn=amber,
     error=rose) over the kind-specific palette.
   - Inputs, tabs, dataframes — paper surfaces with rounded warm
     borders.

Verified at 1920x1050 + 1400x900 on home page (empty + with file
uploaded + with findings rendered) and Clean Text tool page; no
regressions in the white-bar fix from 65b663b.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-05-18 23:36:24 +00:00
parent 65b663be97
commit b0ee65e922
2 changed files with 328 additions and 0 deletions

View File

@@ -9,3 +9,17 @@ gatherUsageStats = false
# reads "Limit 1024MB per file" — matches the analyzer + gate's stated
# 1 GB efficiency target. See docs/REQUIREMENTS.md §1.1.
maxUploadSize = 1024
# Warm, editorial palette inspired by the
# ``datatools_layout_redesign.html`` mockup — cream paper background,
# stone ink, burnt-orange accent. Streamlit reads these on startup and
# threads them through its widget chrome (file uploader, focus rings,
# primary buttons, links). Heavier visual restyling rides on the CSS
# in ``_legacy.py:_DESIGN_TOKENS_CSS``.
[theme]
base = "light"
primaryColor = "#c2410c"
backgroundColor = "#fafaf7"
secondaryBackgroundColor = "#f5f4ef"
textColor = "#1c1917"
font = "sans serif"