SIAI2025 / styles /css_base_layout.py
taku404's picture
update UI
53486a9
# css_base_layout.py - Base variables, layout, typography and controls
"""CSS chunk: variables, base layout, title, typography, controls (no tab overrides)."""
CSS_BASE_LAYOUT = """
:root{
/* Slightly lighter dark palette + softer white text */
--bg:#141a22;
--panel:#1a2333;
--panel-soft:#171f2b;
--line:#273142;
--text:#edf2f7;
--muted:#cbd5e1;
--acc:#7dd3fc;
--acc2:#60a5fa;
--shadow:0 8px 24px rgba(0,0,0,.25);
}
/* Lock appearance regardless of OS/browser light/dark */
html{ color-scheme: dark !important; }
html[data-theme="light"],
body[data-theme="light"],
.gradio-container[data-theme="light"],
html[data-theme="dark"],
body[data-theme="dark"],
.gradio-container[data-theme="dark"]{
--bg:#141a22; --panel:#1a2333; --panel-soft:#171f2b; --line:#273142;
--text:#edf2f7; --muted:#cbd5e1; --acc:#7dd3fc; --acc2:#60a5fa;
}
/* Base layout */
html,body{ background:var(--bg)!important; margin:0!important; padding:0!important; }
.gradio-container{
background:var(--bg)!important; color:var(--text)!important;
padding:0 8px!important; margin:0 auto!important; max-width:100%!important;
width:100%!important; box-sizing:border-box!important;
}
.gradio-container, html, body{ height:auto!important; min-height:0!important; overflow-y:auto!important; }
.gradio-container .tabitem, .gradio-container .block, .gradio-container .panel, .gradio-container .tabs{ min-height:0!important; }
.gradio-container .block,.gradio-container .panel,.gradio-container .tabs,.gradio-container .tabitem,
.gradio-container .tab-container,.gradio-container .wrap,.gradio-container .container{
background:var(--bg)!important; padding:0!important; margin:0 auto!important;
}
.gradio-container > *:first-child{ margin-top:0!important; padding-top:0!important; }
/* Title */
#main-title{ margin:0!important; padding:2px 0!important; }
#main-title h1{
font-size:30px!important; font-weight:800!important; margin:0!important;
color:var(--text)!important; letter-spacing:.2px; line-height:1.1!important;
}
/* Grid gaps */
.gradio-container .gr-row,.gradio-container .grid{ gap:4px!important; }
/* Typography and links */
.gradio-container,
.gradio-container *:not(i.fa):not(.fa):not(.fa-solid):not(.fa-regular):not(.fa-brands){
font-family:inherit!important;
}
.gradio-container a{
color:var(--acc2)!important; text-decoration:underline; text-underline-offset:2px;
}
.gradio-container a:hover{ color:var(--acc)!important; text-decoration-thickness:2px; }
/* Prose containers */
.gradio-container .prose, .gradio-container .markdown, .gradio-container .md{
background:var(--bg)!important; color:var(--text)!important;
}
/* Form controls */
.gradio-container input, .gradio-container textarea, .gradio-container select{
background:var(--panel)!important; color:var(--text)!important;
border:1px solid var(--line)!important; border-radius:10px!important;
}
.gradio-container input::placeholder, .gradio-container textarea::placeholder{
color:rgba(237,242,247,.7)!important;
}
.gradio-container select option{ background:var(--panel)!important; color:var(--text)!important; }
"""