fix: 移除 Google Fonts 外部依赖,增加本地字体回退方案
- 删除 Google Fonts 的 @import 远程加载(Noto Serif SC、JetBrains Mono),避免网络请求延迟 - 为正文字体增加 PingFang SC、Microsoft YaHei 等本地中文字体回退 - 为等宽字体增加 Fira Code、Source Code Pro 等本地回退
This commit is contained in:
18
app.py
18
app.py
@@ -21,8 +21,6 @@ st.set_page_config(
|
|||||||
# ─── Custom CSS ──────────────────────────────────────────────────────────────
|
# ─── Custom CSS ──────────────────────────────────────────────────────────────
|
||||||
st.markdown("""
|
st.markdown("""
|
||||||
<style>
|
<style>
|
||||||
@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+SC:wght@400;600;700&family=JetBrains+Mono:wght@400;500&display=swap');
|
|
||||||
|
|
||||||
:root {
|
:root {
|
||||||
--bg-dark: #0a1628;
|
--bg-dark: #0a1628;
|
||||||
--bg-card: #0f2040;
|
--bg-card: #0f2040;
|
||||||
@@ -35,7 +33,7 @@ st.markdown("""
|
|||||||
}
|
}
|
||||||
|
|
||||||
html, body, [class*="css"] {
|
html, body, [class*="css"] {
|
||||||
font-family: 'Noto Serif SC', serif;
|
font-family: "PingFang SC", "Microsoft YaHei", "Noto Serif SC", serif;
|
||||||
background-color: var(--bg-dark);
|
background-color: var(--bg-dark);
|
||||||
color: var(--text-primary);
|
color: var(--text-primary);
|
||||||
}
|
}
|
||||||
@@ -54,7 +52,7 @@ html, body, [class*="css"] {
|
|||||||
[data-testid="stSidebar"] .stSelectbox label {
|
[data-testid="stSidebar"] .stSelectbox label {
|
||||||
color: var(--accent-green) !important;
|
color: var(--accent-green) !important;
|
||||||
font-size: 0.82rem;
|
font-size: 0.82rem;
|
||||||
font-family: 'JetBrains Mono', monospace;
|
font-family: "JetBrains Mono", "Fira Code", "Source Code Pro", monospace;
|
||||||
letter-spacing: 0.05em;
|
letter-spacing: 0.05em;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -76,7 +74,7 @@ html, body, [class*="css"] {
|
|||||||
background: linear-gradient(90deg, var(--accent-green), var(--accent-blue));
|
background: linear-gradient(90deg, var(--accent-green), var(--accent-blue));
|
||||||
}
|
}
|
||||||
.metric-value {
|
.metric-value {
|
||||||
font-family: 'JetBrains Mono', monospace;
|
font-family: "JetBrains Mono", "Fira Code", "Source Code Pro", monospace;
|
||||||
font-size: 2.2rem;
|
font-size: 2.2rem;
|
||||||
font-weight: 700;
|
font-weight: 700;
|
||||||
color: var(--accent-green);
|
color: var(--accent-green);
|
||||||
@@ -96,7 +94,7 @@ html, body, [class*="css"] {
|
|||||||
/* Section headers */
|
/* Section headers */
|
||||||
.section-header {
|
.section-header {
|
||||||
font-size: 0.75rem;
|
font-size: 0.75rem;
|
||||||
font-family: 'JetBrains Mono', monospace;
|
font-family: "JetBrains Mono", "Fira Code", "Source Code Pro", monospace;
|
||||||
letter-spacing: 0.15em;
|
letter-spacing: 0.15em;
|
||||||
color: var(--accent-gold);
|
color: var(--accent-gold);
|
||||||
text-transform: uppercase;
|
text-transform: uppercase;
|
||||||
@@ -113,7 +111,7 @@ html, body, [class*="css"] {
|
|||||||
border: 1px solid var(--accent-green);
|
border: 1px solid var(--accent-green);
|
||||||
border-radius: 6px;
|
border-radius: 6px;
|
||||||
padding: 4px 12px;
|
padding: 4px 12px;
|
||||||
font-family: 'JetBrains Mono', monospace;
|
font-family: "JetBrains Mono", "Fira Code", "Source Code Pro", monospace;
|
||||||
font-size: 0.78rem;
|
font-size: 0.78rem;
|
||||||
color: var(--accent-green);
|
color: var(--accent-green);
|
||||||
margin: 3px;
|
margin: 3px;
|
||||||
@@ -128,7 +126,7 @@ html, body, [class*="css"] {
|
|||||||
margin: 10px 0;
|
margin: 10px 0;
|
||||||
}
|
}
|
||||||
.rec-rank {
|
.rec-rank {
|
||||||
font-family: 'JetBrains Mono', monospace;
|
font-family: "JetBrains Mono", "Fira Code", "Source Code Pro", monospace;
|
||||||
font-size: 1.5rem;
|
font-size: 1.5rem;
|
||||||
color: var(--accent-gold);
|
color: var(--accent-gold);
|
||||||
font-weight: 700;
|
font-weight: 700;
|
||||||
@@ -139,7 +137,7 @@ html, body, [class*="css"] {
|
|||||||
font-weight: 600;
|
font-weight: 600;
|
||||||
}
|
}
|
||||||
.rec-score {
|
.rec-score {
|
||||||
font-family: 'JetBrains Mono', monospace;
|
font-family: "JetBrains Mono", "Fira Code", "Source Code Pro", monospace;
|
||||||
font-size: 0.85rem;
|
font-size: 0.85rem;
|
||||||
color: var(--accent-blue);
|
color: var(--accent-blue);
|
||||||
}
|
}
|
||||||
@@ -155,7 +153,7 @@ html, body, [class*="css"] {
|
|||||||
line-height: 1.2;
|
line-height: 1.2;
|
||||||
}
|
}
|
||||||
.hero-sub {
|
.hero-sub {
|
||||||
font-family: 'JetBrains Mono', monospace;
|
font-family: "JetBrains Mono", "Fira Code", "Source Code Pro", monospace;
|
||||||
font-size: 0.8rem;
|
font-size: 0.8rem;
|
||||||
color: var(--text-muted);
|
color: var(--text-muted);
|
||||||
letter-spacing: 0.1em;
|
letter-spacing: 0.1em;
|
||||||
|
|||||||
Reference in New Issue
Block a user