.ca-composer{--ca-border:#e6e6e6;box-sizing:border-box;color:#202020;background:#fff;border:1px solid var(--ca-border);border-radius:26px;padding:24px;font:14px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;max-width:960px;margin:auto;box-shadow:0 8px 40px #00000005}.ca-composer *{box-sizing:border-box}.ca-composer button,.ca-composer input,.ca-composer textarea{font:inherit}.ca-composer button{border:1px solid var(--ca-border);background:#fff;color:#222;border-radius:12px;padding:9px 14px;cursor:pointer}.ca-composer button:hover{background:#f5f5f5}.ca-composer :focus-visible{outline:2px solid #555;outline-offset:3px}.ca-composer textarea{display:block;width:100%;min-height:150px;resize:vertical;border:0;background:transparent;padding:18px 0;color:inherit;line-height:1.8}.ca-composer .ca-empty{color:#888;font-size:13px}.ca-composer [hidden]{display:none!important}.ca-toolbar{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.ca-composer .ca-submit{margin-left:auto;border-radius:50%;width:42px;height:42px;padding:0;font-size:24px}.ca-composer .ca-submit,.ca-composer .ca-primary{background:#171717;color:#fff;border-color:#171717}.ca-status{font-size:12px;color:#888;margin:14px 0 0}.ca-assets{display:flex;gap:10px;flex-wrap:wrap}.ca-asset{border:1px solid var(--ca-border);border-radius:14px;display:flex;align-items:center;gap:8px;padding:6px;max-width:100%}.ca-asset span{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ca-asset img{width:48px;height:48px;object-fit:cover;border-radius:9px}.ca-composer .ca-asset button{border:0;padding:4px 10px}.ca-settings-slot:not(:empty){margin-top:18px;border-top:1px solid var(--ca-border);padding-top:18px}.ca-dialog{position:fixed;width:min(620px,calc(100vw - 32px));max-height:85vh;border:0;border-radius:26px;padding:28px;color:#222;background:#fff;box-shadow:0 24px 100px #0002}.ca-dialog::backdrop{background:rgba(90,90,90,.23)}.ca-dialog h2{margin:0 0 22px;font-size:21px}.ca-composer .ca-close{position:absolute;right:20px;top:18px;border:0;font-size:23px}.ca-dialog input{width:100%;padding:12px 14px;border:1px solid var(--ca-border);border-radius:12px}.ca-list{display:grid;gap:10px;max-height:300px;overflow:auto;padding:16px 2px;min-height:130px}.ca-composer .ca-candidate{text-align:left;overflow-wrap:anywhere}.ca-composer [aria-pressed=true]{border-color:#111;background:#f0f0f0}.ca-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:10px}.ca-composer button:disabled{opacity:.35;cursor:default}@media(max-width:480px){.ca-composer{padding:16px;border-radius:20px}.ca-composer button{padding:8px 10px}.ca-dialog{padding:22px}.ca-asset span{max-width:150px}}

.ca-material-menu{display:grid;gap:10px}.ca-composer .ca-material-menu button{text-align:left}.ca-dialog .ca-actions{flex-wrap:wrap}

/* 空输入提交时的提示：默认 .ca-status 是 11px 灰字，和它旁边那行灰字长得一样，
   客户点了按钮只会觉得"没反应"。错误态必须在视觉上区分开。 */
.ca-status-error{color:#c0392b;font-weight:700;font-size:13px}
