diff --git a/.streamlit/config.toml b/.streamlit/config.toml index fa008c6..554fbcb 100644 --- a/.streamlit/config.toml +++ b/.streamlit/config.toml @@ -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" diff --git a/src/gui/components/_legacy.py b/src/gui/components/_legacy.py index 3aed7ec..93323cb 100644 --- a/src/gui/components/_legacy.py +++ b/src/gui/components/_legacy.py @@ -137,6 +137,319 @@ hr { margin-top: 0.4rem !important; margin-bottom: 0.4rem !important; } """ +# Warm editorial palette + typography, lifted from the +# ``datatools_layout_redesign.html`` mockup. Applied on every page via +# ``hide_streamlit_chrome``. Tokens are scoped through CSS custom +# properties so individual rules read cleanly and a future tweak only +# has to touch the ``:root`` block. +_DESIGN_TOKENS_CSS = """ + +""" + + def hide_streamlit_chrome(*, gate_license: bool = True) -> None: """Inject CSS to hide Streamlit's default header, menu, and footer. @@ -154,6 +467,7 @@ def hide_streamlit_chrome(*, gate_license: bool = True) -> None: can render its own form without recursion. """ st.markdown(_HIDE_CHROME_CSS, unsafe_allow_html=True) + st.markdown(_DESIGN_TOKENS_CSS, unsafe_allow_html=True) # Stamp a session-start record into the audit log the first time # any page renders. Idempotent — subsequent calls are no-ops. # Wrapped because a broken audit log MUST NOT take the GUI down.