blob: 2755a999b4a68eec2c08d9306ac915618415558d [file]
/* Maka product compositions shared across desktop renderer surfaces. Astryx
owns generic component chrome; these selectors own only product semantics. */
.maka-quote-chip-remove { display: inline-flex; flex: 0 0 auto; align-items: center; justify-content: center; border: 0; color: var(--muted-foreground); background: transparent; transition: color var(--duration-quick), background var(--duration-quick); }
.maka-quote-chip-remove:hover { color: var(--foreground); background: var(--foreground-alpha-10); }
.maka-page-header-title,
.maka-page-header-eyebrow,
.maka-page-header-subtitle { margin: 0; }
.maka-page-header-content { min-width: 0; }
.maka-page-header-heading-row { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.maka-section-header { display: flex; min-width: 0; align-items: center; justify-content: space-between; gap: 12px; }
.maka-section-header-content { min-width: 0; }
.maka-section-header-title {
font: var(--maka-text-heading-4);
display: inline-flex; align-items: center; gap: 8px; margin: 0; color: var(--foreground); }
.maka-section-header-title-accent::before { display: inline-block; width: 3px; height: 12px; border-radius: var(--radius-pill); background: oklch(from var(--status-running) l c h / 0.85); content: ""; }
.maka-section-header-count {
font: var(--maka-text-supporting);
color: var(--muted-foreground); font-variant-numeric: tabular-nums; }
.maka-section-header-subtitle {
font: var(--maka-text-supporting);
display: block; margin-top: 2px; color: var(--foreground-secondary); }
.maka-section-header-action { display: flex; flex: 0 0 auto; align-items: center; gap: 8px; }
.maka-stat-tile { display: flex; min-width: 0; flex-direction: column; align-items: flex-start; gap: 4px; padding: 12px; }
.maka-stat-tile-outline { border: 1px solid var(--card-border-color, var(--border)); border-radius: var(--radius-surface); background: var(--card-bg, var(--background)); box-shadow: var(--card-shadow, none); }
.maka-stat-tile-filled { border-radius: var(--radius-control); background: var(--foreground-5); }
.maka-stat-tile-border-info { border-color: oklch(from var(--info) l c h / 0.24); }
.maka-stat-tile-border-success { border-color: oklch(from var(--success) l c h / 0.24); }
.maka-stat-tile-border-warning { border-color: oklch(from var(--warning) l c h / 0.28); }
.maka-stat-tile-border-destructive { border-color: oklch(from var(--destructive) l c h / 0.3); }
.maka-stat-tile-empty { opacity: var(--opacity-disabled); }
.maka-stat-tile-value-outline { font: var(--maka-text-heading-1); }
.maka-stat-tile-value-filled { font: var(--maka-text-heading-4); }
/* After the two role rules, not before them. The `font:` shorthand resets
`font-variant-numeric` along with the four axes the role names, and both
modifiers land on this same element — so declared first, the tabular figures
these tiles exist to align were being reset away by the role. Ordering is
the fix rather than repeating the declaration on each modifier: it is one
authority, and it is the general rule for any sub-property the roles do not
carry. */
.maka-stat-tile-value { display: block; min-width: 0; max-width: 100%; overflow-wrap: anywhere; color: var(--foreground); font-variant-numeric: tabular-nums; white-space: normal; }
.maka-stat-tile-value-info { color: var(--info-text); }
.maka-stat-tile-value-success { color: var(--success-text); }
.maka-stat-tile-value-warning { color: var(--warning-text); }
.maka-stat-tile-value-destructive { color: var(--destructive-text); }
.maka-stat-tile-label {
font: var(--maka-text-supporting);
color: var(--foreground-secondary); letter-spacing: 0.025em; }
.maka-stat-tile-detail {
font: var(--maka-text-supporting);
color: var(--muted-foreground); }
.maka-quote-chip { display: inline-flex; gap: 4px; padding-left: 8px; background: var(--foreground-alpha-6); box-shadow: inset 0 0 0 1px var(--foreground-alpha-12); }
.maka-quote-chip-expanded { width: 100%; max-width: 100%; align-items: flex-start; padding-block: 4px; border-radius: var(--radius-surface); }
/* #1879: measured 24px natural — a 20px line box plus 2 x 2px padding — and
`--h-control-sm` IS 24, so the pin is pixel-neutral today and load-bearing
the next time a leading moves. This is the collapsed state only; the
expanded twin above wraps to many lines and must keep growing. The chip's
type lives on `.maka-quote-chip-text`, which is why the derived scan needed
two arms rather than three to see it at all. */
.maka-quote-chip-collapsed { height: var(--h-control-sm); max-width: 240px; align-items: center; padding-block: 2px; border-radius: var(--radius-pill); }
.maka-quote-chip-removable { padding-right: 2px; }
.maka-quote-chip-readonly { padding-right: 8px; }
.maka-quote-chip-icon { width: 12px; height: 12px; flex: 0 0 auto; color: var(--muted-foreground); }
.maka-quote-chip-icon-expanded { margin-top: 2px; }
.maka-quote-chip-text {
font: var(--maka-text-supporting);
min-width: 0; flex: 1; border: 0; padding: 0; color: var(--foreground-secondary); background: transparent; text-align: left; }
.maka-quote-chip-text-expanded { max-height: 128px; overflow-y: auto; overflow-wrap: break-word; white-space: pre-wrap; }
.maka-quote-chip-text-clipped { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.maka-quote-chip-label { color: var(--muted-foreground); }
.maka-quote-chip-remove { width: 16px; height: 16px; border-radius: 50%; }
.maka-quote-chip-remove > svg { width: 12px; height: 12px; }
.maka-task-ledger-empty {
font: var(--maka-text-body);
margin: 0; color: var(--muted-foreground); }
.maka-message-meta { opacity: 0; transition: opacity var(--duration-quick) var(--ease-out-strong); }
.maka-user-message:hover .maka-message-meta,
.maka-user-message:focus-within .maka-message-meta { opacity: 1; }
.maka-user-quotes { display: flex; max-width: 100%; flex-wrap: wrap; align-items: flex-start; gap: 4px; }
.maka-assistant-answer-content { display: flex; width: 100%; min-width: 0; flex-direction: column; gap: 8px; }
.maka-live-turn-footer-placeholder { height: 32px; margin-top: 2px; }
.maka-turn-processing,
.maka-turn-status,
.maka-turn-continuing {
font: var(--maka-text-body);
display: flex; align-items: center; padding-block: 2px; color: var(--muted-foreground); }
.maka-turn-processing,
.maka-turn-status { gap: 8px; }
.maka-turn-processing-spinner { flex: 0 0 auto; animation: maka-spin 1s linear infinite; }
.maka-turn-indicator-text { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.maka-turn-continuing { opacity: 0.7; animation: maka-stream-fade-in var(--duration-emphasized) var(--ease-out-strong) both; }
/* #1879: an Astryx `Badge variant="yellow"` now — the warning tone it used to
draw by hand (hairline + 5% wash) is a variant, and the box comes with it.
Product CSS keeps only what is layout: it is a block-level note under the
bubble, so it needs its own line and the gap above it. */
.maka-turn-truncation-badge { display: flex; width: fit-content; margin-top: 6px; cursor: help; }
.maka-deep-thinking { min-width: 0; }
/* The reasoning body inside the Astryx ChatReasoning disclosure. The official
atoms own no white-space (the shell assumes children are pre-rendered), so
the inherited `white-space: normal` collapses every newline in thinking
text. Restore the pre-wrap reading contract the pre-Astryx disclosure had
(dropped in the #1748 migration). `word-break` keeps long tokens from
overflowing the box, as the old body did. */
.maka-chat-reasoning-content { white-space: pre-wrap; word-break: break-word; }
@keyframes maka-spin { to { transform: rotate(360deg); } }
.maka-spin { animation: maka-spin 1s linear infinite; }
/* Markdown code renderers are custom components so Mermaid can be loaded only
for settled Mermaid fences. Preserve Astryx's document/compact rhythm here. */
.maka-markdown-code { min-width: 0; }
.maka-markdown-code-default { margin-block: var(--space-3) var(--space-4); }
.maka-markdown-code-compact { margin-block: var(--space-1) var(--space-2); }
[role="document"] > .maka-markdown-code:first-child { margin-block-start: 0; }
[role="document"] > .maka-markdown-code:last-child { margin-block-end: 0; }
.maka-mermaid-diagram {
display: flex;
max-width: 100%;
min-height: 0;
flex-direction: column;
overflow: hidden;
container-type: inline-size;
border: 1px solid var(--border);
border-radius: var(--radius-surface);
background: var(--background);
}
.maka-mermaid-toolbar {
min-height: 40px;
flex: 0 0 auto;
border-bottom: 1px solid var(--border);
background: var(--foreground-3);
}
.maka-mermaid-title { font: var(--maka-text-supporting); color: var(--muted-foreground); }
.maka-mermaid-actions { display: flex; align-items: center; gap: 2px; }
.maka-mermaid-zoom-actions { display: flex; align-items: center; gap: 2px; }
.maka-mermaid-zoom-level {
font: var(--maka-text-code);
min-width: 4.5ch;
color: var(--muted-foreground);
text-align: center;
font-variant-numeric: tabular-nums;
}
.maka-mermaid-viewport {
position: relative;
display: grid;
min-width: 0;
align-items: center;
overflow: auto;
padding: var(--space-3);
cursor: default;
outline: none;
overscroll-behavior: auto;
touch-action: pan-y;
}
.maka-mermaid-viewport:focus-visible { box-shadow: inset 0 0 0 2px var(--focus-ring); }
.maka-mermaid-viewport[data-maka-mermaid-pannable="horizontal"] { cursor: grab; overscroll-behavior-x: contain; }
.maka-mermaid-viewport[data-maka-mermaid-pannable="vertical"],
.maka-mermaid-viewport[data-maka-mermaid-pannable="both"] {
cursor: grab;
overscroll-behavior: contain;
touch-action: none;
}
.maka-mermaid-viewport[data-maka-mermaid-panning="true"] { cursor: grabbing; user-select: none; }
.maka-mermaid-canvas { min-width: 0; margin-inline: auto; }
.maka-mermaid-svg { display: flex; width: 100%; height: 100%; min-width: 0; justify-content: center; }
.maka-mermaid-svg > svg {
display: block;
width: 100%;
max-width: none !important;
height: 100%;
overflow: visible;
}
.maka-mermaid-diagram-expanded {
width: 100%;
height: 100%;
max-width: none;
margin: 0 !important;
border: 0;
border-radius: 0;
}
.maka-mermaid-diagram-expanded .maka-mermaid-toolbar {
padding-left: max(var(--space-3), var(--maka-titlebar-area-x, 0px));
padding-right: calc(var(--space-1) + var(--maka-titlebar-overlay-right-width, 0px));
}
.maka-mermaid-diagram-expanded .maka-mermaid-actions { -webkit-app-region: no-drag; }
.maka-mermaid-diagram-expanded .maka-mermaid-viewport { min-height: 0; flex: 1 1 auto; }
.maka-mermaid-dialog { -webkit-app-region: no-drag; }
.maka-mermaid-source {
max-height: min(40%, 320px);
flex: 0 1 auto;
overflow: auto;
padding: var(--space-1) var(--space-3) var(--space-2);
border-top: 1px solid var(--border);
}
.maka-mermaid-fallback { display: grid; gap: var(--space-1-5); }
.maka-mermaid-fallback-actions {
display: flex;
align-items: center;
justify-content: space-between;
gap: var(--space-2);
}
.maka-mermaid-status {
font: var(--maka-text-supporting);
color: var(--muted-foreground);
}
@container (max-width: 520px) {
.maka-mermaid-title { display: none; }
}
@container (max-width: 360px) {
.maka-mermaid-diagram:not(.maka-mermaid-diagram-expanded) .maka-mermaid-zoom-actions { display: none; }
}
.maka-tool-output-panel { display: grid; gap: 8px; margin-top: 4px; padding: 10px 12px; border: 1px solid var(--border); border-radius: var(--radius-surface); background: var(--foreground-3); }
.maka-tool-output-command {
font: var(--maka-text-code);
display: block; min-width: 0; color: var(--foreground); font-variant-ligatures: none; white-space: pre-wrap; word-break: break-word; }
/* The command reads as the surface's header, not as the first line of the
output: it keeps the foreground colour the body gives up, and a hairline
separates the two. The rule is on the row rather than the panel so a
command with nothing under it (a failed launch) does not end in a stray
line — the panel's own 8px gap supplies the space below. */
.maka-tool-output-command-row { display: flex; min-width: 0; align-items: flex-start; gap: 8px; }
.maka-tool-output-command-row:not(:last-child) { padding-bottom: 8px; border-bottom: 1px solid var(--border); }
.maka-tool-output-command-row .maka-tool-output-command { flex: 1 1 auto; }
.maka-tool-output-command-copy { flex: 0 0 auto; }
.maka-tool-output-command-copy[data-copy-feedback="pending"] { cursor: progress; }
.maka-tool-output-command-copy[data-copy-feedback="copied"] { color: var(--link); }
.maka-tool-output-command-copy[data-copy-feedback="failed"] { color: var(--destructive); }
.maka-tool-output-body {
font: var(--maka-text-code);
max-height: 256px; margin: 0; overflow-y: auto; color: var(--muted-foreground); font-variant-ligatures: none; scroll-behavior: auto; white-space: pre-wrap; word-break: break-word; }
.maka-tool-output-note {
font: var(--maka-text-body);
margin: 0; color: var(--muted-foreground); }
.maka-tool-output-wrap { min-width: 0; overflow-wrap: anywhere; }
.maka-tool-output-destructive { color: var(--destructive); }
.maka-tool-output-warning { color: var(--warning-text, var(--info-text)); }
.maka-tool-output-warning-border { border-color: oklch(from var(--warning) l c h / 0.32); }
.maka-tool-output-destructive-border { border-color: oklch(from var(--destructive) l c h / 0.28); }
.maka-tool-output-stack { display: flex; min-width: 0; flex-direction: column; gap: 6px; margin-top: 4px; }
.maka-pty-shell { gap: 0; overflow: hidden; padding: 0; }
.maka-pty-shell-header { display: flex; min-width: 0; align-items: center; padding: 10px 12px 4px; }
.maka-pty-shell-title {
font: var(--maka-text-label);
color: var(--foreground-secondary); }
.maka-pty-shell-body { display: grid; min-width: 0; gap: 8px; padding: 6px 12px; }
.maka-pty-shell-footer {
font: var(--maka-text-body);
display: flex; min-height: 32px; align-items: center; justify-content: flex-end; gap: 6px; padding: 4px 12px 10px; color: var(--muted-foreground); }
.maka-pty-terminal-body { overflow: auto; white-space: pre; word-break: normal; }
.maka-web-result { display: grid; gap: 8px; }
.maka-web-result-header { display: grid; gap: 2px; }
.maka-web-result-header strong {
font: var(--maka-text-heading-4);
color: var(--foreground); }
.maka-web-result-header small,
.maka-web-result-list small {
font: var(--maka-text-body);
color: var(--muted-foreground); }
.maka-web-result-list { display: grid; gap: 8px; margin: 0; padding: 0; list-style: none; }
.maka-web-result-list li { display: grid; gap: 2px; }
.maka-web-result-list a {
font: var(--maka-text-label);
color: var(--link); }
.maka-web-result-list p {
font: var(--maka-text-body);
margin: 0; color: var(--foreground-secondary); }
.maka-web-result-error { gap: 6px; }
.maka-web-result-error-message,
.maka-web-result-repair {
font: var(--maka-text-body);
margin: 0; }
.maka-web-result-error-message { color: var(--destructive); }
.maka-web-result-repair { color: var(--muted-foreground); }
.maka-tool-call-detail { display: flex; flex-direction: column; gap: 6px; margin-top: 4px; }
/* A CodeBlock title (a file path, a result headline) sits at the same tier as
the command header beside it. Astryx hard-codes that title to the supporting
tier, which is 12px against the block's own 14px code — rebinding the role
token reaches it through inheritance, the same move chat-message.css makes
on the tool and reasoning rows. Only the size: `medium` on a header is
Astryx's intent and the surface command's foreground colour carries the same
weight of emphasis without it. */
.maka-tool-call-detail .astryx-codeblock {
/* Geist Mono ligates `--`, `!==` and friends into single glyphs that sit
outside the cell they started in, so a `---` line looked like it had
escaped the block's left edge — measured, its box starts on the same x as
every other line. The product's own wells all disable this; Astryx's
CodeBlock does not, and tool output is transcript text where the literal
characters are the point. */
font-variant-ligatures: none;
--text-supporting-size: var(--text-code-size);
/* Unitless, so it has to move with the size: left at the supporting leading
it would multiply the larger size into a 23px line box and give the header
a rhythm no other row in the panel has. */
--text-supporting-leading: var(--text-code-leading);
}
.maka-tool-output-chunk { display: contents; }
.maka-tool-output-chunk-stderr { color: var(--destructive); }
.maka-tool-output-chunk-redacted { opacity: 0.65; }
.maka-tool-output-redacted { display: inline; margin-left: 2px; color: var(--warning-text, var(--info-text)); }
.maka-sandbox-blocked-banner { margin-bottom: 10px; }
.maka-sandbox-blocked-description {
font: var(--maka-text-supporting);
display: flex; flex-direction: column; gap: 4px; white-space: pre-wrap; word-break: break-word; }
.maka-sandbox-blocked-error {
font: var(--maka-text-supporting);
}
.maka-sandbox-blocked-copy { align-self: start; }
.maka-sandbox-blocked-copy[data-pending="true"] { cursor: progress; }
.maka-sandbox-blocked-copy[data-copy-feedback="copied"] { border-color: oklch(from var(--link) l c h / 0.35); color: var(--link); }
.maka-sandbox-blocked-copy[data-copy-feedback="failed"] { border-color: oklch(from var(--destructive) l c h / 0.35); color: var(--destructive); }
.maka-agent-preview-failure { color: var(--destructive); }
.maka-automation-result-icon { display: inline; margin-right: 4px; vertical-align: text-bottom; }
.maka-turn-status-icon { flex: 0 0 auto; }
.maka-turn-aborted-marker,
.maka-turn-automation-origin,
.maka-turn-failed-banner {
font: var(--maka-text-supporting);
display: inline-flex;
width: fit-content;
align-items: center;
margin-inline: 0;
border-radius: var(--radius-control);
}
.maka-turn-aborted-marker {
gap: var(--space-1);
margin-block: var(--space-0-5) var(--space-1);
padding: var(--space-0-5) var(--space-1-5);
background: var(--foreground-5);
color: var(--foreground-secondary);
font-style: italic;
}
.maka-turn-aborted-marker em { font-style: italic; }
.maka-turn-automation-origin {
align-self: flex-end;
gap: var(--space-1);
margin-bottom: var(--space-1);
padding: var(--space-0-5) var(--space-1-5);
background: var(--foreground-5);
color: var(--muted-foreground);
}
.maka-turn-failed-banner {
flex-wrap: wrap;
gap: var(--space-1-5);
margin-block: var(--space-0-5) var(--space-1-5);
padding: var(--space-1) var(--space-2);
border: 1px solid oklch(from var(--destructive) l c h / 0.28);
background: oklch(from var(--destructive) l c h / 0.1);
color: var(--destructive);
}
.maka-turn-failed-icon { display: inline-flex; align-items: center; }
.maka-turn-failed-recovery { color: var(--text-muted); }
.maka-turn-failed-recovery::before {
margin-right: var(--space-1-5);
color: var(--border-strong);
content: "·";
}
.maka-turn-lineage-row,
.maka-turn-footer {
display: flex;
width: 100%;
max-width: var(--maka-chat-measure, 680px);
flex-wrap: wrap;
align-items: center;
justify-content: flex-start;
gap: var(--space-0-5);
margin-left: 0;
margin-right: auto;
}
.maka-turn-lineage-row {
margin-top: var(--space-0-5);
margin-bottom: var(--space-1);
opacity: 0.82;
}
.maka-turn-lineage-row-reverse { margin-top: var(--space-1); }
.maka-turn-lineage-badge {
border: 0;
border-radius: var(--radius-pill);
background: oklch(from var(--foreground) l c h / 0.05);
color: var(--muted-foreground);
}
.maka-turn-lineage-badge[data-direction="forward"] {
background: oklch(from var(--info) l c h / 0.06);
color: oklch(from var(--info-text) calc(l - 0.06) c h);
}
.maka-turn-lineage-badge[data-direction="reverse"] {
background: oklch(from var(--brand-deep) l c h / 0.06);
color: oklch(from var(--brand-deep) calc(l - 0.04) c h);
}
.maka-turn-footer {
margin-top: var(--space-0-5);
padding: 0;
opacity: 0;
transition: opacity var(--duration-quick) var(--ease-out-strong);
}
.maka-assistant-answer:hover .maka-turn-footer,
.maka-turn-footer:focus-within { opacity: 1; }
.maka-turn-footer-action {
border: 0;
border-radius: var(--radius-surface);
color: var(--muted-foreground);
}
.maka-turn-footer-action[data-pending="true"] {
cursor: progress;
opacity: 0.78;
}
.maka-turn-footer-action[aria-disabled="true"][data-pending="true"] { opacity: 0.78; }
.maka-turn-footer-action[data-copy-feedback="copied"] { color: var(--link); }
.maka-turn-footer-action[data-copy-feedback="failed"] { color: var(--destructive); }
.maka-text-shimmer-static { display: inline-block; }
.maka-text-shimmer { position: relative; display: inline-grid; }
.maka-text-shimmer-base,
.maka-text-shimmer-sweep { grid-area: 1 / 1; }
.maka-text-shimmer-base { color: var(--muted-foreground); }
.maka-text-shimmer-sweep {
background: linear-gradient(100deg, transparent 30%, oklch(from var(--foreground) l c h / 0.95) 50%, transparent 70%);
background-clip: text;
background-position: 150% 0;
background-size: 200% 100%;
color: transparent;
-webkit-text-fill-color: transparent;
animation: maka-text-shimmer 1.8s linear infinite;
}
@media (prefers-reduced-motion: reduce) {
.maka-text-shimmer-sweep { opacity: 0; animation: none; }
}
.maka-overlay-preview {
font: var(--maka-text-supporting);
max-height: 180px;
margin: var(--space-1) 0 0;
overflow: auto;
font-variant-ligatures: none;
white-space: pre-wrap;
word-break: break-word;
}
.maka-overlay-close { justify-self: end; }
.maka-tool-diff,
.maka-tool-terminal {
display: grid;
gap: 0;
padding: 0;
border-radius: var(--radius-surface);
background: var(--background);
box-shadow: var(--shadow-minimal-flat);
white-space: normal;
}
.maka-tool-diff-paths,
.maka-tool-terminal-head {
font: var(--maka-text-supporting);
display: flex;
flex-wrap: wrap;
gap: var(--space-1-5);
padding: var(--space-1) var(--space-2);
border-bottom: 1px solid var(--border);
background: var(--foreground-2);
}
.maka-tool-terminal-head { align-items: center; font-variant-ligatures: none; }
.maka-tool-diff-paths code { color: var(--foreground-secondary); background: transparent; }
.maka-tool-diff-body {
font: var(--maka-text-supporting);
max-height: 320px;
margin: 0;
padding-block: var(--space-1);
overflow: auto;
font-variant-ligatures: none;
white-space: pre;
word-break: normal;
}
/* Only the chat consumer moved into `.maka-tool-output-panel`, where the diff
sits beside a command on the code tier and a 12px body next to 14px reads as
a different kind of text. `apps/desktop`'s artifact pane still draws this as
a standalone card at the supporting tier its container asks for, so the tier
belongs to the panel, not to the shared class. */
.maka-tool-output-panel .maka-tool-diff-body {
font: var(--maka-text-code);
padding-block: 0;
}
.maka-tool-diff-line { display: block; padding-inline: var(--space-2); white-space: pre; }
.maka-tool-diff-gutter {
display: inline-block;
box-sizing: content-box;
text-align: right;
padding-right: var(--space-2);
margin-right: var(--space-1);
border-right: 1px solid var(--border);
color: var(--muted-foreground);
user-select: none;
}
.maka-tool-diff-line[data-line="add"] { background: oklch(from var(--success) l c h / 0.1); color: var(--success-text); }
.maka-tool-diff-line[data-line="del"] { background: oklch(from var(--destructive) l c h / 0.1); color: var(--destructive); }
.maka-tool-diff-line[data-line="hunk"] {
font: var(--maka-text-heading-5);
background: oklch(from var(--link) l c h / 0.08); color: var(--foreground-secondary); }
.maka-tool-diff-line[data-line="meta"] { color: var(--muted-foreground); }
.maka-tool-diff-line[data-line="ctx"] { color: var(--foreground-secondary); }
.maka-tool-terminal-cwd { color: var(--muted-foreground); background: transparent; }
.maka-tool-terminal-cmd {
font: var(--maka-text-heading-5);
min-width: 0; flex: 1 1 auto; overflow: hidden; background: transparent; color: var(--foreground); text-overflow: ellipsis; white-space: nowrap; }
/* Pinned like every other pill in the scan, even though the whole
`.maka-tool-terminal-*` family is currently unreachable:
`previewVariants({part: 'terminal-*'})` has no call site — `TerminalPreview`
renders `maka-tool-output-stack` / `ShellOutputBody` / `ToolCodeBlock`
instead — and `check-dead-css` cannot see that because the literals still
exist in `previewVariants`. The alternative is an exemption whose reason is
"nothing renders this", which is a fact about call sites recorded in a
stylesheet and would outlive the day someone wires the family back up.
Deleting the family is its own change. */
.maka-tool-terminal-exit {
font: var(--maka-text-heading-5);
height: var(--h-control-sm); display: inline-flex; align-items: center; white-space: nowrap; padding: 1px var(--space-1-5); border-radius: var(--radius-pill); background: var(--foreground-5); color: var(--foreground-secondary); letter-spacing: 0.04em; }
.maka-tool-terminal-exit[data-ok="true"] { background: oklch(from var(--success) l c h / 0.14); color: var(--success); }
.maka-tool-terminal-exit[data-ok="false"] { background: oklch(from var(--destructive) l c h / 0.14); color: var(--destructive); }
.maka-tool-terminal-empty {
font: var(--maka-text-supporting);
margin: 0; padding: var(--space-2); color: var(--muted-foreground); font-style: italic; }
.maka-tool-terminal-stream {
font: var(--maka-text-supporting);
max-height: 180px; margin: 0; padding: var(--space-1-5) var(--space-2); overflow: auto; font-variant-ligatures: none; white-space: pre-wrap; word-break: break-word; }
.maka-tool-terminal-stream[data-stream="stdout"] { color: var(--foreground); }
.maka-tool-terminal-stream[data-stream="stderr"] { border-top: 1px solid var(--border); background: oklch(from var(--destructive) l c h / 0.04); color: var(--destructive); }
.maka-tool-terminal-truncated-note {
font: var(--maka-text-supporting);
display: flex; align-items: center; justify-content: space-between; gap: var(--space-2); padding: var(--space-1-5) var(--space-2); border-top: 1px solid var(--border); background: oklch(from var(--warning) l c h / 0.06); color: var(--foreground-secondary); }
.maka-tool-terminal-truncated-note > span { min-width: 0; }
.maka-tool-terminal-copy,
.maka-agent-preview-copy { flex: 0 0 auto; }
.maka-tool-terminal-copy[data-pending="true"],
.maka-agent-preview-copy[data-pending="true"] { cursor: progress; }
.maka-tool-terminal-copy[data-copy-error="true"],
.maka-agent-preview-copy[data-copy-error="true"] { border-color: oklch(from var(--destructive) l c h / 0.35); color: var(--destructive); }
.maka-agent-preview {
font: var(--maka-text-supporting);
display: grid; gap: var(--space-2-5); padding: var(--space-2-5) var(--space-3); border: 1px solid var(--foreground-10); border-radius: var(--radius-surface); background: var(--foreground-3); white-space: normal; }
.maka-agent-preview[data-ok="false"],
.maka-agent-preview[data-status="failed"],
.maka-agent-preview[data-status="cancelled"] { border-color: oklch(from var(--destructive) l c h / 0.22); }
.maka-agent-preview-head { display: grid; gap: var(--space-0-5); padding-bottom: var(--space-1-5); border-bottom: 1px solid var(--foreground-10); }
.maka-agent-preview-head strong {
font: var(--maka-text-heading-4);
min-width: 0; overflow: hidden; color: var(--foreground); text-overflow: ellipsis; white-space: nowrap; }
.maka-agent-preview-head small,
.maka-agent-preview-section small,
.maka-agent-preview-meta dt {
font: var(--maka-text-supporting);
color: var(--muted-foreground); letter-spacing: 0.04em; text-transform: uppercase; }
.maka-agent-preview-summary-line,
.maka-agent-preview-section-head { display: flex; min-width: 0; align-items: center; justify-content: space-between; gap: var(--space-2); }
.maka-agent-preview-summary-line small { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.maka-agent-preview-actions { display: flex; align-items: center; justify-content: flex-end; gap: var(--space-1-5); margin-top: var(--space-1); }
.maka-agent-preview-message {
font: var(--maka-text-supporting);
padding: var(--space-2) var(--space-2-5); border-radius: var(--radius-control); background: oklch(from var(--destructive) l c h / 0.07); color: var(--destructive); }
.maka-agent-preview-meta { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-2); margin: 0; }
.maka-agent-preview-meta > div { display: grid; min-width: 0; gap: var(--space-0-5); }
.maka-agent-preview-meta dd {
font: var(--maka-text-supporting);
min-width: 0; margin: 0; overflow: hidden; color: var(--foreground-secondary); text-overflow: ellipsis; white-space: nowrap; }
.maka-agent-preview-section { display: grid; gap: var(--space-1-5); }
.maka-agent-preview-section > strong,
.maka-agent-preview-section-head > strong {
font: var(--maka-text-heading-5);
min-width: 0; color: var(--foreground); }
.maka-agent-preview-section ul { display: grid; gap: var(--space-1-5); margin: 0; padding: 0; list-style: none; }
.maka-agent-preview-section li { display: grid; min-width: 0; gap: var(--space-0-5); padding-block: var(--space-1-5); border-top: 1px solid var(--foreground-5); }
.maka-agent-preview-section li:first-child { padding-top: 0; border-top: 0; }
.maka-agent-preview-section code {
font: var(--maka-text-supporting);
min-width: 0; overflow: hidden; background: transparent; color: var(--foreground); text-overflow: ellipsis; white-space: nowrap; }
.maka-agent-preview-section p,
.maka-agent-preview-section span {
font: var(--maka-text-supporting);
margin: 0; color: var(--foreground-secondary); white-space: pre-wrap; word-break: break-word; }
.maka-agent-preview-copy[data-copied="true"] { border-color: oklch(from var(--link) l c h / 0.35); color: var(--link); }
.maka-web-search-preview { display: grid; gap: var(--space-2); padding: var(--space-2-5) var(--space-3); border: 1px solid var(--foreground-10); border-radius: var(--radius-surface); background: var(--foreground-3); }
.maka-web-search-preview > header { display: flex; flex-direction: column; gap: var(--space-0-5); padding-bottom: var(--space-1-5); border-bottom: 1px solid var(--foreground-10); }
.maka-web-search-preview > header strong {
font: var(--maka-text-heading-4);
color: var(--foreground); }
.maka-web-search-preview > header small,
.maka-web-search-preview li small {
font: var(--maka-text-supporting);
color: var(--muted-foreground); letter-spacing: 0.04em; text-transform: uppercase; }
.maka-web-search-preview ul { display: grid; gap: var(--space-2); margin: 0; padding: 0; list-style: none; }
.maka-web-search-preview li { display: grid; gap: var(--space-0-5); padding-block: var(--space-2); border-top: 1px solid var(--foreground-5); }
.maka-web-search-preview li:first-child { padding-top: 0; border-top: 0; }
.maka-web-search-preview a {
font: var(--maka-text-heading-4);
color: var(--foreground); text-decoration: none; }
.maka-web-search-preview a:hover { text-decoration: underline; }
.maka-web-search-preview li p {
font: var(--maka-text-supporting);
margin: 0; color: var(--foreground-secondary); white-space: pre-wrap; word-break: break-word; }
.maka-web-search-error { border-color: color-mix(in oklab, var(--destructive-text) 32%, var(--foreground-10)); background: color-mix(in oklab, var(--destructive-text) 8%, var(--foreground-3)); }
.maka-web-search-error-message,
.maka-web-search-error-repair {
font: var(--maka-text-supporting);
margin: 0; white-space: pre-wrap; word-break: break-word; }
.maka-web-search-error-message { color: var(--destructive-text); }
.maka-web-search-error-repair { color: var(--foreground-secondary); }
.maka-load-tool-preview {
font: var(--maka-text-supporting);
display: grid; gap: var(--space-0-5); margin: var(--space-1) 0 0; padding: var(--space-1) var(--space-2); border-radius: var(--radius-control); background: var(--background); box-shadow: var(--shadow-minimal-flat); }
.maka-load-tool-preview p { margin: 0; }
.maka-load-tool-title {
font: var(--maka-text-heading-5);
}
.maka-load-tool-count,
.maka-load-tool-footer { color: var(--muted-foreground); }
.maka-load-tool-tools {
font: var(--maka-text-supporting);
word-break: break-word; }
.maka-load-tool-footer {
font: var(--maka-text-supporting);
}