From c50180f885759c0534008e1a4733471ee7a10a03 Mon Sep 17 00:00:00 2001 From: OoO Date: Wed, 13 May 2026 16:13:05 +0800 Subject: [PATCH] =?UTF-8?q?=E8=A3=9C=E9=BD=8A=20AI=20=E8=A7=80=E6=B8=AC?= =?UTF-8?q?=E5=8F=B0=20badge=20=E5=B0=8D=E6=AF=94=E8=A6=8F=E7=AF=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- config.py | 2 +- static/css/observability-system.css | 76 +++++++++++++++++++++++++ web/static/css/observability-system.css | 76 +++++++++++++++++++++++++ 3 files changed, 153 insertions(+), 1 deletion(-) diff --git a/config.py b/config.py index 2977288..acb0e06 100644 --- a/config.py +++ b/config.py @@ -320,7 +320,7 @@ YOUTUBE_API_KEY = os.getenv('YOUTUBE_API_KEY', '') # ========================================== # 系統版本與路徑 # ========================================== -SYSTEM_VERSION = "V10.113" +SYSTEM_VERSION = "V10.114" LOG_FILE_PATH = os.path.join(BASE_DIR, 'logs/system.log') public_url = PUBLIC_URL # 用於模板顯示 diff --git a/static/css/observability-system.css b/static/css/observability-system.css index b9af947..c4cdc03 100644 --- a/static/css/observability-system.css +++ b/static/css/observability-system.css @@ -2032,3 +2032,79 @@ gap: 0.8rem !important; } } + +/* v3.4 chip and nested-surface normalization: remove low-contrast legacy dark-hero residue. */ +.momo-observability-mode :is( + .biz-filter-card, + .biz-alert-strip, + .biz-strategy-card, + .biz-mini-metric, + .biz-decision-card, + .episode-card, + .similar-box, + .fix-card, + .root-card, + .rec-card, + .agent-card, + .caller-card, + .host-lane, + .strategy-card, + .obs-route-card +) { + background-color: var(--momo-bg-elevated, #fdfaf2) !important; + background-image: none !important; + border: 1px solid var(--obs-line) !important; + border-radius: 8px !important; + box-shadow: none !important; + color: var(--obs-ink) !important; +} + +.momo-observability-mode :is(.obs-pill, [class$="-pill"], .biz-badge, .badge) { + align-items: center; + background-color: color-mix(in srgb, var(--obs-accent) 9%, var(--momo-bg-elevated, #fdfaf2)) !important; + background-image: none !important; + border: 1px solid color-mix(in srgb, var(--obs-accent) 22%, var(--obs-line)) !important; + border-radius: 8px !important; + color: var(--obs-ink) !important; + display: inline-flex; + font-family: var(--momo-font-family, "Inter", "Noto Sans TC", system-ui, sans-serif) !important; + font-size: 0.78rem !important; + font-weight: 700 !important; + gap: 0.35rem; + letter-spacing: 0 !important; + line-height: 1.25 !important; + max-width: 100%; + min-height: 1.75rem; + padding: 0.28rem 0.55rem !important; + text-transform: none !important; + white-space: normal !important; +} + +.momo-observability-mode :is(.badge.bg-success, .biz-badge.good) { + background-color: color-mix(in srgb, var(--obs-green) 14%, var(--momo-bg-elevated, #fdfaf2)) !important; + border-color: color-mix(in srgb, var(--obs-green) 28%, var(--obs-line)) !important; + color: color-mix(in srgb, var(--obs-green) 76%, var(--obs-ink)) !important; +} + +.momo-observability-mode :is(.badge.bg-warning, .biz-badge.warn) { + background-color: color-mix(in srgb, var(--obs-warn) 16%, var(--momo-bg-elevated, #fdfaf2)) !important; + border-color: color-mix(in srgb, var(--obs-warn) 32%, var(--obs-line)) !important; + color: color-mix(in srgb, var(--obs-warn) 72%, var(--obs-ink)) !important; +} + +.momo-observability-mode .badge.bg-danger { + background-color: color-mix(in srgb, var(--obs-red) 14%, var(--momo-bg-elevated, #fdfaf2)) !important; + border-color: color-mix(in srgb, var(--obs-red) 32%, var(--obs-line)) !important; + color: color-mix(in srgb, var(--obs-red) 74%, var(--obs-ink)) !important; +} + +.momo-observability-mode :is(.badge.bg-info, .badge.bg-primary, .badge.bg-secondary, .badge.bg-light) { + background-color: color-mix(in srgb, var(--obs-blue) 10%, var(--momo-bg-elevated, #fdfaf2)) !important; + border-color: color-mix(in srgb, var(--obs-blue) 22%, var(--obs-line)) !important; + color: var(--obs-ink) !important; +} + +.momo-observability-mode .biz-meta-row { + gap: 0.5rem !important; + max-width: 100%; +} diff --git a/web/static/css/observability-system.css b/web/static/css/observability-system.css index b9af947..c4cdc03 100644 --- a/web/static/css/observability-system.css +++ b/web/static/css/observability-system.css @@ -2032,3 +2032,79 @@ gap: 0.8rem !important; } } + +/* v3.4 chip and nested-surface normalization: remove low-contrast legacy dark-hero residue. */ +.momo-observability-mode :is( + .biz-filter-card, + .biz-alert-strip, + .biz-strategy-card, + .biz-mini-metric, + .biz-decision-card, + .episode-card, + .similar-box, + .fix-card, + .root-card, + .rec-card, + .agent-card, + .caller-card, + .host-lane, + .strategy-card, + .obs-route-card +) { + background-color: var(--momo-bg-elevated, #fdfaf2) !important; + background-image: none !important; + border: 1px solid var(--obs-line) !important; + border-radius: 8px !important; + box-shadow: none !important; + color: var(--obs-ink) !important; +} + +.momo-observability-mode :is(.obs-pill, [class$="-pill"], .biz-badge, .badge) { + align-items: center; + background-color: color-mix(in srgb, var(--obs-accent) 9%, var(--momo-bg-elevated, #fdfaf2)) !important; + background-image: none !important; + border: 1px solid color-mix(in srgb, var(--obs-accent) 22%, var(--obs-line)) !important; + border-radius: 8px !important; + color: var(--obs-ink) !important; + display: inline-flex; + font-family: var(--momo-font-family, "Inter", "Noto Sans TC", system-ui, sans-serif) !important; + font-size: 0.78rem !important; + font-weight: 700 !important; + gap: 0.35rem; + letter-spacing: 0 !important; + line-height: 1.25 !important; + max-width: 100%; + min-height: 1.75rem; + padding: 0.28rem 0.55rem !important; + text-transform: none !important; + white-space: normal !important; +} + +.momo-observability-mode :is(.badge.bg-success, .biz-badge.good) { + background-color: color-mix(in srgb, var(--obs-green) 14%, var(--momo-bg-elevated, #fdfaf2)) !important; + border-color: color-mix(in srgb, var(--obs-green) 28%, var(--obs-line)) !important; + color: color-mix(in srgb, var(--obs-green) 76%, var(--obs-ink)) !important; +} + +.momo-observability-mode :is(.badge.bg-warning, .biz-badge.warn) { + background-color: color-mix(in srgb, var(--obs-warn) 16%, var(--momo-bg-elevated, #fdfaf2)) !important; + border-color: color-mix(in srgb, var(--obs-warn) 32%, var(--obs-line)) !important; + color: color-mix(in srgb, var(--obs-warn) 72%, var(--obs-ink)) !important; +} + +.momo-observability-mode .badge.bg-danger { + background-color: color-mix(in srgb, var(--obs-red) 14%, var(--momo-bg-elevated, #fdfaf2)) !important; + border-color: color-mix(in srgb, var(--obs-red) 32%, var(--obs-line)) !important; + color: color-mix(in srgb, var(--obs-red) 74%, var(--obs-ink)) !important; +} + +.momo-observability-mode :is(.badge.bg-info, .badge.bg-primary, .badge.bg-secondary, .badge.bg-light) { + background-color: color-mix(in srgb, var(--obs-blue) 10%, var(--momo-bg-elevated, #fdfaf2)) !important; + border-color: color-mix(in srgb, var(--obs-blue) 22%, var(--obs-line)) !important; + color: var(--obs-ink) !important; +} + +.momo-observability-mode .biz-meta-row { + gap: 0.5rem !important; + max-width: 100%; +}