| .plan-mode-panel { |
| width: min(var(--maka-chat-measure), calc(100% - var(--space-8))); |
| margin: var(--space-3) auto var(--space-2); |
| color: var(--foreground); |
| } |
| |
| .plan-proposal-card { |
| display: grid; |
| gap: var(--space-3); |
| padding: var(--space-4); |
| border: var(--border-width-hairline) solid var(--border); |
| border-radius: var(--radius-surface); |
| background: var(--background-elevated); |
| box-shadow: |
| 0 1px 2px oklch(from var(--foreground) l c h / 0.04), |
| 0 8px 24px oklch(from var(--foreground) l c h / 0.05); |
| } |
| |
| .plan-proposal-heading, |
| .plan-proposal-actions { |
| display: flex; |
| align-items: center; |
| justify-content: space-between; |
| gap: var(--space-3); |
| } |
| |
| .plan-proposal-meta { |
| flex: 0 0 auto; |
| display: flex; |
| align-items: center; |
| gap: var(--space-1); |
| } |
| |
| .plan-proposal-title { |
| min-width: 0; |
| display: grid; |
| gap: var(--space-0-5); |
| } |
| |
| .plan-proposal-title strong { |
| font: var(--maka-text-heading-4); |
| overflow-wrap: anywhere; |
| } |
| |
| /* The eyebrow above the proposal title. 12px/500 on main, which the 12px tier |
| does not offer — it has 400 and 600 — and this is a section label sitting |
| over a heading, so it takes the 600. Grouping it with the revision chip and |
| then overriding the role one rule later left the group's role dead and moved |
| the eyebrow up a size tier; a role is not a base to override. */ |
| .plan-proposal-kicker { |
| font: var(--maka-text-heading-5); |
| color: var(--muted-foreground); |
| } |
| |
| /* #1879: both meta pills are Astryx `Badge`s now, so the box, radius, padding, |
| caption type and per-state colour all come from the component. The revision |
| pill is the one place where product CSS still has something to say: a |
| revision number is a figure you compare across renders, so it keeps the |
| tabular figures the neutral variant does not carry. The mono stack it also |
| wants is NOT declared here — the figure is a `<code>` at the call site, and |
| `:where(code, kbd, samp, pre)` in maka-tokens.css is the one monospace |
| authority in the renderer. Naming the family here would be a second one. |
| Before this it was also the chip the derived scan could not see — its |
| leading lived in one rule and its pill chrome in another — and it has no |
| rule to miss now. */ |
| .plan-proposal-revision { |
| font-variant-numeric: tabular-nums; |
| } |
| |
| |
| .plan-proposal-overview { |
| font: var(--maka-text-body); |
| margin: 0; |
| color: var(--foreground-secondary); |
| } |
| |
| .plan-proposal-section { |
| display: grid; |
| gap: var(--space-1-5); |
| } |
| |
| .plan-proposal-section h3 { |
| font: var(--maka-text-heading-5); |
| margin: 0; |
| color: var(--foreground-secondary); |
| } |
| |
| .plan-proposal-steps, |
| .plan-proposal-risks ul { |
| display: grid; |
| gap: var(--space-1); |
| margin: 0; |
| padding: 0; |
| list-style: none; |
| } |
| |
| .plan-proposal-steps li { |
| font: var(--maka-text-body); |
| display: grid; |
| grid-template-columns: var(--h-control-sm) minmax(0, 1fr); |
| align-items: start; |
| gap: var(--space-2); |
| padding: var(--space-2); |
| border: var(--border-width-hairline) solid var(--border); |
| border-radius: var(--radius-control); |
| background: var(--foreground-2); |
| color: var(--foreground); |
| } |
| |
| .plan-proposal-step-number { |
| font: var(--maka-text-supporting); |
| width: var(--h-control-sm); |
| height: var(--h-control-sm); |
| display: inline-flex; |
| align-items: center; |
| justify-content: center; |
| border: var(--border-width-hairline) solid oklch(from var(--status-running) l c h / 0.28); |
| border-radius: var(--radius-pill); |
| background: oklch(from var(--status-running) l c h / 0.10); |
| color: var(--foreground); |
| font-variant-numeric: tabular-nums; |
| } |
| |
| .plan-proposal-step-content { |
| min-width: 0; |
| display: grid; |
| gap: var(--space-1); |
| } |
| |
| .plan-proposal-step-content strong { |
| font: var(--maka-text-heading-4); |
| overflow-wrap: anywhere; |
| } |
| |
| .plan-proposal-step-content p { |
| margin: 0; |
| overflow-wrap: anywhere; |
| color: var(--foreground-secondary); |
| } |
| |
| .plan-proposal-risks ul { |
| font: var(--maka-text-supporting); |
| color: var(--warning-text); |
| } |
| |
| .plan-proposal-risks li { |
| position: relative; |
| padding: var(--space-1-5) var(--space-2) var(--space-1-5) var(--space-5); |
| border-radius: var(--radius-control); |
| background: oklch(from var(--warning) l c h / 0.08); |
| } |
| |
| .plan-proposal-risks li::before { |
| position: absolute; |
| top: var(--space-1-5); |
| left: var(--space-2); |
| content: "•"; |
| } |
| |
| .plan-proposal-actions { |
| justify-content: flex-end; |
| padding-top: var(--space-1); |
| border-top: var(--border-width-hairline) solid var(--border); |
| } |
| |
| .plan-execution-panel { |
| width: min(var(--maka-chat-measure), calc(100% - var(--space-8))); |
| display: grid; |
| gap: var(--space-2); |
| margin: 0 auto var(--space-2); |
| padding: var(--space-2-5) var(--space-3); |
| border: var(--border-width-hairline) solid var(--border); |
| border-radius: var(--radius-surface); |
| background: var(--background-elevated); |
| box-shadow: 0 1px 2px oklch(from var(--foreground) l c h / 0.04); |
| } |
| |
| .plan-execution-toggle { |
| width: 100%; |
| display: flex; |
| align-items: center; |
| justify-content: space-between; |
| gap: var(--space-3); |
| padding: 0; |
| border: 0; |
| background: transparent; |
| color: inherit; |
| text-align: left; |
| } |
| |
| .plan-execution-toggle:hover strong { |
| color: var(--foreground); |
| } |
| |
| .plan-execution-toggle:focus-visible { |
| outline: none; |
| box-shadow: 0 0 0 2px var(--focus-ring); |
| border-radius: var(--radius-control); |
| } |
| |
| .plan-execution-toggle > div { |
| min-width: 0; |
| display: grid; |
| gap: var(--space-0-5); |
| } |
| |
| .plan-execution-toggle span { |
| font: var(--maka-text-supporting); |
| color: var(--muted-foreground); |
| } |
| |
| .plan-execution-toggle strong { |
| font: var(--maka-text-label); |
| min-width: 0; |
| overflow: hidden; |
| color: var(--foreground); |
| text-overflow: ellipsis; |
| white-space: nowrap; |
| } |
| |
| .plan-execution-summary { |
| flex: 0 0 auto; |
| display: inline-flex; |
| align-items: center; |
| gap: var(--space-1); |
| } |
| |
| .plan-execution-summary svg { |
| width: var(--icon-chrome); |
| height: var(--icon-chrome); |
| transition: transform var(--duration-quick) var(--ease-out-strong); |
| } |
| |
| .plan-execution-toggle[aria-expanded="true"] .plan-execution-summary svg { |
| transform: rotate(180deg); |
| } |
| |
| .plan-execution-count { |
| font: var(--maka-text-supporting); |
| flex: 0 0 auto; |
| font-variant-numeric: tabular-nums; |
| } |
| |
| .plan-execution-details { |
| display: grid; |
| gap: var(--space-2); |
| } |
| |
| .plan-execution-steps { |
| max-height: min(28vh, calc(var(--space-16) * 3)); |
| margin: 0; |
| padding: 0; |
| overflow-y: auto; |
| border: var(--border-width-hairline) solid var(--border); |
| border-radius: var(--radius-control); |
| background: var(--foreground-2); |
| list-style: none; |
| } |
| |
| .plan-execution-steps li { |
| font: var(--maka-text-body); |
| display: grid; |
| grid-template-columns: var(--h-control-xs) minmax(0, 1fr); |
| align-items: center; |
| gap: var(--space-2); |
| min-height: var(--h-control-lg); |
| padding: var(--space-1-5) var(--space-2); |
| color: var(--foreground-secondary); |
| } |
| |
| .plan-execution-steps li + li { |
| border-top: var(--border-width-hairline) solid var(--border); |
| } |
| |
| .plan-execution-steps li[data-status="in_progress"] { |
| color: var(--foreground); |
| background: oklch(from var(--status-running) l c h / 0.06); |
| } |
| |
| .plan-execution-steps li[data-status="completed"], |
| .plan-execution-steps li[data-status="skipped"] { |
| color: var(--muted-foreground); |
| } |
| |
| .plan-execution-step-marker { |
| font: var(--maka-text-supporting); |
| width: var(--h-control-xs); |
| height: var(--h-control-xs); |
| display: inline-flex; |
| align-items: center; |
| justify-content: center; |
| border: var(--border-width-hairline) solid var(--border-strong); |
| border-radius: var(--radius-pill); |
| color: var(--muted-foreground); |
| } |
| |
| .plan-execution-step-marker[data-status="in_progress"] { |
| border-color: oklch(from var(--status-running) l c h / 0.38); |
| background: oklch(from var(--status-running) l c h / 0.12); |
| color: var(--status-running); |
| } |
| |
| .plan-execution-step-marker[data-status="completed"] { |
| border-color: oklch(from var(--success) l c h / 0.36); |
| background: oklch(from var(--success) l c h / 0.12); |
| color: var(--success-text); |
| } |
| |
| .plan-execution-step-marker[data-status="skipped"] { |
| border-color: transparent; |
| background: var(--foreground-5); |
| } |
| |
| .plan-execution-actions { |
| display: flex; |
| justify-content: flex-end; |
| } |
| |
| .plan-mode-error { |
| font: var(--maka-text-supporting); |
| margin: var(--space-1-5) 0 0; |
| color: var(--destructive-text); |
| } |