"""
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"""
""",
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"""
""",
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 = """"""