.composer{--composer-bg:var(--panel);background:var(--composer-bg);border:1px solid var(--line-strong);border-radius:var(--radius-composer);box-shadow:var(--elev-2);transition:border-color var(--dur) var(--ease), box-shadow var(--dur) var(--ease);padding:12px 12px 10px;position:relative}:root[data-theme=dark] .composer{--composer-bg:var(--surface-elevated)}.composer:has(.composer-input:focus){border-color:var(--accent);box-shadow:var(--elev-2), var(--focus-ring)}.composer.is-dragging{border-color:var(--accent)}.composer.is-incognito{border-style:dashed}.cv-drop{z-index:5;pointer-events:none;border:2px dashed var(--accent);border-radius:inherit;background:linear-gradient(var(--accent-soft), var(--accent-soft)), var(--composer-bg);color:var(--accent-text);font:500 var(--text-base)/1 var(--sans);justify-content:center;align-items:center;gap:8px;display:flex;position:absolute;inset:0}.cv-staged-row{flex-wrap:wrap;gap:8px;margin:0 0 10px;display:flex}.cv-staged{border:1px solid var(--line);border-radius:var(--radius);background:var(--bg-secondary);align-items:center;gap:10px;max-width:260px;height:50px;padding:6px 36px 6px 6px;display:inline-flex;position:relative}.cv-staged-thumb,.cv-staged-icon{border-radius:var(--radius-sm);flex:none;width:36px;height:36px}.cv-staged-thumb{object-fit:cover;border:1px solid var(--line)}.cv-staged-icon{background:var(--panel);border:1px solid var(--line);color:var(--muted);place-items:center;font-size:15px;display:grid}.cv-staged-text{flex-direction:column;gap:1px;min-width:0;display:flex}.cv-staged-name{text-overflow:ellipsis;white-space:nowrap;font:500 var(--text-sm)/1.3 var(--sans);color:var(--ink);overflow:hidden}.cv-staged-meta{font-size:var(--text-xs);color:var(--muted);line-height:1.3}.cv-staged-remove{width:28px;height:28px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:999px;place-items:center;padding:0;font-size:11px;display:grid;position:absolute;top:50%;right:5px;transform:translateY(-50%)}.cv-staged-remove:hover{background:var(--hover);color:var(--ink)}.cv-input-wrap{position:relative}.composer .composer-input.ant-input{min-height:30px;color:var(--ink);font-size:var(--text-prose);resize:none;background:0 0;padding:4px 4px 2px;line-height:1.65}.composer .composer-input.ant-input::placeholder{color:var(--faint)}.composer .composer-input.ant-input:focus-visible{outline:none}.composer .composer-input.ant-input:disabled{color:var(--muted);cursor:default}.cv-slash{z-index:30;background:var(--surface-elevated);border:1px solid var(--line);border-radius:var(--radius);max-height:280px;box-shadow:var(--elev-3);padding:6px;position:absolute;bottom:calc(100% + 14px);left:-6px;right:-6px;overflow-y:auto}.cv-slash-head{font:500 11px/1.2 var(--sans);letter-spacing:.04em;text-transform:uppercase;color:var(--muted);padding:6px 10px 4px}.cv-slash-opt{cursor:pointer;border-radius:8px;padding:8px 10px}.cv-slash-opt.is-active{background:var(--accent-soft)}.cv-slash-name{font:500 var(--text-base)/1.35 var(--sans);color:var(--ink)}.cv-slash-mark{color:var(--accent-text);margin-right:1px}.cv-slash-body{text-overflow:ellipsis;white-space:nowrap;font:12px/1.4 var(--mono);color:var(--muted);margin-top:2px;overflow:hidden}.composer-toolbar{justify-content:space-between;align-items:center;gap:8px;margin-top:8px;display:flex}.composer-tools{flex-wrap:wrap;flex:auto;align-items:center;gap:4px;min-width:0;display:flex}.composer-actions{flex:none;align-items:center;gap:4px;display:flex}.cv-count{font-size:var(--text-xs,12px);color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap;padding:0 6px}.cv-count.is-over{color:var(--error);font-weight:600}.composer .cv-tb.ant-btn{border-radius:var(--radius-control);height:32px;box-shadow:none;color:var(--muted);font-size:var(--text-sm);gap:6px;font-weight:500}.composer .cv-tb.ant-btn:not(:disabled):hover{background:var(--hover);color:var(--ink)}.composer .cv-tb.ant-btn .anticon{font-size:15px}.composer .cv-tb.ant-btn .cv-tb-chev{color:var(--faint);font-size:10px}.composer .cv-tb-plus.ant-btn{border-color:var(--line-strong);width:32px;min-width:32px;color:var(--ink-soft);background:0 0;padding:0}.composer .cv-tb-plus.ant-btn:not(:disabled):hover{border-color:var(--line-strong);background:var(--hover);color:var(--ink)}.composer .cv-tb-plus.ant-btn .anticon{font-size:14px}.composer .cv-tb-text.ant-btn{padding:0 8px 0 10px}.cv-tb-label{text-overflow:ellipsis;white-space:nowrap;max-width:160px;overflow:hidden}.composer .cv-tb-icon.ant-btn{width:32px;min-width:32px;padding:0}.composer .cv-tb.is-on.ant-btn,.composer .cv-tb.is-on.ant-btn:not(:disabled):hover{background:var(--accent-soft);color:var(--accent-text)}.composer .cv-tb.is-on.ant-btn:not(:disabled):hover{background:var(--accent-soft-hover)}.composer .cv-tb.is-listening.ant-btn{background:var(--accent-soft);color:var(--accent-text);animation:cvListen 1.6s var(--ease) infinite}@keyframes cvListen{0%,to{box-shadow:0 0 0 0 var(--accent-line)}50%{box-shadow:0 0 0 4px #0000}}.cv-tb-model .cv-model-name{color:var(--ink-soft);text-transform:capitalize}.cv-tb-model .cv-model-effort{color:var(--muted);font-weight:400}.composer .composer-send.ant-btn{width:36px;min-width:36px;height:36px;box-shadow:none;border-radius:999px;padding:0}.composer .composer-send.ant-btn .anticon{font-size:16px}.composer .composer-send.ant-btn:disabled,.composer .composer-send.ant-btn.ant-btn-disabled{background:var(--fill-tertiary);color:var(--faint);border-color:#0000}.cv-stop-glyph{background:currentColor;border-radius:2.5px;width:11px;height:11px;display:block}.cv-pill{background:var(--accent-soft);max-width:180px;height:28px;color:var(--accent-text);font:500 12.5px/1 var(--sans);border-radius:999px;align-items:center;gap:6px;padding:0 4px 0 10px;display:inline-flex}.cv-pill:not(:has(.cv-pill-x)){padding-right:10px}.cv-pill-icon{font-size:12px;display:inline-flex}.cv-pill-label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.cv-pill-x{width:22px;height:22px;color:inherit;cursor:pointer;opacity:.75;background:0 0;border:0;border-radius:999px;place-items:center;padding:0;font-size:9px;display:grid}.cv-pill-x:hover{opacity:1;background:var(--accent-soft-hover)}.cv-mi-check{color:var(--accent-text);font-size:12px}.cv-mi-lock{color:var(--faint);font-size:12px}.cv-mi-two{flex-direction:column;gap:1px;min-width:200px;padding:2px 0;display:flex}.cv-mi-name{font-weight:500}.cv-mi-name.is-cap{text-transform:capitalize}.cv-mi-desc{max-width:260px;font-size:var(--text-xs);color:var(--muted);white-space:normal;font-weight:400;line-height:1.35}.cv-mi-split{justify-content:space-between;align-items:center;gap:16px;width:100%;display:flex}.cv-mi-count{background:var(--accent-soft);min-width:18px;height:18px;color:var(--accent-text);font:600 11px/18px var(--sans);text-align:center;border-radius:999px;padding:0 5px}.cv-mi-value{font-size:var(--text-xs);color:var(--muted)}.cv-mi-inline{align-items:baseline;gap:8px;display:inline-flex}.cv-mi-hint{font-size:var(--text-xs);color:var(--muted)}.cv-mi-tag{border-radius:var(--radius-xs);background:var(--fill-tertiary);color:var(--muted);font:500 10.5px/1 var(--sans);align-self:center;padding:3px 6px}.cv-mi-grouphint{max-width:240px;font-size:var(--text-xs);color:var(--muted);white-space:normal;line-height:1.4;display:block}.cv-mi-path{text-overflow:ellipsis;white-space:nowrap;max-width:300px;font:12px/1.4 var(--mono);color:var(--muted);display:block;overflow:hidden}.cv-mi-ellipsis{text-overflow:ellipsis;white-space:nowrap;vertical-align:bottom;max-width:240px;display:inline-block;overflow:hidden}.ant-dropdown-menu .ant-dropdown-menu-item.cv-mi-tall{padding-block:7px}.cv-msg{color:var(--ink);margin:0 0 28px;position:relative}.cv-msg--assistant,.cv-msg--error{flex-direction:column;gap:10px;display:flex}.cv-msg--user{flex-direction:column;align-items:flex-end;gap:6px;display:flex}.cv-bubble{background:var(--user-bubble);max-width:85%;color:var(--user-bubble-ink);font-size:var(--text-prose);white-space:pre-wrap;overflow-wrap:anywhere;border-radius:16px 16px 4px;padding:10px 16px;line-height:1.6}.cv-msg-head{height:20px;font:500 var(--text-xs)/1 var(--sans);letter-spacing:0;color:var(--muted);align-items:center;gap:8px;margin-bottom:-2px;display:flex}.cv-logo-live{animation:1.8s ease-in-out infinite cvBreath}@keyframes cvBreath{0%,to{opacity:1}50%{opacity:.45}}.cv-msg-body{min-width:0}.cv-streaming{min-height:26px;color:var(--muted);font-size:var(--text-base);align-items:center;gap:10px;display:flex}.cv-streaming.is-queued{color:var(--warn)}.cv-dots{gap:4px;display:inline-flex}.cv-dots i{background:var(--indicator);width:6px;height:6px;animation:cvDot 1.2s var(--ease) infinite;border-radius:50%}.cv-dots i:nth-child(2){animation-delay:.15s}.cv-dots i:nth-child(3){animation-delay:.3s}@keyframes cvDot{0%,80%,to{opacity:.45;transform:scale(.6)}40%{opacity:1;transform:scale(1)}}.cv-error{border:1px solid var(--error-line);border-radius:var(--radius);background:var(--error-soft);color:var(--ink);font-size:var(--text-base);align-items:flex-start;gap:10px;padding:12px 14px;line-height:1.55;display:flex}.cv-error-icon{color:var(--error);flex:none;margin-top:3px;font-size:15px}.cv-error-text{white-space:pre-wrap;overflow-wrap:anywhere;min-width:0}.cv-thinking{align-self:stretch}.cv-thinking-toggle{height:28px;color:var(--muted);font:500 var(--text-sm)/1 var(--sans);cursor:pointer;background:0 0;border:0;border-radius:8px;align-items:center;gap:6px;margin-left:-8px;padding:0 10px 0 8px;display:inline-flex}.cv-thinking-toggle:hover{background:var(--hover);color:var(--ink-soft)}.cv-thinking-icon{font-size:13px}.cv-msg.is-streaming .cv-thinking-icon{color:var(--accent-text)}.cv-thinking-chev{transition:transform var(--dur) var(--ease);font-size:9px}.cv-thinking.is-open .cv-thinking-chev{transform:rotate(90deg)}.cv-thinking-body{border:1px solid var(--line);background:var(--surface-sunken);max-height:360px;color:var(--muted);font-size:var(--text-sm);white-space:pre-wrap;overflow-wrap:anywhere;border-radius:10px;margin-top:6px;padding:12px 14px;line-height:1.6;overflow-y:auto}.cv-approval{border:1px solid var(--line);border-radius:var(--radius);font-size:var(--text-base);background:0 0;flex-wrap:wrap;align-items:center;gap:12px;padding:10px 12px 10px 14px;display:flex}.cv-approval.is-pending{border-color:var(--warn-line);background:var(--warn-soft)}.cv-approval-icon{color:var(--muted);flex:none;font-size:16px}.cv-approval.is-pending .cv-approval-icon{color:var(--warn)}.cv-approval-text{min-width:160px;color:var(--ink);flex:1}.cv-approval-text b{font-weight:600}.cv-approval-target{border-radius:var(--radius-xs);background:var(--fill-tertiary);color:var(--ink-soft);font:12.5px var(--mono);padding:1px 6px}.cv-approval-actions{gap:8px;margin-left:auto;display:flex}.cv-approval-status{font-size:var(--text-sm);align-items:center;gap:6px;font-weight:500;display:inline-flex}.cv-approval-status.is-allow{color:var(--success)}.cv-approval-status.is-deny{color:var(--error)}.cv-todos{border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);padding:10px 14px}.cv-todos-head{font:500 var(--text-xs)/1.3 var(--sans);letter-spacing:.04em;text-transform:uppercase;color:var(--muted);align-items:center;gap:8px;margin-bottom:6px;display:flex}.cv-todos-count{letter-spacing:0;text-transform:none;font-variant-numeric:tabular-nums;margin-left:auto;font-weight:400}.cv-todos-list{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.cv-todo{color:var(--ink);align-items:flex-start;gap:10px;font-size:13.5px;line-height:1.5;display:flex}.cv-todo-icon{color:var(--faint);flex:none;margin-top:3px;font-size:14px}.cv-todo.is-completed{color:var(--muted)}.cv-todo.is-completed .cv-todo-text{text-decoration:line-through;-webkit-text-decoration-color:var(--faint);text-decoration-color:var(--faint)}.cv-todo.is-completed .cv-todo-icon,.cv-todo.is-in_progress .cv-todo-icon{color:var(--accent-text)}.cv-todo.is-in_progress{font-weight:500}.cv-tools{flex-wrap:wrap;gap:6px;display:flex}.cv-tool{border:1px solid var(--line);background:var(--fill-quaternary);max-width:100%;height:26px;color:var(--muted);font:500 var(--text-xs)/1 var(--sans);border-radius:999px;align-items:center;gap:6px;padding:0 10px;display:inline-flex}.cv-tool-icon{font-size:12px;display:inline-flex}.cv-tool-name{color:var(--ink-soft)}.cv-tool-target{text-overflow:ellipsis;white-space:nowrap;min-width:0;max-width:220px;font:12px/1 var(--mono);overflow:hidden}.cv-edit{border:1px solid var(--accent);background:var(--panel);box-shadow:var(--focus-ring);border-radius:16px;align-self:stretch;padding:10px 12px 10px 14px}.cv-edit .cv-edit-input.ant-input{font-size:var(--text-prose);background:0 0;padding:2px 0;line-height:1.6}.cv-edit .cv-edit-input.ant-input:focus-visible{outline:none}.cv-edit-actions{justify-content:flex-end;align-items:center;gap:8px;margin-top:8px;display:flex}.cv-edit-hint{font-size:var(--text-xs);color:var(--muted);margin-right:auto}.cv-msg-atts{max-width:100%}.cv-msg--user .cv-msg-atts{max-width:85%}.cv-msg--user .cv-atts{align-items:flex-end}.cv-msg--user .cv-atts-row{justify-content:flex-end}.cv-sources{flex-direction:column;gap:8px;display:flex}.cv-sources-head{font:500 var(--text-xs)/1.3 var(--sans);letter-spacing:.04em;text-transform:uppercase;color:var(--muted);align-items:center;gap:6px;display:flex}.cv-sources-count{background:var(--fill-tertiary);min-width:18px;height:18px;font:600 11px/18px var(--sans);letter-spacing:0;text-align:center;border-radius:999px;padding:0 5px}.cv-sources-list{flex-wrap:wrap;gap:6px;display:flex}.cv-source{border:1px solid var(--line);background:var(--panel);max-width:300px;height:28px;transition:border-color var(--dur-fast) var(--ease), background-color var(--dur-fast) var(--ease);border-radius:999px;align-items:center;gap:6px;padding:0 10px;font-size:12.5px;text-decoration:none;display:inline-flex}.cv-source:hover{border-color:var(--accent-line);background:var(--accent-soft)}.cv-source-host{color:var(--accent-text);white-space:nowrap;flex:none;font-weight:500}.cv-source-label{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--muted);overflow:hidden}.cv-artifacts{flex-direction:column;align-items:flex-start;gap:8px;display:flex}.cv-artifact{border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--panel);width:min(440px,100%);color:var(--ink);font:inherit;text-align:left;cursor:pointer;transition:border-color var(--dur-fast) var(--ease), box-shadow var(--dur-fast) var(--ease);align-items:center;gap:12px;padding:10px;display:flex}.cv-artifact:hover{border-color:var(--accent-line);box-shadow:var(--elev-2)}.cv-artifact:focus-visible{outline:2px solid var(--accent-text);outline-offset:2px}.cv-artifact-icon{border:1px solid var(--line);background:var(--surface-sunken);width:40px;height:40px;color:var(--ink-soft);border-radius:10px;flex:none;place-items:center;font-size:18px;display:grid}.cv-artifact-text{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.cv-artifact-title{text-overflow:ellipsis;white-space:nowrap;font:500 var(--text-base)/1.3 var(--sans);overflow:hidden}.cv-artifact-title:first-letter{text-transform:uppercase}.cv-artifact-sub{font-size:var(--text-xs);color:var(--muted)}.cv-artifact-open{border-radius:var(--radius-sm);color:var(--muted);font:500 var(--text-xs)/1 var(--sans);transition:background-color var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease);flex:none;align-items:center;gap:4px;padding:4px 8px;display:inline-flex}.cv-artifact-open .anticon{font-size:10px}.cv-artifact:hover .cv-artifact-open{background:var(--accent-soft);color:var(--accent-text)}.msg-meta{opacity:0;min-height:28px;transition:opacity var(--dur) var(--ease);align-items:center;gap:2px;margin-top:-4px;margin-left:-6px;display:flex}.cv-msg--user .msg-meta{justify-content:flex-end;margin:0 -6px 0 0}.cv-msg:hover .msg-meta,.cv-msg:focus-within .msg-meta,.cv-msg--latest .msg-meta{opacity:1}@media (hover:none){.msg-meta{opacity:1}}.cv-msg .cv-act.ant-btn{width:28px;min-width:28px;height:28px;color:var(--muted);border-radius:8px;padding:0}.cv-msg .cv-act.ant-btn:not(:disabled):hover{background:var(--hover);color:var(--ink)}.cv-msg .cv-act.ant-btn .anticon{font-size:14px}.cv-msg.has-versions .msg-meta{opacity:1}.cv-versions{align-items:center;gap:0;margin-right:4px;display:inline-flex}.cv-ver-count{min-width:36px;color:var(--muted);font:500 var(--text-xs)/1 var(--sans);font-variant-numeric:tabular-nums;text-align:center;padding:0 2px}.cv-msg.has-feedback .msg-meta{opacity:1}.cv-msg .cv-act.is-on.ant-btn,.cv-msg .cv-act.is-on.ant-btn:not(:disabled):hover{background:var(--accent-soft);color:var(--accent-text)}.cv-fb-anchor{display:inline-flex}.cv-fb-pop .ant-popover-container{border-radius:var(--radius);padding:12px}.cv-fb-form{flex-direction:column;gap:8px;width:min(320px,100vw - 48px);display:flex}.cv-fb-label{font-size:var(--text-sm);color:var(--ink);font-weight:500}.cv-fb-actions{justify-content:flex-end;gap:8px;margin-top:18px;display:flex}.cv-find-dock{z-index:5;height:0;position:relative}.cv-find{background:var(--surface-elevated);border:1px solid var(--line-strong);border-radius:var(--radius-control);width:min(380px,100vw - 32px);box-shadow:var(--elev-2);align-items:center;gap:2px;padding:3px 4px 3px 2px;display:flex;position:absolute;top:10px;right:20px}.cv-find .cv-find-input.ant-input-affix-wrapper{min-width:0;font-size:var(--text-base);flex:1;padding-inline:8px 4px}.cv-find .cv-find-input .ant-input-prefix{color:var(--muted);margin-inline-end:6px}.cv-find-count{min-width:56px;color:var(--muted);font-size:var(--text-xs);font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap;flex-shrink:0;padding:0 4px}.cv-find-count.is-empty{color:var(--error)}.cv-find-sep{background:var(--line);flex-shrink:0;width:1px;height:18px;margin:0 2px}.cv-find .cv-find-btn.ant-btn{width:28px;min-width:28px;height:28px;color:var(--muted);border-radius:8px;padding:0}.cv-find .cv-find-btn.ant-btn:not(:disabled):hover{background:var(--hover);color:var(--ink)}.cv-find-root{--find-hit:color-mix(in srgb, var(--indicator) 30%, transparent);--find-cur:var(--indicator);--find-cur-ink:var(--ink)}:root[data-theme=dark] .cv-find-root{--find-cur-ink:var(--bg-base)}::highlight(gel-find){background-color:var(--find-hit,Highlight)}::highlight(gel-find-current){background-color:var(--find-cur,Mark);color:var(--find-cur-ink,MarkText)}.cv-meta-text{color:var(--muted);font-size:var(--text-xs);font-variant-numeric:tabular-nums;white-space:nowrap;margin-left:8px}.cv-notice{justify-content:center;margin:4px 0 24px;display:flex}.cv-notice-chip{border:1px solid var(--line);background:var(--fill-quaternary);max-width:90%;color:var(--muted);font:500 var(--text-xs)/1.4 var(--sans);border-radius:999px;align-items:center;gap:8px;padding:5px 12px;display:inline-flex}.cv-notice-chip.is-warn{border-color:var(--warn-line);background:var(--warn-soft);color:var(--warn)}.cv-atts{flex-direction:column;gap:6px;max-width:100%;display:flex}.cv-atts-row{flex-wrap:wrap;align-items:flex-start;gap:8px;display:flex}.cv-atts-note{font-size:var(--text-xs);color:var(--muted)}.cv-att-chip{border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);max-width:280px;min-height:46px;color:var(--ink);font:inherit;text-align:left;align-items:center;gap:10px;padding:6px 12px 6px 6px;display:inline-flex}button.cv-att-chip{cursor:pointer;transition:border-color var(--dur-fast) var(--ease), box-shadow var(--dur-fast) var(--ease)}button.cv-att-chip:hover{border-color:var(--line-strong);box-shadow:var(--elev-2)}button.cv-att-chip:focus-visible{outline:2px solid var(--accent-text);outline-offset:2px}.cv-att-icon{border-radius:var(--radius-sm);background:var(--fill-tertiary);width:32px;height:32px;color:var(--muted);flex:none;place-items:center;font-size:15px;display:grid}.cv-att-text{flex-direction:column;min-width:0;display:flex}.cv-att-name{text-overflow:ellipsis;white-space:nowrap;font:500 var(--text-sm)/1.3 var(--sans);overflow:hidden}.cv-att-meta{font-size:var(--text-xs);color:var(--muted);line-height:1.3}.cv-att-trail{color:var(--muted);flex:none;margin-left:2px}.cv-att-image{max-width:100%;line-height:0;display:inline-block}.cv-att-image .ant-image{border-radius:var(--radius);overflow:hidden}.cv-att-image .ant-image .ant-image-img{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-sunken)}.cv-ap{background:var(--panel);border-left:1px solid var(--line);width:480px;max-width:100vw;height:100%;min-height:0;animation:cvPanelIn var(--dur) var(--ease) both;flex-direction:column;flex:none;display:flex;position:relative}.cv-ap.is-overlay{z-index:40;width:min(640px,100vw);height:auto;box-shadow:var(--elev-3);position:fixed;top:0;bottom:0;right:0}.cv-ap-scrim{z-index:39;background:var(--scrim);animation:cvScrimIn var(--dur) var(--ease) both;position:fixed;inset:0}@keyframes cvPanelIn{0%{transform:translate(16px)}to{transform:none}}@keyframes cvScrimIn{0%{background:0 0}}.cv-ap-resize{z-index:3;cursor:col-resize;touch-action:none;width:10px;position:absolute;top:0;bottom:0;left:-5px}.cv-ap-resize:after{content:"";width:2px;transition:background var(--dur-fast) var(--ease);background:0 0;position:absolute;top:0;bottom:0;left:4px}.cv-ap-resize:hover:after,.cv-ap.is-resizing .cv-ap-resize:after{background:var(--accent-line)}.cv-ap-resize:focus-visible{outline:none}.cv-ap-resize:focus-visible:after{background:var(--accent-text)}.cv-ap.is-resizing .cv-ap-frame{pointer-events:none}body.cv-ap-dragging{cursor:col-resize;-webkit-user-select:none;user-select:none}.cv-ap-head{border-bottom:1px solid var(--line);flex:none;align-items:center;gap:10px;height:52px;padding:0 8px 0 16px;display:flex}.cv-ap-kind{background:var(--accent-soft);width:28px;height:28px;color:var(--accent-text);border-radius:8px;flex:none;place-items:center;font-size:15px;display:grid}.cv-ap-titles{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.cv-ap-title{text-overflow:ellipsis;white-space:nowrap;font:600 15px/1.25 var(--sans);color:var(--ink);overflow:hidden}.cv-ap-title:first-letter{text-transform:uppercase}.cv-ap-sub{font-size:var(--text-xs);color:var(--muted);line-height:1.2}.cv-ap-actions{flex:none;gap:2px;display:flex}.cv-ap .cv-ap-btn.ant-btn{width:32px;min-width:32px;height:32px;color:var(--muted);padding:0}.cv-ap .cv-ap-btn.ant-btn:not(:disabled):hover{background:var(--hover);color:var(--ink)}.cv-ap-bar{border-bottom:1px solid var(--line);flex:none;justify-content:space-between;align-items:center;gap:8px;padding:8px 16px;display:flex}.cv-ap-version{min-width:128px}.cv-ap-body{background:var(--panel);flex-direction:column;flex:1;min-height:0;display:flex;overflow:auto}.cv-ap-frame-wrap{flex:1;min-height:0;display:flex;position:relative}.cv-ap-frame{background:var(--iframe-bg);border:0;flex:1;width:100%}.cv-ap-status{background:var(--panel);text-align:center;pointer-events:none;place-items:center;padding:24px;display:grid;position:absolute;inset:0}.cv-ap-status.is-error{pointer-events:auto}.cv-ap-loading{color:var(--muted);font-size:var(--text-sm);align-items:center;gap:10px;display:flex}.cv-ap-error{border:1px solid var(--error-line);border-radius:var(--radius);background:var(--error-soft);text-align:left;align-items:flex-start;gap:10px;max-width:100%;padding:12px 14px;display:flex}.cv-ap-error-icon{color:var(--error);flex:none;margin-top:2px}.cv-ap-error-text{color:var(--ink);font:12px/1.5 var(--mono);white-space:pre-wrap;overflow-wrap:anywhere;margin:0}.cv-ap-md{padding:20px 24px 28px;overflow:auto}.cv-ap-code{background:var(--code-bg);color:var(--code-ink);font:13px/1.6 var(--mono);white-space:pre;overflow-wrap:normal;word-break:normal;tab-size:4;flex:1;margin:0;padding:16px 20px;overflow:auto}.cv-ap-code:focus-visible{outline:2px solid var(--accent-text);outline-offset:-2px}.cv-ap-code code,.cv-ap-code code.hljs{width:max-content;min-width:100%;color:inherit;font:inherit;white-space:inherit;background:0 0;margin:0;padding:0;display:block}.cv-ap-edit{flex-direction:column;flex:1;min-height:0;display:flex}.cv-ap .cv-ap-edit-input.ant-input{background:var(--code-bg);min-height:0;color:var(--code-ink);font:13px/1.6 var(--mono);resize:none;border-radius:0;flex:1;padding:16px 20px}.cv-ap .cv-ap-edit-input.ant-input:focus-visible{box-shadow:inset 0 0 0 2px var(--accent-line);outline:none}.cv-ap-edit-foot{border-top:1px solid var(--line);justify-content:flex-end;align-items:center;gap:8px;padding:10px 16px;display:flex}.cv-ap-edit-hint{font-size:var(--text-xs);color:var(--muted);margin-right:auto}.cv-doc-title{align-items:center;gap:12px;min-width:0;padding-right:28px;display:flex}.cv-doc-title-icon{border-radius:var(--radius-sm);background:var(--accent-soft);width:36px;height:36px;color:var(--accent-text);flex:none;place-items:center;font-size:18px;display:grid}.cv-doc-title-text{flex-direction:column;min-width:0;display:flex}.cv-doc-title-name{text-overflow:ellipsis;white-space:nowrap;font:600 var(--text-lg)/1.3 var(--sans);color:var(--ink);overflow:hidden}.cv-doc-title-kind{font:400 var(--text-xs)/1.3 var(--sans);color:var(--muted)}.cv-doc-loading{place-items:center;padding:48px;display:grid}.cv-doc-frame{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--iframe-bg);width:100%;height:70vh;display:block}.cv-doc-note{font-size:var(--text-xs);color:var(--muted);margin-top:8px;display:block}.cv-doc-note.is-banner{border-radius:var(--radius-sm);background:var(--accent-soft);color:var(--ink-soft);align-items:center;gap:8px;margin:0 0 10px;padding:8px 12px;display:flex}.cv-doc-note.is-banner .anticon{color:var(--accent-text)}.cv-doc-page{border-radius:var(--radius);background:var(--surface-sunken);padding:24px}.cv-doc-page>.doc-preview,.cv-doc-page>.cv-md{border:1px solid var(--line);background:var(--panel);max-width:760px;box-shadow:var(--elev-1);border-radius:8px;margin:0 auto;padding:40px 48px}.cv-doc-page .doc-preview{color:var(--ink);font-size:var(--text-prose);line-height:1.65}.doc-preview .doc-preview-h.ant-typography{color:var(--ink);margin:1.2em 0 .5em;font-weight:600}.doc-preview .doc-preview-h.ant-typography:first-child{margin-top:0}.doc-preview h1.doc-preview-h.ant-typography{font-size:24px}.doc-preview h2.doc-preview-h.ant-typography{font-size:20px}.doc-preview h3.doc-preview-h.ant-typography{font-size:17px}.doc-preview h4.doc-preview-h.ant-typography{font-size:15px}.doc-preview h5.doc-preview-h.ant-typography{font-size:14px}.doc-preview .doc-preview-li{margin:2px 0 2px 22px;list-style:outside;display:list-item}.doc-preview .doc-preview-li::marker{color:var(--muted)}.doc-preview .doc-preview-table{border-collapse:collapse;width:100%;margin:16px 0;font-size:13.5px}.doc-preview .doc-preview-table :is(th,td){border:1px solid var(--line);text-align:left;vertical-align:top;padding:7px 10px}.doc-preview .doc-preview-table th{background:var(--bg-secondary);font-weight:600}.cv-doc-body .doc-preview-pre{border:1px solid var(--code-border);border-radius:var(--radius);background:var(--code-bg);color:var(--code-ink);font:13px/1.6 var(--mono);white-space:pre-wrap;word-break:break-word;margin:0;padding:16px}.cv-tp .ant-collapse>.ant-collapse-item>.ant-collapse-header{align-items:center}.cv-tp-head{align-items:center;gap:12px;display:flex}.cv-tp-head-icon{color:var(--accent-text);font-size:18px}.cv-tp-head-text{flex-direction:column;gap:2px;display:flex}.cv-tp-title{font:600 var(--text-base)/1.3 var(--sans);color:var(--ink);align-items:center;gap:8px;display:inline-flex}.cv-tp-count{background:var(--accent-soft);color:var(--accent-text);font:500 11px/18px var(--sans);border-radius:999px;padding:0 7px}.cv-tp-desc{font-size:var(--text-sm);color:var(--muted)}.cv-tp-list{border:1px solid var(--line);border-radius:var(--radius);margin:4px 0 0;padding:0;list-style:none;overflow:hidden}.cv-tp-row{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:12px;padding:10px 12px;display:flex}.cv-tp-row:last-child{border-bottom:0}.cv-tp-icon{background:var(--fill-tertiary);width:28px;height:28px;color:var(--muted);border-radius:8px;flex:none;place-items:center;display:grid}.cv-tp-text{flex-direction:column;flex:1;min-width:140px;display:flex}.cv-tp-name{text-overflow:ellipsis;white-space:nowrap;font:500 13.5px/1.3 var(--sans);color:var(--ink);overflow:hidden}.cv-tp-sub{font-size:var(--text-xs);color:var(--muted)}.cv-chg-title{align-items:center;gap:8px;display:inline-flex}.cv-chg-foot{justify-content:space-between;align-items:center;gap:16px;display:flex}.cv-chg-foot-actions{gap:8px;display:flex}.cv-chg-loading{place-items:center;padding:32px;display:grid}.cv-chg-summary{border:1px solid var(--line);border-radius:var(--radius);background:var(--bg-secondary);align-items:flex-start;gap:12px;margin-bottom:16px;padding:12px 14px;display:flex}.cv-chg-summary-icon{color:var(--muted);flex:none;margin-top:3px;font-size:16px}.cv-chg-summary-line{color:var(--ink);font-weight:500}.cv-chg-summary-sub{font-size:var(--text-sm);color:var(--muted);margin-top:2px}.cv-chg-row{align-items:center;gap:10px;min-width:0;display:flex}.cv-chg-row .cv-chg-tag{text-transform:capitalize;background:var(--fill-tertiary);color:var(--ink-soft);margin:0}.cv-chg-row .cv-chg-tag.is-added{background:var(--success-soft);color:var(--success)}.cv-chg-row .cv-chg-tag.is-modified{background:var(--warn-soft);color:var(--warn)}.cv-chg-row .cv-chg-tag.is-deleted{background:var(--error-soft);color:var(--error)}.cv-chg-path{text-overflow:ellipsis;white-space:nowrap;min-width:0;font:var(--text-sm)/1.4 var(--mono);color:var(--ink);flex:1;overflow:hidden}.cv-chg-size{font-size:var(--text-xs);color:var(--muted);font-variant-numeric:tabular-nums;flex:none}.cv-diff{border:1px solid var(--code-border);border-radius:var(--radius-sm);background:var(--code-bg);max-height:360px;color:var(--code-ink);font:12px/1.55 var(--mono);margin:0;padding:8px 0;overflow:auto}.cv-diff-line{white-space:pre;min-width:max-content;padding:0 12px;display:block}.cv-diff-line.is-add{background:var(--success-soft)}.cv-diff-line.is-del{background:var(--error-soft)}.cv-diff-line.is-hunk{background:var(--fill-quaternary);color:var(--code-muted)}.cv-diff-line.is-file{color:var(--code-muted);font-weight:600}.cv-fallback{border:1px solid var(--warn-line);border-radius:var(--radius);background:var(--panel);flex-direction:column;gap:8px;padding:12px 14px;display:flex}.cv-fallback--user{max-width:85%;margin-left:auto}.cv-fallback-bar,.cv-block-fallback-bar{font:500 var(--text-sm)/1.4 var(--sans);color:var(--ink-soft);flex-wrap:wrap;align-items:center;gap:8px;display:flex}.cv-fallback-icon,.cv-block-fallback-icon{color:var(--warn);font-size:14px}.cv-fallback-note,.cv-block-fallback-title{flex:auto;min-width:0}.cv-fallback-actions,.cv-block-fallback-actions{flex:none;gap:2px;margin-left:auto;display:inline-flex}.cv-fallback-btn.ant-btn{color:var(--muted)}.cv-fallback-btn.ant-btn:not(:disabled):hover{background:var(--hover);color:var(--ink)}.cv-fallback-text{max-height:480px;color:var(--ink);font:var(--text-prose)/1.6 var(--sans);white-space:pre-wrap;overflow-wrap:anywhere;unicode-bidi:plaintext;margin:0;overflow:auto}.cv-fallback-err,.cv-block-fallback-err{color:var(--muted);font:12px/1.5 var(--mono);white-space:pre-wrap;overflow-wrap:anywhere}.cv-block-fallback{border:1px solid var(--warn-line);border-radius:var(--radius);background:var(--warn-soft);color:var(--ink);flex-direction:column;gap:8px;margin:10px 0 14px;padding:10px 12px;display:flex}.cv-block-fallback-src{border:1px solid var(--code-border);border-radius:var(--radius-sm);background:var(--code-bg);max-height:420px;color:var(--code-ink);font:12.5px/1.55 var(--mono);white-space:pre;margin:0;padding:10px 12px;overflow:auto}.cv-block-fallback-src.is-prose{font:var(--text-prose)/1.6 var(--sans);white-space:pre-wrap;overflow-wrap:anywhere;background:var(--panel);border-color:var(--line);color:var(--ink);unicode-bidi:plaintext}.cv-chrome-fallback{color:var(--ink-soft);font-size:var(--text-sm);flex-wrap:wrap;align-items:center;gap:8px;padding:12px 16px;display:flex}.cv-chrome-fallback.is-panel{padding:20px}.cv-msg--other{flex-direction:column;gap:6px;display:flex}.cv-other-label{background:var(--fill-tertiary);color:var(--muted);font:500 var(--text-xs)/18px var(--sans);text-transform:capitalize;border-radius:999px;align-self:flex-start;padding:1px 8px}.cv-ap-error-main{flex-direction:column;gap:6px;min-width:0;display:flex}.cv-ap-error-title{font:600 var(--text-base)/1.35 var(--sans);color:var(--ink)}.cv-ap-error-help{font-size:var(--text-sm);color:var(--ink-soft);line-height:1.45}.cv-ap-error-text{max-height:220px;overflow:auto}.cv-ap-error-actions{flex-wrap:wrap;gap:8px;margin-top:4px;display:flex}.cv-ap-runtime{z-index:2;border:1px solid var(--warn-line);border-radius:var(--radius);background:var(--surface-elevated);box-shadow:var(--elev-2);align-items:flex-start;gap:10px;padding:10px 12px;display:flex;position:absolute;bottom:12px;left:12px;right:12px}.cv-ap-runtime-icon{color:var(--warn);flex:none;margin-top:3px}.cv-ap-runtime-main{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.cv-ap-runtime-title{font:600 var(--text-sm)/1.35 var(--sans);color:var(--ink)}.cv-ap-runtime-text{max-height:96px;color:var(--ink-soft);font:12px/1.5 var(--mono);white-space:pre-wrap;overflow-wrap:anywhere;margin:0;overflow:auto}.cv-ap-runtime-actions{flex:none;gap:2px;display:flex}.cv-doc-loading{text-align:center;gap:12px}.cv-doc-slow{max-width:420px;font-size:var(--text-sm);color:var(--muted)}.doc-preview .doc-preview-table-wrap{max-width:100%;overflow-x:auto}@media (prefers-reduced-motion:reduce){.cv-dots i,.cv-logo-live,.cv-ap,.cv-ap-scrim,.composer .cv-tb.is-listening.ant-btn{animation:none}.composer,.msg-meta,.cv-thinking-chev,.cv-source,.cv-artifact,.cv-artifact-open,button.cv-att-chip{transition:none}}@media print{:root[data-theme=dark] .print-msg{--bg-base:#fff;--bg-secondary:#f6f8f5;--surface-elevated:#fff;--surface-sunken:#f3f6f1;--panel:#fff;--panel-2:#f9faf8;--hover:#16211a0d;--raised:#16211a14;--line:#e6eae4;--line-strong:#d6dcd3;--separator:#e6eae4;--ink:#16211a;--ink-soft:#3d4741;--muted:#5b6560;--faint:#8a938c;--fill-tertiary:#16211a0f;--fill-quaternary:#16211a0a;--accent-text:#046b37;--accent-soft:#edf5e1;--accent-soft-hover:#e3efcf;--accent-line:#05874552;--user-bubble:#edf5e1;--user-bubble-ink:#16211a;--success:#1f7a3e;--success-soft:#1f7a3e1a;--error:#c4322b;--error-soft:#c4322b1a;--error-line:#c4322b66;--warn:#8a5a12;--warn-soft:#b5791f1f;--warn-line:#b5791f66;--code-bg:#f6f8f5;--code-surface:#eef2ec;--code-border:#dde3da;--code-ink:#1f2328;--code-muted:#57606a;--code-out-bg:#f1f4ef;--code-comment:#6e7781;--code-kw:#cf222e;--code-str:#0a3069;--code-num:#0550ae;--code-fn:#8250df;--code-cls:#953800;--code-tag:#116329;--code-var:#953800;--code-err:#cf222e}.cv-ap,.cv-ap-scrim,.cv-streaming{display:none!important}.cv-msg--user .cv-atts{align-items:flex-start!important}.cv-msg--user .cv-atts-row{justify-content:flex-start!important}.cv-msg{color:#111!important}.cv-msg--user{align-items:stretch!important}.cv-msg--user:before{content:"You";color:#444;font:600 11px/1.2 var(--sans);letter-spacing:.06em;text-transform:uppercase;margin-bottom:2px;display:block}.cv-bubble{color:#111!important;background:0 0!important;border-radius:0!important;max-width:none!important;padding:0!important}.cv-msg-head{color:#444!important}.cv-logo-live{animation:none!important}.cv-error{color:#111!important;background:0 0!important}.cv-todos,.cv-source,.cv-att-chip{background:#fff!important;border-color:#ddd!important}.cv-todo,.cv-source-label,.cv-att-name{color:#111!important}}
