diff --git a/hive-ag3nt/src/web_ui.rs b/hive-ag3nt/src/web_ui.rs
index 3f16df2..c09e929 100644
--- a/hive-ag3nt/src/web_ui.rs
+++ b/hive-ag3nt/src/web_ui.rs
@@ -114,81 +114,109 @@ fn render_online(label: &str) -> String {
/// reload, so the login flow and other forms aren't clobbered.
const LIVE_PANEL: &str = r#"
live
-connecting…
+
@@ -437,10 +465,46 @@ const STYLE: &str = r#"
word-break: break-all;
max-height: 30em;
}
- #live { max-height: 24em; overflow-y: auto; }
- #live span { display: block; }
- #live .turnstart { color: var(--amber); }
- #live .turnok { color: var(--green); }
- #live .turnfail { color: #ff6b6b; }
+ .live {
+ background: rgba(255, 255, 255, 0.02);
+ border: 1px solid var(--purple-dim);
+ padding: 0.4em 0.6em;
+ overflow-y: auto;
+ max-height: 32em;
+ font-family: inherit;
+ }
+ .live .row {
+ white-space: pre-wrap;
+ word-break: break-word;
+ padding: 0.05em 0;
+ line-height: 1.45;
+ border-left: 2px solid transparent;
+ padding-left: 0.5em;
+ margin: 0.1em 0;
+ }
+ .live .row + .row { border-top: 0; }
+ .live .turn-start {
+ color: var(--amber);
+ font-weight: bold;
+ margin-top: 1em;
+ border-left-color: var(--amber);
+ padding-top: 0.3em;
+ }
+ .live .turn-start:first-child { margin-top: 0; }
+ .live .turn-body {
+ color: var(--fg);
+ font-weight: normal;
+ margin-top: 0.15em;
+ padding-left: 1.2em;
+ opacity: 0.85;
+ }
+ .live .turn-end-ok { color: #66ff99; border-left-color: #66ff99; margin-bottom: 0.4em; }
+ .live .turn-end-fail { color: #ff6b6b; border-left-color: #ff6b6b; margin-bottom: 0.4em; }
+ .live .text { color: var(--fg); padding-left: 1.2em; }
+ .live .thinking { color: var(--muted); font-style: italic; padding-left: 1.2em; }
+ .live .tool-use { color: #66e0ff; padding-left: 1.2em; }
+ .live .tool-result { color: var(--muted); padding-left: 1.2em; }
+ .live .result { color: var(--green); padding-left: 0.5em; }
+ .live .sys, .live .note { color: var(--muted); }
"#;