hleserg's picture
feat: initial deploy β€” Atman Linguistic Sensor v1
fe62539
Raw
History Blame Contribute Delete
5.6 kB
"""Atman β€” Linguistic Demo Β· Gradio 6 theme.
Paste above build_ui() (or import: `from theme import theme`).
Pair with style.css via:
with gr.Blocks(title="Atman Linguistic Demo", theme=theme, css=css) as demo:
IMPORTANT: also remove `theme=gr.themes.Soft()` from demo.launch() β€” it would
silently override this one.
"""
from __future__ import annotations
import gradio as gr
theme = gr.themes.Base(
primary_hue="indigo",
secondary_hue="violet",
neutral_hue="slate",
radius_size=gr.themes.sizes.radius_md,
spacing_size=gr.themes.sizes.spacing_md,
font=[gr.themes.GoogleFont("Inter"), "system-ui", "sans-serif"],
font_mono=[gr.themes.GoogleFont("JetBrains Mono"), "SF Mono", "Menlo", "monospace"],
).set(
# ── Page surfaces ────────────────────────────────────────────────────
body_background_fill="#FAFAFA",
body_background_fill_dark="#0B0B14", # indigo-tinted near-black
body_text_color="#0F172A",
body_text_color_dark="#E2E8F0",
body_text_color_subdued="#64748B",
body_text_color_subdued_dark="#94A3B8",
# ── Block / card surfaces ────────────────────────────────────────────
# Hits every Textbox, Markdown, HighlightedText, JSON, Dataframe, Label.
block_background_fill="#FFFFFF",
block_background_fill_dark="#13131F", # one step up from page bg
block_border_color="#E5E7EB",
block_border_color_dark="#1F2937",
block_border_width="1px",
block_radius="12px",
block_shadow="0 1px 2px rgba(15, 23, 42, 0.04)",
block_shadow_dark="0 1px 2px rgba(0, 0, 0, 0.30)",
block_padding="20px",
block_label_text_color="#64748B",
block_label_text_color_dark="#94A3B8",
block_label_text_size="12px",
block_label_text_weight="500",
block_label_background_fill="transparent", # kill the filled chip β€” restyled as eyebrow in CSS
block_label_background_fill_dark="transparent",
block_label_radius="4px",
block_title_text_color="#0F172A",
block_title_text_color_dark="#E2E8F0",
block_title_text_weight="600",
block_info_text_size="13px",
block_info_text_color="#64748B",
block_info_text_color_dark="#94A3B8",
# ── Panels & tabs body ───────────────────────────────────────────────
panel_background_fill="#FAFAFA",
panel_background_fill_dark="#0B0B14",
panel_border_color="#E5E7EB",
panel_border_color_dark="#1F2937",
panel_border_width="0px", # underline alone marks active tab
# ── Inputs (Textbox, Dropdown) ───────────────────────────────────────
input_background_fill="#FFFFFF",
input_background_fill_dark="#13131F",
input_background_fill_focus="#FFFFFF",
input_background_fill_focus_dark="#13131F",
input_border_color="#E5E7EB",
input_border_color_dark="#1F2937",
input_border_color_focus="#4F46E5",
input_border_color_focus_dark="#6366F1",
input_border_width="1px",
input_radius="8px",
input_padding="12px 14px", # wider hit area for dropdowns
input_placeholder_color="#94A3B8",
input_placeholder_color_dark="#64748B",
input_shadow_focus="0 0 0 2px rgba(79, 70, 229, 0.28)",
input_shadow_focus_dark="0 0 0 2px rgba(99, 102, 241, 0.36)",
# ── Buttons ──────────────────────────────────────────────────────────
button_primary_background_fill="#4F46E5",
button_primary_background_fill_dark="#6366F1", # brighter for dark-mode contrast
button_primary_background_fill_hover="linear-gradient(135deg, #4F46E5 0%, #8B5CF6 100%)",
button_primary_background_fill_hover_dark="linear-gradient(135deg, #6366F1 0%, #A78BFA 100%)",
button_primary_text_color="#FFFFFF",
button_primary_text_color_dark="#FFFFFF",
button_primary_border_color="#4F46E5",
button_primary_border_color_dark="#6366F1",
button_secondary_background_fill="transparent",
button_secondary_background_fill_dark="transparent",
button_secondary_background_fill_hover="rgba(79, 70, 229, 0.08)",
button_secondary_background_fill_hover_dark="rgba(99, 102, 241, 0.12)",
button_secondary_text_color="#4F46E5",
button_secondary_text_color_dark="#A5B4FC",
button_secondary_border_color="#4F46E5",
button_secondary_border_color_dark="#6366F1",
button_large_padding="11px 20px",
button_large_text_weight="500",
button_large_radius="8px",
button_primary_shadow="none", # quiet at rest
button_primary_shadow_hover="0 2px 8px rgba(79, 70, 229, 0.18)",
button_secondary_shadow="none",
button_secondary_shadow_hover="0 2px 8px rgba(79, 70, 229, 0.10)",
# ── Slider color (used by gr.Label progress fills in Affect tab) ─────
slider_color="#4F46E5",
slider_color_dark="#6366F1",
# ── Border / radius / spacing tokens ─────────────────────────────────
border_color_accent="#4F46E5",
border_color_accent_dark="#6366F1",
border_color_primary="#E5E7EB",
border_color_primary_dark="#1F2937",
layout_gap="24px",
)