/** * MxChat Editor Assistant — Gutenberg sidebar styles. * Scoped to .mxchea-* class names; sits inside the standard PluginSidebar shell * so we don't fight WP's editor chrome. */ .mxchea-sidebar { display: flex; flex-direction: column; gap: 12px; } .mxchea-actions-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 6px; } .mxchea-actions-grid .components-button.mxchea-action-button { justify-content: center; text-align: center; height: auto; min-height: 36px; padding: 8px 10px; line-height: 1.25; white-space: normal; font-size: 12px; font-weight: 500; } .mxchea-actions-grid .components-button.mxchea-action-button:hover:not(:disabled) { background: rgba(120, 115, 245, 0.08); color: #7873f5; border-color: #7873f5; } .mxchea-busy { display: flex; align-items: center; gap: 8px; color: #555; font-size: 13px; } .mxchea-result { border: 1px solid #ddd; border-radius: 6px; background: #fafbff; padding: 12px; display: flex; flex-direction: column; gap: 8px; } .mxchea-result-heading { font-weight: 600; font-size: 12px; color: #1a1a2e; text-transform: uppercase; letter-spacing: 0.4px; } .mxchea-result .components-base-control { margin-bottom: 0; } .mxchea-result-actions { display: flex; gap: 8px; justify-content: flex-end; } .mxchea-result-actions .components-button[data-variant="primary"], .mxchea-result-actions .components-button.is-primary { background: #7873f5; border-color: #7873f5; } .mxchea-result-actions .components-button.is-primary:hover { background: #5e58e0; border-color: #5e58e0; } /* ── v0.2: streaming preview ───────────────────────────────────────────── */ .mxchea-result.mxchea-streaming .mxchea-result-heading { display: flex; align-items: center; gap: 8px; text-transform: none; letter-spacing: 0; color: #7873f5; } .mxchea-stream-text { white-space: pre-wrap; word-break: break-word; font-size: 13px; line-height: 1.5; color: #1a1a2e; min-height: 1.5em; border-left: 2px solid #7873f5; padding-left: 10px; } .mxchea-stream-text::after { content: '▋'; color: #7873f5; animation: mxchea-caret 1s steps(2, start) infinite; margin-left: 1px; } @keyframes mxchea-caret { to { opacity: 0; } } /* ── v0.2: multi-block progress rows ───────────────────────────────────── */ .mxchea-result.mxchea-multi { gap: 10px; } .mxchea-job-row { border: 1px solid #e5e7f0; border-radius: 6px; background: #fff; padding: 8px 10px; display: flex; flex-direction: column; gap: 6px; } .mxchea-job-head { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; font-size: 12px; } .mxchea-job-label { font-weight: 600; color: #1a1a2e; } .mxchea-job-type { font-size: 11px; background: #f0f2f5; border-radius: 3px; padding: 1px 5px; color: #64748b; } .mxchea-job-status { margin-left: auto; font-size: 11px; font-weight: 600; padding: 1px 8px; border-radius: 10px; white-space: nowrap; } .mxchea-job-status.is-pending { background: #f0f2f5; color: #64748b; } .mxchea-job-status.is-working { background: rgba(120, 115, 245, 0.12); color: #5e58e0; } .mxchea-job-status.is-done { background: rgba(34, 197, 94, 0.14); color: #15803d; } .mxchea-job-status.is-failed { background: rgba(239, 68, 68, 0.12); color: #b91c1c; } .mxchea-job-status.is-skipped { background: #f0f2f5; color: #94a3b8; }