style(observability): refine navigation and data UI polish
All checks were successful
CD Pipeline / deploy (push) Successful in 58s

This commit is contained in:
OoO
2026-05-06 20:54:48 +08:00
parent e6328e543e
commit 11ccda0e1c
3 changed files with 495 additions and 13 deletions

View File

@@ -845,3 +845,239 @@
left: 0;
}
}
/* v2.2 professional polish: cross-page hierarchy, tables, buttons, and dense data layouts. */
.momo-observability-mode {
--obs-surface-warm: rgba(255, 248, 238, 0.72);
--obs-surface-glass: rgba(255, 252, 246, 0.78);
--obs-focus-ring: 0 0 0 3px rgba(201, 100, 66, 0.18);
}
.momo-observability-mode .momo-content {
font-feature-settings: "tnum" 1, "kern" 1;
}
.momo-observability-mode .obs-hero,
.momo-observability-mode .agent-hero,
.momo-observability-mode .biz-command,
.momo-observability-mode .runtime-hero,
.momo-observability-mode .calls-hero,
.momo-observability-mode .gov-hero,
.momo-observability-mode .gate-hero,
.momo-observability-mode .rag-hero,
.momo-observability-mode .quality-hero,
.momo-observability-mode .ppt-hero {
background:
radial-gradient(circle at 14% 16%, rgba(201, 100, 66, 0.19), transparent 24rem),
radial-gradient(circle at 86% 10%, rgba(79, 111, 143, 0.14), transparent 24rem),
linear-gradient(135deg, rgba(255, 248, 238, 0.98), rgba(255, 252, 246, 0.82) 58%, rgba(247, 234, 219, 0.92)) !important;
}
.momo-observability-mode .obs-panel,
.momo-observability-mode .agent-panel,
.momo-observability-mode .biz-panel,
.momo-observability-mode .runtime-panel,
.momo-observability-mode .calls-panel,
.momo-observability-mode .gov-panel,
.momo-observability-mode .gate-panel,
.momo-observability-mode .rag-panel,
.momo-observability-mode .quality-panel,
.momo-observability-mode .ppt-panel,
.momo-observability-mode .card {
position: relative;
background:
linear-gradient(180deg, var(--obs-surface-glass), rgba(255, 255, 255, 0.7)) !important;
backdrop-filter: blur(10px);
}
.momo-observability-mode .obs-panel-head,
.momo-observability-mode .agent-panel-head,
.momo-observability-mode .biz-panel-head,
.momo-observability-mode .runtime-panel-head,
.momo-observability-mode .calls-panel-head,
.momo-observability-mode .gov-panel-head,
.momo-observability-mode .gate-panel-head,
.momo-observability-mode .rag-panel-head,
.momo-observability-mode .quality-panel-head,
.momo-observability-mode .ppt-panel-head,
.momo-observability-mode .card-header {
min-height: 54px;
align-items: center;
}
.momo-observability-mode .obs-panel-title,
.momo-observability-mode .agent-panel-title,
.momo-observability-mode .biz-panel-title,
.momo-observability-mode .runtime-panel-title,
.momo-observability-mode .calls-panel-title,
.momo-observability-mode .gov-panel-title,
.momo-observability-mode .gate-panel-title,
.momo-observability-mode .rag-panel-title,
.momo-observability-mode .quality-panel-title,
.momo-observability-mode .ppt-panel-title,
.momo-observability-mode .card-title {
color: var(--obs-ink) !important;
font-size: clamp(1rem, 1.35vw, 1.16rem) !important;
line-height: 1.34;
}
.momo-observability-mode .obs-value,
.momo-observability-mode .agent-value,
.momo-observability-mode .biz-value,
.momo-observability-mode .runtime-value,
.momo-observability-mode .calls-value,
.momo-observability-mode .gov-value,
.momo-observability-mode .gate-value,
.momo-observability-mode .rag-value,
.momo-observability-mode .quality-value,
.momo-observability-mode .ppt-value,
.momo-observability-mode .obs-signal-value,
.momo-observability-mode .display-4,
.momo-observability-mode .display-5,
.momo-observability-mode .h1 {
font-family: 'JetBrains Mono', 'Noto Sans TC', monospace !important;
font-size: var(--obs-value-size) !important;
font-weight: 850 !important;
letter-spacing: -0.055em !important;
}
.momo-observability-mode .table,
.momo-observability-mode table {
--bs-table-bg: transparent;
--bs-table-color: var(--obs-ink);
color: var(--obs-ink);
border-collapse: separate !important;
border-spacing: 0 0.42rem !important;
font-size: 0.9rem;
}
.momo-observability-mode .table thead th,
.momo-observability-mode table thead th {
border: 0 !important;
color: color-mix(in srgb, var(--obs-ink) 70%, var(--obs-muted)) !important;
background: transparent !important;
font-size: 0.7rem;
font-weight: 900;
letter-spacing: 0.08em;
text-transform: uppercase;
}
.momo-observability-mode .table tbody tr,
.momo-observability-mode table tbody tr {
box-shadow: 0 8px 20px rgba(70, 46, 28, 0.045);
}
.momo-observability-mode .table tbody td,
.momo-observability-mode table tbody td {
padding: 0.72rem 0.78rem !important;
border-top: 1px solid var(--obs-line) !important;
border-bottom: 1px solid var(--obs-line) !important;
background: rgba(255, 255, 255, 0.62) !important;
vertical-align: middle;
}
.momo-observability-mode .table tbody td:first-child,
.momo-observability-mode table tbody td:first-child {
border-left: 1px solid var(--obs-line) !important;
border-radius: 14px 0 0 14px;
}
.momo-observability-mode .table tbody td:last-child,
.momo-observability-mode table tbody td:last-child {
border-right: 1px solid var(--obs-line) !important;
border-radius: 0 14px 14px 0;
}
.momo-observability-mode .btn {
border-radius: 999px !important;
font-weight: 850 !important;
letter-spacing: 0.01em;
box-shadow: none !important;
}
.momo-observability-mode .btn:focus-visible,
.momo-observability-mode a:focus-visible,
.momo-observability-mode button:focus-visible {
outline: 0;
box-shadow: var(--obs-focus-ring) !important;
}
.momo-observability-mode .btn-primary,
.momo-observability-mode .btn-warning,
.momo-observability-mode .btn-danger,
.momo-observability-mode .btn-success {
color: #fff8ee !important;
border-color: transparent !important;
}
.momo-observability-mode .btn-outline-primary,
.momo-observability-mode .btn-outline-secondary,
.momo-observability-mode .btn-outline-warning,
.momo-observability-mode .btn-outline-danger,
.momo-observability-mode .btn-outline-success {
background: rgba(255, 248, 238, 0.58) !important;
border-color: rgba(201, 100, 66, 0.28) !important;
}
.momo-observability-mode .badge,
.momo-observability-mode .obs-pill,
.momo-observability-mode [class$="-pill"] {
border: 1px solid rgba(201, 100, 66, 0.18);
box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.5);
}
.momo-observability-mode .progress {
height: 0.62rem;
border-radius: 999px;
background: rgba(70, 46, 28, 0.08);
overflow: hidden;
}
.momo-observability-mode .list-group-item,
.momo-observability-mode .dropdown-menu,
.momo-observability-mode .modal-content,
.momo-observability-mode .alert {
border-color: var(--obs-line) !important;
background: rgba(255, 252, 246, 0.96) !important;
color: var(--obs-ink) !important;
box-shadow: 0 16px 38px rgba(70, 46, 28, 0.08);
}
.momo-observability-mode .obs-chart-frame,
.momo-observability-mode .chart-frame,
.momo-observability-mode .chart-container {
position: relative;
min-height: 240px;
padding: 0.85rem;
border: 1px solid var(--obs-line);
border-radius: 20px;
background:
radial-gradient(circle at 12px 12px, rgba(201, 100, 66, 0.13) 1px, transparent 1.35px),
rgba(255, 255, 255, 0.52);
background-size: 13px 13px, auto;
}
.momo-observability-mode canvas {
max-width: 100%;
}
@media (max-width: 992px) {
.momo-observability-mode .obs-command-strip,
.momo-observability-mode .obs-grid,
.momo-observability-mode .obs-metric-grid,
.momo-observability-mode .agent-grid,
.momo-observability-mode .biz-grid,
.momo-observability-mode .runtime-grid,
.momo-observability-mode .calls-grid,
.momo-observability-mode .gov-grid,
.momo-observability-mode .gate-grid,
.momo-observability-mode .rag-grid,
.momo-observability-mode .quality-grid,
.momo-observability-mode .ppt-grid {
grid-template-columns: 1fr !important;
}
.momo-observability-mode .obs-host-card {
grid-template-columns: 1fr !important;
}
}

