/* 成稿采用状态、正文、待办、操作四段；仅作用于最终及历史成稿，不影响用户或执行中气泡。 */
.chat-row.assistant .chat-bubble.draft-card{width:min(790px,calc(100% - 52px));max-width:min(790px,calc(100% - 52px));padding:0;border-radius:14px;background:var(--ui-surface);box-shadow:none;overflow:visible;color:var(--ui-text)}
.chat-row.assistant .draft-card::before{display:none}
.draft-card>.draft-status,.draft-card>.draft-body,.draft-card>.draft-todos,.draft-card>.draft-actions{padding:18px 20px;min-width:0}
.draft-card>.draft-body,.draft-card>.draft-todos,.draft-card>.draft-actions{border-top:1px solid var(--ui-line)}
.draft-status-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.draft-version{font-size:15px;font-weight:650;line-height:1.5}.draft-status-meta{display:block;margin-top:3px;color:var(--ui-muted);font-size:12px;line-height:1.6}
.draft-card button{box-shadow:none}.draft-card .draft-review-badge{flex-shrink:0;min-height:28px;padding:4px 9px;border:0;border-radius:8px;background:var(--ui-warning-soft);color:var(--ui-warning);font-size:12px;font-weight:500;line-height:1.5}
.draft-process{display:inline;min-width:0}.draft-process>summary{display:inline;list-style:none;cursor:pointer;color:var(--ui-primary);font-size:12px}.draft-process>summary::-webkit-details-marker{display:none}.draft-process>summary::after{content:'＋';margin-left:5px}.draft-process[open]>summary::after{content:'−'}
.draft-process ol{margin:12px 0 0;padding:0;list-style:none;display:grid;gap:10px;color:var(--ui-muted)}.draft-process li{display:flex;align-items:center;gap:8px;flex-wrap:wrap;line-height:1.6}.draft-process li strong{font-weight:500;color:var(--ui-text)}.draft-process li .chat-process-duration{margin-left:auto;font-size:11px}
.draft-process .chat-memory-reference{margin-top:12px}.draft-process .chat-memory-evidence{max-height:300px;overflow:auto}
.draft-status .draft-approval-status{margin-top:8px;font-size:12px;color:var(--ui-muted)}
.draft-status .review-execution-status{padding:10px 0 0;margin:10px 0 0;border:0;border-top:1px solid var(--ui-line);background:transparent;color:var(--ui-warning);font-size:12px;line-height:1.6;display:grid;gap:4px}
.draft-card .generation-complete{margin:0;border:0;background:transparent;box-shadow:none}.draft-card .chat-complete-heading{padding:0 0 10px;min-height:28px;color:var(--ui-muted);font-size:12px;cursor:pointer}.draft-card .chat-complete-title{font-weight:500;color:var(--ui-muted)}
.draft-card .generation-section{padding:14px 0;border:0;border-top:1px solid var(--ui-line);margin:0;background:transparent;box-shadow:none}.draft-card .generation-section h4{font-size:13px;font-weight:500;color:var(--ui-muted);margin:0 0 8px}.draft-card .generation-note,.draft-card .generation-gx-record{line-height:1.8;font-size:13px;background:transparent;padding:0}.draft-card .generation-empty-delta{background:transparent;border:0;padding:4px 0;color:var(--ui-muted);font-size:13px}
.draft-card .generation-gx-header{border-top:0}.draft-card .chat-delta-details{padding:10px 0 0;margin-top:10px;border-top:1px solid var(--ui-line)}.draft-card .chat-delta-details>summary{font-size:12px;font-weight:400;color:var(--ui-primary)}
.draft-card .draft-todos{margin:0;background:transparent;border-right:0;border-bottom:0;border-left:0;border-radius:0;box-shadow:none;color:var(--ui-text)}.draft-todos h4{margin:0 0 8px;font-size:13px;font-weight:600;color:var(--ui-text)}
.draft-todos .review-item{margin:0;padding:14px 0;border:0;border-bottom:1px solid var(--ui-line);border-radius:0;background:transparent}.draft-todos .review-item:last-child{padding-bottom:0;border-bottom:0}.draft-todos .review-item-line{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.draft-todos .review-reason{flex:1;min-width:0;font-size:13px;line-height:1.7;margin:4px 0;overflow-wrap:anywhere}.draft-todos .review-item-actions{display:flex;justify-content:flex-end;align-items:flex-start;gap:8px;flex-wrap:wrap;max-width:55%;flex-shrink:0}
.draft-todos .review-confirm,.draft-todos .review-source-options>summary{min-height:32px;padding:6px 10px;border:1px solid var(--ui-line);border-radius:8px;background:transparent;color:var(--ui-text);font-size:12px;line-height:1.5;font-weight:400;cursor:pointer}.draft-todos .review-confirm:hover{background:var(--ui-surface-soft)}
.draft-todos .review-source-options{min-width:0;max-width:100%}.draft-todos .review-choice-list{max-width:100%;padding:12px 0 0}.draft-todos .review-choice-list button{white-space:normal;overflow-wrap:anywhere}.draft-todos input{max-width:100%;min-width:0;color:var(--ui-text);background:var(--ui-surface);border:1px solid var(--ui-line);border-radius:8px;padding:8px}
.draft-todos blockquote{margin:8px 0 0;padding:0 0 0 10px;border-left:2px solid var(--ui-line);color:var(--ui-muted);background:transparent;font-size:12px}.draft-todos .review-provenance{margin:8px 0 0;font-size:12px;line-height:1.6;color:var(--ui-muted)}
.draft-action-row{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.draft-actions-left{min-width:0;flex:1}.draft-actions-right{display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap}.draft-actions-right button{min-height:36px;padding:8px 12px;border:1px solid var(--ui-line);border-radius:9px;background:transparent;color:var(--ui-text);font-size:13px;font-weight:500}.draft-actions-right button.primary{background:var(--ui-primary);border-color:var(--ui-primary);color:#fff}
.draft-card .draft-source-link,.draft-source-picker>summary{padding:6px 0;border:0;background:transparent;color:var(--ui-primary);font-size:12px;line-height:1.5;text-align:left;cursor:pointer;list-style:none}.draft-source-picker{position:relative}.draft-source-list{display:grid;gap:4px;padding:8px 0}.draft-source-list button{padding:8px;border:1px solid var(--ui-line);border-radius:8px;background:transparent;color:var(--ui-text);text-align:left;overflow-wrap:anywhere;font-size:12px}
.draft-card .chat-save-status{padding:0;margin:10px 0 0;border:0;background:transparent;color:var(--ui-muted);font-size:12px}.draft-card .approval-inline{margin-top:14px;padding:12px 0 0;border:0;border-top:1px solid var(--ui-line);background:transparent}
@media(max-width:600px){.chat-row.assistant .chat-bubble.draft-card{width:calc(100% - 40px);max-width:calc(100% - 40px)}.draft-card>.draft-status,.draft-card>.draft-body,.draft-card>.draft-todos,.draft-card>.draft-actions{padding:14px 12px}.draft-status-heading{gap:8px}.draft-version{font-size:14px}.draft-todos .review-item-line{flex-direction:column;gap:8px}.draft-todos .review-item-actions{max-width:100%;width:100%;justify-content:flex-start}.draft-todos .review-confirm,.draft-todos .review-source-options>summary{min-height:40px}.draft-action-row{align-items:flex-start}.draft-actions-left{flex-basis:100%}.draft-actions-right{width:100%}.draft-actions-right button{min-height:44px;flex:1;padding:8px;font-size:12px}.draft-card .draft-review-badge{font-size:11px;min-height:28px}.draft-process li .chat-process-duration{margin-left:0}}

/* 过程使用行内入口和向下排布的详情，不因展开切换 flex 行；移动端按钮保持足够点击面积。 */
.draft-todos .review-item-actions .review-confirm{width:auto;max-width:100%}

/* 暗色旧主题的区域填充优先级较高；成稿统一为单一底色，表头与输入框仍保留必要区分。 */
html[data-theme] .chat-row.assistant .chat-bubble.draft-card{background:var(--ui-surface)!important;border:1px solid var(--ui-line)}
html[data-theme] .draft-card .generation-section,html[data-theme] .draft-card .generation-note,html[data-theme] .draft-card .generation-change,html[data-theme] .draft-card .approval-inline-item{background:transparent!important}

/* 操作栏驻留在当前卡片可视底部；所属卡片离开视口后自然退出，不覆盖其他成稿。 */
.draft-card>.draft-actions{position:sticky;bottom:0;z-index:5;background:var(--ui-surface);border-radius:0 0 14px 14px}
.draft-approval-status{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.draft-approval-status button{padding:3px 0;border:0;background:transparent;color:var(--ui-primary);font-size:12px;min-height:28px}
.draft-source-picker .draft-source-list{position:absolute;bottom:calc(100% + 10px);left:0;z-index:6;width:max-content;min-width:200px;max-width:min(300px,calc(100vw - 90px));max-height:min(260px,35dvh);overflow:auto;padding:8px;border:1px solid var(--ui-line);border-radius:10px;background:var(--ui-surface);box-shadow:0 8px 24px #0002}
.draft-actions-right button:focus-visible,.draft-source-link:focus-visible,.draft-source-picker>summary:focus-visible{outline:2px solid var(--ui-primary);outline-offset:3px}

/* 成稿操作栏贴合滚动视口；输入区已占独立网格行，不再给成稿额外预留底部滚动空隙。 */
#conversationStream:has(.draft-card){padding-bottom:0}

/* 驻留时下面仍有正文，单设圆角会透出卡片底色；两侧以页面底色封住弧外区域并续上细边框。 */
.draft-card>.draft-actions{border-bottom:1px solid var(--ui-line);margin-bottom:-1px}
.draft-card>.draft-actions::before,.draft-card>.draft-actions::after{content:'';position:absolute;bottom:-1px;width:15px;height:15px;pointer-events:none;z-index:2}
.draft-card>.draft-actions::before{left:-1px;background:radial-gradient(circle at 100% 0,transparent 13px,var(--ui-line) 13.5px,var(--ui-line) 14px,var(--ui-page) 14.5px)}
.draft-card>.draft-actions::after{right:-1px;background:radial-gradient(circle at 0 0,transparent 13px,var(--ui-line) 13.5px,var(--ui-line) 14px,var(--ui-page) 14.5px)}

/* 行内布局让步骤入口在展开前后保持原位置，列表在下一行自然展开。 */
.draft-status-meta>span{margin-right:8px}.draft-status-heading>div:first-child{flex:1;min-width:0}
