diff --git a/public/index.html b/public/index.html index 8775a44..3fdfc84 100644 --- a/public/index.html +++ b/public/index.html @@ -15,6 +15,9 @@ --terminal-green: #00ff41; --terminal-amber: #ffb000; --terminal-cyan: #00ffff; + --terminal-red: #ff4444; + --bg-terminal: #001a00; + --bg-terminal-border: #003300; --text-primary: #00ff41; --text-secondary: #00cc33; --text-muted: #008822; @@ -40,6 +43,7 @@ --glow-green-intense: 0 0 8px #00ff41, 0 0 16px #00ff41, 0 0 24px #00ff41, 0 0 32px rgba(0, 255, 65, 0.5); --glow-amber: 0 0 5px #ffb000, 0 0 10px #ffb000, 0 0 15px #ffb000; --glow-amber-intense: 0 0 8px #ffb000, 0 0 16px #ffb000, 0 0 24px #ffb000; + --glow-red: 0 0 5px #ff4444, 0 0 10px #ff4444; } * { margin: 0; padding: 0; box-sizing: border-box; } @@ -72,6 +76,7 @@ pointer-events: none; z-index: 9999; animation: scanline 8s linear infinite; + will-change: transform; } @keyframes scanline { @@ -361,7 +366,12 @@ button::after { content: ' ]'; flex-shrink: 0; } /* Suppress bracket pseudo-elements for tab/nav buttons and inline-styled sub-tabs */ button.tab::before, button.tab::after, - button[style*="border:none"]::before, button[style*="border:none"]::after { content: none; } + button[style*="border:none"]::before, button[style*="border:none"]::after, + button[style*="border: none"]::before, button[style*="border: none"]::after, + button[style*="flex:0"]::before, button[style*="flex:0"]::after, + button[style*="flex: 0"]::before, button[style*="flex: 0"]::after, + button[style*="flex:1"]::before, button[style*="flex:1"]::after, + button[style*="flex: 1"]::before, button[style*="flex: 1"]::after { content: none; } button:hover { background: rgba(0, 255, 65, 0.15); color: var(--terminal-amber); @@ -466,7 +476,7 @@ border-radius: 0; max-width: 600px; width: 90%; - max-height: 80vh; + max-height: 85vh; overflow-y: auto; box-shadow: 0 0 30px rgba(0, 255, 65, 0.3); position: relative; @@ -624,7 +634,7 @@ } .log-entry.failed { - border-left-color: #ff4444; + border-left-color: var(--terminal-red); } .log-timestamp { @@ -642,8 +652,8 @@ } .log-entry.failed .log-title { - color: #ff4444; - text-shadow: 0 0 5px #ff4444; + color: var(--terminal-red); + text-shadow: var(--glow-red); } .log-details { @@ -662,8 +672,8 @@ } .log-output { - background: #0a0a0a; - border: 1px solid #003300; + background: var(--bg-primary); + border: 1px solid var(--bg-terminal-border); padding: 10px; margin: 6px 0; color: var(--terminal-green); @@ -675,14 +685,14 @@ } .log-error { - color: #ff6666; + color: var(--terminal-red); border-color: #330000; } .log-entry code { - background: #001a00; + background: var(--bg-terminal); padding: 2px 6px; - border: 1px solid #003300; + border: 1px solid var(--bg-terminal-border); color: var(--terminal-green); font-family: var(--font-mono); } @@ -699,15 +709,15 @@ .worker-stats span { padding: 2px 6px; - background: #001a00; - border: 1px solid #003300; + background: var(--bg-terminal); + border: 1px solid var(--bg-terminal-border); } .worker-metadata { margin-top: 12px; padding: 10px; - background: #001a00; - border: 1px solid #003300; + background: var(--bg-terminal); + border: 1px solid var(--bg-terminal-border); font-family: var(--font-mono); font-size: 0.85em; } @@ -743,18 +753,18 @@ } .execution-item:hover { - background: #001a00; + background: var(--bg-terminal); border-left-width: 5px; transform: translateX(3px); } .worker-item:hover { - background: #001a00; + background: var(--bg-terminal); border-left-width: 5px; } .workflow-item:hover { - background: #001a00; + background: var(--bg-terminal); border-left-width: 5px; } @@ -768,6 +778,15 @@ 50% { opacity: 1; } } + /* Running execution pulse */ + .execution-item.status-running { + animation: exec-running-pulse 2s ease-in-out infinite; + } + @keyframes exec-running-pulse { + 0%, 100% { border-color: var(--terminal-green); } + 50% { border-color: var(--status-running); box-shadow: 0 0 8px rgba(255,193,7,0.35); } + } + /* Success/Error message animations */ @keyframes slide-in { from { @@ -792,8 +811,11 @@
Pipelined Unified Logic & Server Engine
- @@ -1263,7 +1285,7 @@${escapeHtml(item.command)}