diff --git a/src/app/components/editor/autocomplete/AutocompleteMenu.css.tsx b/src/app/components/editor/autocomplete/AutocompleteMenu.css.tsx
index 98f653ed..5f4b66f3 100644
--- a/src/app/components/editor/autocomplete/AutocompleteMenu.css.tsx
+++ b/src/app/components/editor/autocomplete/AutocompleteMenu.css.tsx
@@ -1,5 +1,5 @@
import { style } from '@vanilla-extract/css';
-import { DefaultReset, config } from 'folds';
+import { DefaultReset, color, config, toRem } from 'folds';
export const AutocompleteMenuBase = style([
DefaultReset,
@@ -19,17 +19,51 @@ export const AutocompleteMenuContainer = style([
},
]);
+// Dawn popover shell — a single hairline-bordered panel that floats above the
+// composer, mirroring the cmdK result-list look (panel #181a20 + faint fleet ring).
export const AutocompleteMenu = style([
DefaultReset,
{
- maxHeight: '30vh',
+ maxHeight: '40vh',
height: '100%',
display: 'flex',
flexDirection: 'column',
+ backgroundColor: color.SurfaceVariant.Container,
+ border: `${toRem(1)} solid rgba(255, 255, 255, 0.07)`,
+ borderRadius: config.radii.R400,
+ boxShadow: '0 30px 80px rgba(0, 0, 0, 0.6), 0 0 0 1px rgba(149, 128, 255, 0.15)',
+ overflow: 'hidden',
},
]);
+// UPPERCASE, letter-spaced, muted mono section label — replaces the folds Header.
export const AutocompleteMenuHeader = style([
DefaultReset,
- { padding: `0 ${config.space.S300}`, flexShrink: 0 },
+ {
+ flexShrink: 0,
+ display: 'block',
+ padding: `${config.space.S200} ${config.space.S300} ${config.space.S100}`,
+ fontFamily: 'var(--font-mono)',
+ fontSize: toRem(10),
+ lineHeight: toRem(14),
+ fontWeight: config.fontWeight.W500,
+ letterSpacing: '0.12em',
+ textTransform: 'uppercase',
+ color: color.SurfaceVariant.OnContainer,
+ opacity: 0.5,
+ },
]);
+
+// JetBrains Mono technical handle (@user:server, #alias:server, !id, /command sig)
+// rendered at a muted tone inside an autocomplete row.
+export const AutocompleteMono = style({
+ fontFamily: 'var(--font-mono)',
+ opacity: 0.6,
+});
+
+// Fleet highlight for the first (Tab-target) row: faint violet wash + a 2px
+// fleet left-border. Purely visual — reflects the onTabPress 'first item' logic.
+export const AutocompleteActiveRow = style({
+ backgroundColor: 'rgba(149, 128, 255, 0.08)',
+ boxShadow: `inset ${toRem(2)} 0 0 0 ${color.Primary.Main}`,
+});
diff --git a/src/app/components/editor/autocomplete/AutocompleteMenu.tsx b/src/app/components/editor/autocomplete/AutocompleteMenu.tsx
index 452fa1b4..cfa024eb 100644
--- a/src/app/components/editor/autocomplete/AutocompleteMenu.tsx
+++ b/src/app/components/editor/autocomplete/AutocompleteMenu.tsx
@@ -1,7 +1,7 @@
import React, { ReactNode } from 'react';
import FocusTrap from 'focus-trap-react';
import { isKeyHotkey } from 'is-hotkey';
-import { Header, Menu, Scroll, config } from 'folds';
+import { Menu, Scroll, config } from 'folds';
import * as css from './AutocompleteMenu.css';
import { preventScrollWithArrowKey, stopPropagation } from '../../../utils/keyboard';
@@ -38,9 +38,7 @@ export function AutocompleteMenu({ headerContent, requestClose, children }: Auto
}}
>