What happened
When opening Settings → Models and selecting a provider, the connection
dialog renders with the header content — provider icon, title, subtitle and
close button — flush against the modal edges with no padding.
This is not specific to the provider dialog: the same defect affects every
dialog (keyboard shortcuts help, bot onboarding, WeChat QR, MCP editor,
search, etc.).
Root cause: regression introduced by #1674 (72f5d981 "refactor(ui): move
modal layers to Astryx"). Before the migration, Maka's own DialogHeader
carried px-4 py-2.5 padding. The Astryx DialogHeader derives its inset
from the dialog container's --layout-padding-* variables, but Maka's
createModalContent defaults padding = 0, so the header loses all inset.
How to reproduce
- Open Settings → Models
- Click a provider to open its connection dialog
- Observe the header: icon, title, subtitle and close button are flush against the dialog edges
Environment
Logs, screenshots, or additional context

What happened
When opening Settings → Models and selecting a provider, the connection
dialog renders with the header content — provider icon, title, subtitle and
close button — flush against the modal edges with no padding.
This is not specific to the provider dialog: the same defect affects every
dialog (keyboard shortcuts help, bot onboarding, WeChat QR, MCP editor,
search, etc.).
Root cause: regression introduced by #1674 (
72f5d981"refactor(ui): movemodal layers to Astryx"). Before the migration, Maka's own DialogHeader
carried
px-4 py-2.5padding. The Astryx DialogHeader derives its insetfrom the dialog container's
--layout-padding-*variables, but Maka'screateModalContentdefaultspadding = 0, so the header loses all inset.How to reproduce
Environment
d07d4f1e(regression from72f5d981, refactor(ui): move modal layers to Astryx #1674)Logs, screenshots, or additional context