diff --git a/dashboard-preact.html b/dashboard-preact.html index 1799ca4..0de03f2 100644 --- a/dashboard-preact.html +++ b/dashboard-preact.html @@ -15,17 +15,17 @@ theme: { extend: { colors: { - bg: '#060d1a', - surface: '#0e1728', - surface2: '#16233a', - selection: '#2a3c5c', - fg: '#d9e3f7', - bright: '#f7faff', - dim: '#92a6c9', - active: '#69c39a', - attention: '#d4ad5d', - starting: '#79a6ff', - done: '#d19189', + bg: '#01040b', + surface: '#070d18', + surface2: '#0d1830', + selection: '#223454', + fg: '#e0ebff', + bright: '#fbfdff', + dim: '#8ba3cc', + active: '#5fd0a4', + attention: '#e0b45e', + starting: '#7cb2ff', + done: '#e39a8c', }, fontFamily: { display: ['Space Grotesk', 'IBM Plex Sans', 'sans-serif'], @@ -84,9 +84,15 @@ 'border-emerald-500/30', 'bg-emerald-500/10', 'text-emerald-400', + 'border-emerald-400/45', + 'bg-emerald-500/14', + 'text-emerald-300', 'border-violet-500/30', 'bg-violet-500/10', 'text-violet-400', + 'border-violet-400/45', + 'bg-violet-500/14', + 'text-violet-300', ] } @@ -97,13 +103,13 @@ } :root { - --bg-flat: #060d1a; - --glass-border: rgba(137, 171, 226, 0.24); + --bg-flat: #01040b; + --glass-border: rgba(116, 154, 214, 0.22); } * { scrollbar-width: thin; - scrollbar-color: #4e658d #0f1a2d; + scrollbar-color: #445f8e #0a1222; } body { @@ -111,7 +117,7 @@ font-family: 'IBM Plex Sans', system-ui, sans-serif; background: var(--bg-flat); min-height: 100vh; - color: #d9e3f7; + color: #e0ebff; letter-spacing: 0.01em; } @@ -120,7 +126,7 @@ min-height: 100vh; } - #app > * { + #app > *:not(.fixed) { position: relative; z-index: 1; } @@ -131,16 +137,16 @@ } ::-webkit-scrollbar-track { - background: #0f1a2d; + background: #0a1222; } ::-webkit-scrollbar-thumb { - background: #4e658d; + background: #445f8e; border-radius: 4px; } ::-webkit-scrollbar-thumb:hover { - background: #617ba8; + background: #5574aa; } @keyframes pulse-attention { @@ -161,8 +167,227 @@ .glass-panel { backdrop-filter: blur(10px); border: 1px solid var(--glass-border); - background: rgba(11, 20, 35, 0.94); - box-shadow: 0 8px 20px rgba(0, 0, 0, 0.3), inset 0 1px 0 rgba(177, 204, 252, 0.06); + background: rgba(7, 13, 24, 0.95); + box-shadow: 0 10px 24px rgba(0, 0, 0, 0.36), inset 0 1px 0 rgba(151, 185, 245, 0.05); + } + + .agent-header-codex { + background: rgba(20, 60, 54, 0.4); + border-bottom-color: rgba(116, 227, 196, 0.34); + } + + .agent-header-claude { + background: rgba(45, 36, 78, 0.42); + border-bottom-color: rgba(179, 154, 255, 0.36); + } + + /* Markdown content styling */ + .md-content { + line-height: 1.6; + } + + .md-content > *:first-child { + margin-top: 0; + } + + .md-content > *:last-child { + margin-bottom: 0; + } + + .md-content h1, .md-content h2, .md-content h3, + .md-content h4, .md-content h5, .md-content h6 { + font-family: 'Space Grotesk', 'IBM Plex Sans', sans-serif; + font-weight: 600; + color: #fbfdff; + margin: 1.25em 0 0.5em; + line-height: 1.3; + } + + .md-content h1 { font-size: 1.4em; } + .md-content h2 { font-size: 1.25em; } + .md-content h3 { font-size: 1.1em; } + .md-content h4, .md-content h5, .md-content h6 { font-size: 1em; } + + .md-content p { + margin: 0.75em 0; + } + + .md-content strong { + color: #fbfdff; + font-weight: 600; + } + + .md-content em { + color: #c8d8f0; + } + + .md-content a { + color: #7cb2ff; + text-decoration: underline; + text-underline-offset: 2px; + } + + .md-content a:hover { + color: #a8ccff; + } + + .md-content code { + font-family: 'IBM Plex Mono', monospace; + font-size: 0.9em; + background: rgba(1, 4, 11, 0.55); + border: 1px solid rgba(34, 52, 84, 0.8); + border-radius: 4px; + padding: 0.15em 0.4em; + } + + .md-content pre { + margin: 0.75em 0; + padding: 0.875rem 1rem; + background: rgba(1, 4, 11, 0.65); + border: 1px solid rgba(34, 52, 84, 0.75); + border-radius: 0.75rem; + overflow-x: auto; + font-size: 0.85em; + line-height: 1.5; + } + + .md-content pre code { + background: none; + border: none; + padding: 0; + font-size: inherit; + } + + .md-content ul, .md-content ol { + margin: 0.75em 0; + padding-left: 1.5em; + } + + .md-content li { + margin: 0.25em 0; + } + + .md-content li > ul, .md-content li > ol { + margin: 0.25em 0; + } + + .md-content blockquote { + margin: 0.75em 0; + padding: 0.5em 1em; + border-left: 3px solid rgba(124, 178, 255, 0.5); + background: rgba(34, 52, 84, 0.25); + border-radius: 0 0.5rem 0.5rem 0; + color: #c8d8f0; + } + + .md-content hr { + border: none; + border-top: 1px solid rgba(34, 52, 84, 0.6); + margin: 1.25em 0; + } + + .md-content table { + width: 100%; + border-collapse: collapse; + margin: 0.75em 0; + font-size: 0.9em; + } + + .md-content th, .md-content td { + border: 1px solid rgba(34, 52, 84, 0.6); + padding: 0.5em 0.75em; + text-align: left; + } + + .md-content th { + background: rgba(34, 52, 84, 0.35); + font-weight: 600; + color: #fbfdff; + } + + .md-content tr:nth-child(even) { + background: rgba(34, 52, 84, 0.15); + } + + /* Highlight.js syntax theme (dark) */ + .hljs { + color: #e0ebff; + } + + .hljs-keyword, + .hljs-selector-tag, + .hljs-built_in, + .hljs-name, + .hljs-tag { + color: #c792ea; + } + + .hljs-string, + .hljs-title, + .hljs-section, + .hljs-attribute, + .hljs-literal, + .hljs-template-tag, + .hljs-template-variable, + .hljs-type, + .hljs-addition { + color: #c3e88d; + } + + .hljs-comment, + .hljs-quote, + .hljs-deletion, + .hljs-meta { + color: #697098; + } + + .hljs-keyword, + .hljs-selector-tag, + .hljs-literal, + .hljs-title, + .hljs-section, + .hljs-doctag, + .hljs-type, + .hljs-name, + .hljs-strong { + font-weight: 500; + } + + .hljs-number, + .hljs-selector-id, + .hljs-selector-class, + .hljs-quote, + .hljs-template-tag, + .hljs-deletion { + color: #f78c6c; + } + + .hljs-title.function_, + .hljs-subst, + .hljs-symbol, + .hljs-bullet, + .hljs-link { + color: #82aaff; + } + + .hljs-selector-attr, + .hljs-selector-pseudo, + .hljs-variable, + .hljs-template-variable { + color: #ffcb6b; + } + + .hljs-attr { + color: #89ddff; + } + + .hljs-regexp, + .hljs-link { + color: #89ddff; + } + + .hljs-emphasis { + font-style: italic; } @@ -171,8 +396,52 @@