AlpineLLM-App / style.py
Borzyszkowski
removed redundant auto-scroll anchor
5c69248
# =========================
# CSS & UI
# =========================
custom_css = """
body, .gradio-container { font-family: "Noto Sans SC", "Microsoft YaHei", "PingFang SC", sans-serif; }
.app-header { text-align: center; max-width: 800px; margin: 0 auto 8px !important; }
.gradio-container { padding: 4px 0 !important; max-width: 1200px !important; margin: 0 auto !important; }
.gradio-container [data-testid="tabs"], .gradio-container .tabs { margin-top: 0 !important; }
.gradio-container [data-testid="tabitem"], .gradio-container .tabitem { padding-top: 4px !important; }
.gradio-container .wrap { gap: 0 !important; }
.quick-links { text-align: center; padding: 8px 0; border: 1px solid #e5e7eb; border-radius: 8px; margin: 8px auto; max-width: 800px; }
.quick-links a { margin: 0 12px; font-size: 14px; font-weight: 600; color: #3b82f6; text-decoration: none; }
.quick-links a:hover { text-decoration: underline; }
.prompt-grid { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 6px; }
.prompt-grid button { height: 40px !important; padding: 0 12px !important; border-radius: 8px !important; font-weight: 600 !important; font-size: 13px !important; letter-spacing: 0.2px; }
#image_preview_vl, #image_preview_doc { height: 400px !important; overflow: auto; }
#image_preview_vl img, #image_preview_doc img, #vis_image_doc img { width: 100% !important; height: auto !important; object-fit: contain !important; display: block; }
#md_preview_vl, #md_preview_doc { max-height: 540px; min-height: 180px; overflow: auto; scrollbar-gutter: stable both-edges; }
#md_preview_vl .prose, #md_preview_doc .prose { line-height: 1.7 !important; }
#md_preview_vl .prose img, #md_preview_doc .prose img { display: block; margin: 0 auto; max-width: 100%; height: auto; }
.notice { margin: 8px auto 0; max-width: 800px; padding: 10px 12px; border: 1px solid #e5e7eb; border-radius: 8px; background: #f8fafc; font-size: 14px; line-height: 1.6; }
.notice strong { font-weight: 700; }
.notice a { color: #3b82f6; text-decoration: none; }
.notice a:hover { text-decoration: underline; }
/* Dark mode styles */
@media (prefers-color-scheme: dark) {
body, .gradio-container {
background-color: #0f1117 !important;
color: #f5f5f5 !important;
}
.notice {
background: #1e293b !important;
color: #f5f5f5 !important;
border: 1px solid #334155 !important;
}
.notice a {
color: #60a5fa !important;
}
.quick-links {
border-color: #334155 !important;
}
.quick-links a {
color: #93c5fd !important;
}
}
/* Hide empty Gradio auto-scroll/anchor button or padding container near Markdown blocks */
button.svelte-vuh1yp,
div.svelte-vuh1yp:has(button),
div#component-3 > div.wrap.center.full,
div[id^="component-"][class*="hide-container"] .wrap.center.full {
display: none !important;
}
/* Prevent extra padding on Markdown containers */
div[class*="block"].hide-container {
padding: 0 !important;
margin: 0 !important;
border: none !important;
overflow: visible !important;
}
"""