.hmi-ai-workbench {
  --hmi-ai-header-height: calc(25px + .9rem);
  --hmi-ai-muted: var(--text-color, #64748b);
  font-family: inherit;
  font-size: 12px;
  container-type: inline-size;
}
.hmi-ai-workbench *, .hmi-ai-workbench *::before, .hmi-ai-workbench *::after { box-sizing: border-box; }
/* Chat text supports native selection and keyboard copying. */
.hmi-ai-workbench #hmi-ai-chat-scroll,
.hmi-ai-workbench #hmi-ai-chat-scroll * { -webkit-user-select: text; user-select: text; }
.hmi-ai-workbench #hmi-ai-chat-scroll button,
.hmi-ai-workbench #hmi-ai-chat-scroll button *,
.hmi-ai-workbench #hmi-ai-chat-scroll summary,
.hmi-ai-workbench #hmi-ai-chat-scroll summary *,
.hmi-ai-workbench #hmi-ai-chat-scroll img { -webkit-user-select: none; user-select: none; }

.hmi-ai-workbench button, .hmi-ai-workbench select, .hmi-ai-workbench textarea { font-family: inherit; }
.hmi-ai-workbench button:disabled { cursor: not-allowed; opacity: .45; }
.hmi-ai-workbench button:focus-visible, .hmi-ai-workbench select:focus-visible,
.hmi-ai-workbench input:focus-visible {
  outline: 2px solid var(--color-accent-primary, #2452dc); outline-offset: 2px;
}
.hmi-ai-icon { display: inline-block; width: 18px; height: 18px; flex: 0 0 auto; background: currentColor; mask-size: contain; mask-position: center; mask-repeat: no-repeat; -webkit-mask-size: contain; -webkit-mask-position: center; -webkit-mask-repeat: no-repeat; }
.hmi-ai-toolbar { display: flex; gap: 2px; align-items: center; height: var(--hmi-ai-header-height); min-height: var(--hmi-ai-header-height); padding: 0 12px; border-bottom: 1px solid var(--input-border-color-rest, #dfe4ec); flex-shrink: 0; }
.hmi-ai-conversation-title { flex: 1; min-width: 0; font-family: "worksans", "vazirmatn", sans-serif; font-optical-sizing: auto; font-size: .75rem; font-weight: 500; line-height: 1.2; text-transform: uppercase; color: var(--title-foreground-color); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.hmi-ai-icon-button { display: inline-grid; place-items: center; padding: 0; width: 26px; height: 28px; border: 0; border-radius: 6px; background: transparent; color: inherit; cursor: pointer; flex-shrink: 0; }
.hmi-ai-icon-button .hmi-ai-icon { width: 16px; height: 16px; }
.hmi-ai-icon-button:hover { background: var(--button-secondary-background-color-hover, #f2f4f8); }
.hmi-ai-icon-button.is-active { color: var(--color-accent-primary, #2452dc); background: color-mix(in srgb, var(--color-accent-primary, #2452dc) 12%, transparent); }
.hmi-ai-home { display: grid; gap: 12px; width: 100%; }
.hmi-ai-greeting { display: flex; align-items: center; justify-content: center; gap: 8px; padding: 14px 0 0; }
.hmi-ai-greeting strong { font-size: 16px; line-height: 1.5; font-weight: 600; }
.hmi-ai-brand { color: var(--color-accent-primary, #2452dc); display: flex; }
.hmi-ai-brand .hmi-ai-icon { width: 24px; height: 24px; }
.hmi-ai-intro { margin: -3px 0 7px; font-size: 11px; line-height: 1.6; text-align: center; color: var(--hmi-ai-muted); }
.hmi-ai-task-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; width: 100%; }
.hmi-ai-task { display: grid; grid-template-columns: 28px minmax(0, 1fr); gap: 7px; align-items: start; width: 100%; min-height: 80px; padding: 12px 8px; border: 1px solid transparent; border-radius: 10px; background: var(--button-secondary-background-color-hover, #f2f4f8); color: inherit; text-align: left; cursor: pointer; }
.hmi-ai-task:hover { border-color: var(--input-border-color-rest, #dfe4ec); }
.hmi-ai-task.is-selected { border-color: color-mix(in srgb, var(--color-accent-primary, #2452dc) 40%, transparent); }
.hmi-ai-task-icon { display: grid; place-items: center; width: 28px; height: 32px; border-radius: 7px; }
.hmi-ai-task-icon.tone-green { color: #078e66; background: color-mix(in srgb, #078e66 12%, transparent); }
.hmi-ai-task-icon.tone-blue { color: #3676e0; background: color-mix(in srgb, #3676e0 12%, transparent); }
.hmi-ai-task-icon.tone-cyan { color: #0b859d; background: color-mix(in srgb, #0b859d 12%, transparent); }
.hmi-ai-task-copy { display: grid; min-width: 0; gap: 5px; }
.hmi-ai-task-copy strong { font-size: 12px; font-weight: 600; line-height: 1.4; white-space: nowrap; }
.hmi-ai-task-copy small { font-size: 10px; line-height: 1.5; color: var(--hmi-ai-muted); overflow-wrap: anywhere; }
.hmi-ai-examples { display: grid; gap: 5px; margin-top: 10px; }
.hmi-ai-examples > small { font-size: 10px; color: var(--hmi-ai-muted); margin-bottom: 4px; }
.hmi-ai-example { display: flex; align-items: flex-start; gap: 8px; padding: 9px 2px; border: 0; border-radius: 6px; background: transparent; color: var(--hmi-ai-muted); font-size: 11px; text-align: left; line-height: 1.7; cursor: pointer; }
.hmi-ai-example:hover { color: var(--color-accent-primary, #2452dc); background: var(--button-secondary-background-color-hover, #f2f4f8); }
.hmi-ai-example .hmi-ai-icon { width: 14px; height: 14px; margin-top: 3px; }
.hmi-ai-composer-wrap { flex-shrink: 0; padding: 9px 10px 7px; background: var(--color-background-primary, #fff); }
.hmi-ai-composer { display: grid; gap: 9px; padding: 10px; border: 1px solid var(--input-border-color-rest, #dfe4ec); border-radius: 14px; background: var(--input-background-color, transparent); }
.hmi-ai-composer:focus-within { border-color: var(--color-accent-primary, #2452dc); }
.hmi-ai-composer textarea { display: block; width: 100%; height: 66px; padding: 0; border: 0; background: transparent; color: inherit; font-size: 12px; line-height: 1.7; resize: none; }
.hmi-ai-workbench .hmi-ai-composer textarea:focus,
.hmi-ai-workbench .hmi-ai-composer textarea:focus-visible { outline: none; box-shadow: none; background: transparent; }
.hmi-ai-composer textarea::placeholder { color: var(--hmi-ai-muted); opacity: .85; }
.hmi-ai-composer-actions { display: grid; grid-template-columns: minmax(0, 1fr) repeat(3, 24px) 30px; align-items: center; gap: 4px; }
.hmi-ai-composer-actions select { width: 100%; min-width: 0; padding: 5px 0; border: 0; border-radius: 4px; background: transparent; color: inherit; font-size: 10px; text-overflow: ellipsis; cursor: pointer; }
.hmi-ai-composer-actions option { background: var(--color-background-primary, #fff); color: var(--title-foreground-color, #17243b); }
.hmi-ai-model-picker { position: relative; min-width: 0; max-width: 100%; width: max-content; height: 30px; align-self: center; justify-self: start; }
.hmi-ai-model-trigger { display: flex; align-items: center; gap: 6px; width: 100%; min-width: 0; min-height: 30px; padding: 4px 0; border: 0; background: transparent; color: inherit; font-size: 11px; line-height: 16px; text-align: left; cursor: pointer; }
.hmi-ai-model-trigger > span:first-child { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; min-width: 0; flex: 0 1 auto; }
.hmi-ai-model-chevron, .hmi-ai-disclosure { display: block; width: 14px; height: 14px; min-width: 14px; flex: 0 0 14px; align-self: center; padding: 0; margin: 0; font-size: 0; line-height: 0; color: var(--hmi-ai-muted,#64748b); background: currentColor; mask: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNCAxNCI+PHBhdGggZD0iTTUgMyA5IDcgNSAxMSIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJibGFjayIgc3Ryb2tlLXdpZHRoPSIxLjUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIvPjwvc3ZnPg==") center / 14px 14px no-repeat; -webkit-mask: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNCAxNCI+PHBhdGggZD0iTTUgMyA5IDcgNSAxMSIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJibGFjayIgc3Ryb2tlLXdpZHRoPSIxLjUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIvPjwvc3ZnPg==") center / 14px 14px no-repeat; transform-origin: 50% 50%; transition: transform 120ms ease; }
.hmi-ai-model-trigger[aria-expanded="true"] > .hmi-ai-model-chevron { transform: rotate(90deg); }
.hmi-ai-workbench .hmi-ai-model-trigger:focus-visible { outline: none; }
.hmi-ai-model-menu { position: absolute; z-index: 40; bottom: calc(100% + 2px); left: 0; width: 100%; padding: 4px; border: 1px solid var(--input-border-color-rest, #dfe4ec); border-radius: 12px; background: var(--color-background-primary, #fff); color: var(--title-foreground-color, #17243b); box-shadow: 0 8px 28px #17243b1a; }
.hmi-ai-model-options { max-height: min(260px, 40vh); overflow-y: auto; scrollbar-width: thin; }
.hmi-ai-model-option { display: flex; align-items: center; gap: 4px; width: 100%; padding: 9px 4px; border: 0; border-radius: 7px; background: transparent; color: inherit; text-align: left; cursor: pointer; }
.hmi-ai-model-option:hover, .hmi-ai-model-option:focus-visible { background: var(--button-secondary-background-color-hover, #f2f4f8); }
.hmi-ai-model-option-copy { display: grid; gap: 3px; min-width: 0; flex: 1; }
.hmi-ai-model-option-copy strong { font-weight: 500; font-size: 11px; line-height: 1.5; overflow-wrap: anywhere; }
.hmi-ai-model-check { width: 12px; color: var(--color-accent-primary, #2452dc); font-size: 14px; flex-shrink: 0; }
.hmi-ai-send { display: grid; place-items: center; width: 30px; height: 30px; border: 0; border-radius: 50%; background: var(--color-accent-primary, #2452dc); color: #fff; cursor: pointer; }
.hmi-ai-send .hmi-ai-icon { width: 18px; height: 18px; }
.hmi-ai-muted { margin: 0; font-size: 11px; color: var(--hmi-ai-muted); }
.hmi-ai-subpanel { position: absolute; inset: var(--hmi-ai-header-height) 0 0; z-index: 25; display: flex; flex-direction: column; background: var(--color-background-primary, #fff); color: inherit; }
.hmi-ai-subpanel-header { display: flex; align-items: center; justify-content: space-between; min-height: 42px; padding: 8px 12px; border-bottom: 1px solid var(--input-border-color-rest, #dfe4ec); flex-shrink: 0; }
.hmi-ai-subpanel-body { min-height: 0; flex: 1; overflow-y: auto; padding: 14px 12px; }
.hmi-ai-guide { display: grid; gap: 12px; font-size: 12px; line-height: 1.7; }
.hmi-ai-guide p { margin: 0; }
.hmi-ai-guide button { padding: 9px 12px; border: 1px solid var(--input-border-color-rest, #dfe4ec); border-radius: 7px; background: transparent; color: inherit; text-align: left; cursor: pointer; }
.hmi-ai-guide button:hover { border-color: var(--color-accent-primary, #2452dc); }
/* AI expands within the material area. The file header, avatar and
   layer/material/template tabs above this area retain their normal layout. */
.main_ui_workspace_sidebar_assets__assets-bar:has(.hmi-ai-workbench) { grid-template-columns: minmax(0, 1fr); }
.main_ui_workspace_sidebar_assets__assets-bar:has(.hmi-ai-workbench) > .main_ui_workspace_sidebar_assets__category-nav { display: none; }
.main_ui_workspace_sidebar_assets__assets-bar:has(.hmi-ai-workbench) > .main_ui_workspace_sidebar_assets__category-panel { height: 100%; }
.main_ui_workspace_sidebar_assets__category-content:has(.hmi-ai-workbench) { display: flex; min-height: 0; padding: 0; overflow: hidden; scrollbar-gutter: auto; }
@container (max-width: 339px) {
  .hmi-ai-task { padding: 8px; min-height: 78px; row-gap: 6px; align-items: center; }
  .hmi-ai-task-icon { height: 26px; }
  .hmi-ai-task-copy { display: contents; }
  .hmi-ai-task-copy small { grid-column: 1 / -1; }
  .hmi-ai-workbench #hmi-ai-chat-scroll { scrollbar-width: thin; }
}
@container (min-width: 340px) {
  .hmi-ai-task { min-height: 62px; grid-template-columns: 36px minmax(0, 1fr); padding: 10px; }
  .hmi-ai-task-icon { width: 36px; height: 36px; }
  .hmi-ai-task-copy strong { font-size: 13px; }
  .hmi-ai-task-copy small { font-size: 11px; }
  .hmi-ai-example { font-size: 12px; padding-block: 12px; }
}
@media (prefers-reduced-motion: reduce) {
  .hmi-ai-workbench * { animation: none !important; transition: none !important; }
}

.hmi-ai-balance-popup { position:absolute;top:calc(var(--hmi-ai-header-height) + 6px);right:10px;z-index:45;width:288px;max-width:calc(100% - 20px);max-height:calc(100% - var(--hmi-ai-header-height) - 20px);overflow:auto;box-sizing:border-box;padding:16px;border:1px solid var(--input-border-color-rest,#dfe4ec);border-radius:14px;background:var(--color-background-primary,#fff);box-shadow:0 12px 36px #17243b24; }
.hmi-ai-balance-heading { display:flex;justify-content:space-between;align-items:center;gap:8px; }
.hmi-ai-balance-heading strong { font-size:14px;font-weight:600; }
.hmi-ai-balance-intro { margin:4px 0 16px;font-size:12px;line-height:1.6;color:var(--hmi-ai-muted); }
.hmi-ai-balance-content { padding:16px;border-radius:10px;background:var(--button-secondary-background-color-hover,#f2f4f8);min-height:100px;box-sizing:border-box; }
.hmi-ai-balance-label { display:block;font-size:12px;color:var(--hmi-ai-muted);margin-bottom:6px; }
.hmi-ai-balance-amount { display:flex;gap:8px;align-items:baseline; }
.hmi-ai-balance-value { font-size:30px;font-weight:650;line-height:1.35;font-variant-numeric:tabular-nums;overflow-wrap:anywhere;min-width:0; }
.hmi-ai-balance-unit { font-size:12px;color:var(--hmi-ai-muted);flex-shrink:0; }
.hmi-ai-balance-content p { margin:8px 0 0;font-size:12px;line-height:1.6;color:var(--hmi-ai-muted); }
.hmi-ai-balance-content .hmi-ai-balance-error { color:#c33d3d; }
.hmi-ai-balance-held { margin-top:12px;padding:10px 12px;border:1px solid var(--input-border-color-rest,#dfe4ec);border-radius:8px;font-size:11px; }
.hmi-ai-balance-held>div { display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap; }
.hmi-ai-balance-held p { margin:6px 0 0;line-height:1.6;color:var(--hmi-ai-muted); }
.hmi-ai-balance-actions { display:flex;gap:8px;margin:14px 0 18px; }
.hmi-ai-balance-recharge,.hmi-ai-balance-refresh { display:flex;align-items:center;justify-content:center;min-height:36px;padding:8px 12px;border-radius:8px;font-size:12px;font-weight:500;text-decoration:none;box-sizing:border-box;cursor:pointer; }
.hmi-ai-balance-recharge { flex:1;background:var(--hmi-ai-accent,#2459e0);color:#fff;border:1px solid transparent; }
.hmi-ai-balance-recharge:hover { filter:brightness(.95); }
.hmi-ai-balance-refresh { border:1px solid var(--input-border-color-rest,#dfe4ec);background:transparent;color:inherit; }
.hmi-ai-balance-refresh:hover { background:var(--button-secondary-background-color-hover,#f2f4f8); }
.hmi-ai-balance-refresh:disabled { opacity:.5;cursor:default; }
.hmi-ai-balance-recharge:focus-visible,.hmi-ai-balance-refresh:focus-visible { outline:2px solid var(--hmi-ai-accent,#2459e0);outline-offset:2px; }
.hmi-ai-balance-history { border-top:1px solid var(--input-border-color-rest,#dfe4ec);padding-top:14px; }
.hmi-ai-balance-history-heading { display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px; }
.hmi-ai-balance-history-heading strong { font-size:12px;font-weight:600; }
.hmi-ai-balance-history-heading>span { font-size:11px;color:var(--hmi-ai-muted); }
.hmi-ai-balance-entries { max-height:210px;overflow:auto; }
.hmi-ai-balance-entry { display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid var(--input-border-color-rest,#dfe4ec);font-size:12px; }
.hmi-ai-balance-entry:last-child { border-bottom:0; }
.hmi-ai-balance-entry-info { min-width:0; }
.hmi-ai-balance-entry-title { overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-bottom:4px; }
.hmi-ai-balance-entry-info>span,.hmi-ai-balance-entry-change>span { font-size:11px;color:var(--hmi-ai-muted); }
.hmi-ai-balance-entry-change { display:grid;gap:3px;text-align:right;flex-shrink:0;font-variant-numeric:tabular-nums; }
.hmi-ai-balance-entry-change.is-income strong { color:var(--hmi-ai-success,#197748); }
.hmi-ai-balance-empty { text-align:center;padding:18px 0 8px; }
.hmi-ai-balance-empty strong { font-size:12px;font-weight:500; }
.hmi-ai-balance-empty p { margin:6px 0 0;font-size:11px;line-height:1.6;color:var(--hmi-ai-muted); }

.hmi-ai-user-message { align-self: flex-end; display: grid; justify-items: end; gap: 8px; max-width: 94%; min-width: 0; }
.hmi-ai-user-bubble { padding: 10px 12px; border-radius: 12px 12px 4px 12px; background: var(--button-secondary-background-color-hover, #f2f4f8); font-size: 12px; line-height: 1.7; overflow-wrap: anywhere; }
.hmi-ai-user-bubble p:last-child { margin-bottom: 0 !important; }
.hmi-ai-assistant-bubble { padding: 10px 12px; border: 1px solid var(--input-border-color-rest, #dfe4ec); border-radius: 4px 12px 12px 12px; background: var(--color-background-primary, #fff); font-size: 12px; line-height: 1.7; overflow-wrap: anywhere; white-space: normal; }
.hmi-ai-assistant-bubble p:last-child { margin-bottom: 0 !important; }
.hmi-ai-reasoning { white-space: pre-wrap; overflow-wrap: anywhere; line-height: 1.8; padding-top: 8px; }
.hmi-ai-step-list { margin-top: 9px; padding-top: 4px; border-top: 1px solid var(--input-border-color-rest, #dfe4ec); font-size: 10px; }
.hmi-ai-user-reference { display: block; width: auto; height: auto; max-width: 156px; max-height: 180px; object-fit: contain; border: 1px solid var(--input-border-color-rest, #dfe4ec); border-radius: 8px; cursor: zoom-in; }
.hmi-ai-execution { display: grid; gap: 7px; width: 100%; min-width: 0; font-size: 11px; line-height: 1.65; }
.hmi-ai-process-card, .hmi-ai-skill-card { border: 1px solid var(--input-border-color-rest, #dfe4ec); border-radius: 9px; background: var(--button-secondary-background-color-hover, #f2f4f8); overflow: hidden; }
.hmi-ai-process-card > summary, .hmi-ai-skill-card > summary { display: flex; align-items: center; gap: 7px; padding: 9px 10px; list-style: none; cursor: pointer; }
.hmi-ai-process-card > summary::-webkit-details-marker, .hmi-ai-skill-card > summary::-webkit-details-marker { display: none; }
.hmi-ai-process-card > summary > .hmi-ai-icon, .hmi-ai-skill-card > summary > .hmi-ai-icon { width: 14px; height: 14px; flex-shrink: 0; color: var(--color-accent-primary, #2452dc); }
.hmi-ai-process-card > summary > span:nth-child(2), .hmi-ai-skill-name { flex: 1; min-width: 0; overflow-wrap: anywhere; }
.hmi-ai-trace-time { font-size: 10px; color: var(--hmi-ai-muted, #64748b); }
/* Disclosure icons share the centered SVG mask with the model picker. */
details[open] > summary > .hmi-ai-disclosure { transform: rotate(90deg); }
.hmi-ai-workbench .hmi-ai-artifact-card > summary { list-style: none; }
.hmi-ai-workbench .hmi-ai-artifact-card > summary::-webkit-details-marker { display: none; }
.hmi-ai-workbench :is(.hmi-ai-artifact-card,.hmi-ai-skill-card) > summary:not(:has(> .hmi-ai-disclosure))::after { content: ""; display: block; width:14px; height:14px; flex:0 0 14px; margin-left:auto; align-self:center; background:currentColor; mask:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNCAxNCI+PHBhdGggZD0iTTUgMyA5IDcgNSAxMSIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJibGFjayIgc3Ryb2tlLXdpZHRoPSIxLjUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIvPjwvc3ZnPg==") center / 14px 14px no-repeat; -webkit-mask:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNCAxNCI+PHBhdGggZD0iTTUgMyA5IDcgNSAxMSIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJibGFjayIgc3Ryb2tlLXdpZHRoPSIxLjUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIvPjwvc3ZnPg==") center / 14px 14px no-repeat; transform-origin:50% 50%; transition:transform 120ms ease; }
.hmi-ai-workbench :is(.hmi-ai-artifact-card,.hmi-ai-skill-card)[open] > summary:not(:has(> .hmi-ai-disclosure))::after { transform:rotate(90deg); }
@media (prefers-reduced-motion: reduce) { .hmi-ai-disclosure,.hmi-ai-model-chevron,.hmi-ai-workbench details > summary::after { transition:none !important; } }

.hmi-ai-process-body { max-height: 210px; overflow-y: auto; padding: 0 10px 10px; color: var(--hmi-ai-muted, #64748b); }
.hmi-ai-process-body p { display: flex; align-items: baseline; justify-content: space-between; gap: 8px; margin: 6px 0 0; }
.hmi-ai-process-body p > span:first-child { min-width: 0; overflow-wrap: anywhere; }
.hmi-ai-step-status { color: var(--hmi-ai-muted, #64748b); font-size: 10px; white-space: nowrap; flex-shrink: 0; }
.hmi-ai-step-status[data-status="running"] { color: var(--color-accent-primary, #2452dc); }
.hmi-ai-step-status[data-status="error"] { color: #c33d3d; }
.hmi-ai-skill-card > p { margin: 0; padding: 0 10px 10px; color: var(--hmi-ai-muted, #64748b); }
.hmi-ai-process-summary { white-space: pre-wrap; }
.hmi-ai-stop-mark { display: block; width: 10px; height: 10px; border-radius: 2px; background: currentColor; }
@property --hmi-ai-orbit-angle { syntax: "<angle>"; initial-value: 0deg; inherits: false; }
.hmi-ai-composer { position: relative; }
.hmi-ai-composer.is-running::before { content: ""; position: absolute; inset: -1px; padding: 1.5px; border-radius: inherit; pointer-events: none; background: conic-gradient(from var(--hmi-ai-orbit-angle), #4d8fff, #59c3cc, #82cf67, #a77bea, #4d8fff); mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0); mask-composite: exclude; -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0); -webkit-mask-composite: xor; animation: hmiAiBorderOrbit 3s linear infinite; }
@keyframes hmiAiBorderOrbit { from { --hmi-ai-orbit-angle: 0deg; } to { --hmi-ai-orbit-angle: 360deg; } }
.hmi-ai-page-run { display:flex; flex-direction:column; gap:12px; font-size:12px; line-height:1.65; min-width:0; }
.hmi-ai-page-stage { display:grid; gap:7px; min-width:0; }
.hmi-ai-artifact-card { border:1px solid var(--input-border-color-rest,#e3e7ed); border-radius:10px; overflow:hidden; background:var(--color-background-primary,#fff); }
.hmi-ai-artifact-card summary { display:flex; align-items:center; gap:7px; cursor:pointer; padding:10px; list-style:none; }
.hmi-ai-artifact-card strong { flex:1; font-size:11px; font-weight:500; }
.hmi-ai-artifact-card img { display:block; width:calc(100% - 16px); max-height:240px; object-fit:contain; margin:0 8px 8px; border-radius:6px; background:repeating-conic-gradient(#dce1e8 0 25%,#f4f6f9 0 50%) 50% / 14px 14px; }
.hmi-ai-artifact-card p,.hmi-ai-artifact-card ol { margin:8px 12px; }
.hmi-ai-artifact-card small { display:block; margin:8px 12px; }
.hmi-ai-region-map { margin:0 8px; overflow:hidden; border-radius:6px; }
.hmi-ai-region-map svg { width:100%; display:block; }
.hmi-ai-analysis-summary { border-top:1px solid var(--input-border-color-rest,#dfe4ec); margin-top:10px; padding-top:8px; white-space:pre-wrap; }
.hmi-ai-analysis-summary p { margin:4px 0; }
.hmi-ai-task-progress { padding:10px 12px; background:var(--button-secondary-background-color-hover,#f2f4f8); border-radius:9px; display:grid; gap:5px; }
.hmi-ai-task-progress progress { width:100%; height:5px; accent-color:var(--color-accent-primary,#2452dc); }
.hmi-ai-task-progress small { color:var(--hmi-ai-muted,#64748b); }
.hmi-ai-page-run .hmi-ai-assistant-bubble { white-space:pre-wrap; }
.hmi-ai-resume,.hmi-ai-page-error button { min-height:34px; border:1px solid var(--input-border-color-rest,#dfe4ec); border-radius:7px; background:var(--color-background-primary,#fff); color:var(--title-foreground-color,#17243b); cursor:pointer; }
.hmi-ai-page-error { border:1px solid #dd8894; border-radius:8px; padding:9px; }
.hmi-ai-page-error p { margin:0 0 8px; }
