""" OIRseg Theme — Dark Gold Glassmorphism Inspired by aged stone / weathered metal with champagne gold accents. """ import streamlit as st import streamlit.components.v1 as components # ── Palette ─────────────────────────────────────────────────────────────────── GOLD = "#C5A55A" GOLD_BRIGHT = "#D4B96A" GOLD_LIGHT = "#E8D5A3" GOLD_DARK = "#8B7635" GOLD_MUTED = "#9A8B6F" BG_DEEP = "#0c0a08" TEXT_BODY = "#BFB39A" def inject_theme(): """Call once after st.set_page_config to apply the full custom theme.""" st.markdown( '', unsafe_allow_html=True, ) st.markdown(_CSS, unsafe_allow_html=True) components.html(_JS, height=0) # ── Reusable UI helpers ─────────────────────────────────────────────────────── def page_header(title: str, subtitle: str, caption: str): st.markdown( f"""

{title}

{subtitle}

{caption}

""", unsafe_allow_html=True, ) def section_header(title: str): st.markdown( f"""

{title}

""", unsafe_allow_html=True, ) def gold_divider(): st.markdown( f'
', unsafe_allow_html=True, ) def sidebar_legend(items: list): """items: [(label, description, (r_float, g_float, b_float)), ...]""" for label, desc, rgb in items: r, g, b = (int(c * 255) for c in rgb) st.sidebar.markdown( f"""
{label} — {desc}
""", unsafe_allow_html=True, ) def sidebar_status(text: str): st.sidebar.markdown( f"""
{text}
""", unsafe_allow_html=True, ) # ═════════════════════════════════════════════════════════════════════════════ # CSS # ═════════════════════════════════════════════════════════════════════════════ _CSS = """""" # ═════════════════════════════════════════════════════════════════════════════ # JavaScript — mouse-tracking golden light # ═════════════════════════════════════════════════════════════════════════════ _JS = """"""