View File

@@ -109,43 +109,53 @@
transform: rotate(0deg);
}
.momo-nav-subtree {
margin: 0.35rem 0 0.65rem 1.05rem;
padding-left: 0.75rem;
margin: 0.42rem 0 0.72rem 1.05rem;
padding: 0.42rem 0 0.42rem 0.78rem;
border-left: 1px solid color-mix(in srgb, var(--momo-page-accent, #c96442) 34%, transparent);
background:
radial-gradient(circle at 6px 8px, rgba(201, 100, 66, 0.12) 1px, transparent 1.4px),
linear-gradient(180deg, rgba(255, 248, 238, 0.48), rgba(255, 252, 246, 0.18));
background-size: 10px 10px, auto;
border-radius: 0 0.95rem 0.95rem 0;
}
.momo-nav-subtitle {
margin: 0.65rem 0 0.25rem;
color: var(--momo-text-tertiary, #9b9184);
margin: 0.68rem 0 0.3rem 0.42rem;
color: color-mix(in srgb, var(--momo-page-accent-dark, #8f4530) 58%, var(--momo-text-secondary, #6f665b));
font-size: 0.68rem;
letter-spacing: 0.12em;
text-transform: uppercase;
font-weight: 800;
font-weight: 900;
}
.momo-nav-sublink {
display: grid;
grid-template-columns: 1rem minmax(0, 1fr) auto;
align-items: center;
gap: 0.45rem;
padding: 0.42rem 0.55rem;
padding: 0.48rem 0.62rem;
border-radius: 0.7rem;
color: var(--momo-text-secondary, #6f665b);
color: color-mix(in srgb, var(--momo-text-primary, #2a2520) 80%, var(--momo-text-secondary, #6f665b));
text-decoration: none;
font-size: 0.86rem;
font-weight: 700;
transition: background-color 160ms ease, color 160ms ease, transform 160ms ease;
font-weight: 780;
background: rgba(255, 252, 246, 0.34);
transition: background-color 160ms ease, color 160ms ease, transform 160ms ease, box-shadow 160ms ease;
}
.momo-nav-sublink i {
color: color-mix(in srgb, var(--momo-page-accent-dark, #8f4530) 66%, var(--momo-text-secondary, #6f665b));
}
.momo-nav-sublink:hover,
.momo-nav-sublink.is-active {
background: var(--momo-page-accent-soft, rgba(201, 100, 66, 0.12));
background: linear-gradient(135deg, rgba(255, 248, 238, 0.92), rgba(201, 100, 66, 0.13));
color: var(--momo-page-accent-dark, var(--momo-accent-700, #8f4530));
box-shadow: inset 0 0 0 1px rgba(201, 100, 66, 0.22), 0 8px 18px rgba(70, 46, 28, 0.08);
transform: translateX(2px);
}
.momo-nav-sublink .momo-nav-num {
color: var(--momo-text-tertiary, #9b9184);
font-weight: 800;
color: color-mix(in srgb, var(--momo-text-secondary, #6f665b) 82%, var(--momo-page-accent-dark, #8f4530));
font-weight: 850;
}
.momo-nav-sublink.is-active .momo-nav-num {
color: var(--momo-page-accent-dark, rgba(143, 69, 48, 0.72));
color: var(--momo-page-accent-dark, rgba(143, 69, 48, 0.82));
}
.momo-nav-sublink .momo-nav-code {
opacity: 0.68;

View File

@@ -845,3 +845,239 @@
left: 0;
}
}
/* v2.2 professional polish: cross-page hierarchy, tables, buttons, and dense data layouts. */
.momo-observability-mode {
--obs-surface-warm: rgba(255, 248, 238, 0.72);
--obs-surface-glass: rgba(255, 252, 246, 0.78);
--obs-focus-ring: 0 0 0 3px rgba(201, 100, 66, 0.18);
}
.momo-observability-mode .momo-content {
font-feature-settings: "tnum" 1, "kern" 1;
}
.momo-observability-mode .obs-hero,
.momo-observability-mode .agent-hero,
.momo-observability-mode .biz-command,
.momo-observability-mode .runtime-hero,
.momo-observability-mode .calls-hero,
.momo-observability-mode .gov-hero,
.momo-observability-mode .gate-hero,
.momo-observability-mode .rag-hero,
.momo-observability-mode .quality-hero,
.momo-observability-mode .ppt-hero {
background:
radial-gradient(circle at 14% 16%, rgba(201, 100, 66, 0.19), transparent 24rem),
radial-gradient(circle at 86% 10%, rgba(79, 111, 143, 0.14), transparent 24rem),
linear-gradient(135deg, rgba(255, 248, 238, 0.98), rgba(255, 252, 246, 0.82) 58%, rgba(247, 234, 219, 0.92)) !important;
}
.momo-observability-mode .obs-panel,
.momo-observability-mode .agent-panel,
.momo-observability-mode .biz-panel,
.momo-observability-mode .runtime-panel,
.momo-observability-mode .calls-panel,
.momo-observability-mode .gov-panel,
.momo-observability-mode .gate-panel,
.momo-observability-mode .rag-panel,
.momo-observability-mode .quality-panel,
.momo-observability-mode .ppt-panel,
.momo-observability-mode .card {
position: relative;
background:
linear-gradient(180deg, var(--obs-surface-glass), rgba(255, 255, 255, 0.7)) !important;
backdrop-filter: blur(10px);
}
.momo-observability-mode .obs-panel-head,
.momo-observability-mode .agent-panel-head,
.momo-observability-mode .biz-panel-head,
.momo-observability-mode .runtime-panel-head,
.momo-observability-mode .calls-panel-head,
.momo-observability-mode .gov-panel-head,
.momo-observability-mode .gate-panel-head,
.momo-observability-mode .rag-panel-head,
.momo-observability-mode .quality-panel-head,
.momo-observability-mode .ppt-panel-head,
.momo-observability-mode .card-header {
min-height: 54px;
align-items: center;
}
.momo-observability-mode .obs-panel-title,
.momo-observability-mode .agent-panel-title,
.momo-observability-mode .biz-panel-title,
.momo-observability-mode .runtime-panel-title,
.momo-observability-mode .calls-panel-title,
.momo-observability-mode .gov-panel-title,
.momo-observability-mode .gate-panel-title,
.momo-observability-mode .rag-panel-title,
.momo-observability-mode .quality-panel-title,
.momo-observability-mode .ppt-panel-title,
.momo-observability-mode .card-title {
color: var(--obs-ink) !important;
font-size: clamp(1rem, 1.35vw, 1.16rem) !important;
line-height: 1.34;
}
.momo-observability-mode .obs-value,
.momo-observability-mode .agent-value,
.momo-observability-mode .biz-value,
.momo-observability-mode .runtime-value,
.momo-observability-mode .calls-value,
.momo-observability-mode .gov-value,
.momo-observability-mode .gate-value,
.momo-observability-mode .rag-value,
.momo-observability-mode .quality-value,
.momo-observability-mode .ppt-value,
.momo-observability-mode .obs-signal-value,
.momo-observability-mode .display-4,
.momo-observability-mode .display-5,
.momo-observability-mode .h1 {
font-family: 'JetBrains Mono', 'Noto Sans TC', monospace !important;
font-size: var(--obs-value-size) !important;
font-weight: 850 !important;
letter-spacing: -0.055em !important;
}
.momo-observability-mode .table,
.momo-observability-mode table {
--bs-table-bg: transparent;
--bs-table-color: var(--obs-ink);
color: var(--obs-ink);
border-collapse: separate !important;
border-spacing: 0 0.42rem !important;
font-size: 0.9rem;
}
.momo-observability-mode .table thead th,
.momo-observability-mode table thead th {
border: 0 !important;
color: color-mix(in srgb, var(--obs-ink) 70%, var(--obs-muted)) !important;
background: transparent !important;
font-size: 0.7rem;
font-weight: 900;
letter-spacing: 0.08em;
text-transform: uppercase;
}
.momo-observability-mode .table tbody tr,
.momo-observability-mode table tbody tr {
box-shadow: 0 8px 20px rgba(70, 46, 28, 0.045);
}
.momo-observability-mode .table tbody td,
.momo-observability-mode table tbody td {
padding: 0.72rem 0.78rem !important;
border-top: 1px solid var(--obs-line) !important;
border-bottom: 1px solid var(--obs-line) !important;
background: rgba(255, 255, 255, 0.62) !important;
vertical-align: middle;
}
.momo-observability-mode .table tbody td:first-child,
.momo-observability-mode table tbody td:first-child {
border-left: 1px solid var(--obs-line) !important;
border-radius: 14px 0 0 14px;
}
.momo-observability-mode .table tbody td:last-child,
.momo-observability-mode table tbody td:last-child {
border-right: 1px solid var(--obs-line) !important;
border-radius: 0 14px 14px 0;
}
.momo-observability-mode .btn {
border-radius: 999px !important;
font-weight: 850 !important;
letter-spacing: 0.01em;
box-shadow: none !important;
}
.momo-observability-mode .btn:focus-visible,
.momo-observability-mode a:focus-visible,
.momo-observability-mode button:focus-visible {
outline: 0;
box-shadow: var(--obs-focus-ring) !important;
}
.momo-observability-mode .btn-primary,
.momo-observability-mode .btn-warning,
.momo-observability-mode .btn-danger,
.momo-observability-mode .btn-success {
color: #fff8ee !important;
border-color: transparent !important;
}
.momo-observability-mode .btn-outline-primary,
.momo-observability-mode .btn-outline-secondary,
.momo-observability-mode .btn-outline-warning,
.momo-observability-mode .btn-outline-danger,
.momo-observability-mode .btn-outline-success {
background: rgba(255, 248, 238, 0.58) !important;
border-color: rgba(201, 100, 66, 0.28) !important;
}
.momo-observability-mode .badge,
.momo-observability-mode .obs-pill,
.momo-observability-mode [class$="-pill"] {
border: 1px solid rgba(201, 100, 66, 0.18);
box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.5);
}
.momo-observability-mode .progress {
height: 0.62rem;
border-radius: 999px;
background: rgba(70, 46, 28, 0.08);
overflow: hidden;
}
.momo-observability-mode .list-group-item,
.momo-observability-mode .dropdown-menu,
.momo-observability-mode .modal-content,
.momo-observability-mode .alert {
border-color: var(--obs-line) !important;
background: rgba(255, 252, 246, 0.96) !important;
color: var(--obs-ink) !important;
box-shadow: 0 16px 38px rgba(70, 46, 28, 0.08);
}
.momo-observability-mode .obs-chart-frame,
.momo-observability-mode .chart-frame,
.momo-observability-mode .chart-container {
position: relative;
min-height: 240px;
padding: 0.85rem;
border: 1px solid var(--obs-line);
border-radius: 20px;
background:
radial-gradient(circle at 12px 12px, rgba(201, 100, 66, 0.13) 1px, transparent 1.35px),
rgba(255, 255, 255, 0.52);
background-size: 13px 13px, auto;
}
.momo-observability-mode canvas {
max-width: 100%;
}
@media (max-width: 992px) {
.momo-observability-mode .obs-command-strip,
.momo-observability-mode .obs-grid,
.momo-observability-mode .obs-metric-grid,
.momo-observability-mode .agent-grid,
.momo-observability-mode .biz-grid,
.momo-observability-mode .runtime-grid,
.momo-observability-mode .calls-grid,
.momo-observability-mode .gov-grid,
.momo-observability-mode .gate-grid,
.momo-observability-mode .rag-grid,
.momo-observability-mode .quality-grid,
.momo-observability-mode .ppt-grid {
grid-template-columns: 1fr !important;
}
.momo-observability-mode .obs-host-card {
grid-template-columns: 1fr !important;
}
}