diff --git a/src/client/components/Tooltip.tsx b/src/client/components/Tooltip.tsx
index 10cc380..1d7edab 100644
--- a/src/client/components/Tooltip.tsx
+++ b/src/client/components/Tooltip.tsx
@@ -68,7 +68,7 @@ export function Tooltip({ content, children, delayMs = 150, side = "top" }: Prop
style={{
position: "fixed",
left: position.x,
- top: side === "top" ? position.y - 8 : position.y + 8,
+ top: side === "top" ? position.y - 12 : position.y + 12,
zIndex: 9999,
}}
data-side={side}
diff --git a/src/client/styles/main.css b/src/client/styles/main.css
index 3b4cf4c..9be1995 100644
--- a/src/client/styles/main.css
+++ b/src/client/styles/main.css
@@ -247,7 +247,7 @@ mark.search-highlight {
position: absolute;
right: 0;
width: 8px;
- height: 4px;
+ height: 3px;
background: rgba(254, 240, 138, 0.7);
border: none;
padding: 0;
@@ -362,7 +362,7 @@ mark.search-highlight {
.prose-message p {
margin-top: 0.5rem;
margin-bottom: 0.5rem;
- line-height: 1.625;
+ line-height: 1.6;
}
.prose-message p:first-child {
@@ -383,7 +383,7 @@ mark.search-highlight {
.prose-message li {
margin-top: 0.25rem;
margin-bottom: 0.25rem;
- line-height: 1.5;
+ line-height: 1.6;
}
.prose-message code:not(pre code) {
@@ -445,6 +445,116 @@ mark.search-highlight {
font-weight: 600;
}
+/* ═══════════════════════════════════════════════
+ Progress markdown (compact variant)
+ ═══════════════════════════════════════════════ */
+
+.prose-message-progress {
+ font-family: "JetBrains Mono", "Fira Code", "SF Mono", ui-monospace, monospace;
+ font-size: 11px;
+ line-height: 1.5;
+ color: var(--color-foreground-secondary);
+ word-break: break-word;
+}
+
+.prose-message-progress h1,
+.prose-message-progress h2,
+.prose-message-progress h3,
+.prose-message-progress h4,
+.prose-message-progress h5,
+.prose-message-progress h6 {
+ font-size: 12px;
+ font-weight: 600;
+ color: var(--color-foreground);
+ margin-top: 0.25rem;
+ margin-bottom: 0.25rem;
+}
+
+.prose-message-progress p {
+ margin-top: 0.125rem;
+ margin-bottom: 0.125rem;
+}
+
+.prose-message-progress p:first-child {
+ margin-top: 0;
+}
+
+.prose-message-progress p:last-child {
+ margin-bottom: 0;
+}
+
+.prose-message-progress ul,
+.prose-message-progress ol {
+ margin-top: 0.25rem;
+ margin-bottom: 0.25rem;
+ padding-left: 1rem;
+}
+
+.prose-message-progress li {
+ margin-top: 0.125rem;
+ margin-bottom: 0.125rem;
+ line-height: 1.5;
+}
+
+.prose-message-progress code:not(pre code) {
+ font-family: inherit;
+ font-size: 0.9em;
+ padding: 0.0625rem 0.25rem;
+ border-radius: 0.1875rem;
+ background: var(--color-surface-inset);
+ border: 1px solid var(--color-border-muted);
+ color: #c4a1ff;
+ font-weight: 500;
+}
+
+.prose-message-progress pre {
+ margin-top: 0.5rem;
+ margin-bottom: 0.5rem;
+ max-width: 100%;
+ overflow-x: auto;
+}
+
+.prose-message-progress blockquote {
+ border-left: 2px solid var(--color-border);
+ padding-left: 0.5rem;
+ color: var(--color-foreground-secondary);
+ margin-top: 0.25rem;
+ margin-bottom: 0.25rem;
+}
+
+.prose-message-progress a {
+ color: var(--color-accent);
+ text-decoration: underline;
+ text-underline-offset: 2px;
+ text-decoration-color: rgba(91, 156, 245, 0.3);
+ transition: text-decoration-color 150ms;
+}
+
+.prose-message-progress a:hover {
+ color: var(--color-accent-dark);
+ text-decoration-color: rgba(125, 180, 255, 0.6);
+}
+
+.prose-message-progress table {
+ width: 100%;
+ border-collapse: collapse;
+ margin-top: 0.375rem;
+ margin-bottom: 0.375rem;
+ font-size: 11px;
+}
+
+.prose-message-progress th,
+.prose-message-progress td {
+ border: 1px solid var(--color-border-muted);
+ padding: 0.25rem 0.5rem;
+ text-align: left;
+}
+
+.prose-message-progress th {
+ background: var(--color-surface-inset);
+ font-weight: 600;
+}
+
/* ═══════════════════════════════════════════════
Focus ring system
═══════════════════════════════════════════════ */
@@ -481,10 +591,10 @@ mark.search-highlight {
.custom-checkbox:checked::after {
content: "";
position: absolute;
- top: 1px;
- left: 4px;
- width: 5px;
- height: 9px;
+ top: 6.25%;
+ left: 25%;
+ width: 31.25%;
+ height: 56.25%;
border: solid #0c1017;
border-width: 0 2px 2px 0;
transform: rotate(45deg);