/* Conversation-first surfaces share the same content on desktop and mobile. */
#conversationHome { display:flex; flex-direction:column; min-height:0; gap:12px; }
.conversation-home-controls { display:grid; gap:16px; }
.conversation-home-controls label { display:grid; gap:6px; font-size:12px; color:var(--muted); }
.conversation-home-controls select { width:100%; border:0; background:transparent; font-size:14px; color:var(--text); padding:9px 4px; }
.conversation-home-controls>.button { width:100%; text-align:left; justify-content:flex-start; }
.conversation-sidebar-caption { margin:10px 5px 0; color:var(--muted); font-size:12px; }
.conversation-thread-list { display:flex; flex-direction:column; gap:3px; overflow:auto; }
.conversation-thread { display:block; width:100%; padding:11px 12px; border:0; border-radius:9px; background:transparent; color:var(--text); text-align:left; min-width:0; }
.conversation-thread strong { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:14px; font-weight:400; }
.conversation-thread.selected,.conversation-thread:hover { background:var(--surface-3); }
#conversationWelcome { flex:1; min-height:0; display:flex; flex-direction:column; padding:16px 24px 24px; }
#conversationWelcome[hidden] { display:none; }
.conversation-welcome { width:min(100%,780px); margin:0 auto; display:flex; flex:1; flex-direction:column; justify-content:flex-end; gap:30px; }
.conversation-welcome-empty { flex:1; min-height:160px; display:flex; align-items:center; justify-content:center; flex-direction:column; gap:10px; text-align:center; }
.conversation-welcome-empty h2,.conversation-empty h2 { font-size:27px; font-weight:550; letter-spacing:-.7px; margin:0; }
.conversation-welcome-mark { color:var(--cyan); font-size:36px; }
.conversation-welcome-empty>.muted { margin:0; font-size:14px; }
.conversation-compose,#conversationSessionForm { width:min(100%,780px); margin:0 auto; border:1px solid var(--line); border-radius:22px; background:var(--ui-raised); padding:12px 14px 10px; box-shadow:0 3px 14px #0003; }
#conversationSessionForm { flex-shrink:0; position:relative; }
#conversationSessionForm>label { display:none; }
#cxNewMessage,#conversationSessionText { display:block; width:100%; border:0; background:transparent; box-shadow:none; outline:none; border-radius:0; min-height:68px; max-height:200px; resize:none; font:inherit; line-height:1.65; padding:4px 3px 9px; color:var(--text); }
#cxNewMessage:focus,#conversationSessionText:focus { outline:none; border:0; box-shadow:none; }
.conversation-compose-bottom { display:flex; align-items:center; justify-content:space-between; gap:8px; }
.conversation-compose-choices,#conversationTools { display:flex; align-items:center; flex-wrap:wrap; gap:3px; }
#conversationTools { padding:0 44px 0 0; border:0; margin:0; min-height:36px; }
#conversationTools>.button,.conversation-compose-choices>.button { border:0; font-size:12px; color:var(--muted); background:transparent; padding:7px 8px; min-height:32px; }
#conversationTools>.button:first-child,.conversation-compose-choices>.button:first-child { font-size:19px; color:var(--text); }
.simple-app .conversation-send,.simple-app #conversationSessionForm #sendConversationSessionButton { min-width:34px; min-height:34px; height:34px; border-radius:50%; padding:5px 10px; background:var(--cyan); color:var(--ui-on-primary); border-color:var(--cyan); line-height:1; }
#conversationSessionForm>.conversation-session-send { justify-content:flex-end; margin:0; min-height:0; }
#sendConversationSessionButton { position:absolute; bottom:10px; right:12px; width:auto; font-size:13px; }
#conversationSessionSendHint:empty { display:none; }
#conversationSessionSendHint:not(:empty) { margin:8px 40px 0 0; font-size:12px; }
#conversationSessionAttachments:empty,#conversationSessionError[hidden] { display:none; }
.conversation-upload { margin:0; padding:0; border:0; background:transparent; }
.conversation-attachment-list { display:flex; flex-wrap:wrap; gap:6px; padding:6px 0; }
.conversation-attachment { display:flex; align-items:center; gap:5px; max-width:100%; padding:5px 8px; background:var(--surface-3); border-radius:8px; font-size:12px; }
.conversation-attachment span { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; max-width:220px; }
#conversationSessionPanel { display:flex; flex-direction:column; flex:1; min-height:0; padding:0 24px 20px; border:0; box-shadow:none; background:var(--bg); }
#conversationSessionPanel[hidden] { display:none; }
#conversationSessionPanel>.conversation-project-head { display:none; }
#conversationSessionStatus:empty { display:none; }
#conversationSessionStatus { width:min(100%,780px); margin:6px auto; font-size:12px; }
#conversationSessionHistory { width:min(100%,780px); margin:0 auto; flex:1; min-height:0; overflow:auto; padding:24px 4px; overscroll-behavior:contain; scrollbar-width:thin; }
.conversation-execution { border:0; border-radius:0; background:transparent; padding:0; margin:0 0 30px; box-shadow:none; }
.conversation-user-message { width:fit-content; max-width:87%; margin:0 0 24px auto; background:var(--surface-2); padding:12px 17px; border-radius:20px; }
.conversation-user-message .conversation-message-text { margin:0; font-size:15px; }
.conversation-assistant-message { min-width:0; padding:0 2px; font-size:15px; line-height:1.75; }
.conversation-result { margin:0; padding:0; border:0; background:transparent; }
.conversation-markdown { overflow-wrap:anywhere; }
.conversation-markdown p { margin:0 0 13px; }
.conversation-markdown h3,.conversation-markdown h4,.conversation-markdown h5,.conversation-markdown h6 { margin:18px 0 8px; font-size:16px; font-weight:650; }
.conversation-markdown ul,.conversation-markdown ol { margin:8px 0 16px; padding-left:23px; }
.conversation-markdown li { margin:5px 0; }
.conversation-markdown a { color:var(--cyan); text-decoration:underline; text-underline-offset:3px; }
.conversation-markdown code { background:var(--surface-3); border-radius:4px; padding:1px 4px; font-size:13px; color:inherit; }
.conversation-markdown pre code { background:transparent; padding:0; }
.conversation-markdown blockquote { margin:12px 0; border-left:3px solid var(--line-strong); padding:2px 14px; color:var(--muted); }
.conversation-code,.conversation-patch,.conversation-event-text { color:var(--text); background:var(--bg); border:1px solid var(--line); border-radius:10px; overflow:auto; max-width:100%; padding:13px; font:12px/1.7 ui-monospace,SFMono-Regular,Menlo,monospace; white-space:pre; tab-size:2; }
.conversation-working { color:var(--muted); font-size:14px; }
.conversation-execution-progress:empty { display:none; }
.conversation-process { margin:0 0 18px; color:var(--muted); font-size:13px; }
.conversation-process>summary { display:flex; align-items:center; gap:10px; width:fit-content; max-width:100%; cursor:pointer; list-style:none; padding:5px 0; }
.conversation-process>summary::-webkit-details-marker { display:none; }
.conversation-process-toggle::after { content:"展开"; font-size:11px; opacity:.8; }
.conversation-process[open]>summary>.conversation-process-toggle::after { content:"收起"; }
.conversation-process[data-state="running"]>summary>.conversation-process-label { color:var(--cyan); }
.conversation-process>.conversation-events { padding:10px 0 2px 14px; border-left:1px solid var(--line); margin-top:8px; }
.conversation-process .conversation-step-message { color:var(--text); font-size:14px; line-height:1.75; margin:6px 0 16px; }
.conversation-process .conversation-step-message:last-child { margin-bottom:0; }
.simple-app .conversation-process .conversation-events>.conversation-step,
.simple-app .conversation-process .conversation-events>.conversation-process-configuration { padding:6px 0; border:0; border-radius:0; margin:4px 0; background:transparent; }
.conversation-step>summary { display:flex; align-items:flex-start; gap:9px; list-style:none; }
.conversation-step>summary::-webkit-details-marker { display:none; }
.conversation-step-icon { width:14px; flex:0 0 14px; text-align:center; color:var(--muted); }
.conversation-step[data-status="completed"] .conversation-step-icon { color:var(--green); }
.conversation-step[data-status="failed"] .conversation-step-icon,.conversation-step[data-status="failed"] .conversation-step-status { color:var(--red); }
.conversation-step[data-status="in_progress"] .conversation-step-icon { color:var(--cyan); }
.conversation-step-title { flex:1; min-width:0; color:var(--text); }
.conversation-step-command { display:block; color:var(--muted); font:12px/1.6 ui-monospace,SFMono-Regular,Menlo,monospace; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.conversation-step-status { flex:none; font-size:11px; color:var(--muted); }
.conversation-process .conversation-process-configuration { font-size:12px; color:var(--muted); }
.conversation-assistant-message:has(.conversation-process)>.conversation-working { display:none; }
.conversation-assistant-message:has(.conversation-process[data-state="running"],.conversation-process[data-state="queued"])>.conversation-execution-head>.status-chip { display:none; }
.conversation-execution-head { margin:8px 0 0; min-height:0; }
.conversation-execution-head:empty { display:none; }
.conversation-result-actions { display:flex; flex-wrap:wrap; gap:7px; margin:10px 0 0; }
.conversation-result-actions:empty,.conversation-execution-extra:empty { display:none; }
.conversation-result-actions .button { font-size:12px; border-color:var(--line); border-radius:8px; background:var(--surface); min-height:31px; padding:5px 9px; }
.conversation-execution-extra { margin-top:12px; }
.conversation-events>details,.conversation-diff-file { padding:9px 12px; border:1px solid var(--line); border-radius:10px; margin:7px 0; background:var(--surface-2); }
.conversation-events summary,.conversation-diff-file summary { cursor:pointer; font-size:13px; overflow-wrap:anywhere; }
.conversation-diff-file summary { display:flex; justify-content:space-between; gap:12px; }
.conversation-diff-file summary code { overflow-wrap:anywhere; }
.diff-counts { white-space:nowrap; }
.diff-added { color:var(--green); background:rgba(114,221,168,.13); }
.diff-deleted { color:var(--red); background:rgba(239,126,132,.13); }
.diff-hunk { color:var(--cyan); background:rgba(114,232,220,.1); }
.diff-header { color:var(--muted); }
.conversation-patch code>span { display:block; min-height:1.7em; }
#conversationInspector,#conversationFiles { position:fixed; z-index:65; inset:70px 18px 18px auto; width:min(480px,calc(100vw - 36px)); overflow:auto; background:var(--surface-2); border:1px solid var(--line); border-radius:18px; box-shadow:var(--shadow); padding:20px; }
#conversationInspector[hidden],#conversationFiles[hidden] { display:none; }
#conversationFiles { width:min(1050px,calc(100vw - 36px)); }
.conversation-file-layout { display:grid; grid-template-columns:220px minmax(0,1fr); gap:18px; }
.conversation-file-tree { display:flex; flex-direction:column; gap:4px; min-width:0; max-height:70vh; overflow:auto; }
.conversation-file-tree .button { text-align:left; justify-content:flex-start; overflow-wrap:anywhere; }
.conversation-file-editor { min-width:0; }
.conversation-file-content { max-height:62vh; }
.conversation-dialog-actions { display:flex; justify-content:flex-end; gap:8px; margin-top:18px; }
.conversation-settings-menu { display:grid; gap:7px; }
.conversation-settings-menu>.button { justify-content:flex-start; text-align:left; padding:15px; background:var(--surface); }
.conversation-settings-form fieldset { border:0; padding:0; margin:0; display:grid; gap:14px; min-width:0; }
.conversation-settings-form label { display:grid; gap:6px; font-size:13px; }
.conversation-settings-form input,.conversation-settings-form select,.conversation-settings-form textarea { width:100%; min-height:42px; font-size:15px; background:var(--ui-raised); color:var(--text); border:1px solid var(--line); border-radius:9px; padding:9px 10px; }
.conversation-settings-form { display:grid; gap:15px; }
.simple-app .conversation-directory { display:block; min-width:0; border:0; padding:0; }
.conversation-directory h3 { margin:0 0 6px; font-size:15px; }
.conversation-directory>.muted { margin:0 0 12px; font-size:12px; }
.conversation-directory-tree { list-style:none; padding:5px; margin:0; max-height:min(40dvh,360px); min-height:110px; overflow:auto; border:1px solid var(--line); border-radius:12px; overscroll-behavior:contain; scrollbar-width:thin; }
.conversation-directory-tree ul { list-style:none; padding:0 0 0 12px; margin:0 0 0 19px; border-left:1px solid var(--line); }
.conversation-directory-tree li { min-width:150px; outline:none; }
.conversation-directory-row { display:flex; align-items:center; min-width:0; border-radius:7px; }
.conversation-directory-row:hover { background:var(--surface-3); }
.conversation-directory-row.selected { background:rgba(114,232,220,.12); }
.conversation-directory-tree [role=treeitem]:focus-visible>.conversation-directory-row { outline:2px solid var(--cyan); outline-offset:-2px; }
.directory-chevron,.directory-label { background:transparent; border:0; border-radius:7px; color:var(--text); min-height:40px; padding:7px; cursor:pointer; }
.directory-chevron { flex:0 0 36px; width:36px; font-size:17px; }
.directory-chevron:hover { background:var(--surface-3); }
.directory-chevron.empty { cursor:default; }
.directory-label { display:flex; align-items:center; gap:8px; flex:1; min-width:0; text-align:left; font:inherit; font-size:13px; }
.directory-label>span:first-of-type { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.directory-label>svg { flex:0 0 18px; width:18px; height:18px; fill:none; stroke:currentColor; stroke-width:1.4; color:var(--muted); }
.directory-selected { margin-left:auto; color:var(--cyan); }
.directory-label:disabled { cursor:default; opacity:.6; }
.conversation-directory-tree .muted,.conversation-directory-tree .form-error { font-size:12px; padding:7px; margin:0; }
.conversation-directory-selection { margin:12px 0 0; font-size:12px; color:var(--muted); }
.conversation-directory-selection code { display:block; margin-top:5px; color:var(--text); overflow-wrap:anywhere; }
.conversation-settings-form .conversation-check { display:flex; align-items:center; }
.conversation-settings-form .conversation-check input { width:auto; min-height:auto; }
.conversation-native-card { border:1px solid var(--line); background:var(--surface); border-radius:14px; padding:15px; }
.conversation-empty { min-height:200px; display:grid; place-items:center; color:var(--muted); }
@media(max-width:700px) {
 #conversationWelcome { padding:8px 10px max(10px,env(safe-area-inset-bottom)); }
 #conversationSessionPanel { padding:0 10px max(10px,env(safe-area-inset-bottom)); }
 #conversationSessionHistory { padding:20px 6px; }
 .conversation-welcome-empty h2,.conversation-empty h2 { font-size:24px; }
 .conversation-user-message { max-width:90%; padding:10px 14px; }
 .conversation-compose,#conversationSessionForm { border-radius:20px; padding:11px 11px 9px; }
 #cxNewMessage,#conversationSessionText { font-size:16px; min-height:56px; }
 #conversationTools>.button,.conversation-compose-choices>.button { max-width:210px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:11px; padding:7px 5px; }
 #conversationInspector,#conversationFiles { inset:auto 0 0; width:100%; max-height:min(82dvh,calc(var(--simple-visible-height,100dvh) - 45px)); border-radius:20px 20px 0 0; padding:18px 16px max(18px,env(safe-area-inset-bottom)); }
 .conversation-file-layout { grid-template-columns:1fr; }
 .conversation-file-tree { max-height:23vh; border-bottom:1px solid var(--line); padding-bottom:10px; }
 .conversation-file-content { max-height:43dvh; }
 .conversation-settings-form select,.conversation-settings-form input,.conversation-settings-form textarea { font-size:16px; }
 #conversationDialog { max-height:calc(var(--simple-visible-height,100dvh) - 28px); }
 .conversation-diff-file summary { font-size:12px; }
}
.simple-app .conversation-welcome { background:transparent; border:0; border-radius:0; box-shadow:none; padding:0; max-width:780px; }
.simple-app .conversation-welcome-mark { background:transparent; border:0; box-shadow:none; width:auto; height:auto; border-radius:0; }
#view-conversation-chat .conversation-session-panel:has(#conversationInspector:not([hidden])) { display:flex; grid-template-columns:none; }
#view-conversation-chat .conversation-session-panel:has(.conversation-inspector:not([hidden])) { padding-right:24px; }
@media(max-width:700px) { #view-conversation-chat .conversation-session-panel:has(.conversation-inspector:not([hidden])) { padding-right:10px; } }
.simple-app #view-conversation-chat .conversation-session-panel:not([hidden]) { display:flex; padding:0 24px 20px; }
@media(max-width:700px) {
 .simple-app #view-conversation-chat .conversation-session-panel:not([hidden]) { padding:0 12px max(10px,env(safe-area-inset-bottom)); }
 #conversationSessionHistory { padding-left:8px; padding-right:8px; }
}
.simple-app .conversation-command-list article,
.simple-app .conversation-expert,
.simple-app .conversation-collaboration,
.simple-app .conversation-native-card,
.simple-app .conversation-artifact,
.simple-app .conversation-notification,
.simple-app .conversation-events details { background:var(--surface); color:var(--text); border-color:var(--line); }
.simple-app .conversation-command-list code { color:var(--cyan); }
.simple-app .conversation-artifact .conversation-thread { display:flex; align-items:center; justify-content:space-between; gap:12px; background:var(--surface-2); }
.simple-app .conversation-native-card textarea,
.simple-app .conversation-native-card select,
.simple-app .conversation-artifact textarea,
.simple-app #cxFeedback { background:var(--ui-raised); color:var(--text); border:1px solid var(--line); }
.simple-app .conversation-patch .diff-added { background:rgba(114,221,168,.13); color:var(--green); }
.simple-app .conversation-patch .diff-deleted { background:rgba(239,126,132,.13); color:var(--red); }
.simple-app .conversation-patch .diff-hunk { background:rgba(114,232,220,.1); color:var(--cyan); }
.simple-app .conversation-patch .diff-header,.simple-app .conversation-patch .diff-context { color:var(--muted); }
