[data-v-d21ede5c]:root{--bg-primary:#fafafa;--bg-secondary:#f0f0f0;--bg-sidebar:#f5f5f5;--bg-card:#fff;--bg-card-hover:#fafafa;--bg-input:#fff;--border-color:#e0e0e0;--border-light:#ebebeb;--accent-primary:#333;--accent-hover:#1a1a1a;--accent-muted:#888;--text-primary:#1a1a1a;--text-secondary:#666;--text-muted:#999;--success:#2e7d32;--error:#c62828;--warning:#f57f17;--msg-user-bg:#f5f5f5;--msg-assistant-bg:#f5f5f5;--msg-system-border:#bdbdbd;--code-bg:#f4f4f4;--text-on-accent:#fff;--text-on-overlay:#fff;--accent-info:#4a90d9;--accent-primary-rgb:51, 51, 51;--accent-hover-rgb:26, 26, 26;--text-primary-rgb:26, 26, 26;--text-muted-rgb:153, 153, 153;--success-rgb:46, 125, 50;--error-rgb:198, 40, 40;--warning-rgb:245, 127, 23;--accent-info-rgb:74, 144, 217}.dark[data-v-d21ede5c]{--bg-primary:#1a1a1a;--bg-secondary:#252525;--bg-sidebar:#202020;--bg-card:#333;--bg-card-hover:#333;--bg-input:#2a2a2a;--border-color:#3a3a3a;--border-light:#333;--accent-primary:#e0e0e0;--accent-hover:#f5f5f5;--accent-muted:#888;--text-primary:#f0f0f0;--text-secondary:silver;--text-muted:#888;--success:#66bb6a;--error:#ef5350;--warning:#ffb74d;--msg-user-bg:#252525;--msg-assistant-bg:#252525;--msg-system-border:#555;--code-bg:#1e1e1e;--text-on-accent:#1a1a1a;--text-on-overlay:#fff;--accent-info:#6ba3d6;--accent-primary-rgb:240, 240, 240;--accent-hover-rgb:245, 245, 245;--text-primary-rgb:240, 240, 240;--text-muted-rgb:136, 136, 136;--success-rgb:102, 187, 106;--error-rgb:239, 83, 80;--warning-rgb:255, 183, 77;--accent-info-rgb:107, 163, 214}.comic[data-v-d21ede5c]{--border-color:#1a1a1a;--border-light:#555;--msg-system-border:#1a1a1a;--font-ui:"Comic Neue", "ZCOOL KuaiLe", "Zen Maru Gothic", "Gaegu", cursive, sans-serif;--comic-border-width:2.5px;--comic-shadow:3px 3px 0px #00000026}.dark.comic[data-v-d21ede5c]{--border-color:#666;--border-light:#555;--msg-system-border:#888;--comic-shadow:3px 3px 0px #ffffff14}.model-selector[data-v-d21ede5c]{margin-bottom:8px;padding:0 12px}.model-label-row[data-v-d21ede5c]{justify-content:space-between;align-items:center;margin-bottom:6px;display:flex}.model-label[data-v-d21ede5c]{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;font-size:11px;font-weight:600}.model-refresh[data-v-d21ede5c]{width:20px;height:20px;color:var(--text-muted);cursor:pointer;background:0 0;border:0;border-radius:6px;justify-content:center;align-items:center;padding:0;transition:color .15s,background-color .15s;display:flex}.model-refresh[data-v-d21ede5c]:hover:not(:disabled){background:var(--bg-secondary);color:var(--text-primary)}.model-refresh[data-v-d21ede5c]:disabled{cursor:default;opacity:.7}.model-refresh svg.spinning[data-v-d21ede5c]{animation:.8s linear infinite model-refresh-spin-d21ede5c}@keyframes model-refresh-spin-d21ede5c{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.model-trigger[data-v-d21ede5c]{background:var(--bg-input);border:1px solid var(--border-color);width:100%;color:var(--text-primary);cursor:pointer;border-radius:6px;align-items:center;gap:6px;padding:6px 8px;font-size:13px;transition:border-color .15s;display:flex}.model-trigger[data-v-d21ede5c]:hover{border-color:var(--accent-muted)}.model-name[data-v-d21ede5c]{text-overflow:ellipsis;white-space:nowrap;text-align:left;flex:1;overflow:hidden}.model-arrow[data-v-d21ede5c]{color:var(--text-muted);flex-shrink:0}.model-search[data-v-d21ede5c]{margin-bottom:12px}.model-list[data-v-d21ede5c]{scrollbar-width:thin;max-height:50vh;overflow-y:auto}.model-group[data-v-d21ede5c]{margin-bottom:4px}.model-group-header[data-v-d21ede5c]{color:var(--text-secondary);cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:6px;align-items:center;gap:6px;padding:8px;font-size:12px;font-weight:600;transition:background-color .15s;display:flex}.model-group-header[data-v-d21ede5c]:hover{background-color:var(--bg-secondary)}.model-group-arrow[data-v-d21ede5c]{flex-shrink:0;transition:transform .15s}.model-group-arrow.collapsed[data-v-d21ede5c]{transform:rotate(-90deg)}.model-group-label[data-v-d21ede5c]{flex:1}.model-group-count[data-v-d21ede5c]{color:var(--text-muted);font-size:11px;font-weight:400}.model-group-items[data-v-d21ede5c]{padding-left:8px}.model-item[data-v-d21ede5c]{color:var(--text-secondary);cursor:pointer;border-radius:6px;align-items:center;gap:8px;padding:7px 10px;font-size:13px;transition:all .15s;display:flex}.model-item[data-v-d21ede5c]:hover{background-color:rgba(var(--accent-primary-rgb), .06);color:var(--text-primary)}.model-item.active[data-v-d21ede5c]{color:var(--accent-primary);font-weight:500}.model-item.disabled[data-v-d21ede5c]{opacity:.45;cursor:not-allowed}.model-item.disabled[data-v-d21ede5c]:hover{color:var(--text-secondary);background-color:#0000}.model-item-label[data-v-d21ede5c]{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.model-item-name[data-v-d21ede5c]{text-overflow:ellipsis;white-space:nowrap;font-family:JetBrains Mono,Fira Code,Consolas,monospace;font-size:12px;overflow:hidden}.model-item-id[data-v-d21ede5c]{text-overflow:ellipsis;white-space:nowrap;color:var(--text-muted);font-family:JetBrains Mono,Fira Code,Consolas,monospace;font-size:10px;font-weight:400;overflow:hidden}.model-check[data-v-d21ede5c]{color:var(--accent-primary);flex-shrink:0}.model-badge-custom[data-v-d21ede5c]{color:#fff;background:var(--accent-primary);letter-spacing:.03em;border-radius:3px;flex-shrink:0;margin-right:4px;padding:1px 5px;font-size:9px;font-weight:600}.model-custom-remove[data-v-d21ede5c]{width:18px;height:18px;color:var(--text-muted);cursor:pointer;background:0 0;border:0;border-radius:50%;flex-shrink:0;padding:0;line-height:18px}.model-custom-remove[data-v-d21ede5c]:hover{background:rgba(var(--error-rgb), .12);color:var(--error)}.model-badge-preview[data-v-d21ede5c]{color:#fff;letter-spacing:.03em;background:#d97706;border-radius:3px;flex-shrink:0;margin-right:4px;padding:1px 5px;font-size:9px;font-weight:600}.model-badge-disabled[data-v-d21ede5c]{color:var(--text-muted);border:1px solid var(--border-color);letter-spacing:.03em;background:0 0;border-radius:3px;flex-shrink:0;margin-right:4px;padding:0 5px;font-size:9px;font-weight:600}.model-empty[data-v-d21ede5c]{text-align:center;color:var(--text-muted);padding:24px 0;font-size:13px}.model-custom[data-v-d21ede5c]{border-top:1px solid var(--border-color);margin-top:12px;padding-top:12px}.model-custom-row[data-v-d21ede5c]{gap:8px;display:flex}.model-custom-provider[data-v-d21ede5c]{flex-shrink:0;width:160px}.model-custom-input[data-v-d21ede5c]{flex:1}.model-custom-hint[data-v-d21ede5c]{color:var(--text-muted);margin-top:6px;font-size:11px}.profile-avatar-view[data-v-6a9a551b]{background:var(--bg-secondary);border-radius:50%;flex:none;display:inline-flex;overflow:hidden}.profile-avatar-image[data-v-6a9a551b],.profile-avatar-svg[data-v-6a9a551b],.profile-avatar-svg[data-v-6a9a551b] svg{width:100%;height:100%;display:block}.profile-avatar-image[data-v-6a9a551b]{object-fit:cover}[data-v-800ef502]:root{--bg-primary:#fafafa;--bg-secondary:#f0f0f0;--bg-sidebar:#f5f5f5;--bg-card:#fff;--bg-card-hover:#fafafa;--bg-input:#fff;--border-color:#e0e0e0;--border-light:#ebebeb;--accent-primary:#333;--accent-hover:#1a1a1a;--accent-muted:#888;--text-primary:#1a1a1a;--text-secondary:#666;--text-muted:#999;--success:#2e7d32;--error:#c62828;--warning:#f57f17;--msg-user-bg:#f5f5f5;--msg-assistant-bg:#f5f5f5;--msg-system-border:#bdbdbd;--code-bg:#f4f4f4;--text-on-accent:#fff;--text-on-overlay:#fff;--accent-info:#4a90d9;--accent-primary-rgb:51, 51, 51;--accent-hover-rgb:26, 26, 26;--text-primary-rgb:26, 26, 26;--text-muted-rgb:153, 153, 153;--success-rgb:46, 125, 50;--error-rgb:198, 40, 40;--warning-rgb:245, 127, 23;--accent-info-rgb:74, 144, 217}.dark[data-v-800ef502]{--bg-primary:#1a1a1a;--bg-secondary:#252525;--bg-sidebar:#202020;--bg-card:#333;--bg-card-hover:#333;--bg-input:#2a2a2a;--border-color:#3a3a3a;--border-light:#333;--accent-primary:#e0e0e0;--accent-hover:#f5f5f5;--accent-muted:#888;--text-primary:#f0f0f0;--text-secondary:silver;--text-muted:#888;--success:#66bb6a;--error:#ef5350;--warning:#ffb74d;--msg-user-bg:#252525;--msg-assistant-bg:#252525;--msg-system-border:#555;--code-bg:#1e1e1e;--text-on-accent:#1a1a1a;--text-on-overlay:#fff;--accent-info:#6ba3d6;--accent-primary-rgb:240, 240, 240;--accent-hover-rgb:245, 245, 245;--text-primary-rgb:240, 240, 240;--text-muted-rgb:136, 136, 136;--success-rgb:102, 187, 106;--error-rgb:239, 83, 80;--warning-rgb:255, 183, 77;--accent-info-rgb:107, 163, 214}.comic[data-v-800ef502]{--border-color:#1a1a1a;--border-light:#555;--msg-system-border:#1a1a1a;--font-ui:"Comic Neue", "ZCOOL KuaiLe", "Zen Maru Gothic", "Gaegu", cursive, sans-serif;--comic-border-width:2.5px;--comic-shadow:3px 3px 0px #00000026}.dark.comic[data-v-800ef502]{--border-color:#666;--border-light:#555;--msg-system-border:#888;--comic-shadow:3px 3px 0px #ffffff14}.profile-selector[data-v-800ef502]{margin-bottom:8px;padding:0 12px}.selector-label[data-v-800ef502]{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px;font-size:11px;font-weight:600}.profile-display[data-v-800ef502]{background:var(--bg-secondary);border:1px solid var(--border-color);cursor:pointer;border-radius:8px;align-items:center;gap:8px;min-width:0;height:34px;padding:4px 6px;display:flex}.profile-avatar[data-v-800ef502]{background:var(--bg-card)}.profile-name[data-v-800ef502]{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--text-primary);font-size:13px;font-weight:600;overflow:hidden}.profile-popover[data-v-800ef502]{flex-direction:column;gap:12px;display:flex}.profile-popover-header[data-v-800ef502]{align-items:center;gap:10px;min-width:0;display:flex}.profile-popover-avatar[data-v-800ef502]{background:var(--bg-secondary);border-radius:50%;flex:none;width:36px;height:36px;overflow:hidden}.profile-popover-avatar[data-v-800ef502] svg{width:100%;height:100%;display:block}.profile-popover-title[data-v-800ef502]{flex-direction:column;gap:2px;min-width:0;display:flex}.profile-popover-name[data-v-800ef502]{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--text-primary);font-size:14px;font-weight:700;overflow:hidden}.profile-popover-subtitle[data-v-800ef502],.runtime-label[data-v-800ef502],.runtime-detail[data-v-800ef502]{color:var(--text-muted);font-size:12px}.runtime-list[data-v-800ef502]{flex-direction:column;gap:8px;min-height:62px;display:flex}.profile-runtime-list[data-v-800ef502]{flex-direction:column;gap:8px;min-height:96px;max-height:420px;display:flex;overflow-y:auto}.profile-runtime-item[data-v-800ef502]{border:1px solid var(--border-color);background:var(--bg-card);border-radius:8px;flex-direction:column;gap:8px;padding:10px;display:flex}.profile-runtime-item.active[data-v-800ef502]{border-color:var(--accent-muted);background:var(--bg-card-hover)}.profile-runtime-main[data-v-800ef502]{gap:10px;min-width:0;display:flex}.profile-runtime-avatar[data-v-800ef502]{background:var(--bg-secondary)}.profile-runtime-info[data-v-800ef502]{flex-direction:column;flex:1;gap:5px;min-width:0;display:flex}.profile-runtime-name-row[data-v-800ef502]{align-items:center;gap:6px;min-width:0;display:flex}.profile-runtime-name[data-v-800ef502]{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--text-primary);font-size:13px;font-weight:700;overflow:hidden}.active-badge[data-v-800ef502]{background:color-mix(in srgb, var(--success) 16%, transparent);color:var(--success);border-radius:999px;flex:none;padding:1px 5px;font-size:10px;font-weight:700}.profile-runtime-actions[data-v-800ef502]{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}.profile-runtime-actions[data-v-800ef502] .n-button{min-width:88px}.runtime-row[data-v-800ef502]{justify-content:space-between;align-items:center;gap:12px;display:flex}.runtime-row.compact[data-v-800ef502]{gap:8px}.runtime-value[data-v-800ef502]{color:var(--text-secondary);align-items:center;gap:6px;font-size:12px;font-weight:600;display:inline-flex}.runtime-value.running[data-v-800ef502]{color:var(--success)}.runtime-value.running .runtime-dot[data-v-800ef502]{background:var(--success)}.runtime-dot[data-v-800ef502]{background:var(--text-muted);border-radius:50%;width:7px;height:7px}.runtime-detail[data-v-800ef502]{word-break:break-word;line-height:1.4}.avatar-editor[data-v-800ef502]{flex-direction:column;align-items:center;gap:14px;display:flex}.avatar-editor-meta[data-v-800ef502]{flex-direction:column;align-items:center;gap:4px;min-width:0;display:flex}.avatar-editor-name[data-v-800ef502]{text-overflow:ellipsis;white-space:nowrap;max-width:100%;color:var(--text-primary);font-size:15px;font-weight:700;overflow:hidden}.avatar-editor-hint[data-v-800ef502]{color:var(--text-muted);text-align:center;font-size:12px}.avatar-file-input[data-v-800ef502]{display:none}.avatar-editor-actions[data-v-800ef502]{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}@media (max-width:520px){.profile-runtime-actions[data-v-800ef502]{justify-content:flex-start;gap:5px}.profile-runtime-actions[data-v-800ef502] .n-button{min-width:0;--n-height:26px!important;--n-font-size:12px!important;--n-padding:0 8px!important}.avatar-editor-actions[data-v-800ef502]{gap:6px}.avatar-editor-actions[data-v-800ef502] .n-button{--n-height:28px!important;--n-font-size:12px!important;--n-padding:0 9px!important}}.theme-switch[data-v-4c30f4bd]{cursor:pointer;width:28px;height:28px;color:var(--text-muted);background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;transition:color .15s,background-color .15s;display:flex}.theme-switch[data-v-4c30f4bd]:hover{color:var(--text-primary);background:rgba(var(--accent-primary-rgb), .06)}.version-management[data-v-5c70f9fa]{flex-direction:column;gap:16px;display:flex}.version-section[data-v-5c70f9fa]{flex-direction:column;gap:10px;display:flex}.section-heading[data-v-5c70f9fa]{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.section-heading h3[data-v-5c70f9fa]{margin:0;font-size:15px;font-weight:600}.section-heading p[data-v-5c70f9fa]{color:var(--text-color-3);margin:4px 0 0;font-size:12px}.section-heading.compact[data-v-5c70f9fa]{align-items:center}.active-path[data-v-5c70f9fa]{border:1px solid var(--border-color);color:var(--text-color-2);border-radius:6px;grid-template-columns:minmax(130px,auto) minmax(0,1fr);gap:12px;padding:8px 10px;font-size:12px;display:grid}.active-path span[data-v-5c70f9fa]{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.version-list[data-v-5c70f9fa],.job-list[data-v-5c70f9fa]{border:1px solid var(--border-color);border-radius:6px;flex-direction:column;display:flex;overflow:hidden}.version-row[data-v-5c70f9fa],.job-row[data-v-5c70f9fa]{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;gap:12px;min-height:44px;padding:8px 10px;display:flex}.version-row[data-v-5c70f9fa]:last-child,.job-row[data-v-5c70f9fa]:last-child{border-bottom:0}.version-main[data-v-5c70f9fa],.job-main[data-v-5c70f9fa]{align-items:center;gap:8px;min-width:0;display:flex}.job-main[data-v-5c70f9fa]{flex-direction:column;flex:auto;align-items:flex-start;gap:2px}.job-main small[data-v-5c70f9fa]{color:var(--text-color-3);word-break:break-word}.job-main>small[data-v-5c70f9fa]{color:var(--error-color)}.job-progress[data-v-5c70f9fa]{grid-template-columns:minmax(120px,1fr) auto;align-items:center;gap:8px;width:100%;display:grid}.version-actions[data-v-5c70f9fa]{flex-shrink:0;justify-content:flex-end;align-items:center;gap:8px;display:flex}.empty-row[data-v-5c70f9fa]{color:var(--text-color-3);text-align:center;padding:14px 10px;font-size:13px}@media (max-width:640px){.section-heading[data-v-5c70f9fa],.version-row[data-v-5c70f9fa],.job-row[data-v-5c70f9fa]{flex-direction:column;align-items:stretch}.active-path[data-v-5c70f9fa]{grid-template-columns:1fr;gap:4px}.version-actions[data-v-5c70f9fa]{justify-content:flex-start}}[data-v-3d42b32c]:root{--bg-primary:#fafafa;--bg-secondary:#f0f0f0;--bg-sidebar:#f5f5f5;--bg-card:#fff;--bg-card-hover:#fafafa;--bg-input:#fff;--border-color:#e0e0e0;--border-light:#ebebeb;--accent-primary:#333;--accent-hover:#1a1a1a;--accent-muted:#888;--text-primary:#1a1a1a;--text-secondary:#666;--text-muted:#999;--success:#2e7d32;--error:#c62828;--warning:#f57f17;--msg-user-bg:#f5f5f5;--msg-assistant-bg:#f5f5f5;--msg-system-border:#bdbdbd;--code-bg:#f4f4f4;--text-on-accent:#fff;--text-on-overlay:#fff;--accent-info:#4a90d9;--accent-primary-rgb:51, 51, 51;--accent-hover-rgb:26, 26, 26;--text-primary-rgb:26, 26, 26;--text-muted-rgb:153, 153, 153;--success-rgb:46, 125, 50;--error-rgb:198, 40, 40;--warning-rgb:245, 127, 23;--accent-info-rgb:74, 144, 217}.dark[data-v-3d42b32c]{--bg-primary:#1a1a1a;--bg-secondary:#252525;--bg-sidebar:#202020;--bg-card:#333;--bg-card-hover:#333;--bg-input:#2a2a2a;--border-color:#3a3a3a;--border-light:#333;--accent-primary:#e0e0e0;--accent-hover:#f5f5f5;--accent-muted:#888;--text-primary:#f0f0f0;--text-secondary:silver;--text-muted:#888;--success:#66bb6a;--error:#ef5350;--warning:#ffb74d;--msg-user-bg:#252525;--msg-assistant-bg:#252525;--msg-system-border:#555;--code-bg:#1e1e1e;--text-on-accent:#1a1a1a;--text-on-overlay:#fff;--accent-info:#6ba3d6;--accent-primary-rgb:240, 240, 240;--accent-hover-rgb:245, 245, 245;--text-primary-rgb:240, 240, 240;--text-muted-rgb:136, 136, 136;--success-rgb:102, 187, 106;--error-rgb:239, 83, 80;--warning-rgb:255, 183, 77;--accent-info-rgb:107, 163, 214}.comic[data-v-3d42b32c]{--border-color:#1a1a1a;--border-light:#555;--msg-system-border:#1a1a1a;--font-ui:"Comic Neue", "ZCOOL KuaiLe", "Zen Maru Gothic", "Gaegu", cursive, sans-serif;--comic-border-width:2.5px;--comic-shadow:3px 3px 0px #00000026}.dark.comic[data-v-3d42b32c]{--border-color:#666;--border-light:#555;--msg-system-border:#888;--comic-shadow:3px 3px 0px #ffffff14}.sidebar[data-v-3d42b32c]{width:240px;height:calc(100 * var(--vh));background-color:var(--bg-sidebar);border-right:1px solid var(--border-color);flex-direction:column;flex-shrink:0;padding:8px 12px 20px;transition:width .25s;display:flex;position:relative}.sidebar-nav[data-v-3d42b32c]{scrollbar-width:none;flex-direction:column;flex:1;gap:6px;min-height:0;padding-top:8px;display:flex;overflow-y:auto}.sidebar-nav[data-v-3d42b32c]::-webkit-scrollbar{display:none}.nav-group[data-v-3d42b32c]{flex-direction:column;gap:2px;display:flex}.nav-group.nav-group-bottom[data-v-3d42b32c]{border-top:1px solid var(--border-color);margin-top:auto;padding-top:8px}.nav-group-items[data-v-3d42b32c]{flex-direction:column;gap:2px;display:flex}.nav-group-label[data-v-3d42b32c]{color:var(--text-muted);text-transform:uppercase;letter-spacing:.8px;cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:6px;justify-content:space-between;align-items:center;padding:8px 12px 4px;font-size:10px;font-weight:600;transition:color .15s;display:flex}.nav-group-label[data-v-3d42b32c]:hover{color:var(--text-secondary)}.nav-group:first-child .nav-group-label[data-v-3d42b32c]{padding-top:0}.nav-group-arrow[data-v-3d42b32c]{flex-shrink:0;transition:transform .15s}.nav-group-arrow.collapsed[data-v-3d42b32c]{transform:rotate(-90deg)}.nav-item[data-v-3d42b32c]{-webkit-appearance:none;appearance:none;color:var(--text-secondary);cursor:pointer;text-align:left;background:0 0;border:none;border-radius:6px;align-items:center;gap:10px;width:100%;padding:12px;font-size:14px;text-decoration:none;transition:all .15s;display:flex}.nav-item[data-v-3d42b32c]:hover{background-color:rgba(var(--accent-primary-rgb), .06);color:var(--text-primary)}.nav-item.active[data-v-3d42b32c]{background-color:rgba(var(--accent-primary-rgb), .12);color:var(--accent-primary)}.nav-item .beta-tag[data-v-3d42b32c]{color:var(--text-muted);margin-left:2px;font-size:10px}.sidebar-top-actions[data-v-3d42b32c]{border-top:1px solid var(--border-color);align-items:center;gap:6px;margin-top:8px;padding-top:8px;display:flex}.sidebar-return-tab[data-v-3d42b32c]{flex:1;min-width:0;padding:8px 10px;font-size:13px}.sidebar-footer[data-v-3d42b32c]{border-top:1px solid var(--border-color);flex-direction:column;gap:4px;padding-top:10px;display:flex}.logout-item[data-v-3d42b32c]{color:var(--text-secondary)}.logout-item[data-v-3d42b32c]:hover{color:var(--error)}.logout-item>span[data-v-3d42b32c]:not(.logout-username){text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.logout-username[data-v-3d42b32c]{max-width:96px;color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;margin-left:auto;font-size:12px;overflow:hidden}.status-row[data-v-3d42b32c]{justify-content:space-between;align-items:center;gap:8px;padding:2px 0 4px;display:flex}.status-indicator[data-v-3d42b32c]{min-width:0;color:var(--text-secondary);align-items:center;gap:8px;padding-left:12px;font-size:12px;display:flex}.status-indicator.connected .status-dot[data-v-3d42b32c]{background-color:var(--success);box-shadow:0 0 6px rgba(var(--success-rgb), .5)}.status-indicator.disconnected .status-dot[data-v-3d42b32c]{background-color:var(--error)}.status-dot[data-v-3d42b32c]{border-radius:50%;flex-shrink:0;width:8px;height:8px}.status-text[data-v-3d42b32c]{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.version-info[data-v-3d42b32c]{color:var(--text-muted);justify-content:space-between;align-items:center;gap:6px;padding:2px 0 8px 12px;font-size:11px;display:flex;overflow:hidden}.version-links[data-v-3d42b32c]{flex-shrink:0;align-items:center;gap:6px;display:flex}.sidebar-footer-link[data-v-3d42b32c]{color:var(--text-muted);align-items:center;transition:color .15s;display:flex}.sidebar-footer-link[data-v-3d42b32c]:hover{color:var(--text-primary)}.version-text[data-v-3d42b32c]{white-space:nowrap;cursor:pointer;flex:none;transition:color .15s;overflow:visible}.version-text[data-v-3d42b32c]:hover{color:var(--accent-primary)}.version-info[data-v-3d42b32c] .theme-switch-container{flex-shrink:0}.update-btn[data-v-3d42b32c]{border-radius:6px;margin:4px 0 0}.changelog-list[data-v-3d42b32c]{max-height:min(70vh,640px);overflow-y:auto}.changelog-version-block[data-v-3d42b32c]{margin-bottom:20px}.changelog-version-block[data-v-3d42b32c]:last-child{margin-bottom:0}.changelog-version-header[data-v-3d42b32c]{align-items:center;gap:10px;margin-bottom:8px;display:flex}.changelog-version-tag[data-v-3d42b32c]{color:var(--text-primary);font-family:JetBrains Mono,Fira Code,Consolas,monospace;font-size:14px;font-weight:600}.changelog-date[data-v-3d42b32c]{color:var(--text-muted);font-size:12px}.changelog-changes[data-v-3d42b32c]{margin:0;padding:0;list-style:none}.changelog-changes li[data-v-3d42b32c]{color:var(--text-secondary);padding:4px 0 4px 16px;font-size:13px;position:relative}.changelog-changes li[data-v-3d42b32c]:before{content:"";background:var(--text-muted);border-radius:50%;width:6px;height:6px;position:absolute;top:12px;left:0}.sidebar.collapsed[data-v-3d42b32c]{width:64px;padding:8px 8px 12px;overflow:hidden}.sidebar.collapsed .collapse-btn[data-v-3d42b32c]{margin:0;display:flex}.sidebar.collapsed .sidebar-top-actions[data-v-3d42b32c]{flex-direction:column;gap:6px;margin-top:8px;padding-top:8px}.sidebar.collapsed .sidebar-return-tab[data-v-3d42b32c]{flex:none;width:100%;padding:10px 4px}.sidebar.collapsed .nav-group-label[data-v-3d42b32c]{letter-spacing:0;justify-content:center;gap:2px;padding:8px 0 4px}.sidebar.collapsed .nav-group-label span[data-v-3d42b32c]{text-align:center;text-overflow:ellipsis;white-space:nowrap;max-width:36px;overflow:hidden}.sidebar.collapsed .nav-item[data-v-3d42b32c]{justify-content:center;gap:0;padding:10px 4px}.sidebar.collapsed .nav-item span[data-v-3d42b32c]{display:none}.sidebar.collapsed .nav-item svg[data-v-3d42b32c]{flex-shrink:0}.sidebar.collapsed[data-v-3d42b32c] .model-selector{display:none}.sidebar.collapsed[data-v-3d42b32c] .profile-selector{justify-content:center;padding:8px 0;display:flex}.sidebar.collapsed[data-v-3d42b32c] .profile-selector .selector-label,.sidebar.collapsed[data-v-3d42b32c] .profile-selector .profile-name{display:none}.sidebar.collapsed[data-v-3d42b32c] .profile-selector .profile-display{justify-content:center;width:40px;padding:4px}.sidebar.collapsed .sidebar-footer[data-v-3d42b32c]{align-items:center;gap:6px;padding-top:8px}.sidebar.collapsed .status-row[data-v-3d42b32c],.sidebar.collapsed .version-info[data-v-3d42b32c],.sidebar.collapsed .update-btn[data-v-3d42b32c]{display:none}.collapse-btn[data-v-3d42b32c]{-webkit-appearance:none;appearance:none;width:28px;height:28px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;margin:0;text-decoration:none;transition:all .15s;display:flex}.collapse-btn[data-v-3d42b32c]:hover{color:var(--text-primary);background-color:rgba(var(--accent-primary-rgb), .08)}@media (max-width:768px){.sidebar[data-v-3d42b32c]{z-index:1000;padding-top:env(safe-area-inset-top,0px);transition:transform .25s;position:fixed;top:0;left:0;transform:translate(-100%)}.sidebar.open[data-v-3d42b32c]{transform:translate(0)}.sidebar .collapse-btn[data-v-3d42b32c]{display:flex}.sidebar .input-sm[data-v-3d42b32c]{width:90px}}[data-v-5d923641]:root{--bg-primary:#fafafa;--bg-secondary:#f0f0f0;--bg-sidebar:#f5f5f5;--bg-card:#fff;--bg-card-hover:#fafafa;--bg-input:#fff;--border-color:#e0e0e0;--border-light:#ebebeb;--accent-primary:#333;--accent-hover:#1a1a1a;--accent-muted:#888;--text-primary:#1a1a1a;--text-secondary:#666;--text-muted:#999;--success:#2e7d32;--error:#c62828;--warning:#f57f17;--msg-user-bg:#f5f5f5;--msg-assistant-bg:#f5f5f5;--msg-system-border:#bdbdbd;--code-bg:#f4f4f4;--text-on-accent:#fff;--text-on-overlay:#fff;--accent-info:#4a90d9;--accent-primary-rgb:51, 51, 51;--accent-hover-rgb:26, 26, 26;--text-primary-rgb:26, 26, 26;--text-muted-rgb:153, 153, 153;--success-rgb:46, 125, 50;--error-rgb:198, 40, 40;--warning-rgb:245, 127, 23;--accent-info-rgb:74, 144, 217}.dark[data-v-5d923641]{--bg-primary:#1a1a1a;--bg-secondary:#252525;--bg-sidebar:#202020;--bg-card:#333;--bg-card-hover:#333;--bg-input:#2a2a2a;--border-color:#3a3a3a;--border-light:#333;--accent-primary:#e0e0e0;--accent-hover:#f5f5f5;--accent-muted:#888;--text-primary:#f0f0f0;--text-secondary:silver;--text-muted:#888;--success:#66bb6a;--error:#ef5350;--warning:#ffb74d;--msg-user-bg:#252525;--msg-assistant-bg:#252525;--msg-system-border:#555;--code-bg:#1e1e1e;--text-on-accent:#1a1a1a;--text-on-overlay:#fff;--accent-info:#6ba3d6;--accent-primary-rgb:240, 240, 240;--accent-hover-rgb:245, 245, 245;--text-primary-rgb:240, 240, 240;--text-muted-rgb:136, 136, 136;--success-rgb:102, 187, 106;--error-rgb:239, 83, 80;--warning-rgb:255, 183, 77;--accent-info-rgb:107, 163, 214}.comic[data-v-5d923641]{--border-color:#1a1a1a;--border-light:#555;--msg-system-border:#1a1a1a;--font-ui:"Comic Neue", "ZCOOL KuaiLe", "Zen Maru Gothic", "Gaegu", cursive, sans-serif;--comic-border-width:2.5px;--comic-shadow:3px 3px 0px #00000026}.dark.comic[data-v-5d923641]{--border-color:#666;--border-light:#555;--msg-system-border:#888;--comic-shadow:3px 3px 0px #ffffff14}.desktop-titlebar[data-v-5d923641]{border-bottom:1px solid var(--border-color);background:var(--bg-sidebar);height:36px;color:var(--text-primary);-webkit-user-select:none;user-select:none;-webkit-app-region:drag;flex:0 0 36px;align-items:center;display:flex}.desktop-titlebar.mac[data-v-5d923641]{padding-left:82px}.desktop-titlebar__drag[data-v-5d923641]{flex:1;align-items:center;min-width:0;height:100%;display:flex}.desktop-titlebar__brand[data-v-5d923641]{align-items:center;gap:8px;min-width:0;padding:0 12px;display:inline-flex}.desktop-titlebar__logo[data-v-5d923641]{object-fit:contain;flex:0 0 18px;width:18px;height:18px}.desktop-titlebar__title[data-v-5d923641]{text-overflow:ellipsis;white-space:nowrap;letter-spacing:0;min-width:0;font-size:12px;font-weight:600;overflow:hidden}.desktop-titlebar__controls[data-v-5d923641]{-webkit-app-region:no-drag;align-items:stretch;height:100%;display:flex}.desktop-window-btn[data-v-5d923641]{width:46px;height:100%;color:var(--text-secondary);cursor:default;background:0 0;border:0;border-radius:0;place-items:center;padding:0;display:grid}.desktop-window-btn svg[data-v-5d923641]{fill:none;stroke:currentColor;stroke-width:1.4px;stroke-linecap:round;stroke-linejoin:round;width:12px;height:12px}.desktop-window-btn[data-v-5d923641]:hover{color:var(--text-primary);background:rgba(var(--text-muted-rgb), .14)}.desktop-window-btn.close[data-v-5d923641]:hover{color:#fff;background:#c42b1c}[data-v-0a1e0642]:root{--bg-primary:#fafafa;--bg-secondary:#f0f0f0;--bg-sidebar:#f5f5f5;--bg-card:#fff;--bg-card-hover:#fafafa;--bg-input:#fff;--border-color:#e0e0e0;--border-light:#ebebeb;--accent-primary:#333;--accent-hover:#1a1a1a;--accent-muted:#888;--text-primary:#1a1a1a;--text-secondary:#666;--text-muted:#999;--success:#2e7d32;--error:#c62828;--warning:#f57f17;--msg-user-bg:#f5f5f5;--msg-assistant-bg:#f5f5f5;--msg-system-border:#bdbdbd;--code-bg:#f4f4f4;--text-on-accent:#fff;--text-on-overlay:#fff;--accent-info:#4a90d9;--accent-primary-rgb:51, 51, 51;--accent-hover-rgb:26, 26, 26;--text-primary-rgb:26, 26, 26;--text-muted-rgb:153, 153, 153;--success-rgb:46, 125, 50;--error-rgb:198, 40, 40;--warning-rgb:245, 127, 23;--accent-info-rgb:74, 144, 217}.dark[data-v-0a1e0642]{--bg-primary:#1a1a1a;--bg-secondary:#252525;--bg-sidebar:#202020;--bg-card:#333;--bg-card-hover:#333;--bg-input:#2a2a2a;--border-color:#3a3a3a;--border-light:#333;--accent-primary:#e0e0e0;--accent-hover:#f5f5f5;--accent-muted:#888;--text-primary:#f0f0f0;--text-secondary:silver;--text-muted:#888;--success:#66bb6a;--error:#ef5350;--warning:#ffb74d;--msg-user-bg:#252525;--msg-assistant-bg:#252525;--msg-system-border:#555;--code-bg:#1e1e1e;--text-on-accent:#1a1a1a;--text-on-overlay:#fff;--accent-info:#6ba3d6;--accent-primary-rgb:240, 240, 240;--accent-hover-rgb:245, 245, 245;--text-primary-rgb:240, 240, 240;--text-muted-rgb:136, 136, 136;--success-rgb:102, 187, 106;--error-rgb:239, 83, 80;--warning-rgb:255, 183, 77;--accent-info-rgb:107, 163, 214}.comic[data-v-0a1e0642]{--border-color:#1a1a1a;--border-light:#555;--msg-system-border:#1a1a1a;--font-ui:"Comic Neue", "ZCOOL KuaiLe", "Zen Maru Gothic", "Gaegu", cursive, sans-serif;--comic-border-width:2.5px;--comic-shadow:3px 3px 0px #00000026}.dark.comic[data-v-0a1e0642]{--border-color:#666;--border-light:#555;--msg-system-border:#888;--comic-shadow:3px 3px 0px #ffffff14}.session-search-modal[data-v-0a1e0642]{flex-direction:column;gap:14px;display:flex}.search-header[data-v-0a1e0642]{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.search-title[data-v-0a1e0642]{color:var(--text-primary);font-size:14px;font-weight:600}.search-hint[data-v-0a1e0642]{color:var(--text-muted);font-size:12px}.search-scope[data-v-0a1e0642]{color:var(--text-muted);font-size:12px;line-height:1.5}.search-body[data-v-0a1e0642]{max-height:min(60vh,540px);overflow:hidden}.search-empty[data-v-0a1e0642]{text-align:center;color:var(--text-muted);padding:28px 0;font-size:13px}.result-list[data-v-0a1e0642]{flex-direction:column;gap:8px;max-height:min(60vh,540px);padding-right:2px;display:flex;overflow-y:auto}.result-item[data-v-0a1e0642]{border:1px solid var(--border-color);background:var(--bg-card);width:100%;color:var(--text-primary);text-align:left;cursor:pointer;border-radius:10px;justify-content:space-between;gap:16px;padding:12px 14px;transition:border-color .15s,background-color .15s,transform .15s;display:flex}.result-item[data-v-0a1e0642]:hover,.result-item.active[data-v-0a1e0642]{border-color:var(--accent-muted);background:rgba(var(--accent-primary-rgb), .04)}.result-main[data-v-0a1e0642]{flex:1;min-width:0}.result-title-row[data-v-0a1e0642]{align-items:center;gap:10px;display:flex}.result-title[data-v-0a1e0642]{white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:600;overflow:hidden}.result-source[data-v-0a1e0642]{color:var(--text-muted);flex-shrink:0;font-size:11px}.result-snippet[data-v-0a1e0642]{color:var(--text-secondary);text-overflow:ellipsis;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-top:4px;font-size:12px;line-height:1.5;display:-webkit-box;overflow:hidden}.result-meta[data-v-0a1e0642]{color:var(--text-muted);flex-direction:column;flex-shrink:0;align-items:flex-end;gap:4px;font-size:11px;display:flex}.result-match[data-v-0a1e0642]{font-family:JetBrains Mono,Fira Code,Consolas,monospace}.search-footer[data-v-0a1e0642]{color:var(--text-muted);justify-content:space-between;align-items:center;gap:12px;font-size:12px;display:flex}@media (max-width:768px){[data-v-0a1e0642] .n-modal-body-wrapper{width:calc(100vw - 24px)}.search-header[data-v-0a1e0642],.result-item[data-v-0a1e0642]{flex-direction:column;align-items:flex-start}.result-meta[data-v-0a1e0642]{flex-flow:wrap;align-items:flex-start}}.credential-warning-text[data-v-3a600c1f]{margin:0;line-height:1.6}.web-pet[data-v-1ae1f020]{z-index:1200;cursor:grab;-webkit-user-select:none;user-select:none;touch-action:none;filter:drop-shadow(0 10px 18px #0000003d);position:fixed}.web-pet.dragging[data-v-1ae1f020]{cursor:grabbing}.web-pet.resizing[data-v-1ae1f020]{cursor:nwse-resize}.web-pet.desktop-window[data-v-1ae1f020]{box-shadow:none;filter:none;background:0 0;border:0;outline:0}.web-pet-canvas[data-v-1ae1f020]{background:0 0;border:0;outline:0;width:100%;height:100%;display:block}.web-pet-close[data-v-1ae1f020],.web-pet-resize[data-v-1ae1f020]{cursor:nwse-resize;opacity:0;background:#ffffffbd;border:0;border-radius:8px;justify-content:center;align-items:center;width:22px;height:22px;padding:0;transition:opacity .14s,transform .14s;display:inline-flex;position:absolute;box-shadow:0 4px 14px #0000002e,inset 0 0 0 1px #00000014}.web-pet-close[data-v-1ae1f020]:hover,.web-pet-resize[data-v-1ae1f020]:hover{opacity:1;transform:translate(-1px,-1px)}.web-pet-close[data-v-1ae1f020]{color:#20242dcc;cursor:pointer;font-size:18px;font-weight:700;line-height:1;top:-2px;right:-2px}.web-pet-close[data-v-1ae1f020]:hover{transform:translate(-1px,1px)}.web-pet-resize[data-v-1ae1f020]{cursor:nwse-resize;bottom:-2px;right:-2px}.web-pet-resize img[data-v-1ae1f020]{opacity:.78;-webkit-user-select:none;user-select:none;pointer-events:none;width:14px;height:14px;display:block}.web-pet:hover .web-pet-close[data-v-1ae1f020],.web-pet:hover .web-pet-resize[data-v-1ae1f020],.web-pet.dragging .web-pet-close[data-v-1ae1f020],.web-pet.resizing .web-pet-resize[data-v-1ae1f020]{opacity:.92}.dark,.dark{background:#191c23c7;box-shadow:0 4px 14px #0000004d,inset 0 0 0 1px #ffffff1f}.dark{color:#f4f7fbd1}.web-pet.desktop-window .web-pet-close[data-v-1ae1f020],.web-pet.desktop-window .web-pet-resize[data-v-1ae1f020]{box-shadow:none;background:#ffffffc2;border:0;outline:0}.dark,.dark{background:#191c23c7}[data-v-b394e862]:root{--bg-primary:#fafafa;--bg-secondary:#f0f0f0;--bg-sidebar:#f5f5f5;--bg-card:#fff;--bg-card-hover:#fafafa;--bg-input:#fff;--border-color:#e0e0e0;--border-light:#ebebeb;--accent-primary:#333;--accent-hover:#1a1a1a;--accent-muted:#888;--text-primary:#1a1a1a;--text-secondary:#666;--text-muted:#999;--success:#2e7d32;--error:#c62828;--warning:#f57f17;--msg-user-bg:#f5f5f5;--msg-assistant-bg:#f5f5f5;--msg-system-border:#bdbdbd;--code-bg:#f4f4f4;--text-on-accent:#fff;--text-on-overlay:#fff;--accent-info:#4a90d9;--accent-primary-rgb:51, 51, 51;--accent-hover-rgb:26, 26, 26;--text-primary-rgb:26, 26, 26;--text-muted-rgb:153, 153, 153;--success-rgb:46, 125, 50;--error-rgb:198, 40, 40;--warning-rgb:245, 127, 23;--accent-info-rgb:74, 144, 217}.dark[data-v-b394e862]{--bg-primary:#1a1a1a;--bg-secondary:#252525;--bg-sidebar:#202020;--bg-card:#333;--bg-card-hover:#333;--bg-input:#2a2a2a;--border-color:#3a3a3a;--border-light:#333;--accent-primary:#e0e0e0;--accent-hover:#f5f5f5;--accent-muted:#888;--text-primary:#f0f0f0;--text-secondary:silver;--text-muted:#888;--success:#66bb6a;--error:#ef5350;--warning:#ffb74d;--msg-user-bg:#252525;--msg-assistant-bg:#252525;--msg-system-border:#555;--code-bg:#1e1e1e;--text-on-accent:#1a1a1a;--text-on-overlay:#fff;--accent-info:#6ba3d6;--accent-primary-rgb:240, 240, 240;--accent-hover-rgb:245, 245, 245;--text-primary-rgb:240, 240, 240;--text-muted-rgb:136, 136, 136;--success-rgb:102, 187, 106;--error-rgb:239, 83, 80;--warning-rgb:255, 183, 77;--accent-info-rgb:107, 163, 214}.comic[data-v-b394e862]{--border-color:#1a1a1a;--border-light:#555;--msg-system-border:#1a1a1a;--font-ui:"Comic Neue", "ZCOOL KuaiLe", "Zen Maru Gothic", "Gaegu", cursive, sans-serif;--comic-border-width:2.5px;--comic-shadow:3px 3px 0px #00000026}.dark.comic[data-v-b394e862]{--border-color:#666;--border-light:#555;--msg-system-border:#888;--comic-shadow:3px 3px 0px #ffffff14}.app-shell[data-v-b394e862]{height:calc(100 * var(--vh));background-color:var(--bg-primary);flex-direction:column;width:100%;max-width:100%;display:flex;overflow:hidden}.app-layout[data-v-b394e862]{flex:1;width:100%;max-width:100%;min-height:0;display:flex;overflow:hidden}.app-layout.no-sidebar[data-v-b394e862]{display:block}.app-shell.desktop-titlebar-host .app-layout[data-v-b394e862]{--vh:calc(1vh - .36px)}.app-main[data-v-b394e862]{background-color:var(--bg-primary);flex:1;min-width:0;overflow-y:auto}.no-sidebar .app-main[data-v-b394e862]{height:100%}.node-warning-bar[data-v-b394e862]{z-index:100;color:#b45309;text-align:center;background-color:#fef3c7;border-bottom:1px solid #fde68a;flex:none;width:100%;padding:4px 16px;font-size:12px;font-weight:500;line-height:1.4}:root{--bg-primary:#fafafa;--bg-secondary:#f0f0f0;--bg-sidebar:#f5f5f5;--bg-card:#fff;--bg-card-hover:#fafafa;--bg-input:#fff;--border-color:#e0e0e0;--border-light:#ebebeb;--accent-primary:#333;--accent-hover:#1a1a1a;--accent-muted:#888;--text-primary:#1a1a1a;--text-secondary:#666;--text-muted:#999;--success:#2e7d32;--error:#c62828;--warning:#f57f17;--msg-user-bg:#f5f5f5;--msg-assistant-bg:#f5f5f5;--msg-system-border:#bdbdbd;--code-bg:#f4f4f4;--text-on-accent:#fff;--text-on-overlay:#fff;--accent-info:#4a90d9;--accent-primary-rgb:51, 51, 51;--accent-hover-rgb:26, 26, 26;--text-primary-rgb:26, 26, 26;--text-muted-rgb:153, 153, 153;--success-rgb:46, 125, 50;--error-rgb:198, 40, 40;--warning-rgb:245, 127, 23;--accent-info-rgb:74, 144, 217}.dark{--bg-primary:#1a1a1a;--bg-secondary:#252525;--bg-sidebar:#202020;--bg-card:#333;--bg-card-hover:#333;--bg-input:#2a2a2a;--border-color:#3a3a3a;--border-light:#333;--accent-primary:#e0e0e0;--accent-hover:#f5f5f5;--accent-muted:#888;--text-primary:#f0f0f0;--text-secondary:silver;--text-muted:#888;--success:#66bb6a;--error:#ef5350;--warning:#ffb74d;--msg-user-bg:#252525;--msg-assistant-bg:#252525;--msg-system-border:#555;--code-bg:#1e1e1e;--text-on-accent:#1a1a1a;--text-on-overlay:#fff;--accent-info:#6ba3d6;--accent-primary-rgb:240, 240, 240;--accent-hover-rgb:245, 245, 245;--text-primary-rgb:240, 240, 240;--text-muted-rgb:136, 136, 136;--success-rgb:102, 187, 106;--error-rgb:239, 83, 80;--warning-rgb:255, 183, 77;--accent-info-rgb:107, 163, 214}.comic{--border-color:#1a1a1a;--border-light:#555;--msg-system-border:#1a1a1a;--font-ui:"Comic Neue", "ZCOOL KuaiLe", "Zen Maru Gothic", "Gaegu", cursive, sans-serif;--comic-border-width:2.5px;--comic-shadow:3px 3px 0px #00000026}.dark.comic{--border-color:#666;--border-light:#555;--msg-system-border:#888;--comic-shadow:3px 3px 0px #ffffff14}.hljs-code-block{background:var(--code-bg);border:1px solid var(--border-color);box-sizing:border-box;white-space:normal;border-radius:6px;width:100%;min-width:0;max-width:100%;margin:8px 0;overflow:hidden}.hljs-code-block .code-header{border-bottom:1px solid var(--border-color);background:#00000008;justify-content:space-between;align-items:center;padding:6px 12px;display:flex}.hljs-code-block .code-header .code-lang{color:var(--text-muted);text-transform:uppercase;font-size:11px}.hljs-code-block .code-header .copy-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:3px;padding:2px 6px;font-size:11px;transition:all .15s}.hljs-code-block .code-header .copy-btn:hover{color:var(--text-primary);background:#0000000d}.hljs-code-block code.hljs{white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word;padding:12px;font-family:JetBrains Mono,Fira Code,Consolas,monospace;font-size:13px;line-height:1.5;display:block;overflow-x:auto}.hljs-code-block.hljs-unified-diff code.hljs{white-space:pre;overflow-wrap:normal;word-break:normal;padding:0;line-height:1.45;display:block;overflow-x:auto}.hljs-code-block.hljs-unified-diff .diff-line{white-space:pre;grid-template-columns:58px max-content;min-width:max-content;display:grid}.hljs-code-block.hljs-unified-diff .diff-line-number{-webkit-user-select:none;user-select:none;text-align:right;color:#94a3b8;background:#0f172a0a;border-right:1px solid #94a3b840;padding:0 14px 0 10px}.hljs-code-block.hljs-unified-diff .diff-line-content{white-space:pre;padding:0 12px}.hljs-code-block.hljs-unified-diff .diff-line-file-header{color:#475569;background:#94a3b829}.hljs-code-block.hljs-unified-diff .diff-line-hunk-header{color:#1d4ed8;background:#3b82f61f}.hljs-code-block.hljs-unified-diff .diff-line-context-fold{color:#64748b;background:#94a3b81a;font-style:italic}.hljs-code-block.hljs-unified-diff .diff-line-added{color:#166534;background:#22c55e24}.hljs-code-block.hljs-unified-diff .diff-line-added .diff-line-number{color:#15803d;background:#22c55e2e}.hljs-code-block.hljs-unified-diff .diff-line-removed{color:#b91c1c;background:#ef44441f}.hljs-code-block.hljs-unified-diff .diff-line-removed .diff-line-number{color:#dc2626;background:#ef44442e}.hljs-code-block .hljs{color:#1f2937;background:0 0}.hljs-code-block .hljs-keyword,.hljs-code-block .hljs-selector-tag,.hljs-code-block .hljs-meta .hljs-keyword{color:#7c3aed;font-weight:600}.hljs-code-block .hljs-string,.hljs-code-block .hljs-attr,.hljs-code-block .hljs-regexp,.hljs-code-block .hljs-template-variable{color:#0f766e}.hljs-code-block .hljs-number,.hljs-code-block .hljs-literal,.hljs-code-block .hljs-symbol,.hljs-code-block .hljs-bullet{color:#b45309}.hljs-code-block .hljs-comment,.hljs-code-block .hljs-quote{color:#6b7280;font-style:italic}.hljs-code-block .hljs-built_in,.hljs-code-block .hljs-title.class_,.hljs-code-block .hljs-title.function_{color:#2563eb}.hljs-code-block .hljs-type,.hljs-code-block .hljs-variable,.hljs-code-block .hljs-property,.hljs-code-block .hljs-params{color:#b91c1c}.hljs-code-block .hljs-tag,.hljs-code-block .hljs-name,.hljs-code-block .hljs-section,.hljs-code-block .hljs-title{color:#1f2937}.hljs-code-block .hljs-meta{color:#6b7280}.dark .hljs-code-block .hljs{color:#e5e7eb}.dark .hljs-code-block.hljs-unified-diff .diff-line-file-header{color:#cbd5e1;background:#94a3b82e}.dark .hljs-code-block.hljs-unified-diff .diff-line-number{color:#94a3b8;background:#0f172a47;border-right-color:#94a3b838}.dark .hljs-code-block.hljs-unified-diff .diff-line-hunk-header{color:#93c5fd;background:#3b82f62e}.dark .hljs-code-block.hljs-unified-diff .diff-line-context-fold{color:#cbd5e1;background:#94a3b824}.dark .hljs-code-block.hljs-unified-diff .diff-line-added{color:#86efac;background:#22c55e2e}.dark .hljs-code-block.hljs-unified-diff .diff-line-added .diff-line-number{color:#4ade80;background:#22c55e38}.dark .hljs-code-block.hljs-unified-diff .diff-line-removed{color:#fca5a5;background:#ef44442e}.dark .hljs-code-block.hljs-unified-diff .diff-line-removed .diff-line-number{color:#f87171;background:#ef444438}.dark .hljs-code-block .hljs-keyword,.dark .hljs-code-block .hljs-selector-tag,.dark .hljs-code-block .hljs-meta .hljs-keyword{color:#c084fc;font-weight:600}.dark .hljs-code-block .hljs-string,.dark .hljs-code-block .hljs-attr,.dark .hljs-code-block .hljs-regexp,.dark .hljs-code-block .hljs-template-variable{color:#5eead4}.dark .hljs-code-block .hljs-number,.dark .hljs-code-block .hljs-literal,.dark .hljs-code-block .hljs-symbol,.dark .hljs-code-block .hljs-bullet{color:#fbbf24}.dark .hljs-code-block .hljs-comment,.dark .hljs-code-block .hljs-quote{color:#94a3b8;font-style:italic}.dark .hljs-code-block .hljs-built_in,.dark .hljs-code-block .hljs-title.class_,.dark .hljs-code-block .hljs-title.function_{color:#93c5fd}.dark .hljs-code-block .hljs-type,.dark .hljs-code-block .hljs-variable,.dark .hljs-code-block .hljs-property,.dark .hljs-code-block .hljs-params{color:#fca5a5}.dark .hljs-code-block .hljs-tag,.dark .hljs-code-block .hljs-name,.dark .hljs-code-block .hljs-section,.dark .hljs-code-block .hljs-title{color:#f3f4f6}.dark .hljs-code-block .hljs-meta{color:#94a3b8}@font-face{font-family:Comic Neue;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/ComicNeue-Bold.ttf)format("truetype")}@font-face{font-family:ZCOOL KuaiLe;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/ZCOOLKuaiLe-Regular.ttf)format("truetype")}@font-face{font-family:Zen Maru Gothic;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/ZenMaruGothic-Regular.ttf)format("truetype")}@font-face{font-family:Zen Maru Gothic;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/ZenMaruGothic-Bold.ttf)format("truetype")}@font-face{font-family:Gaegu;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/Gaegu-Regular.ttf)format("truetype")}@font-face{font-family:Gaegu;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/Gaegu-Bold.ttf)format("truetype")}*,:before,:after{box-sizing:border-box;margin:0;padding:0}button,input,select,textarea{font-family:inherit}:root{--vh:1vh}@supports (height:100dvh){:root{--vh:1dvh}}html.theme-transitioning,html.theme-transitioning *,html.theme-transitioning :before,html.theme-transitioning :after{transition:background-color .3s,color .3s,border-color .3s,box-shadow .3s,fill .3s,stroke .3s!important}html,body{width:100%;height:100%;position:fixed;top:0;left:0;overflow:hidden}#app{width:100%;height:100%;overflow:hidden}body{font-family:var(--font-ui,"Inter", system-ui, -apple-system, sans-serif);background-color:var(--bg-primary);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:14px;line-height:1.6}.hermes-desktop-pet-window,.hermes-desktop-pet-window body,.hermes-desktop-pet-window #app{background:0 0!important}.hermes-desktop-shell .n-drawer,.hermes-desktop-shell .n-drawer *,.hermes-desktop-shell .n-modal,.hermes-desktop-shell .n-modal *,.hermes-desktop-shell .n-dialog,.hermes-desktop-shell .n-dialog *,.hermes-desktop-shell .n-popover,.hermes-desktop-shell .n-popover *,.hermes-desktop-shell .n-dropdown,.hermes-desktop-shell .n-dropdown *,.hermes-desktop-shell .n-select-menu,.hermes-desktop-shell .n-select-menu *,.hermes-desktop-shell .n-base-select-menu,.hermes-desktop-shell .n-base-select-menu *,.hermes-desktop-shell .n-message-container,.hermes-desktop-shell .n-message-container *,.hermes-desktop-shell .n-notification-container,.hermes-desktop-shell .n-notification-container *,.hermes-desktop-shell .drawer-overlay,.hermes-desktop-shell .drawer-panel,.hermes-desktop-shell .drawer-panel *{-webkit-app-region:no-drag}code,pre,.mono{font-family:JetBrains Mono,Fira Code,Consolas,monospace}a{color:var(--accent-primary);text-decoration:none}a:hover{color:var(--accent-hover)}::-webkit-scrollbar{background:0 0;width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-track-piece{background:0 0}::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}::-webkit-scrollbar-corner{background:0 0}*{scrollbar-width:thin;scrollbar-color:var(--border-color) transparent}::selection{background:rgba(var(--accent-primary-rgb), .3)}.page-header{border-bottom:1px solid var(--border-color);flex-shrink:0;justify-content:space-between;align-items:center;padding:21px 20px;display:flex}.header-title{color:var(--text-primary);font-size:16px;font-weight:600}.input-sm{width:90px}.input-md{width:200px}.input-lg{width:300px}.mobile-backdrop{z-index:999;background:#0006;display:none;position:fixed;top:0;bottom:0;left:0;right:0}.hamburger-btn{top:calc(10px + env(safe-area-inset-top,0px));z-index:99;background:var(--bg-card);cursor:pointer;border:none;border-radius:6px;justify-content:center;align-items:center;width:36px;height:36px;display:none;position:fixed;left:12px;box-shadow:0 1px 4px #0000001a}@media (max-width:768px){.mobile-backdrop{display:block}.hamburger-btn{display:flex}.page-header{padding:calc(16px + env(safe-area-inset-top,0px)) 12px 16px 52px!important}.input-sm,.input-md,.input-lg{width:100%}input,textarea,select,.n-input,.n-input__input-element,.n-input__textarea-el,.n-input__textarea-element{font-size:16px!important}}

/* BEGIN HERMES STUDIO CLAUDE THEME */
html.claude{font-family:'Anthropic Sans',-apple-system,BlinkMacSystemFont,'Segoe UI',system-ui,sans-serif}
html.claude .markdown-body,html.claude .markdown-content,html.claude [class*="markdown"],html.claude .message-text,html.claude [class*="bubble"] .message-content{font-family:'Tiempos Text',Georgia,'Times New Roman',serif}
html.claude .markdown-body code,html.claude [class*="markdown"] code,html.claude pre,html.claude code{font-family:'JetBrains Mono','Fira Code',Consolas,monospace}
html.claude ::-webkit-scrollbar-thumb{background:#d97757;border-radius:8px}
html.claude.dark ::-webkit-scrollbar-thumb{background:#46433c}

/* ===== Claude warm backgrounds (force) ===== */
html.claude,html.claude body{background:var(--claude-bg)!important}
html.claude.dark,html.claude.dark body{background:var(--claude-bg)!important}
html.claude .n-layout,html.claude .n-layout-content,html.claude .n-layout-scroll-container{background-color:var(--claude-bg)!important}
html.claude.dark .n-layout,html.claude.dark .n-layout-content,html.claude.dark .n-layout-scroll-container{background-color:var(--claude-bg)!important}
html.claude .n-layout-sider{background-color:#f5f4ee!important}
html.claude.dark .n-layout-sider{background-color:#1f1e1c!important}
html.claude .sidebar{background-color:#f5f4ee!important}
html.claude.dark .sidebar{background-color:#1f1e1c!important}

/* ===== Claude shell backgrounds (real classes) ===== */
html.claude .app-shell,html.claude .app-main{background:var(--claude-bg)!important}
html.claude.dark .app-shell,html.claude.dark .app-main{background:var(--claude-bg)!important}
html.claude .virtual-message-list{background:var(--claude-bg)!important}
html.claude.dark .virtual-message-list{background:var(--claude-bg)!important}
/* user message: warm-gray bubble, hug content, right-aligned */
html.claude .message.user .message-bubble{background:#efeeeb!important;border:none!important;box-shadow:none!important;border-radius:12px!important;padding:10px 16px!important;width:auto!important;max-width:100%!important;min-width:0!important;word-break:normal!important;overflow-wrap:break-word!important;display:flex!important;flex-direction:column!important;box-sizing:border-box!important}
html.claude .message.user .markdown-body{display:grid!important;grid-template-columns:1fr!important;gap:8px!important;padding:2px 0!important;width:auto!important;max-width:none!important;overflow-wrap:break-word!important;word-break:normal!important}html.claude .message.user .markdown-body p{margin:0!important;white-space:pre-wrap!important;overflow-wrap:break-word!important;word-break:normal!important}
html.claude.dark .message.user .message-bubble{background:#121212!important}
html.claude .message.user .msg-content{align-items:flex-end!important}
html.claude .message.user .msg-body{max-width:85%!important}
/* assistant message: no bubble, transparent, flat on background */
html.claude .message.assistant .message-bubble{background:transparent!important;border:none!important;box-shadow:none!important;padding:4px 0!important;width:100%!important;max-width:100%!important}
html.claude.dark .message.assistant .message-bubble{background:transparent!important}
html.claude .input-wrapper{background:#ffffff!important;border-color:#e0dbcd!important}
html.claude.dark .input-wrapper{background:#30302e!important;border-color:#46433c!important}

/* ===== Claude typography hierarchy: body serif, headings/bold sans ===== */
html.claude .markdown-body h1,html.claude .markdown-body h2,html.claude .markdown-body h3,html.claude .markdown-body h4,html.claude .markdown-body h5,html.claude .markdown-body h6,html.claude .markdown-body strong,html.claude .markdown-body b,html.claude .markdown-body th{font-family:'Anthropic Serif',Georgia,'Times New Roman',Times,'PingFang SC','Microsoft YaHei','Noto Sans CJK SC',serif!important}
html.claude .markdown-body strong,html.claude .markdown-body b{font-weight:600!important}
html.claude .markdown-body h1,html.claude .markdown-body h2,html.claude .markdown-body h3,html.claude .markdown-body h4{font-weight:600!important;letter-spacing:-0.01em}

/* ===== Claude typography hierarchy: body serif, headings/bold sans ===== */
html.claude .markdown-body h1,html.claude .markdown-body h2,html.claude .markdown-body h3,html.claude .markdown-body h4,html.claude .markdown-body h5,html.claude .markdown-body h6,html.claude .markdown-body strong,html.claude .markdown-body b,html.claude .markdown-body th{font-family:'Anthropic Serif',Georgia,'Times New Roman',Times,'PingFang SC','Microsoft YaHei','Noto Sans CJK SC',serif!important}
html.claude .markdown-body strong,html.claude .markdown-body b{font-weight:600!important}
html.claude .markdown-body h1,html.claude .markdown-body h2,html.claude .markdown-body h3,html.claude .markdown-body h4{font-weight:600!important;letter-spacing:-0.01em}

/* ===== Claude REAL typography (from live anthropic.com DevTools) ===== */
/* 正文/标题/列表/链接 = 正文 Anthropic Sans，标题 Anthropic Serif */
html.claude .markdown-body,html.claude .markdown-body p,html.claude .markdown-body li,html.claude .markdown-body a,html.claude .markdown-body td{font-family:'Anthropic Sans',-apple-system,BlinkMacSystemFont,'Segoe UI',system-ui,sans-serif!important}html.claude .markdown-body h1,html.claude .markdown-body h2,html.claude .markdown-body h3,html.claude .markdown-body h4,html.claude .markdown-body h5,html.claude .markdown-body h6,html.claude .markdown-body th{font-family:'Anthropic Serif',Georgia,'Times New Roman',Times,'PingFang SC','Microsoft YaHei','Noto Sans CJK SC',serif!important}
html.claude .markdown-body p,html.claude .markdown-body li{font-weight:400!important}
html.claude .markdown-body h3,html.claude .markdown-body h4{font-weight:500!important}
html.claude .markdown-body h1,html.claude .markdown-body h2{font-weight:600!important;letter-spacing:-0.01em}
/* 加粗 = Anthropic Serif → Tiempos Text (衬线!) 这是Claude标志细节 */
html.claude .markdown-body strong,html.claude .markdown-body b{font-family:'Tiempos Text',Georgia,'Times New Roman',serif!important;font-weight:600!important}
html.claude.dark .markdown-body strong,html.claude.dark .markdown-body b{font-weight:600!important}
/* 行内代码 = 深红褐字 + 淡灰底 (Claude品牌色标注) */
html.claude .markdown-body code:not(pre code){color:rgb(141,37,37)!important;background:var(--claude-code-bg)!important;border:0.5px solid var(--claude-code-border)!important;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace!important;padding:1px 4px!important;border-radius:6.4px!important;font-size:14.4px!important;font-weight:400!important}
html.claude.dark .markdown-body code:not(pre code){color:var(--claude-code)!important;background:var(--claude-code-bg)!important;border-color:var(--claude-code-border)!important}
/* 页面真实背景 (跟随变量: 白天#f8f8f6 夜间rgb(31,31,30)) */
html.claude .app-shell,html.claude .app-main,html.claude .virtual-message-list{background:var(--claude-bg)!important}

/* ========== Anthropic OFFICIAL fonts (user-provided, converted to woff2) ========== */
/* 官方完整可变字体 (matthieuhuguet/anthropic-fonts woff2-original, 连续字重 300-800, 字形与 Claude 官网一致) */
@font-face{font-family:'Anthropic Sans';src:url(/fonts/claude/claude-vf-AnthropicSans-Romans.woff2) format('woff2');font-weight:100 900;font-style:normal;font-display:swap}
@font-face{font-family:'Anthropic Sans';src:url(/fonts/claude/claude-vf-AnthropicSans-Italics.woff2) format('woff2');font-weight:100 900;font-style:italic;font-display:swap}
@font-face{font-family:'Anthropic Serif';src:url(/fonts/claude/claude-vf-AnthropicSerif-Romans.woff2) format('woff2');font-weight:100 900;font-style:normal;font-display:swap}
@font-face{font-family:'Anthropic Serif';src:url(/fonts/claude/claude-vf-AnthropicSerif-Italics.woff2) format('woff2');font-weight:100 900;font-style:italic;font-display:swap}
@font-face{font-family:'Anthropic Mono';src:url(/fonts/claude/claude-vf-AnthropicMono.woff2) format('woff2');font-weight:400;font-style:normal;font-display:swap}

/* ========== Claude.ai REAL styling (official fonts + live DevTools values) ========== */
/* UI 全局走 Anthropic Sans */
html.claude{font-family:'Anthropic Sans',-apple-system,BlinkMacSystemFont,'Segoe UI',system-ui,sans-serif;--claude-bg:#f8f8f6;--claude-text:#0b0b0b;--claude-heading:#121212;--claude-muted:#7b7974;--claude-strong:#0b0b0b;--claude-code:#8d2525;--claude-code-bg:rgba(40,40,38,0.05);--claude-code-border:rgba(31,31,30,0.15);--claude-pre-text:#14181f;--claude-pre-bg:transparent}
/* 夜间模式: 跟随 WebUI 自身 html.claude.dark 状态, 同步 Claude 官方夜间视觉值 */
html.claude.dark{--claude-bg:rgb(31,31,30);--claude-text:rgb(248,248,246);--claude-heading:rgb(248,248,246);--claude-muted:rgb(151,149,140);--claude-strong:rgb(255,255,255);--claude-code:rgb(244,169,169);--claude-code-bg:rgba(230,230,225,0.05);--claude-code-border:rgba(226,225,218,0.15);--claude-pre-text:rgb(234,236,240);--claude-pre-bg:transparent}
/* 正文/列表/链接 = Anthropic Sans 无衬线 */
html.claude .message.assistant .markdown-body,html.claude .message.assistant .markdown-body p,html.claude .message.assistant .markdown-body li,html.claude .message.assistant .markdown-body a{font-family:'Anthropic Serif','PingFang SC','Microsoft YaHei',sans-serif!important;font-weight:400!important;color:var(--claude-text)!important;-webkit-font-smoothing:antialiased!important;-moz-osx-font-smoothing:grayscale!important}
html.claude .message.user .markdown-body,html.claude .message.user .markdown-body p,html.claude .message.user .markdown-body li,html.claude .message.user .markdown-body a,html.claude .message.user .markdown-body .user-plain{font-family:'Anthropic Sans',system-ui,'Segoe UI',Roboto,Helvetica,Arial,'PingFang SC','Microsoft YaHei',sans-serif!important;font-weight:400!important;line-height:22.4px!important}
html.claude .message.user .markdown-body .user-plain{margin:0!important}
html.claude .markdown-body p,html.claude .markdown-body li{font-size:16px!important;line-height:24px!important}
/* 标题 = Anthropic Sans */
html.claude .markdown-body h1,html.claude .markdown-body h2,html.claude .markdown-body h3,html.claude .markdown-body h4{font-family:'Anthropic Serif',Georgia,'Times New Roman',Times,'PingFang SC','Microsoft YaHei','Noto Sans CJK SC',serif!important}
/* 标题三级体系对齐 claude.ai 实测: #→22px ##→18px ###→16px, 颜色统一 --claude-heading(日夜跟随), 字重 600 */
html.claude .markdown-body h1{font-size:22px!important;font-weight:600!important;color:var(--claude-heading)!important;letter-spacing:-0.01em;margin-top:12px!important;margin-bottom:-4px!important}
html.claude .markdown-body h2{font-size:18px!important;font-weight:600!important;color:var(--claude-heading)!important;letter-spacing:-0.01em;margin-top:12px!important;margin-bottom:-4px!important}
html.claude .markdown-body h4{font-size:16px!important;font-weight:600!important;color:var(--claude-heading)!important;letter-spacing:0!important;margin-top:8px!important;margin-bottom:-4px!important}
/* 加粗 = Anthropic Serif 衬线 (中文回落到 PingFang SC 无衬线, 与真身一致) */
html.claude .markdown-body strong,html.claude .markdown-body b{font-family:'Anthropic Serif',Georgia,'Times New Roman',Times,'PingFang SC','Microsoft YaHei','Noto Sans CJK SC',serif!important;font-weight:600!important;color:var(--claude-strong)!important}
/* 行内代码 = 深红褐 #8d2525 + oklab 原始淡底 */
html.claude .markdown-body code:not(pre code){font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,'Liberation Mono','Courier New',monospace!important;color:rgb(141,37,37)!important;background:var(--claude-code-bg)!important;border:0.5px solid var(--claude-code-border)!important;padding:1px 4px!important;border-radius:6.4px!important;font-size:14.4px!important;line-height:21.6px!important;font-weight:400!important}
/* 代码块 = Anthropic Mono, 文字/背景/字号/行高跟随变量(白天暗字 夜间浅字) */
html.claude .markdown-body pre,html.claude .markdown-body pre code{font-family:'Anthropic Mono',ui-monospace,monospace!important;color:var(--claude-pre-text)!important;background:var(--claude-pre-bg)!important;font-size:14px!important;line-height:22.75px!important}
/* 页面背景: 白天 #f8f8f6 / 夜间 rgb(31,31,30) 跟随变量 */
html.claude .app-shell,html.claude .app-main,html.claude .virtual-message-list{background:var(--claude-bg)!important}

/* ========== Claude 块级元素精确复刻 (live DevTools 实测值) ========== */
/* 标题 h3 (### 三级): Serif 600 / 16px / 色#121212 / 上12下-4 */
html.claude .markdown-body h3{font-weight:600!important;font-size:16px!important;line-height:24px!important;color:var(--claude-heading)!important;margin-top:12px!important;margin-bottom:-4px!important;letter-spacing:0!important}
/* 列表缩进 = Claude padding-left:32px */
html.claude .markdown-body ul,html.claude .markdown-body ol{padding-left:32px!important;line-height:26.4px!important;margin-top:0!important;margin-bottom:12px!important}
html.claude .markdown-body li{margin-top:0!important;margin-bottom:4px!important;padding-left:8px!important}
/* 链接: 正文色 + 淡下划线(Claude 用 40% 透明深色下划线) */
html.claude .markdown-body a{color:var(--claude-text)!important;text-decoration-line:underline!important;text-decoration-color:rgba(31,31,30,0.4)!important;text-underline-offset:2px!important}
/* 引用块: 4px 淡边 / pad-left 8 / 色#373734 / 非斜体 / 无底色 / lh26.4 */
html.claude .markdown-body blockquote{border-left:4px solid rgba(31,31,30,0.1)!important;padding-left:8px!important;color:rgb(55,55,52)!important;font-style:normal!important;background:transparent!important;margin-left:0!important;line-height:26.4px!important}
/* 分割线: 0.5px 淡线 / 无底色 */
html.claude .markdown-body hr{border:none!important;border-top:0.5px solid rgba(31,31,30,0.3)!important;height:0.5px!important;background:transparent!important;margin:12px 0!important}
/* 表格: 无边框无底色, 仅靠 padding 与左对齐排版 (Claude 风格) */
html.claude .markdown-body table{border-collapse:collapse!important;font-size:14px!important}
html.claude .markdown-body th{border:none!important;border-bottom:0.5px solid rgba(31,31,30,0.6)!important;background:transparent!important;color:var(--claude-heading)!important;font-weight:600!important;font-size:14px!important;line-height:23.8px!important;text-align:left!important;padding:8px 16px 8px 0!important}
html.claude .markdown-body td{border:none!important;border-bottom:0.5px solid rgba(31,31,30,0.3)!important;background:transparent!important;color:var(--claude-text)!important;font-family:'Anthropic Serif',Georgia,'PingFang SC','Microsoft YaHei',serif!important;font-size:14px!important;line-height:23.8px!important;padding:8px 16px 8px 0!important}
/* 最后一行(合计)底线也保留 = Claude 每行都有 border-bottom, 表头线更深(0.6) 数据行更淡(0.3) */
html.claude .markdown-body thead{border-bottom:none!important}
/* 代码块卡片: Claude = 白50%底 + 0.5px 淡边 + radius8 */
html.claude .hljs-code-block{background:rgba(255,255,255,0.5)!important;border:0.5px solid rgba(31,31,30,0.15)!important;border-radius:8px!important}
/* 语言标签栏: 常驻显示 (用户要求一直显示), 仅去掉难看的实灰底线、配色对齐 Claude 暖灰 */
html.claude .hljs-code-block .code-header{opacity:1!important;border-bottom:none!important;background:transparent!important;padding:8px 12px 4px!important}
html.claude .hljs-code-block .code-header .code-lang{color:rgb(151,149,140)!important}
html.claude .hljs-code-block .code-header .copy-btn{color:rgb(151,149,140)!important}
/* 代码正文: Anthropic Mono 14px / lh22.75 (Claude 实测) */
html.claude .hljs-code-block code.hljs{font-family:'Anthropic Mono',ui-monospace,SFMono-Regular,monospace!important;font-size:14px!important;line-height:22.75px!important;white-space:pre!important;overflow-wrap:normal!important;word-break:normal!important;padding:14px!important;overflow-x:auto!important}

/* ── Claude 常驻 coral 星芒 logo (注入脚本插入到最后一条助手消息下方) ── */
@keyframes claude-logo-fadein{from{opacity:0;transform:scale(.6) translateY(2px)}to{opacity:1;transform:scale(1) translateY(0)}}
html.claude .claude-resident-logo{
  width:32px!important;height:32px!important;
  margin:8px 0 0 0!important;
  color:rgb(217,119,87)!important;
  display:block!important;
  animation:claude-logo-fadein .35s cubic-bezier(0.34,1.56,0.64,1)!important;
  transition:transform .3s cubic-bezier(0.34,1.56,0.64,1)!important;
  cursor:pointer!important;
  transform-origin:center!important;
}
html.claude .claude-resident-logo:hover{transform:scale(1.15) rotate(8deg)!important}
/* 星标 logo 对齐正文文字左边界(实测微调到与正文 p 同 left) */
html.claude .claude-resident-logo,html.claude #__claude_resident_logo{margin-left:2px!important}
html.claude .claude-resident-logo svg{display:block!important;width:100%!important;height:100%!important}

/* ========== Claude 夜间覆盖 (live DevTools 实测, 暗底用浅色边/字) ========== */
/* 正文/输入框纯白, 标题浅白 */
html.claude.dark .message.assistant .markdown-body,html.claude.dark .message.assistant .markdown-body p,html.claude.dark .message.assistant .markdown-body li{color:rgb(255,255,255)!important}
html.claude.dark .input-textarea{color:rgb(255,255,255)!important}
html.claude.dark .markdown-body strong,html.claude.dark .markdown-body b{color:rgb(255,255,255)!important}
html.claude.dark .markdown-body td{color:rgb(255,255,255)!important}
html.claude.dark .markdown-body h1,html.claude.dark .markdown-body h2,html.claude.dark .markdown-body h3,html.claude.dark .markdown-body h4,html.claude.dark .markdown-body th{color:rgb(248,248,246)!important}
/* 链接下划线 → 白 40% (暗底可见), 文字纯白 (提级压过 .message.assistant 规则) */
html.claude.dark .markdown-body a,html.claude.dark .message.assistant .markdown-body a,html.claude.dark .message.user .markdown-body a{color:rgb(255,255,255)!important;text-decoration-color:rgba(255,255,255,0.4)!important}
/* 引用块 → 浅字 + 浅边 */
html.claude.dark .markdown-body blockquote{color:rgb(195,194,183)!important;border-left-color:rgba(226,225,218,0.1)!important}
/* 分割线 → 浅边 */
html.claude.dark .markdown-body hr{border-top-color:rgba(226,225,218,0.3)!important}
/* 表头分隔线 → 浅边 */
html.claude.dark .markdown-body th{border-bottom-color:rgba(226,225,218,0.6)!important}
html.claude.dark .markdown-body td{border-bottom-color:rgba(226,225,218,0.3)!important}
/* 代码块卡片 → 深色50%底 + 浅边 (复刻 Claude 夜间 oklab 深色) */
html.claude.dark .hljs-code-block{background:rgba(40,40,40,0.5)!important;border-color:rgba(226,225,218,0.15)!important}

/* ========== Claude 思考指示器 (复用Hermes原生ChatPanel结构,只换外观,零新增动画) ========== */
/* icon: 把默认思考GIF换成Claude星芒旋转APNG */
html.claude .thinking-avatar{content:url(/fonts/claude/claude-thinking.gif)!important;object-fit:contain!important;border-radius:0!important;background:transparent!important}
html.claude .dark .thinking-avatar{filter:none!important}
/* 文字: Claude "Thinking" shimmer流光 — 暖灰基色 + 一道亮高光扫过(复用Hermes原生 thinking-label-shimmer 动画) */
html.claude .thinking-status-label{font-family:'Anthropic Serif',Georgia,serif!important;font-weight:500!important;font-size:15px!important;background-image:linear-gradient(105deg,#6b6860 0%,#6b6860 39%,#fbf3ee 48%,#fbf3ee 52%,#6b6860 61%,#6b6860 100%)!important;background-size:300% 100%!important;background-position:100% 0;-webkit-background-clip:text!important;background-clip:text!important;color:transparent!important;animation:2.2s linear infinite thinking-label-shimmer-29cd8f3e!important;filter:none!important}
html.claude .dark .thinking-status-label{background-image:linear-gradient(105deg,#9b978f 0%,#9b978f 39%,#fbf3ee 48%,#fbf3ee 52%,#9b978f 61%,#9b978f 100%)!important;background-size:300% 100%!important;background-position:100% 0;-webkit-background-clip:text!important;background-clip:text!important;color:transparent!important;animation:2.2s linear infinite thinking-label-shimmer-29cd8f3e!important;filter:none!important}

/* ====== Claude 思考指示器 v2: 匹配 claude.ai 网页版比例/字体/流光 ====== */
/* 网页参考: icon~20px / 文字serif 14px / 流光 muted gray->白 sweep 2.25s */
@keyframes claude-shimmertext{0%{background-position:200% 0}100%{background-position:-200% 0}}
/* icon: 缩小到与文字接近的比例(网页 icon:text 约 1.4:1), 去掉圆角方块和提亮滤镜 */
html.claude .thinking-status .thinking-avatar{width:24px!important;height:24px!important;min-width:24px!important;border-radius:0!important;object-fit:contain!important;background:transparent!important;filter:none!important}
html.claude .thinking-status{gap:8px!important}
/* 文字: Anthropic Serif 500, 网页同款流光(muted gray #7b7974 基色 + 柔白高光扫过) */
html.claude .thinking-status-label{font-family:'Anthropic Serif',Georgia,serif!important;font-weight:500!important;font-size:14px!important;background-image:linear-gradient(to right,#7b7974 30%,rgba(255,255,255,.8),#7b7974 80%)!important;background-size:400% 100%!important;background-position:200% 0;-webkit-background-clip:text!important;background-clip:text!important;color:transparent!important;animation:claude-shimmertext 2.25s infinite linear!important;filter:none!important}
html.claude.dark .thinking-status-label{background-image:linear-gradient(to right,#9b978f 30%,rgba(255,255,255,.9),#9b978f 80%)!important;background-size:400% 100%!important;background-position:200% 0;-webkit-background-clip:text!important;background-clip:text!important;color:transparent!important;animation:claude-shimmertext 2.25s infinite linear!important;filter:none!important}

/* ====== 头像隐藏开关 (快捷键 Cmd/Ctrl+Shift+H, 状态存 hermes_hide_avatar) ====== */
html.hide-avatar .msg-avatar{display:none!important}


/* ======================================================
   Hermes Claude 主题 — Composer 卡片 (路线 A, v1)
   追加时间: auto
   原主题不受影响，全部用 html.claude 隔离
   ====================================================== */

/* ── 全局变量 ──
   content-width 响应式: 宽屏=768 定宽居中; 窄屏(列容器<768+边距)时自动收缩到 (100%-32 安全边),
   不再固定 768px 把窄窗撑歪. virtual-row/fork-divider/composer 全引用此变量, 一处改动统一整套宽度系统 */
html.claude{--claude-content-width:min(768px, calc(100% - 32px));--claude-composer-width:min(752px, calc(100% - 32px))}

/* ── 聊天区域背景 + 作为 composer 悬浮的定位锚 ── */
html.claude .chat-main-content{background:transparent!important;position:relative!important}
html.claude.dark .chat-main-content{background:transparent!important;position:relative!important}

/* ── 消息列表底部留白：初始保底值(空状态 composer≈102 + 间距34)，撑高时由 JS 动态接管 ── */
html.claude .virtual-message-list{padding-bottom:136px!important}

/* ── 正文两侧保护区：复刻 Claude px-4 恒定 16px，窄屏(移动端)正文不贴死边缘 ──
   注: 不能加在 .virtual-message-list (被原生组件规则的 padding 重置), 改加每行外壳 .virtual-row ── */
html.claude .virtual-row{padding-left:16px!important;padding-right:16px!important;box-sizing:border-box!important}
/* 版心体系对齐 Claude: 正文容器(virtual-row) 752 比输入框窄16, 输入框 768 最宽, 共享中心轴 */
html.claude .virtual-row,html.claude .chat-content-wrapper .virtual-row{max-width:min(752px, 100% - 32px)!important}
html.claude .chat-input-area,html.claude .chat-content-wrapper .chat-input-area{max-width:min(768px, 100% - 32px)!important}

/* ── 正文消息列宽对齐 ── */
html.claude .fork-divider{max-width:var(--claude-content-width)!important;margin-left:auto!important;margin-right:auto!important}

/* ── chat-input-area → CSS grid 三行布局：附件 / textarea / toolbar ── */
html.claude .chat-input-area{
  align-self:center!important;
  width:min(var(--claude-composer-width),calc(100% - 16px))!important;
  max-width:var(--claude-composer-width)!important;
  margin:0 auto!important;
  padding:12px 16px 14px!important;
  background:#fff!important;
  border-top:none!important;
  border:1px solid transparent!important;
  border-radius:20px!important;
  box-shadow:rgba(0,0,0,0.035) 0 4px 20px,rgba(31,31,30,0.15) 0 0 0 0.5px!important;
  display:grid!important;
  grid-template-columns:1fr auto!important;
  grid-template-rows:auto auto 32px!important;
  row-gap:10px!important;
  column-gap:8px!important;
  align-items:end!important;
  z-index:5!important;
  position:absolute!important;
  left:0!important;
  right:0!important;
  bottom:18px!important;
  box-sizing:border-box!important;
}
html.claude .chat-input-area:hover{
  box-shadow:rgba(0,0,0,0.035) 0 4px 20px,rgba(31,31,30,0.25) 0 0 0 0.5px!important;
}
html.claude .chat-input-area:focus-within{
  box-shadow:rgba(0,0,0,0.075) 0 4px 20px,rgba(31,31,30,0.25) 0 0 0 0.5px!important;
}
html.claude.dark .chat-input-area{
  background:rgb(44,44,42)!important;
  border-color:rgba(255,255,255,.08)!important;
  box-shadow:0 1px 4px rgba(0,0,0,.2),0 4px 16px rgba(0,0,0,.15)!important;
}

/* ── composer 下方免责小字（已移除）── */
html.claude .chat-input-area::after{
  display:none!important;
  content:none!important;
}

/* ── input-wrapper → grid row 2, 跨两列 ── */
html.claude .input-wrapper{
  grid-column:1 / -1!important;
  grid-row:2!important;
  position:static!important;
  border:none!important;
  background:transparent!important;
  box-shadow:none!important;
  border-radius:0!important;
  padding:0!important;
  margin:0!important;
  width:100%!important;
  min-height:24px!important;
}
html.claude .input-wrapper:focus-within{border-color:transparent!important}
html.claude.dark .input-wrapper{background:transparent!important}

/* ── textarea ── */
html.claude .input-textarea{
  width:100%!important;
  font-family:'Anthropic Sans',system-ui,'Segoe UI',-apple-system,BlinkMacSystemFont,'PingFang SC','Microsoft YaHei',sans-serif!important;
  font-size:16px!important;
  line-height:22.4px!important;
  font-weight:430!important;
  color:rgb(11,11,11)!important;
  background:transparent!important;
  border:none!important;
  resize:none!important;
  box-shadow:none!important;
  padding:0 0 0 4px!important;
  box-sizing:border-box!important;
  margin:0!important;
  min-height:22.4px!important;
  max-height:400px!important;
  position:relative!important;
  top:-2px!important;
}
/* placeholder = Claude 暖灰 rgb(123,121,116), 同字体同字重 430 */
html.claude .input-textarea::placeholder{
  color:rgb(123,121,116)!important;
  font-family:'Anthropic Sans',system-ui,'Segoe UI',-apple-system,sans-serif!important;
  font-weight:430!important;
  opacity:1!important;
}
html.claude.dark .input-textarea{color:rgb(255,255,255)!important}
html.claude.dark .input-textarea::placeholder{color:rgb(151,149,140)!important}

/* ── Claude 主题: 禁用手动拖拽手柄, 改用 JS auto-grow (见 index.html 注入脚本) ── */
html.claude .resize-handle{display:none!important}


/* ── input-top-bar → grid row 3 col 1，真正底部工具栏左侧 ── */
html.claude .input-top-bar{
  grid-column:1!important;
  grid-row:3!important;
  position:static!important;
  height:32px!important;
  min-height:32px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:8px!important;
  margin:0!important;
  padding:0!important;
  transform:translateY(2px)!important;
  opacity:0.65!important;
}
html.claude .input-top-bar:hover{opacity:1!important;transition:opacity .15s!important}

/* ── input-actions(麦克风+发送) → 绝对定位到 composer 右下角，与底部工具栏同行 ──
   注: 0.6.21 起 input-actions 嵌在 .input-wrapper 内(非 chat-input-area 直接子)，
   CSS grid 定位跨不了父节点会失效→按钮跑到 textarea 行。改 absolute 钉右下，
   相对 .chat-input-area(定位上下文)定位，不受 input-wrapper 嵌套影响。 */
html.claude .input-actions{
  position:absolute!important;
  right:16px!important;
  bottom:12px!important;
  height:32px!important;
  min-height:32px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:8px!important;
  margin:0!important;
  padding:0!important;
  z-index:6!important;
}

/* ── 附件预览 → grid row 1，缩略图区位于内容区顶部 ── */
html.claude .attachment-previews{
  grid-column:1 / -1!important;
  grid-row:1!important;
  display:flex!important;
  flex-wrap:wrap!important;
  gap:8px!important;
  margin:0!important;
  padding:0!important;
}
/* 每个缩略图条目 120×120（图片）按 Claude */
html.claude .attachment-preview.image{
  position:relative!important;
  width:120px!important;
  height:120px!important;
  border-radius:8px!important;
  border:0.5px solid rgba(31,31,30,0.25)!important;
  overflow:hidden!important;
  cursor:pointer!important;
  flex:0 0 auto!important;
}
html.claude .attachment-preview.image .attachment-thumb{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  display:block!important;
  cursor:pointer!important;
}
/* 非图片附件（文件卡片）保持可读，不强制 120 方形 */
html.claude .attachment-preview:not(.image){
  position:relative!important;
  border-radius:8px!important;
  border:0.5px solid rgba(31,31,30,0.18)!important;
  padding:8px 10px!important;
}
/* 删除按钮 → 右上角圆形 */
html.claude .attachment-preview .attachment-remove{
  position:absolute!important;
  top:4px!important;
  right:4px!important;
  width:20px!important;
  height:20px!important;
  border-radius:50%!important;
  border:none!important;
  background:rgba(0,0,0,0.55)!important;
  color:#fff!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  cursor:pointer!important;
  padding:0!important;
  z-index:2!important;
}
html.claude .attachment-preview .attachment-remove:hover{
  background:rgba(0,0,0,0.75)!important;
}
html.claude.dark .attachment-preview.image{
  border-color:rgba(226,225,218,0.25)!important;
}

/* ── 图片预览 modal（新增）按 Claude modalCandidates[0] ── */
html.claude .claude-img-modal-overlay{
  position:fixed!important;
  inset:0!important;
  z-index:3000!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  background:rgba(0,0,0,0.65)!important;
  outline:none!important;
}
/* ── 图片预览 modal → 标准 lightbox: 接近全屏居中, 不再框死在 640px ── */
html.claude .claude-img-modal-content{
  position:relative!important;
  max-width:90vw!important;
  max-height:92vh!important;
  border-radius:8px!important;
  overflow:hidden!important;
  box-shadow:0 8px 48px rgba(0,0,0,0.4)!important;
  display:flex!important;
}
html.claude .claude-img-modal-img{
  max-width:90vw!important;
  max-height:92vh!important;
  width:auto!important;
  height:auto!important;
  object-fit:contain!important;
  display:block!important;
}
html.claude .claude-img-modal-close{
  position:absolute!important;
  top:8px!important;
  right:8px!important;
  width:32px!important;
  height:32px!important;
  border-radius:8px!important;
  border:none!important;
  background:rgba(0,0,0,0.5)!important;
  color:#fff!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  cursor:pointer!important;
  padding:0!important;
}
html.claude .claude-img-modal-close:hover{
  background:rgba(0,0,0,0.7)!important;
}

/* ── 隐藏多余高级工具 ── */
html.claude .auto-play-speech-switch{display:none!important}
html.claude .tool-trace-toggle{display:none!important}
html.claude .context-bar{display:none!important}

/* context-info 次级灰色小字 */
html.claude .context-info{
  font-size:11px!important;
  color:rgb(123,121,116)!important;
  opacity:0.7!important;
  line-height:32px!important;
  white-space:nowrap!important;
}
html.claude.dark .context-info{color:rgb(123,121,116)!important}

/* 停止按钮 → 复刻 claude：浅灰描边圆角方块 + 白色内方块（替换 isStreaming 的 error-type 胶囊）*/
html.claude .input-actions .n-button--error-type{
  height:32px!important;
  min-width:32px!important;
  width:32px!important;
  border-radius:8px!important;
  padding:0!important;
  background:transparent!important;
  border:0.5px solid hsl(53 12% 80% / 0.5)!important;
  box-shadow:none!important;
  color:#1f1f1e!important;
  --n-border:0.5px solid hsl(53 12% 80% / 0.5)!important;
  --n-border-hover:0.5px solid hsl(53 12% 80% / 0.7)!important;
  --n-border-pressed:0.5px solid hsl(53 12% 80% / 0.7)!important;
  --n-border-focus:0.5px solid hsl(53 12% 80% / 0.7)!important;
  --n-color:transparent!important;
  --n-color-hover:rgba(0,0,0,0.04)!important;
  --n-text-color:#1f1f1e!important;
}
/* 隐藏"停止"文字 */
html.claude .input-actions .n-button--error-type .n-button__content{
  display:none!important;
}
/* 在按钮本身上画白色实心方块停止符号 */
html.claude .input-actions .n-button--error-type::after{
  content:''!important;
  display:block!important;
  width:11px!important;
  height:11px!important;
  border-radius:2.5px!important;
  background:#1f1f1e!important;
  flex-shrink:0!important;
}
html.claude .input-actions .n-button--error-type .n-button__icon{
  display:none!important;
}
html.claude .input-actions .n-button--error-type .n-icon-slot > *{
  display:none!important;
}
html.claude.dark .input-actions .n-button--error-type{
  border:0.5px solid hsl(53 12% 87% / 0.35)!important;
  --n-border:0.5px solid hsl(53 12% 87% / 0.35)!important;
  --n-color:transparent!important;
  background:transparent!important;
}
/* 暗色下内方块用浅色（claude 实测 hsl(60 14% 97%)）*/
html.claude.dark .input-actions .n-button--error-type::after{
  background:hsl(60 14% 97%)!important;
}

/* stop 出现时，隐藏其后的 send 按钮，实现"替换"效果 */
html.claude .input-actions .n-button--error-type ~ .n-button--primary-type{
  display:none!important;
}

/* ── composer 底部行 tiny 按钮 → 对齐 Claude 32px 规格 ── */
/* n-button--tiny-type: 附件、推理强度等小图标按钮 */
html.claude .input-top-bar .n-button--tiny-type{
  height:32px!important;
  min-width:32px!important;
  width:32px!important;
  border-radius:8px!important;
  padding:0!important;
}
html.claude .input-top-bar .n-button--tiny-type .n-button__icon{
  width:20px!important;
  height:20px!important;
  font-size:20px!important;
  color:rgb(11,11,11)!important;
}
html.claude .input-top-bar .n-button--tiny-type svg{
  width:20px!important;
  height:20px!important;
}
html.claude .input-top-bar .n-button--tiny-type:hover{
  background:rgba(0,0,0,0.06)!important;
}

/* 语音按钮 pill → 方形 8px */
html.claude .voice-dialogue-controls__toggle{
  height:32px!important;
  min-width:32px!important;
  width:32px!important;
  border-radius:8px!important;
  padding:0!important;
  color:rgb(11,11,11)!important;
}
html.claude .voice-dialogue-controls__toggle svg{
  width:20px!important;
  height:20px!important;
  color:rgb(11,11,11)!important;
}
html.claude .voice-dialogue-controls__toggle:hover{
  background:rgba(0,0,0,0.06)!important;
}

/* 暗色模式 */
html.claude.dark .input-top-bar .n-button--tiny-type .n-button__icon,
html.claude.dark .input-top-bar .n-button--tiny-type svg,
html.claude.dark .voice-dialogue-controls__toggle,
html.claude.dark .voice-dialogue-controls__toggle svg{
  color:rgb(244,244,242)!important;
}
html.claude.dark .input-top-bar .n-button--tiny-type:hover,
html.claude.dark .voice-dialogue-controls__toggle:hover{
  background:rgba(255,255,255,0.08)!important;
}
html.claude.dark .context-info{color:rgb(123,121,116)!important}

/* ── 正文版心宽度层级（对齐 claude.ai 实测）── */
/* 滚动容器 full-width，不限宽；只把内层消息列做版心 */
html.claude .virtual-message-list-host{
  --virtual-list-padding: 16px 0 20px!important;
  width:100%!important;
}

/* 内层消息列 → Claude 752px / max-width 768px + padding 16px，居中 */
/* Claude 架构：滚动容器全宽，内容由 .virtual-row 限宽居中 */
html.claude .virtual-message-list{
  max-width:none!important;
  width:100%!important;
  margin:0!important;
  padding-left:0!important;
  padding-right:0!important;
  box-sizing:border-box!important;
}

/* 每行 virtual-row = Claude 内容列：max-w-3xl(768) + 左右 px-4(16), 居中 */
html.claude .virtual-row{
  max-width:var(--claude-content-width)!important;
  width:100%!important;
  margin-left:auto!important;
  margin-right:auto!important;
  box-sizing:border-box!important;
}

/* streaming-indicator 和 fork-divider 走同一 768 中心轴 */
html.claude .streaming-indicator,
html.claude .fork-divider{
  max-width:var(--claude-content-width)!important;
  width:100%!important;
  margin-left:auto!important;
  margin-right:auto!important;
  box-sizing:border-box!important;
}

/* 用户消息父级：约 720px，内容靠右 */
html.claude .message.user{
  max-width:100%!important;
  width:100%!important;
  align-items:flex-end!important;
}

/* ── Claude 主题：头像悬浮在正文左侧（绝对定位，正文位置完全不动）── */
/* 真实结构：.message.assistant > .msg-body > (msg-avatar + .msg-content) */
/* 关键：.virtual-message-list 默认 overflow-x:hidden 会裁掉左侧头像， */
/* 故在 Claude 主题下把横向溢出放开为 visible（纵向滚动保留 auto）*/
html.claude .virtual-message-list{
  overflow-x:visible!important;
}

/* 消息行作为头像定位锚点，正文不预留空位、不位移 */
html.claude .message.assistant {
  flex-direction:column!important;
  gap:0!important;
  position:relative!important;
  padding-left:0!important;
}

/* msg-body 作为头像的相对定位锚点；正文从左边界起 */
html.claude .message.assistant .msg-body {
  position:relative!important;
  display:block!important;
  width:100%!important;
  max-width:100%!important;
}

/* 正文满宽，左边界恒定不动 */
html.claude .message.assistant .msg-content {
  width:100%!important;
  max-width:100%!important;
}

/* 头像绝对定位悬浮到正文左侧外，脱离文档流 → 显示/隐藏都不影响正文位置 */
html.claude .message.assistant .msg-avatar {
  position:absolute!important;
  left:-44px!important;
  top:0!important;
  width:36px!important;
  height:36px!important;
  margin:0!important;
  flex-shrink:0!important;
  z-index:1!important;
}
/* 移动端/窄屏(竖屏)自动隐藏头像: left:-44px 会跑到屏外被裁切显示不全。
   纯媒体查询响应式 — 横屏(>768px)自动恢复显示, 无需手动开关, 与 Cmd+Shift+H 手动开关互不干扰 */
@media (max-width:768px){
  html.claude .message.assistant .msg-avatar{display:none!important}
}
/* ── 消息队列浮动面板：Claude 主题下收窄常驻（不折叠、不改换行） ── */
/* 只把 340px 写死宽度改成 260px 窄浮层，文字排版交回组件原生样式 */

/* 常驻窄浮层：260px，位置不变 */
html.claude .message-float-stack[data-v-29cd8f3e],
html.claude .message-float-stack{
  width:260px!important;
  min-width:260px!important;
  max-width:260px!important;
  height:auto!important;
  left:auto!important;
  right:16px!important;
  bottom:16px!important;
  z-index:8!important;
  pointer-events:auto!important;
}
/* 面板宽度跟随父级，不再写死 340px */
html.claude .queue-float-panel[data-v-29cd8f3e],
html.claude .approval-float-panel[data-v-29cd8f3e],
html.claude .queue-float-panel,
html.claude .approval-float-panel{
  width:100%!important;
  min-width:0!important;
  max-width:260px!important;
  box-sizing:border-box!important;
}

/* ===== Claude 主题 composer + 菜单（Hermes 独有功能收纳） ===== */
/* + 按钮：32x32 透明，20px plus icon，仿 Claude Add files */
html.claude .input-top-bar .claude-plus-btn{
  height:32px!important;
  width:32px!important;
  min-width:32px!important;
  border-radius:8px!important;
  padding:0!important;
  background:transparent!important;
  border:none!important;
  color:rgb(11,11,11)!important;
}
html.claude .input-top-bar .claude-plus-btn svg{
  width:20px!important;
  height:20px!important;
  color:rgb(11,11,11)!important;
}
html.claude .input-top-bar .claude-plus-btn:hover{
  background:rgba(0,0,0,0.06)!important;
}
html.claude.dark .input-top-bar .claude-plus-btn,
html.claude.dark .input-top-bar .claude-plus-btn svg{
  color:rgb(244,244,242)!important;
}
html.claude.dark .input-top-bar .claude-plus-btn:hover{
  background:rgba(255,255,255,0.08)!important;
}

/* + 菜单弹层：Claude 风格轻量卡片 */
html.claude .claude-plus-menu.n-popover,
.n-popover.claude-plus-menu{
  background:#fff!important;
  border-radius:14px!important;
  border:1px solid rgba(31,31,30,0.08)!important;
  box-shadow:0 8px 28px rgba(0,0,0,0.08)!important;
  padding:8px!important;
  min-width:220px!important;
}
html.claude.dark .claude-plus-menu.n-popover,
html.claude.dark .n-popover.claude-plus-menu{
  background:#30302e!important;
  border:1px solid rgba(255,255,255,0.08)!important;
  box-shadow:0 8px 28px rgba(0,0,0,0.4)!important;
}

/* 菜单内容容器：纵向列表 */
html.claude .claude-plus-pop{
  display:flex!important;
  flex-direction:column!important;
  gap:2px!important;
  min-width:204px!important;
}
/* 把每个被收纳的功能（hover-popover 外壳）变成整行 */
html.claude .claude-plus-pop > *{
  display:block!important;
  width:100%!important;
}
/* 每个功能按钮：36px 行，18px icon，左对齐 */
html.claude .claude-plus-pop .n-button{
  height:36px!important;
  min-width:0!important;
  width:100%!important;
  border-radius:8px!important;
  padding:0 10px!important;
  justify-content:flex-start!important;
  background:transparent!important;
  border:none!important;
  color:rgb(31,31,30)!important;
  font-size:14px!important;
}
html.claude .claude-plus-pop .n-button .n-button__icon,
html.claude .claude-plus-pop .n-button svg{
  width:18px!important;
  height:18px!important;
  font-size:18px!important;
  margin-right:10px!important;
  color:rgb(31,31,30)!important;
}
html.claude .claude-plus-pop .n-button:hover{
  background:rgba(0,0,0,0.04)!important;
}
html.claude.dark .claude-plus-pop .n-button,
html.claude.dark .claude-plus-pop .n-button .n-button__icon,
html.claude.dark .claude-plus-pop .n-button svg{
  color:rgb(234,234,230)!important;
}
html.claude.dark .claude-plus-pop .n-button:hover{
  background:rgba(255,255,255,0.06)!important;
}
/* 文字标签：用 aria-label 注入 */
html.claude .claude-plus-pop .n-button::after{
  content:attr(aria-label)!important;
  font-size:14px!important;
  white-space:nowrap!important;
  line-height:36px!important;
}
/* 圆形按钮在菜单里取消圆形，回正常行 */
html.claude .claude-plus-pop .n-button.n-button--circle{
  border-radius:8px!important;
}
/* 自动播放语音那一行：内部是 switch-label + n-switch，整行展开 */
html.claude .claude-plus-pop .auto-play-speech-switch{
  display:flex!important;
  align-items:center!important;
  height:36px!important;
  padding:0 10px!important;
  gap:10px!important;
  border-radius:8px!important;
  font-size:14px!important;
  color:rgb(31,31,30)!important;
}
html.claude .claude-plus-pop .auto-play-speech-switch:hover{
  background:rgba(0,0,0,0.04)!important;
}
html.claude .claude-plus-pop .auto-play-speech-switch .switch-label svg{
  width:18px!important;
  height:18px!important;
  color:rgb(31,31,30)!important;
}
html.claude .claude-plus-pop .auto-play-speech-switch::after{
  content:"自动朗读"!important;
  font-size:14px!important;
  margin-right:auto!important;
}
html.claude.dark .claude-plus-pop .auto-play-speech-switch,
html.claude.dark .claude-plus-pop .auto-play-speech-switch .switch-label svg{
  color:rgb(234,234,230)!important;
}
html.claude.dark .claude-plus-pop .auto-play-speech-switch:hover{
  background:rgba(255,255,255,0.06)!important;
}
/* 推理强度下拉在菜单里也整行 */
html.claude .claude-plus-pop .n-select{
  width:100%!important;
}

/* 头像 left:-44px 绝对定位悬在正文左侧，chat-main-content 的 overflow:hidden 会截掉它 */
/* 加上 scoped 属性选择器确保特异性赢过组件规则 */
html.claude .chat-main-content[data-v-d9b4d490],
html.claude .chat-main-content{
  overflow:visible!important;
}

/* ── 移除侧边栏「设置」右侧的小方盒外链按钮 (ESP32 文档广告入口, 用户要求隐藏) ── */
html.claude .settings-circuit-link{display:none!important}

/* ════════════════════════════════════════════════════════════════
   AUTHORITATIVE MARKDOWN SPEC — 完全复刻 claude.ai 实测渲染值
   放在主题末尾, 用 !important + 最后出现盖掉前面所有零散标题/正文规则
   实测基准(vp1763, claude.ai 2026-06): # =22/26.4  ## =18/26.4  ### =16/24
   ════════════════════════════════════════════════════════════════ */
/* 标题三级: 字号+行高+margin 全锁死 (行高是关键, 之前漏锁导致标题块偏高10px) */
/* 根容器行高基准 = Claude 1.65 (26.4/16), 之前漏锁导致整段比 Claude 挤 3.3px/行 */
html.claude .markdown-body{line-height:26.4px!important}
/* 修复: Hermes 默认给 markdown-body 设了 overflow:auto, 导致单条消息内部冒出寄生滚动条(滚动条贴在内容列附近). Claude 根容器是 visible, 这里改回 visible 消除寄生滚动条 */
html.claude .message.assistant .markdown-body,html.claude .msg-content.assistant .markdown-body{overflow:visible!important}
html.claude .markdown-body h1{font-size:22px!important;line-height:26.4px!important;font-weight:600!important;color:var(--claude-heading)!important;letter-spacing:-0.01em!important;margin:12px 0 -4px 0!important;padding:0!important}
html.claude .markdown-body h2{font-size:18px!important;line-height:26.4px!important;font-weight:600!important;color:var(--claude-heading)!important;letter-spacing:-0.01em!important;margin:12px 0 -4px 0!important;padding:0!important}
html.claude .markdown-body h3{font-size:16px!important;line-height:24px!important;font-weight:600!important;color:var(--claude-heading)!important;letter-spacing:0!important;margin:8px 0 -4px 0!important;padding:0!important}
html.claude .markdown-body h4,html.claude .markdown-body h5,html.claude .markdown-body h6{font-size:16px!important;line-height:24px!important;font-weight:600!important;color:var(--claude-heading)!important;letter-spacing:0!important;margin:8px 0 -4px 0!important;padding:0!important}
/* 正文段落: 16/24, 无衬线, 段间 0 (Claude 靠元素间隙不靠 p margin) */
html.claude .markdown-body p{font-size:16px!important;line-height:24px!important;font-weight:400!important;color:var(--claude-text)!important;margin:0 0 8px 0!important;padding:0!important}
/* 列表: ul/ol 左缩 32 下边 12; li 16/24 下边 4 左 padding 8 (圆点到文字 40) */
html.claude .markdown-body ul,html.claude .markdown-body ol{padding-left:32px!important;margin:0 0 12px 0!important;line-height:26.4px!important}
html.claude .markdown-body li{font-size:16px!important;line-height:24px!important;font-weight:400!important;color:var(--claude-text)!important;margin:0 0 4px 0!important;padding-left:8px!important}
html.claude .markdown-body li>p{margin:0!important}
/* 加粗: 600, 颜色 strong */
html.claude .markdown-body strong,html.claude .markdown-body b{font-weight:600!important;color:var(--claude-strong)!important}
/* 行内代码: 14.4/21.6, 深红褐, 淡底 */
html.claude .markdown-body code:not(pre code){font-size:14.4px!important;line-height:21.6px!important;font-weight:400!important;color:rgb(141,37,37)!important;background:var(--claude-code-bg)!important;border:0.5px solid var(--claude-code-border)!important;padding:1px 4px!important;border-radius:6.4px!important}
html.claude.dark .markdown-body code:not(pre code){color:var(--claude-code)!important}
/* 代码块: 14/22.75, Mono, 圆角8 */
html.claude .markdown-body pre,html.claude .markdown-body pre code{font-size:14px!important;line-height:22.75px!important;color:var(--claude-pre-text)!important;background:var(--claude-pre-bg)!important}
/* 引用块: 4px淡边 左8 非斜体 行高26.4 */
html.claude .markdown-body blockquote{border-left:4px solid rgba(31,31,30,0.1)!important;padding-left:8px!important;margin-left:0!important;color:rgb(55,55,52)!important;font-style:normal!important;background:transparent!important;line-height:26.4px!important}
html.claude.dark .markdown-body blockquote{color:rgb(195,194,183)!important;border-left-color:rgba(226,225,218,0.1)!important}
/* 分割线: 0.5px 淡线 上下12 */
html.claude .markdown-body hr{border:none!important;border-top:0.5px solid rgba(31,31,30,0.3)!important;height:0.5px!important;background:transparent!important;margin:12px 0!important}
html.claude.dark .markdown-body hr{border-top-color:rgba(226,225,218,0.3)!important}
/* 夜间标题统一浅色 */
html.claude.dark .markdown-body h1,html.claude.dark .markdown-body h2,html.claude.dark .markdown-body h3,html.claude.dark .markdown-body h4,html.claude.dark .markdown-body h5,html.claude.dark .markdown-body h6{color:rgb(248,248,246)!important}
/* END AUTHORITATIVE MARKDOWN SPEC */
/* === 正文块元素 padding-left 8px + 斜体颜色对齐 claude.ai === */
html.claude .message.assistant .markdown-body h1,html.claude .message.assistant .markdown-body h2,html.claude .message.assistant .markdown-body h3,html.claude .message.assistant .markdown-body h4,html.claude .message.assistant .markdown-body h5,html.claude .message.assistant .markdown-body h6,html.claude .message.assistant .markdown-body p,html.claude .message.assistant .markdown-body blockquote{padding-left:8px!important;padding-right:32px!important}
html.claude .message.assistant .markdown-body ul,html.claude .message.assistant .markdown-body ol{padding-right:32px!important}
html.claude .message.assistant .markdown-body em,html.claude .message.assistant .markdown-body i{color:var(--claude-text)!important;font-style:italic!important}
html.claude.dark .message.assistant .markdown-body em,html.claude.dark .message.assistant .markdown-body i{color:rgb(255,255,255)!important}
/* === Claude 间距系统: markdown-body 用 grid+gap:12px (块间不折叠,复刻 claude.ai) === */
/* 正文列 720 居中(Claude: 正文/代码框 720, 输入框 752, 共享中心轴, 正文比输入框窄32) */
html.claude .message.assistant .markdown-body{display:grid!important;grid-template-columns:minmax(0,1fr)!important;row-gap:12px!important;max-width:720px!important;margin-left:auto!important;margin-right:auto!important}
html.claude .message.assistant .markdown-body p,html.claude .message.assistant .markdown-body ul,html.claude .message.assistant .markdown-body ol,html.claude .message.assistant .markdown-body blockquote,html.claude .message.assistant .markdown-body table,html.claude .message.assistant .markdown-body pre{margin-top:0!important;margin-bottom:0!important}
html.claude .message.assistant .markdown-body h1,html.claude .message.assistant .markdown-body h2{margin-top:12px!important;margin-bottom:-4px!important}
html.claude .message.assistant .markdown-body h3,html.claude .message.assistant .markdown-body h4,html.claude .message.assistant .markdown-body h5,html.claude .message.assistant .markdown-body h6{margin-top:8px!important;margin-bottom:-4px!important}
html.claude .message.assistant .markdown-body ul,html.claude .message.assistant .markdown-body ol{margin-bottom:12px!important}
html.claude .message.assistant .markdown-body blockquote{padding-top:0!important;padding-bottom:0!important}
html.claude .markdown-body .code-lang,html.claude .code-lang{text-transform:none!important}
/* 表格: Claude 表格比代码框窄(704 vs 719),左右各缩8居中,fixed 让列均分 */
html.claude .message.assistant .markdown-body table{width:calc(100% - 16px)!important;table-layout:fixed!important;display:table!important;margin-bottom:24px!important;margin-left:8px!important;margin-right:8px!important}
/* 列表: flex+gap:4px(Claude 用 gap 不用 li margin),li 间距归 gap */
html.claude .message.assistant .markdown-body ul,html.claude .message.assistant .markdown-body ol{display:flex!important;flex-direction:column!important;gap:4px!important}
html.claude .message.assistant .markdown-body li{margin-top:0!important;margin-bottom:0!important}
/* 进行态/工具元素对齐正文列(720居中+左8padding): thinking指示器/动效星标/工具调用块 */
html.claude .streaming-indicator,html.claude .thinking-status{max-width:720px!important;margin-left:auto!important;margin-right:auto!important;width:100%!important;box-sizing:border-box!important;padding-left:0!important;padding-right:0!important}
html.claude .message.tool{max-width:720px!important;margin-left:auto!important;margin-right:auto!important;box-sizing:border-box!important}
/* 引用块内文字也用灰色(夜间不跟随正文白色,Claude 实测 bq 内 p 是灰 rgb(195,194,183)) */
html.claude .message.assistant .markdown-body blockquote p,html.claude .message.assistant .markdown-body blockquote li{color:rgb(55,55,52)!important}
html.claude.dark .message.assistant .markdown-body blockquote p,html.claude.dark .message.assistant .markdown-body blockquote li{color:rgb(195,194,183)!important}
/* === 代码高亮 token 配色对齐 claude.ai (Prism 配色, 日间) === */
html.claude .markdown-body pre code.hljs .hljs-string{color:rgb(0,128,0)!important}
html.claude .markdown-body pre code.hljs .hljs-keyword{color:rgb(129,0,194)!important}
html.claude .markdown-body pre code.hljs .hljs-built_in{color:rgb(129,0,194)!important}
html.claude .markdown-body pre code.hljs .hljs-title{color:rgb(20,24,31)!important}
html.claude .markdown-body pre code.hljs .hljs-title.function_{color:rgb(20,24,31)!important}
html.claude .markdown-body pre code.hljs .hljs-params{color:rgb(20,24,31)!important}
html.claude .markdown-body pre code.hljs .hljs-number{color:rgb(0,128,128)!important}
html.claude .markdown-body pre code.hljs .hljs-comment{color:rgb(110,118,135)!important}
html.claude .markdown-body pre code.hljs .hljs-operator,html.claude .markdown-body pre code.hljs .hljs-punctuation{color:rgb(43,48,59)!important}
html.claude .markdown-body pre code.hljs{color:rgb(20,24,31)!important}
/* === 代码高亮 token 配色对齐 claude.ai (Prism 配色, 夜间) === */
html.claude.dark .markdown-body pre code.hljs .hljs-string{color:rgb(155,233,99)!important}
html.claude.dark .markdown-body pre code.hljs .hljs-keyword{color:rgb(204,123,244)!important}
html.claude.dark .markdown-body pre code.hljs .hljs-built_in{color:rgb(204,123,244)!important}
html.claude.dark .markdown-body pre code.hljs .hljs-title{color:rgb(234,236,240)!important}
html.claude.dark .markdown-body pre code.hljs .hljs-title.function_{color:rgb(234,236,240)!important}
html.claude.dark .markdown-body pre code.hljs .hljs-params{color:rgb(234,236,240)!important}
html.claude.dark .markdown-body pre code.hljs .hljs-number{color:rgb(94,237,237)!important}
html.claude.dark .markdown-body pre code.hljs .hljs-comment{color:rgb(129,136,152)!important}
html.claude.dark .markdown-body pre code.hljs .hljs-operator,html.claude.dark .markdown-body pre code.hljs .hljs-punctuation{color:rgb(211,215,222)!important}
html.claude.dark .markdown-body pre code.hljs{color:rgb(234,236,240)!important}
/* END HERMES STUDIO CLAUDE THEME */
/* BEGIN CRESX CONTENT PANEL */

/* ============ Claude-style Content (资源) Panel ============ */
/* 入口按钮：嵌进原生顶部工具栏 .header-actions，仿原生 28×28 图标按钮 */
html.claude .header-actions .cresx-trigger{
  position:relative;
  display:inline-flex; align-items:center; justify-content:center;
  width:28px; height:28px; padding:0; margin:0 2px 0 0;
  border-radius:6px; border:none; background:transparent;
  color:#3d3d3a; cursor:pointer; vertical-align:middle;
  transition:background .15s,color .15s;
}
html.claude .header-actions .cresx-trigger:hover{ background:rgba(0,0,0,0.06); color:#1f1f1e; }
html.claude .header-actions .cresx-trigger svg{ color:#3d3d3a; }
html.claude .header-actions .cresx-trigger:hover svg{ color:#d97757; }
html.claude.dark .header-actions .cresx-trigger{ color:#c8c6bf; }
html.claude.dark .header-actions .cresx-trigger:hover{ background:rgba(255,255,255,0.10); }
html.claude.dark .header-actions .cresx-trigger svg{ color:#c8c6bf; }
/* 数字角标：右上角小圆点 */
html.claude .header-actions .cresx-trigger-badge{
  position:absolute; top:-3px; right:-3px;
  min-width:15px; height:15px; padding:0 4px; border-radius:8px;
  background:#d97757; color:#fff; font-size:9px; font-weight:700; line-height:15px; text-align:center;
  pointer-events:none; box-shadow:0 0 0 1.5px var(--bg-primary,#faf9f5);
}
html.claude.dark .header-actions .cresx-trigger-badge{ box-shadow:0 0 0 1.5px #262624; }

/* 面板：作为 .chat-content-wrapper 的 flex 子节点停靠（和 outline-panel 同级），
   挤压正文不浮层、不越顶栏线。收起=宽0，展开=380。 */
html.claude .chat-content-wrapper .cresx-panel{
  position:relative; flex:0 0 auto; width:0; min-width:0; align-self:stretch;
  overflow:hidden; opacity:0;
  background:#faf9f5; border-left:0.5px solid rgba(31,31,30,0.12);
  display:flex; flex-direction:column;
  transition:max-width .28s cubic-bezier(0.32,0.72,0,1), opacity .2s;
  font-family:'Anthropic Sans',-apple-system,BlinkMacSystemFont,sans-serif;
}
html.claude .chat-content-wrapper .cresx-panel.cresx-show{
  flex:0 0 auto!important; width:380px!important; min-width:380px!important; max-width:380px!important; opacity:1!important;
}
/* 内容固定 380 宽，面板收缩时不挤压文字（靠 overflow:hidden 裁切） */
html.claude .chat-content-wrapper .cresx-panel > *{ width:380px!important; box-sizing:border-box; flex-shrink:0; }
/* body 必须能在面板内被约束高度并内部滚动（修复 33 项滚不动）*/
html.claude .chat-content-wrapper .cresx-panel > .cresx-body{ flex:1 1 auto!important; min-height:0!important; height:auto!important; overflow-y:auto!important; }
html.claude.dark .chat-content-wrapper .cresx-panel{ background:#262624; border-left-color:rgba(226,225,218,0.12); }
/* 面板打开时，强制正文区让出 380 宽（chat-main-content 不肯收缩时的兜底） */
html.claude .chat-content-wrapper > .chat-main-content{ transition:max-width .28s cubic-bezier(0.32,0.72,0,1); }
html.claude.cresx-open .chat-content-wrapper > .chat-main-content{ max-width:calc(100% - 380px)!important; }
/* 工具栏按钮激活态 */
html.claude .header-actions .cresx-trigger.cresx-active{ background:rgba(217,119,87,0.14); }
html.claude .header-actions .cresx-trigger.cresx-active svg{ color:#d97757; }

/* 发送按钮：复刻 claude 陶土色实心圆角方块 + 白色上箭头（实测 rgb(198,97,63)）*/
html.claude .input-actions .n-button--primary-type{
  width:32px!important; height:32px!important; border-radius:8px!important;
  background:rgb(198,97,63)!important; background-color:rgb(198,97,63)!important; border:none!important; box-shadow:none!important;
  display:inline-flex!important; align-items:center!important; justify-content:center!important;
  transition:background .15s!important;
}
html.claude .input-actions .n-button--primary-type:hover{ background:rgb(178,84,52)!important; background-color:rgb(178,84,52)!important; }
html.claude .input-actions .n-button--primary-type:disabled,
html.claude .input-actions .n-button--primary-type.n-button--disabled{
  background:rgb(198,97,63)!important; opacity:0.4!important; cursor:not-allowed!important;
}
/* 隐藏原生 send icon + 文字，用 ::after 画实心白色上箭头 */
html.claude .input-actions .n-button--primary-type .n-button__icon,
html.claude .input-actions .n-button--primary-type .n-button__content,
html.claude .input-actions .n-button--primary-type .n-icon-slot,
html.claude .input-actions .n-button--primary-type .n-icon-slot > *,
html.claude .input-actions .n-button--primary-type svg{ display:none!important; }
html.claude .input-actions .n-button--primary-type::after{
  content:''!important; display:block!important;
  width:18px!important; height:18px!important;
  background-color:#fff!important;
  -webkit-mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'><line x1='12' y1='20' x2='12' y2='4'/><polyline points='5 11 12 4 19 11'/></svg>") center/contain no-repeat;
  mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'><line x1='12' y1='20' x2='12' y2='4'/><polyline points='5 11 12 4 19 11'/></svg>") center/contain no-repeat;
}

/* header */
html.claude .cresx-head{
  display:flex; align-items:center; justify-content:space-between;
  height:56px; padding:0 14px 0 18px; flex:0 0 56px;
  border-bottom:0.5px solid rgba(31,31,30,0.10);
}
html.claude.dark .cresx-head{ border-bottom-color:rgba(226,225,218,0.10); }
html.claude .cresx-head-title{ display:flex; align-items:center; gap:8px; }
html.claude .cresx-head-ic{ display:inline-flex; color:#d97757; }
html.claude .cresx-head-txt{ font-size:16px; font-weight:600; color:#1f1f1e; font-family:'Anthropic Serif',Georgia,serif; }
html.claude.dark .cresx-head-txt{ color:#f8f8f6; }
html.claude .cresx-count{
  min-width:20px; height:20px; padding:0 6px; border-radius:10px;
  background:rgba(217,119,87,0.14); color:#d97757; font-size:12px; font-weight:600; line-height:20px; text-align:center;
}

/* 通用图标按钮 */
html.claude .cresx-icon-btn{
  display:inline-flex; align-items:center; justify-content:center;
  width:32px; height:32px; border-radius:8px; border:none; background:transparent;
  color:#6b6860; cursor:pointer; transition:background .15s,color .15s;
}
html.claude .cresx-icon-btn:hover{ background:rgba(0,0,0,0.05); color:#1f1f1e; }
html.claude.dark .cresx-icon-btn{ color:#a8a59c; }
html.claude.dark .cresx-icon-btn:hover{ background:rgba(255,255,255,0.06); color:#f8f8f6; }
html.claude .cresx-icon-btn.cresx-copied{ color:#22a06b; }

/* body */
html.claude .cresx-body{ flex:1 1 auto; overflow-y:auto; padding:16px; }

/* 卡片网格 */
/* 卡片网格：两列均分铺满面板宽度，不留右侧空白 */
html.claude .cresx-grid{ display:grid; grid-template-columns:1fr 1fr; gap:12px; }
html.claude .cresx-card{
  width:auto; height:128px; min-width:0;
  display:flex; flex-direction:column; justify-content:space-between; gap:8px;
  padding:8px 10px; border-radius:8px; overflow:hidden; cursor:pointer; text-align:left;
  background:#fff; border:0.5px solid rgba(31,31,30,0.14);
  box-shadow:0 1px 2px rgba(0,0,0,0.04); transition:border-color .15s,box-shadow .15s,transform .12s;
}
html.claude .cresx-card:hover{ border-color:rgba(31,31,30,0.30); box-shadow:0 3px 10px rgba(0,0,0,0.10); }
html.claude .cresx-card:active{ transform:scale(0.97); }
html.claude.dark .cresx-card{ background:rgb(44,44,42); border-color:rgba(226,225,218,0.25); }
html.claude.dark .cresx-card:hover{ border-color:rgba(226,225,218,0.45); }

html.claude .cresx-card-prev{ flex:1 1 auto; min-height:0; overflow:hidden; }
html.claude .cresx-card-codeprev{
  font-family:'Anthropic Mono',ui-monospace,monospace; font-size:8px; line-height:1.35;
  color:rgba(31,31,30,0.55); white-space:pre-wrap; word-break:break-all; overflow:hidden;
  display:-webkit-box; -webkit-line-clamp:7; -webkit-box-orient:vertical;
}
html.claude.dark .cresx-card-codeprev{ color:rgba(226,225,218,0.55); }
html.claude .cresx-card-img{ width:100%; height:100%; object-fit:cover; border-radius:4px; }
html.claude .cresx-card-fileic{ display:flex; align-items:center; justify-content:center; height:100%; color:#d97757; }

html.claude .cresx-card-foot{ display:flex; align-items:center; gap:6px; flex:0 0 auto; }
html.claude .cresx-card-fic{ display:inline-flex; color:#d97757; flex:0 0 auto; }
html.claude .cresx-card-ftxt{ min-width:0; flex:1 1 auto; }
html.claude .cresx-card-title{ font-size:11px; font-weight:600; color:#1f1f1e; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
html.claude .cresx-card-meta{ font-size:10px; color:#8a857c; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
html.claude.dark .cresx-card-title{ color:#f8f8f6; }
html.claude.dark .cresx-card-meta{ color:#a8a59c; }

/* 空状态 */
html.claude .cresx-empty{ display:flex; flex-direction:column; align-items:center; justify-content:center; height:100%; gap:8px; text-align:center; padding:40px 20px; }
html.claude .cresx-empty-ic{ color:rgba(31,31,30,0.25); margin-bottom:4px; }
html.claude .cresx-empty-t{ font-size:15px; font-weight:600; color:#3d3d3a; }
html.claude .cresx-empty-s{ font-size:13px; color:#8a857c; }
html.claude.dark .cresx-empty-ic{ color:rgba(226,225,218,0.25); }
html.claude.dark .cresx-empty-t{ color:#e8e6df; }

/* 查看器 */
html.claude .cresx-viewer{ flex-direction:column; padding:0; }
html.claude .cresx-vhead{ display:flex; align-items:center; justify-content:space-between; padding:10px 14px; flex:0 0 auto; border-bottom:0.5px solid rgba(31,31,30,0.08); }
html.claude.dark .cresx-vhead{ border-bottom-color:rgba(226,225,218,0.08); }
html.claude .cresx-back{ display:inline-flex; align-items:center; gap:5px; height:30px; padding:0 10px 0 8px; border-radius:8px; border:none; background:transparent; color:#6b6860; font-size:13px; cursor:pointer; transition:background .15s; }
html.claude .cresx-back:hover{ background:rgba(0,0,0,0.05); color:#1f1f1e; }
html.claude.dark .cresx-back{ color:#a8a59c; } html.claude.dark .cresx-back:hover{ background:rgba(255,255,255,0.06); color:#f8f8f6; }
html.claude .cresx-vacts{ display:flex; gap:4px; }
html.claude .cresx-vtitle{ padding:12px 18px 8px; display:flex; flex-direction:column; gap:2px; flex:0 0 auto; }
html.claude .cresx-vtitle-t{ font-size:15px; font-weight:600; color:#1f1f1e; font-family:'Anthropic Serif',Georgia,serif; }
html.claude .cresx-vtitle-m{ font-size:12px; color:#8a857c; }
html.claude.dark .cresx-vtitle-t{ color:#f8f8f6; }
html.claude .cresx-vbody{ flex:1 1 auto; overflow:auto; padding:0 18px 18px; }
html.claude .cresx-vcode{ font-family:'Anthropic Mono',ui-monospace,monospace; font-size:12.5px; line-height:1.6; color:#1f1f1e; white-space:pre-wrap; word-break:break-word; background:rgba(40,40,38,0.04); border:0.5px solid rgba(31,31,30,0.10); border-radius:8px; padding:12px 14px; margin:0; }
html.claude.dark .cresx-vcode{ color:#eaecf0; background:rgba(230,230,225,0.05); border-color:rgba(226,225,218,0.12); }
html.claude .cresx-vimg{ max-width:100%; border-radius:8px; cursor:zoom-in; display:block; }
html.claude .cresx-vfile{ display:flex; flex-direction:column; align-items:center; gap:12px; padding:40px 20px; color:#d97757; font-size:14px; }
html.claude .cresx-vfile div{ color:#3d3d3a; }
html.claude.dark .cresx-vfile div{ color:#e8e6df; }

/* 跳转高亮闪烁 */
html.claude .cresx-flash{ animation:cresx-flash-anim 1.6s ease-out; border-radius:8px; }
@keyframes cresx-flash-anim{ 0%{ box-shadow:0 0 0 3px rgba(217,119,87,0.5); background:rgba(217,119,87,0.10); } 100%{ box-shadow:0 0 0 0 rgba(217,119,87,0); background:transparent; } }

/* ===== 粘贴识别骨架屏（120×120 方块，匹配真卡片）===== */
@keyframes cresx-shimmer{ 0%{ transform:translateX(-100%); } 60%{ transform:translateX(100%); } 100%{ transform:translateX(100%); } }
html.claude .cresx-skel{
  position:relative; display:inline-flex; flex-direction:column; justify-content:space-between;
  width:120px; height:120px; padding:8px 10px; box-sizing:border-box;
  border-radius:8px; overflow:hidden;
  background:#fff; border:0.5px solid rgba(31,31,30,0.14);
  box-shadow:0 1px 2px rgba(0,0,0,0.05); vertical-align:bottom;
}
html.claude.dark .cresx-skel{ background:rgb(44,44,42); border-color:rgba(226,225,218,0.25); }
/* 上部预览块（占满）+ 底部两根标签条 */
html.claude .cresx-skel-prev{ flex:1 1 auto; border-radius:4px; background:rgba(31,31,30,0.08); margin-bottom:6px; }
html.claude.dark .cresx-skel-prev{ background:rgba(226,225,218,0.10); }
html.claude .cresx-skel-foot{ display:flex; align-items:center; justify-content:space-between; gap:6px; flex:0 0 auto; }
html.claude .cresx-skel-bar{ height:8px; border-radius:4px; background:rgba(31,31,30,0.10); }
html.claude.dark .cresx-skel-bar{ background:rgba(226,225,218,0.12); }
html.claude .cresx-skel-bar.b1{ width:54%; }
html.claude .cresx-skel-bar.b2{ width:28%; }
/* shimmer 高光层：一道亮带从左扫到右（claude 真机 keyframe）*/
html.claude .cresx-skel::after{
  content:''; position:absolute; inset:0; pointer-events:none;
  background:linear-gradient(90deg, transparent 0%, rgba(255,255,255,0.55) 50%, transparent 100%);
  transform:translateX(-100%); animation:cresx-shimmer 1.3s ease-in-out infinite;
}
html.claude.dark .cresx-skel::after{
  background:linear-gradient(90deg, transparent 0%, rgba(255,255,255,0.10) 50%, transparent 100%);
}
/* lightbox 翻页箭头 + 计数 */
html.claude .cresx-lb-nav{ position:fixed; top:50%; transform:translateY(-50%); z-index:122; display:inline-flex; align-items:center; justify-content:center; width:44px; height:44px; border-radius:50%; border:none; cursor:pointer; background:rgba(255,255,255,0.14); color:#fff; backdrop-filter:blur(8px); transition:background .15s; }
html.claude .cresx-lb-nav:hover{ background:rgba(255,255,255,0.28); }
html.claude .cresx-lb-prev{ left:24px; }
html.claude .cresx-lb-next{ right:24px; }
html.claude .cresx-lb-counter{ position:fixed; bottom:24px; left:50%; transform:translateX(-50%); z-index:122; padding:5px 12px; border-radius:12px; background:rgba(0,0,0,0.5); color:#fff; font-size:12px; backdrop-filter:blur(8px); pointer-events:none; }

/* ===== 粘贴文本卡片：1:1 复刻 claude 120×120 带预览方块 ===== */
/* 去掉外层 wrapper 的灰框/内边距，只留内层卡片（修复双层框导致的灰圈+尺寸不一） */
html.claude .attachment-previews{ align-items:flex-start!important; }
html.claude .attachment-preview{ background:transparent!important; border:none!important; padding:0!important; border-radius:0!important; box-shadow:none!important; }
/* 已发送消息：.msg-attachment 外层去框（文本卡 + 图片卡都去，修复双层描边+对齐）*/
html.claude .msg-attachment:has(.cresx-paste-card),
html.claude .msg-attachment.image{ background:transparent!important; border:none!important; padding:0!important; border-radius:0!important; box-shadow:none!important; }
/* 统一：粘贴文本卡 + 图片缩略图都 120×120 方块 */
html.claude .attachment-preview .attachment-file.cresx-paste-card,
html.claude .msg-attachment-file.cresx-paste-card,
html.claude .attachment-preview.image .attachment-thumb,
html.claude .attachment-preview.image,
html.claude .msg-attachment.image .msg-attachment-thumb,
html.claude .msg-attachment.image{
  width:120px!important; height:120px!important; min-width:120px!important; max-width:120px!important;
  box-sizing:border-box!important; border-radius:8px!important;
}
html.claude .attachment-preview.image .attachment-thumb,
html.claude .msg-attachment.image .msg-attachment-thumb{ object-fit:cover!important; border:0.5px solid rgba(31,31,30,0.25)!important; box-shadow:rgba(11,11,11,0.06) 0 1px 2px 0,rgba(11,11,11,0.08) 0 2px 8px 0!important; display:block!important; }
html.claude.dark .attachment-preview.image .attachment-thumb,
html.claude.dark .msg-attachment.image .msg-attachment-thumb{ border-color:rgba(226,225,218,0.25)!important; }

html.claude .attachment-preview .attachment-file.cresx-paste-card,
html.claude .msg-attachment-file.cresx-paste-card{
  display:flex!important; flex-direction:column!important; justify-content:space-between!important;
  gap:6px!important; padding:8px 10px!important;
  overflow:hidden!important; cursor:pointer!important;
  background:#fff!important; border:0.5px solid rgba(31,31,30,0.25)!important;
  box-shadow:rgba(11,11,11,0.06) 0 1px 2px 0,rgba(11,11,11,0.08) 0 2px 8px 0!important; transition:border-color .15s,box-shadow .15s!important;
}
html.claude.dark .attachment-preview .attachment-file.cresx-paste-card,
html.claude.dark .msg-attachment-file.cresx-paste-card{ background:rgb(44,44,42)!important; border-color:rgba(226,225,218,0.25)!important; }
/* 隐藏已发送卡片里原生的文件名/大小/下载图标 span */
html.claude .msg-attachment-file.cresx-paste-card > svg,
html.claude .msg-attachment-file.cresx-paste-card > .file-name,
html.claude .msg-attachment-file.cresx-paste-card > .att-name,
html.claude .msg-attachment-file.cresx-paste-card > span:not(.cresx-paste-tag):not(.cresx-paste-lines):not(.cresx-paste-pill),
html.claude .msg-attachment-file.cresx-paste-card > .file-size{ display:none!important; }
html.claude .attachment-preview .attachment-file.cresx-paste-card:hover{ border-color:rgba(31,31,30,0.3)!important; box-shadow:0 3px 10px rgba(0,0,0,0.1)!important; }
html.claude.dark .attachment-preview .attachment-file.cresx-paste-card{ background:rgb(44,44,42)!important; border-color:rgba(226,225,218,0.25)!important; }
/* 隐藏原生 file 图标 + 文件名 + 大小（卡片里不显示这些） */
html.claude .attachment-file.cresx-paste-card > svg,
html.claude .attachment-file.cresx-paste-card > .file-name,
html.claude .attachment-file.cresx-paste-card > .file-size{ display:none!important; }
/* 6 行文字预览（claude: 小字, line-clamp 6, break-all, 暖灰, 顶部对齐）*/
html.claude .cresx-paste-prev{
  flex:1 1 auto!important; min-height:0!important; overflow:hidden!important;
  font-family:'Anthropic Sans',-apple-system,BlinkMacSystemFont,'Segoe UI',system-ui,sans-serif!important;
  font-size:8px!important; line-height:12px!important; color:rgba(31,31,30,0.5)!important;
  white-space:pre-wrap!important; word-break:break-all!important;
  display:-webkit-box!important;display:box!important; -webkit-line-clamp:6!important; -webkit-box-orient:vertical!important;
}
html.claude.dark .cresx-paste-prev{ color:rgba(226,225,218,0.5)!important; }
html.claude .cresx-paste-prev-empty{ color:rgba(31,31,30,0.35)!important; }
/* 底部标签：PASTED 胶囊（靠左、只包文字、小圆角深底浅字）*/
html.claude .cresx-paste-label{ display:flex!important; align-items:center!important; flex:0 0 auto!important; }
html.claude .cresx-paste-pill{
  display:inline-block!important; padding:2px 7px!important; border-radius:5px!important;
  background:rgba(31,31,30,0.08)!important; color:rgba(31,31,30,0.6)!important;
  font-size:9px!important; font-weight:600!important; letter-spacing:0.04em!important;
  font-family:'Anthropic Sans',-apple-system,sans-serif!important; line-height:1.3!important;
}
html.claude.dark .cresx-paste-pill{ background:rgba(226,225,218,0.12)!important; color:rgba(226,225,218,0.65)!important; }

/* ===== 粘贴文本全文查看器（1:1 复刻 claude "Pasted content"）===== */
html.claude .cresx-txtview{ position:fixed; inset:0; z-index:130; display:flex; align-items:center; justify-content:center; background:rgba(0,0,0,0.5); backdrop-filter:blur(4px); opacity:0; transition:opacity .18s; }
html.claude .cresx-txtview.cresx-txtview-show{ opacity:1; }
html.claude .cresx-txtview-box{ width:min(768px,92vw); height:min(80vh,584px); display:flex; flex-direction:column; background:rgb(31,31,30); border:0.5px solid rgba(226,225,218,0.15); border-radius:16px; box-shadow:0 16px 56px rgba(0,0,0,0.4); overflow:hidden; padding:24px; box-sizing:border-box; transform:scale(0.97); transition:transform .18s; }
html.claude .cresx-txtview.cresx-txtview-show .cresx-txtview-box{ transform:scale(1); }
html.claude .cresx-txtview-head{ display:flex; align-items:flex-start; justify-content:space-between; gap:12px; flex:0 0 auto; margin-bottom:16px; }
html.claude .cresx-txtview-hleft{ display:flex; flex-direction:column; gap:4px; min-width:0; }
html.claude .cresx-txtview-title{ font-family:'Anthropic Sans',-apple-system,sans-serif; font-size:20px; font-weight:600; color:rgb(248,248,246); line-height:1.3; }
html.claude .cresx-txtview-meta{ font-family:'Anthropic Sans',-apple-system,sans-serif; font-size:14px; color:rgb(195,194,183); line-height:1.4; }
html.claude .cresx-txtview-acts{ display:flex; gap:4px; flex:0 0 auto; }
html.claude .cresx-txtview-body{ flex:1 1 auto; overflow:auto; min-height:0; }
/* claude 内层框：rgb(44,44,42) + 0.5px边 + radius8 + pad16，正文用 Anthropic Mono 12px */
html.claude .cresx-txtview-frame{ background:rgb(44,44,42); border:0.5px solid rgba(226,225,218,0.15); border-radius:8px; padding:16px; box-sizing:border-box; }
html.claude .cresx-txtview-pre{ margin:0; font-family:'Anthropic Mono',ui-monospace,SFMono-Regular,Menlo,monospace; font-size:12px; line-height:1.6; color:rgb(248,248,246); white-space:pre-wrap; word-break:break-word; }
/* 浅色模式 */
html.claude:not(.dark) .cresx-txtview-box{ background:#faf9f5; border-color:rgba(31,31,30,0.12); }
html.claude:not(.dark) .cresx-txtview-title{ color:#1f1f1e; }
html.claude:not(.dark) .cresx-txtview-meta{ color:#6b6860; }
html.claude:not(.dark) .cresx-txtview-frame{ background:#fff; border-color:rgba(31,31,30,0.12); }
html.claude:not(.dark) .cresx-txtview-pre{ color:#1f1f1e; }

/* 全屏 lightbox */
html.claude .cresx-lightbox{
  position:fixed; inset:0; z-index:120;
  display:flex; align-items:center; justify-content:center;
  background:rgba(0,0,0,0.78); backdrop-filter:blur(4px);
  opacity:0; transition:opacity .2s ease; cursor:zoom-out;
}
html.claude .cresx-lightbox.cresx-lb-show{ opacity:1; }
html.claude .cresx-lb-img{
  max-width:92vw; max-height:90vh; object-fit:contain;
  border-radius:8px; box-shadow:0 12px 48px rgba(0,0,0,0.5);
  transform:scale(0.96); transition:transform .2s ease; cursor:default;
}
html.claude .cresx-lightbox.cresx-lb-show .cresx-lb-img{ transform:scale(1); }
html.claude .cresx-lb-bar{
  position:fixed; top:18px; right:22px; display:flex; gap:10px; z-index:121;
}
html.claude .cresx-lb-btn{
  display:inline-flex; align-items:center; gap:6px;
  height:36px; padding:0 14px; border-radius:10px; border:none; cursor:pointer;
  background:rgba(255,255,255,0.14); color:#fff; font-size:13px;
  font-family:'Anthropic Sans',-apple-system,sans-serif; backdrop-filter:blur(8px);
  transition:background .15s;
}
html.claude .cresx-lb-btn:hover{ background:rgba(255,255,255,0.26); }
html.claude .cresx-lb-btn.cresx-copied{ background:rgba(34,160,107,0.85)!important; }
html.claude .cresx-lb-btn.cresx-copied span{ font-size:0; }
html.claude .cresx-lb-btn.cresx-copied span::after{ content:'已复制'; font-size:13px; }
html.claude .cresx-lb-btn.cresx-copyfail{ background:rgba(200,70,60,0.85)!important; }
html.claude .cresx-lb-close{ width:36px; padding:0; justify-content:center; }
/* viewer 图片提示小字 */
html.claude .cresx-vhint{ margin-top:10px; font-size:12px; color:#8a857c; text-align:center; }
html.claude.dark .cresx-vhint{ color:#a8a59c; }
html.claude .cresx-vimg{ cursor:zoom-in; }

/* END CRESX CONTENT PANEL */

/* CRESX FINAL COMPOSER ALIGNMENT HOTFIX */
/* Composer 附件必须外层同尺寸同顶线：图片/粘贴文本 wrapper 都 120×120，无 padding/无外框 */
html.claude .chat-input-area .attachment-previews > .attachment-preview,
html.claude .chat-input-area .attachment-previews > .attachment-preview.image,
html.claude .chat-input-area .attachment-previews > .attachment-preview:has(.cresx-paste-card){
  width:120px!important;
  height:120px!important;
  min-width:120px!important;
  max-width:120px!important;
  padding:0!important;
  margin:0!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
  border-radius:8px!important;
  overflow:hidden!important;
  display:block!important;
  align-self:flex-start!important;
  box-sizing:border-box!important;
}
html.claude .chat-input-area .attachment-previews > .attachment-preview > .attachment-file.cresx-paste-card,
html.claude .chat-input-area .attachment-previews > .attachment-preview.image > img.attachment-thumb,
html.claude .chat-input-area .attachment-previews > .attachment-preview.image > .attachment-thumb{
  width:120px!important;
  height:120px!important;
  min-width:120px!important;
  max-width:120px!important;
  margin:0!important;
  box-sizing:border-box!important;
  border-radius:8px!important;
  display:block!important;
}
html.claude .chat-input-area .attachment-previews > .attachment-preview > .attachment-file.cresx-paste-card{
  display:flex!important;
}
/* END CRESX FINAL COMPOSER ALIGNMENT HOTFIX */


/* CRESX FINAL USER ATTACHMENT LAYOUT HOTFIX */
/* Claude 用户消息布局：附件独立一组靠右，文字气泡独立在下方；不要把附件包进文字气泡视觉容器 */
html.claude .message.user .message-bubble:has(.msg-attachments){
  background:transparent!important;
  padding:0!important;
  border:0!important;
  box-shadow:none!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-end!important;
  gap:8px!important;
  max-width:min(760px,100%)!important;
}
html.claude .message.user .message-bubble:has(.msg-attachments) > .msg-attachments{
  order:0!important;
  display:flex!important;
  flex-wrap:wrap!important;
  justify-content:flex-end!important;
  align-items:flex-start!important;
  gap:8px!important;
  max-width:520px!important;
  width:auto!important;
  margin:0!important;
  align-self:flex-end!important;
}
html.claude .message.user .message-bubble:has(.msg-attachments) > .markdown-body{
  order:1!important;
  background:#efeeeb!important;
  color:#1f1f1e!important;
  border-radius:12px!important;
  padding:10px 16px!important;
  max-width:min(75ch,85%)!important;
  width:fit-content!important;
  overflow-wrap:break-word!important;
  word-break:normal!important;
  align-self:flex-end!important;
  box-sizing:border-box!important;
}
html.claude.dark .message.user .message-bubble:has(.msg-attachments) > .markdown-body{
  background:rgb(18,18,18)!important;
  color:#f8f8f6!important;
}
html.claude .message.user .message-bubble:has(.msg-attachments) > .markdown-body:empty{display:none!important;}
/* END CRESX FINAL USER ATTACHMENT LAYOUT HOTFIX */

/* CRESX pastetext 兜底查看（旧卡片原文未缓存）*/
html.claude .cresx-vfile-t{ font-family:'Anthropic Serif',Georgia,serif!important; font-size:18px!important; font-weight:600!important; color:#1f1f1e!important; margin-top:14px!important; }
html.claude.dark .cresx-vfile-t{ color:#f8f8f6!important; }
html.claude .cresx-vfile-s{ font-family:'Anthropic Sans',-apple-system,sans-serif!important; font-size:13px!important; color:#8a857c!important; margin-top:6px!important; max-width:280px!important; line-height:1.5!important; text-align:center!important; }
/* END HERMES STUDIO CLAUDE THEME */
/* BEGIN CRESX CONTENT PANEL */

/* ============ Claude-style Content (资源) Panel ============ */
/* 入口按钮：嵌进原生顶部工具栏 .header-actions，仿原生 28×28 图标按钮 */
html.claude .header-actions .cresx-trigger{
  position:relative;
  display:inline-flex; align-items:center; justify-content:center;
  width:28px; height:28px; padding:0; margin:0 2px 0 0;
  border-radius:6px; border:none; background:transparent;
  color:#3d3d3a; cursor:pointer; vertical-align:middle;
  transition:background .15s,color .15s;
}
html.claude .header-actions .cresx-trigger:hover{ background:rgba(0,0,0,0.06); color:#1f1f1e; }
html.claude .header-actions .cresx-trigger svg{ color:#3d3d3a; }
html.claude .header-actions .cresx-trigger:hover svg{ color:#d97757; }
html.claude.dark .header-actions .cresx-trigger{ color:#c8c6bf; }
html.claude.dark .header-actions .cresx-trigger:hover{ background:rgba(255,255,255,0.10); }
html.claude.dark .header-actions .cresx-trigger svg{ color:#c8c6bf; }
/* 数字角标：右上角小圆点 */
html.claude .header-actions .cresx-trigger-badge{
  position:absolute; top:-3px; right:-3px;
  min-width:15px; height:15px; padding:0 4px; border-radius:8px;
  background:#d97757; color:#fff; font-size:9px; font-weight:700; line-height:15px; text-align:center;
  pointer-events:none; box-shadow:0 0 0 1.5px var(--bg-primary,#faf9f5);
}
html.claude.dark .header-actions .cresx-trigger-badge{ box-shadow:0 0 0 1.5px #262624; }

/* 面板：作为 .chat-content-wrapper 的 flex 子节点停靠（和 outline-panel 同级），
   挤压正文不浮层、不越顶栏线。收起=宽0，展开=380。 */
html.claude .chat-content-wrapper .cresx-panel{
  position:relative; flex:0 0 auto; width:0; min-width:0; align-self:stretch;
  overflow:hidden; opacity:0;
  background:#faf9f5; border-left:0.5px solid rgba(31,31,30,0.12);
  display:flex; flex-direction:column;
  transition:max-width .28s cubic-bezier(0.32,0.72,0,1), opacity .2s;
  font-family:'Anthropic Sans',-apple-system,BlinkMacSystemFont,sans-serif;
}
html.claude .chat-content-wrapper .cresx-panel.cresx-show{
  flex:0 0 auto!important; width:380px!important; min-width:380px!important; max-width:380px!important; opacity:1!important;
}
/* 内容固定 380 宽，面板收缩时不挤压文字（靠 overflow:hidden 裁切） */
html.claude .chat-content-wrapper .cresx-panel > *{ width:380px!important; box-sizing:border-box; flex-shrink:0; }
/* body 必须能在面板内被约束高度并内部滚动（修复 33 项滚不动）*/
html.claude .chat-content-wrapper .cresx-panel > .cresx-body{ flex:1 1 auto!important; min-height:0!important; height:auto!important; overflow-y:auto!important; }
html.claude.dark .chat-content-wrapper .cresx-panel{ background:#262624; border-left-color:rgba(226,225,218,0.12); }
/* 面板打开时，强制正文区让出 380 宽（chat-main-content 不肯收缩时的兜底） */
html.claude .chat-content-wrapper > .chat-main-content{ transition:max-width .28s cubic-bezier(0.32,0.72,0,1); }
html.claude.cresx-open .chat-content-wrapper > .chat-main-content{ max-width:calc(100% - 380px)!important; }
/* 工具栏按钮激活态 */
html.claude .header-actions .cresx-trigger.cresx-active{ background:rgba(217,119,87,0.14); }
html.claude .header-actions .cresx-trigger.cresx-active svg{ color:#d97757; }

/* 发送按钮：复刻 claude 陶土色实心圆角方块 + 白色上箭头（实测 rgb(198,97,63)）*/
html.claude .input-actions .n-button--primary-type{
  width:32px!important; height:32px!important; border-radius:8px!important;
  background:rgb(198,97,63)!important; background-color:rgb(198,97,63)!important; border:none!important; box-shadow:none!important;
  display:inline-flex!important; align-items:center!important; justify-content:center!important;
  transition:background .15s!important;
}
html.claude .input-actions .n-button--primary-type:hover{ background:rgb(178,84,52)!important; background-color:rgb(178,84,52)!important; }
html.claude .input-actions .n-button--primary-type:disabled,
html.claude .input-actions .n-button--primary-type.n-button--disabled{
  background:rgb(198,97,63)!important; opacity:0.4!important; cursor:not-allowed!important;
}
/* 隐藏原生 send icon + 文字，用 ::after 画实心白色上箭头 */
html.claude .input-actions .n-button--primary-type .n-button__icon,
html.claude .input-actions .n-button--primary-type .n-button__content,
html.claude .input-actions .n-button--primary-type .n-icon-slot,
html.claude .input-actions .n-button--primary-type .n-icon-slot > *,
html.claude .input-actions .n-button--primary-type svg{ display:none!important; }
html.claude .input-actions .n-button--primary-type::after{
  content:''!important; display:block!important;
  width:18px!important; height:18px!important;
  background-color:#fff!important;
  -webkit-mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'><line x1='12' y1='20' x2='12' y2='4'/><polyline points='5 11 12 4 19 11'/></svg>") center/contain no-repeat;
  mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'><line x1='12' y1='20' x2='12' y2='4'/><polyline points='5 11 12 4 19 11'/></svg>") center/contain no-repeat;
}

/* header */
html.claude .cresx-head{
  display:flex; align-items:center; justify-content:space-between;
  height:56px; padding:0 14px 0 18px; flex:0 0 56px;
  border-bottom:0.5px solid rgba(31,31,30,0.10);
}
html.claude.dark .cresx-head{ border-bottom-color:rgba(226,225,218,0.10); }
html.claude .cresx-head-title{ display:flex; align-items:center; gap:8px; }
html.claude .cresx-head-ic{ display:inline-flex; color:#d97757; }
html.claude .cresx-head-txt{ font-size:16px; font-weight:600; color:#1f1f1e; font-family:'Anthropic Serif',Georgia,serif; }
html.claude.dark .cresx-head-txt{ color:#f8f8f6; }
html.claude .cresx-count{
  min-width:20px; height:20px; padding:0 6px; border-radius:10px;
  background:rgba(217,119,87,0.14); color:#d97757; font-size:12px; font-weight:600; line-height:20px; text-align:center;
}

/* 通用图标按钮 */
html.claude .cresx-icon-btn{
  display:inline-flex; align-items:center; justify-content:center;
  width:32px; height:32px; border-radius:8px; border:none; background:transparent;
  color:#6b6860; cursor:pointer; transition:background .15s,color .15s;
}
html.claude .cresx-icon-btn:hover{ background:rgba(0,0,0,0.05); color:#1f1f1e; }
html.claude.dark .cresx-icon-btn{ color:#a8a59c; }
html.claude.dark .cresx-icon-btn:hover{ background:rgba(255,255,255,0.06); color:#f8f8f6; }
html.claude .cresx-icon-btn.cresx-copied{ color:#22a06b; }

/* body */
html.claude .cresx-body{ flex:1 1 auto; overflow-y:auto; padding:16px; }

/* 卡片网格 */
/* 卡片网格：两列均分铺满面板宽度，不留右侧空白 */
html.claude .cresx-grid{ display:grid; grid-template-columns:1fr 1fr; gap:12px; }
html.claude .cresx-card{
  width:auto; height:128px; min-width:0;
  display:flex; flex-direction:column; justify-content:space-between; gap:8px;
  padding:8px 10px; border-radius:8px; overflow:hidden; cursor:pointer; text-align:left;
  background:#fff; border:0.5px solid rgba(31,31,30,0.14);
  box-shadow:0 1px 2px rgba(0,0,0,0.04); transition:border-color .15s,box-shadow .15s,transform .12s;
}
html.claude .cresx-card:hover{ border-color:rgba(31,31,30,0.30); box-shadow:0 3px 10px rgba(0,0,0,0.10); }
html.claude .cresx-card:active{ transform:scale(0.97); }
html.claude.dark .cresx-card{ background:rgb(44,44,42); border-color:rgba(226,225,218,0.25); }
html.claude.dark .cresx-card:hover{ border-color:rgba(226,225,218,0.45); }

html.claude .cresx-card-prev{ flex:1 1 auto; min-height:0; overflow:hidden; }
html.claude .cresx-card-codeprev{
  font-family:'Anthropic Mono',ui-monospace,monospace; font-size:8px; line-height:1.35;
  color:rgba(31,31,30,0.55); white-space:pre-wrap; word-break:break-all; overflow:hidden;
  display:-webkit-box; -webkit-line-clamp:7; -webkit-box-orient:vertical;
}
html.claude.dark .cresx-card-codeprev{ color:rgba(226,225,218,0.55); }
html.claude .cresx-card-img{ width:100%; height:100%; object-fit:cover; border-radius:4px; }
html.claude .cresx-card-fileic{ display:flex; align-items:center; justify-content:center; height:100%; color:#d97757; }

html.claude .cresx-card-foot{ display:flex; align-items:center; gap:6px; flex:0 0 auto; }
html.claude .cresx-card-fic{ display:inline-flex; color:#d97757; flex:0 0 auto; }
html.claude .cresx-card-ftxt{ min-width:0; flex:1 1 auto; }
html.claude .cresx-card-title{ font-size:11px; font-weight:600; color:#1f1f1e; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
html.claude .cresx-card-meta{ font-size:10px; color:#8a857c; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
html.claude.dark .cresx-card-title{ color:#f8f8f6; }
html.claude.dark .cresx-card-meta{ color:#a8a59c; }

/* 空状态 */
html.claude .cresx-empty{ display:flex; flex-direction:column; align-items:center; justify-content:center; height:100%; gap:8px; text-align:center; padding:40px 20px; }
html.claude .cresx-empty-ic{ color:rgba(31,31,30,0.25); margin-bottom:4px; }
html.claude .cresx-empty-t{ font-size:15px; font-weight:600; color:#3d3d3a; }
html.claude .cresx-empty-s{ font-size:13px; color:#8a857c; }
html.claude.dark .cresx-empty-ic{ color:rgba(226,225,218,0.25); }
html.claude.dark .cresx-empty-t{ color:#e8e6df; }

/* 查看器 */
html.claude .cresx-viewer{ flex-direction:column; padding:0; }
html.claude .cresx-vhead{ display:flex; align-items:center; justify-content:space-between; padding:10px 14px; flex:0 0 auto; border-bottom:0.5px solid rgba(31,31,30,0.08); }
html.claude.dark .cresx-vhead{ border-bottom-color:rgba(226,225,218,0.08); }
html.claude .cresx-back{ display:inline-flex; align-items:center; gap:5px; height:30px; padding:0 10px 0 8px; border-radius:8px; border:none; background:transparent; color:#6b6860; font-size:13px; cursor:pointer; transition:background .15s; }
html.claude .cresx-back:hover{ background:rgba(0,0,0,0.05); color:#1f1f1e; }
html.claude.dark .cresx-back{ color:#a8a59c; } html.claude.dark .cresx-back:hover{ background:rgba(255,255,255,0.06); color:#f8f8f6; }
html.claude .cresx-vacts{ display:flex; gap:4px; }
html.claude .cresx-vtitle{ padding:12px 18px 8px; display:flex; flex-direction:column; gap:2px; flex:0 0 auto; }
html.claude .cresx-vtitle-t{ font-size:15px; font-weight:600; color:#1f1f1e; font-family:'Anthropic Serif',Georgia,serif; }
html.claude .cresx-vtitle-m{ font-size:12px; color:#8a857c; }
html.claude.dark .cresx-vtitle-t{ color:#f8f8f6; }
html.claude .cresx-vbody{ flex:1 1 auto; overflow:auto; padding:0 18px 18px; }
html.claude .cresx-vcode{ font-family:'Anthropic Mono',ui-monospace,monospace; font-size:12.5px; line-height:1.6; color:#1f1f1e; white-space:pre-wrap; word-break:break-word; background:rgba(40,40,38,0.04); border:0.5px solid rgba(31,31,30,0.10); border-radius:8px; padding:12px 14px; margin:0; }
html.claude.dark .cresx-vcode{ color:#eaecf0; background:rgba(230,230,225,0.05); border-color:rgba(226,225,218,0.12); }
html.claude .cresx-vimg{ max-width:100%; border-radius:8px; cursor:zoom-in; display:block; }
html.claude .cresx-vfile{ display:flex; flex-direction:column; align-items:center; gap:12px; padding:40px 20px; color:#d97757; font-size:14px; }
html.claude .cresx-vfile div{ color:#3d3d3a; }
html.claude.dark .cresx-vfile div{ color:#e8e6df; }

/* 跳转高亮闪烁 */
html.claude .cresx-flash{ animation:cresx-flash-anim 1.6s ease-out; border-radius:8px; }
@keyframes cresx-flash-anim{ 0%{ box-shadow:0 0 0 3px rgba(217,119,87,0.5); background:rgba(217,119,87,0.10); } 100%{ box-shadow:0 0 0 0 rgba(217,119,87,0); background:transparent; } }

/* ===== 粘贴识别骨架屏（120×120 方块，匹配真卡片）===== */
@keyframes cresx-shimmer{ 0%{ transform:translateX(-100%); } 60%{ transform:translateX(100%); } 100%{ transform:translateX(100%); } }
html.claude .cresx-skel{
  position:relative; display:inline-flex; flex-direction:column; justify-content:space-between;
  width:120px; height:120px; padding:8px 10px; box-sizing:border-box;
  border-radius:8px; overflow:hidden;
  background:#fff; border:0.5px solid rgba(31,31,30,0.14);
  box-shadow:0 1px 2px rgba(0,0,0,0.05); vertical-align:bottom;
}
html.claude.dark .cresx-skel{ background:rgb(44,44,42); border-color:rgba(226,225,218,0.25); }
/* 上部预览块（占满）+ 底部两根标签条 */
html.claude .cresx-skel-prev{ flex:1 1 auto; border-radius:4px; background:rgba(31,31,30,0.08); margin-bottom:6px; }
html.claude.dark .cresx-skel-prev{ background:rgba(226,225,218,0.10); }
html.claude .cresx-skel-foot{ display:flex; align-items:center; justify-content:space-between; gap:6px; flex:0 0 auto; }
html.claude .cresx-skel-bar{ height:8px; border-radius:4px; background:rgba(31,31,30,0.10); }
html.claude.dark .cresx-skel-bar{ background:rgba(226,225,218,0.12); }
html.claude .cresx-skel-bar.b1{ width:54%; }
html.claude .cresx-skel-bar.b2{ width:28%; }
/* shimmer 高光层：一道亮带从左扫到右（claude 真机 keyframe）*/
html.claude .cresx-skel::after{
  content:''; position:absolute; inset:0; pointer-events:none;
  background:linear-gradient(90deg, transparent 0%, rgba(255,255,255,0.55) 50%, transparent 100%);
  transform:translateX(-100%); animation:cresx-shimmer 1.3s ease-in-out infinite;
}
html.claude.dark .cresx-skel::after{
  background:linear-gradient(90deg, transparent 0%, rgba(255,255,255,0.10) 50%, transparent 100%);
}
/* lightbox 翻页箭头 + 计数 */
html.claude .cresx-lb-nav{ position:fixed; top:50%; transform:translateY(-50%); z-index:122; display:inline-flex; align-items:center; justify-content:center; width:44px; height:44px; border-radius:50%; border:none; cursor:pointer; background:rgba(255,255,255,0.14); color:#fff; backdrop-filter:blur(8px); transition:background .15s; }
html.claude .cresx-lb-nav:hover{ background:rgba(255,255,255,0.28); }
html.claude .cresx-lb-prev{ left:24px; }
html.claude .cresx-lb-next{ right:24px; }
html.claude .cresx-lb-counter{ position:fixed; bottom:24px; left:50%; transform:translateX(-50%); z-index:122; padding:5px 12px; border-radius:12px; background:rgba(0,0,0,0.5); color:#fff; font-size:12px; backdrop-filter:blur(8px); pointer-events:none; }

/* ===== 粘贴文本卡片：1:1 复刻 claude 120×120 带预览方块 ===== */
/* 去掉外层 wrapper 的灰框/内边距，只留内层卡片（修复双层框导致的灰圈+尺寸不一） */
html.claude .attachment-previews{ align-items:flex-start!important; }
html.claude .attachment-preview{ background:transparent!important; border:none!important; padding:0!important; border-radius:0!important; box-shadow:none!important; }
/* 已发送消息：.msg-attachment 外层去框（文本卡 + 图片卡都去，修复双层描边+对齐）*/
html.claude .msg-attachment:has(.cresx-paste-card),
html.claude .msg-attachment.image{ background:transparent!important; border:none!important; padding:0!important; border-radius:0!important; box-shadow:none!important; }
/* 统一：粘贴文本卡 + 图片缩略图都 120×120 方块 */
html.claude .attachment-preview .attachment-file.cresx-paste-card,
html.claude .msg-attachment-file.cresx-paste-card,
html.claude .attachment-preview.image .attachment-thumb,
html.claude .attachment-preview.image,
html.claude .msg-attachment.image .msg-attachment-thumb,
html.claude .msg-attachment.image{
  width:120px!important; height:120px!important; min-width:120px!important; max-width:120px!important;
  box-sizing:border-box!important; border-radius:8px!important;
}
html.claude .attachment-preview.image .attachment-thumb,
html.claude .msg-attachment.image .msg-attachment-thumb{ object-fit:cover!important; border:0.5px solid rgba(31,31,30,0.25)!important; box-shadow:rgba(11,11,11,0.06) 0 1px 2px 0,rgba(11,11,11,0.08) 0 2px 8px 0!important; display:block!important; }
html.claude.dark .attachment-preview.image .attachment-thumb,
html.claude.dark .msg-attachment.image .msg-attachment-thumb{ border-color:rgba(226,225,218,0.25)!important; }

html.claude .attachment-preview .attachment-file.cresx-paste-card,
html.claude .msg-attachment-file.cresx-paste-card{
  display:flex!important; flex-direction:column!important; justify-content:space-between!important;
  gap:6px!important; padding:8px 10px!important;
  overflow:hidden!important; cursor:pointer!important;
  background:#fff!important; border:0.5px solid rgba(31,31,30,0.25)!important;
  box-shadow:rgba(11,11,11,0.06) 0 1px 2px 0,rgba(11,11,11,0.08) 0 2px 8px 0!important; transition:border-color .15s,box-shadow .15s!important;
}
html.claude.dark .attachment-preview .attachment-file.cresx-paste-card,
html.claude.dark .msg-attachment-file.cresx-paste-card{ background:rgb(44,44,42)!important; border-color:rgba(226,225,218,0.25)!important; }
/* 隐藏已发送卡片里原生的文件名/大小/下载图标 span */
html.claude .msg-attachment-file.cresx-paste-card > svg,
html.claude .msg-attachment-file.cresx-paste-card > .file-name,
html.claude .msg-attachment-file.cresx-paste-card > .att-name,
html.claude .msg-attachment-file.cresx-paste-card > span:not(.cresx-paste-tag):not(.cresx-paste-lines):not(.cresx-paste-pill),
html.claude .msg-attachment-file.cresx-paste-card > .file-size{ display:none!important; }
html.claude .attachment-preview .attachment-file.cresx-paste-card:hover{ border-color:rgba(31,31,30,0.3)!important; box-shadow:0 3px 10px rgba(0,0,0,0.1)!important; }
html.claude.dark .attachment-preview .attachment-file.cresx-paste-card{ background:rgb(44,44,42)!important; border-color:rgba(226,225,218,0.25)!important; }
/* 隐藏原生 file 图标 + 文件名 + 大小（卡片里不显示这些） */
html.claude .attachment-file.cresx-paste-card > svg,
html.claude .attachment-file.cresx-paste-card > .file-name,
html.claude .attachment-file.cresx-paste-card > .file-size{ display:none!important; }
/* 6 行文字预览（claude: 小字, line-clamp 6, break-all, 暖灰, 顶部对齐）*/
html.claude .cresx-paste-prev{
  flex:1 1 auto!important; min-height:0!important; overflow:hidden!important;
  font-family:'Anthropic Sans',-apple-system,BlinkMacSystemFont,'Segoe UI',system-ui,sans-serif!important;
  font-size:8px!important; line-height:12px!important; color:rgba(31,31,30,0.5)!important;
  white-space:pre-wrap!important; word-break:break-all!important;
  display:-webkit-box!important;display:box!important; -webkit-line-clamp:6!important; -webkit-box-orient:vertical!important;
}
html.claude.dark .cresx-paste-prev{ color:rgba(226,225,218,0.5)!important; }
html.claude .cresx-paste-prev-empty{ color:rgba(31,31,30,0.35)!important; }
/* 底部标签：PASTED 胶囊（靠左、只包文字、小圆角深底浅字）*/
html.claude .cresx-paste-label{ display:flex!important; align-items:center!important; flex:0 0 auto!important; }
html.claude .cresx-paste-pill{
  display:inline-block!important; padding:2px 7px!important; border-radius:5px!important;
  background:rgba(31,31,30,0.08)!important; color:rgba(31,31,30,0.6)!important;
  font-size:9px!important; font-weight:600!important; letter-spacing:0.04em!important;
  font-family:'Anthropic Sans',-apple-system,sans-serif!important; line-height:1.3!important;
}
html.claude.dark .cresx-paste-pill{ background:rgba(226,225,218,0.12)!important; color:rgba(226,225,218,0.65)!important; }

/* ===== 粘贴文本全文查看器（1:1 复刻 claude "Pasted content"）===== */
html.claude .cresx-txtview{ position:fixed; inset:0; z-index:130; display:flex; align-items:center; justify-content:center; background:rgba(0,0,0,0.5); backdrop-filter:blur(4px); opacity:0; transition:opacity .18s; }
html.claude .cresx-txtview.cresx-txtview-show{ opacity:1; }
html.claude .cresx-txtview-box{ width:min(768px,92vw); height:min(80vh,584px); display:flex; flex-direction:column; background:rgb(31,31,30); border:0.5px solid rgba(226,225,218,0.15); border-radius:16px; box-shadow:0 16px 56px rgba(0,0,0,0.4); overflow:hidden; padding:24px; box-sizing:border-box; transform:scale(0.97); transition:transform .18s; }
html.claude .cresx-txtview.cresx-txtview-show .cresx-txtview-box{ transform:scale(1); }
html.claude .cresx-txtview-head{ display:flex; align-items:flex-start; justify-content:space-between; gap:12px; flex:0 0 auto; margin-bottom:16px; }
html.claude .cresx-txtview-hleft{ display:flex; flex-direction:column; gap:4px; min-width:0; }
html.claude .cresx-txtview-title{ font-family:'Anthropic Sans',-apple-system,sans-serif; font-size:20px; font-weight:600; color:rgb(248,248,246); line-height:1.3; }
html.claude .cresx-txtview-meta{ font-family:'Anthropic Sans',-apple-system,sans-serif; font-size:14px; color:rgb(195,194,183); line-height:1.4; }
html.claude .cresx-txtview-acts{ display:flex; gap:4px; flex:0 0 auto; }
html.claude .cresx-txtview-body{ flex:1 1 auto; overflow:auto; min-height:0; }
/* claude 内层框：rgb(44,44,42) + 0.5px边 + radius8 + pad16，正文用 Anthropic Mono 12px */
html.claude .cresx-txtview-frame{ background:rgb(44,44,42); border:0.5px solid rgba(226,225,218,0.15); border-radius:8px; padding:16px; box-sizing:border-box; }
html.claude .cresx-txtview-pre{ margin:0; font-family:'Anthropic Mono',ui-monospace,SFMono-Regular,Menlo,monospace; font-size:12px; line-height:1.6; color:rgb(248,248,246); white-space:pre-wrap; word-break:break-word; }
/* 浅色模式 */
html.claude:not(.dark) .cresx-txtview-box{ background:#faf9f5; border-color:rgba(31,31,30,0.12); }
html.claude:not(.dark) .cresx-txtview-title{ color:#1f1f1e; }
html.claude:not(.dark) .cresx-txtview-meta{ color:#6b6860; }
html.claude:not(.dark) .cresx-txtview-frame{ background:#fff; border-color:rgba(31,31,30,0.12); }
html.claude:not(.dark) .cresx-txtview-pre{ color:#1f1f1e; }

/* 全屏 lightbox */
html.claude .cresx-lightbox{
  position:fixed; inset:0; z-index:120;
  display:flex; align-items:center; justify-content:center;
  background:rgba(0,0,0,0.78); backdrop-filter:blur(4px);
  opacity:0; transition:opacity .2s ease; cursor:zoom-out;
}
html.claude .cresx-lightbox.cresx-lb-show{ opacity:1; }
html.claude .cresx-lb-img{
  max-width:92vw; max-height:90vh; object-fit:contain;
  border-radius:8px; box-shadow:0 12px 48px rgba(0,0,0,0.5);
  transform:scale(0.96); transition:transform .2s ease; cursor:default;
}
html.claude .cresx-lightbox.cresx-lb-show .cresx-lb-img{ transform:scale(1); }
html.claude .cresx-lb-bar{
  position:fixed; top:18px; right:22px; display:flex; gap:10px; z-index:121;
}
html.claude .cresx-lb-btn{
  display:inline-flex; align-items:center; gap:6px;
  height:36px; padding:0 14px; border-radius:10px; border:none; cursor:pointer;
  background:rgba(255,255,255,0.14); color:#fff; font-size:13px;
  font-family:'Anthropic Sans',-apple-system,sans-serif; backdrop-filter:blur(8px);
  transition:background .15s;
}
html.claude .cresx-lb-btn:hover{ background:rgba(255,255,255,0.26); }
html.claude .cresx-lb-btn.cresx-copied{ background:rgba(34,160,107,0.85)!important; }
html.claude .cresx-lb-btn.cresx-copied span{ font-size:0; }
html.claude .cresx-lb-btn.cresx-copied span::after{ content:'已复制'; font-size:13px; }
html.claude .cresx-lb-btn.cresx-copyfail{ background:rgba(200,70,60,0.85)!important; }
html.claude .cresx-lb-close{ width:36px; padding:0; justify-content:center; }
/* viewer 图片提示小字 */
html.claude .cresx-vhint{ margin-top:10px; font-size:12px; color:#8a857c; text-align:center; }
html.claude.dark .cresx-vhint{ color:#a8a59c; }
html.claude .cresx-vimg{ cursor:zoom-in; }

/* END CRESX CONTENT PANEL */

/* CRESX FINAL COMPOSER ALIGNMENT HOTFIX */
/* Composer 附件必须外层同尺寸同顶线：图片/粘贴文本 wrapper 都 120×120，无 padding/无外框 */
html.claude .chat-input-area .attachment-previews > .attachment-preview,
html.claude .chat-input-area .attachment-previews > .attachment-preview.image,
html.claude .chat-input-area .attachment-previews > .attachment-preview:has(.cresx-paste-card){
  width:120px!important;
  height:120px!important;
  min-width:120px!important;
  max-width:120px!important;
  padding:0!important;
  margin:0!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
  border-radius:8px!important;
  overflow:hidden!important;
  display:block!important;
  align-self:flex-start!important;
  box-sizing:border-box!important;
}
html.claude .chat-input-area .attachment-previews > .attachment-preview > .attachment-file.cresx-paste-card,
html.claude .chat-input-area .attachment-previews > .attachment-preview.image > img.attachment-thumb,
html.claude .chat-input-area .attachment-previews > .attachment-preview.image > .attachment-thumb{
  width:120px!important;
  height:120px!important;
  min-width:120px!important;
  max-width:120px!important;
  margin:0!important;
  box-sizing:border-box!important;
  border-radius:8px!important;
  display:block!important;
}
html.claude .chat-input-area .attachment-previews > .attachment-preview > .attachment-file.cresx-paste-card{
  display:flex!important;
}
/* END CRESX FINAL COMPOSER ALIGNMENT HOTFIX */


/* CRESX FINAL USER ATTACHMENT LAYOUT HOTFIX */
/* Claude 用户消息布局：附件独立一组靠右，文字气泡独立在下方；不要把附件包进文字气泡视觉容器 */
html.claude .message.user .message-bubble:has(.msg-attachments){
  background:transparent!important;
  padding:0!important;
  border:0!important;
  box-shadow:none!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-end!important;
  gap:8px!important;
  max-width:min(760px,100%)!important;
}
html.claude .message.user .message-bubble:has(.msg-attachments) > .msg-attachments{
  order:0!important;
  display:flex!important;
  flex-wrap:wrap!important;
  justify-content:flex-end!important;
  align-items:flex-start!important;
  gap:8px!important;
  max-width:520px!important;
  width:auto!important;
  margin:0!important;
  align-self:flex-end!important;
}
html.claude .message.user .message-bubble:has(.msg-attachments) > .markdown-body{
  order:1!important;
  background:#efeeeb!important;
  color:#1f1f1e!important;
  border-radius:12px!important;
  padding:10px 16px!important;
  max-width:min(75ch,85%)!important;
  width:fit-content!important;
  overflow-wrap:break-word!important;
  word-break:normal!important;
  align-self:flex-end!important;
  box-sizing:border-box!important;
}
html.claude.dark .message.user .message-bubble:has(.msg-attachments) > .markdown-body{
  background:rgb(18,18,18)!important;
  color:#f8f8f6!important;
}
html.claude .message.user .message-bubble:has(.msg-attachments) > .markdown-body:empty{display:none!important;}
/* END CRESX FINAL USER ATTACHMENT LAYOUT HOTFIX */

/* CRESX pastetext 兜底查看（旧卡片原文未缓存）*/
html.claude .cresx-vfile-t{ font-family:'Anthropic Serif',Georgia,serif!important; font-size:18px!important; font-weight:600!important; color:#1f1f1e!important; margin-top:14px!important; }
html.claude.dark .cresx-vfile-t{ color:#f8f8f6!important; }
html.claude .cresx-vfile-s{ font-family:'Anthropic Sans',-apple-system,sans-serif!important; font-size:13px!important; color:#8a857c!important; margin-top:6px!important; max-width:280px!important; line-height:1.5!important; text-align:center!important; }
/* END HERMES STUDIO CLAUDE THEME */

/* 6.23 official-polished paste/image skeleton + pasted text card */
/* 6.21 Claude-style image/text attachment loading skeleton + pasted text card/viewer */
html.claude .attachment-previews{display:flex!important;gap:8px!important;flex-wrap:wrap!important;align-items:flex-start!important;margin:0 0 8px!important;}
html.claude .cresx-skel{width:120px!important;height:120px!important;box-sizing:border-box!important;border-radius:8px!important;padding:8px 10px!important;background:rgb(44,44,42)!important;border:.5px solid rgba(226,225,218,.15)!important;display:flex!important;flex-direction:column!important;justify-content:space-between!important;overflow:hidden!important;position:relative!important;box-shadow:none!important;animation:cresxSkelIn .16s ease-out both!important;}
html.claude:not(.dark) .cresx-skel{background:#f3f2ef!important;border-color:rgba(0,0,0,.08)!important;}
html.claude .cresx-skel::after{content:"";position:absolute;inset:0;transform:translateX(-120%);background:linear-gradient(90deg,transparent,rgba(255,255,255,.08),transparent);animation:cresxSkelSweep 1.05s ease-in-out infinite;pointer-events:none;}
html.claude:not(.dark) .cresx-skel::after{background:linear-gradient(90deg,transparent,rgba(255,255,255,.65),transparent);}
html.claude .cresx-skel-prev{height:68px!important;border-radius:6px!important;background:linear-gradient(180deg,rgba(255,255,255,.12),rgba(255,255,255,.06))!important;}
html.claude:not(.dark) .cresx-skel-prev{background:linear-gradient(180deg,rgba(0,0,0,.08),rgba(0,0,0,.045))!important;}
html.claude .cresx-skel-foot{display:flex!important;flex-direction:column!important;gap:5px!important;}
html.claude .cresx-skel-bar{height:7px!important;border-radius:99px!important;background:rgba(255,255,255,.13)!important;}
html.claude:not(.dark) .cresx-skel-bar{background:rgba(0,0,0,.10)!important;}
html.claude .cresx-skel-bar.b1{width:62px!important;} html.claude .cresx-skel-bar.b2{width:38px!important;opacity:.72!important;}
@keyframes cresxSkelSweep{0%{transform:translateX(-120%)}58%,100%{transform:translateX(120%)}}
@keyframes cresxSkelIn{from{opacity:0;transform:scale(.965)}to{opacity:1;transform:scale(1)}}

html.claude .attachment-preview:has(.cresx-paste-card),html.claude .msg-attachment:has(.cresx-paste-card),html.claude .msg-attachment.image{background:transparent!important;border:0!important;padding:0!important;border-radius:0!important;box-shadow:none!important;}
html.claude .attachment-preview .attachment-file.cresx-paste-card,html.claude .msg-attachment-file.cresx-paste-card{width:120px!important;height:120px!important;min-width:120px!important;max-width:120px!important;box-sizing:border-box!important;border-radius:8px!important;padding:8px 10px!important;background:rgb(44,44,42)!important;border:.5px solid rgba(226,225,218,.15)!important;display:flex!important;flex-direction:column!important;justify-content:space-between!important;align-items:stretch!important;overflow:hidden!important;color:rgb(232,231,225)!important;box-shadow:rgba(0,0,0,0) 0 0 0 0,rgba(0,0,0,0) 0 0 0 0,rgba(0,0,0,0) 0 0 0 0,rgba(0,0,0,0) 0 0 0 0,rgba(11,11,11,.06) 0 1px 2px 0,rgba(0,0,0,.24) 0 2px 8px 0!important;cursor:pointer!important;transition:background .15s ease, border-color .15s ease, transform .12s ease!important;}
html.claude:not(.dark) .attachment-preview .attachment-file.cresx-paste-card,html.claude:not(.dark) .msg-attachment-file.cresx-paste-card{background:#f3f2ef!important;border-color:rgba(0,0,0,.08)!important;color:#1f1f1e!important;}
html.claude .attachment-preview .attachment-file.cresx-paste-card:hover,html.claude .msg-attachment-file.cresx-paste-card:hover{background:rgb(50,50,47)!important;border-color:rgba(226,225,218,.24)!important;transform:translateY(-1px)!important;}
html.claude:not(.dark) .attachment-preview .attachment-file.cresx-paste-card:hover,html.claude:not(.dark) .msg-attachment-file.cresx-paste-card:hover{background:#ecebe7!important;border-color:rgba(0,0,0,.13)!important;}
html.claude .cresx-paste-card .file-icon,html.claude .cresx-paste-card .file-info,html.claude .cresx-paste-card .file-name,html.claude .cresx-paste-card .file-size,html.claude .cresx-paste-card .att-icon,html.claude .cresx-paste-card .att-info,html.claude .cresx-paste-card .att-name,html.claude .cresx-paste-card .att-size{display:none!important;}
html.claude .cresx-paste-prev{display:-webkit-box!important;display:box!important;-webkit-line-clamp:6!important;-webkit-box-orient:vertical!important;overflow:hidden!important;text-overflow:ellipsis!important;font-family:'Anthropic Sans',system-ui,'Segoe UI',Roboto,Helvetica,Arial,sans-serif!important;font-size:8px!important;line-height:12px!important;letter-spacing:0!important;color:rgba(232,231,225,.82)!important;white-space:pre-wrap!important;word-break:break-word!important;}
html.claude:not(.dark) .cresx-paste-prev{color:rgba(31,31,30,.72)!important;}
html.claude .cresx-paste-prev-empty{font-family:'Anthropic Sans',-apple-system,system-ui,sans-serif!important;font-size:12px!important;color:rgb(151,149,140)!important;}
html.claude .cresx-paste-label{display:flex!important;align-items:center!important;justify-content:flex-start!important;margin-top:6px!important;}
html.claude .cresx-paste-pill{display:inline-flex!important;align-items:center!important;height:18px!important;padding:0 4px!important;border-radius:4px!important;background:rgba(44,44,42,.70)!important;border:.5px solid rgba(226,225,218,.25)!important;color:rgb(195,194,183)!important;font-family:'Anthropic Sans',system-ui,'Segoe UI',Roboto,Helvetica,Arial,sans-serif!important;font-size:11px!important;font-weight:600!important;letter-spacing:0!important;line-height:13px!important;box-shadow:rgba(11,11,11,.06) 0 1px 2px 0,rgba(0,0,0,.24) 0 2px 8px 0!important;}
html.claude:not(.dark) .cresx-paste-pill{background:rgba(255,255,253,.70)!important;border:.5px solid rgba(31,31,30,.25)!important;color:rgb(91,89,84)!important;}
html.claude .attachment-preview img,html.claude .msg-attachment.image img{width:120px!important;height:120px!important;object-fit:cover!important;border-radius:8px!important;border:.5px solid rgba(226,225,218,.15)!important;box-sizing:border-box!important;}
html.claude:not(.dark) .attachment-preview img,html.claude:not(.dark) .msg-attachment.image img{border-color:rgba(0,0,0,.08)!important;}

html.claude .message.user .message-bubble:has(.msg-attachments){background:transparent!important;border:0!important;box-shadow:none!important;padding:0!important;display:flex!important;flex-direction:column!important;align-items:flex-end!important;gap:8px!important;}
html.claude .message.user .message-bubble:has(.msg-attachments)>.msg-attachments{order:0!important;display:flex!important;justify-content:flex-end!important;gap:8px!important;flex-wrap:wrap!important;max-width:100%!important;}
html.claude .message.user .message-bubble:has(.msg-attachments)>.markdown-body{order:1!important;background:var(--claude-user-bubble-bg,#3a3a37)!important;border-radius:12px!important;padding:10px 16px!important;max-width:100%!important;}
html.claude:not(.dark) .message.user .message-bubble:has(.msg-attachments)>.markdown-body{background:#f0efed!important;}

html.claude .cresx-txtview{position:fixed!important;inset:0!important;z-index:5000!important;background:rgba(0,0,0,.45)!important;display:flex!important;align-items:center!important;justify-content:center!important;opacity:0!important;transition:opacity .16s ease!important;backdrop-filter:blur(2px)!important;}
html.claude .cresx-txtview.cresx-txtview-show{opacity:1!important;}
html.claude .cresx-txtview-box{width:min(768px,calc(100vw - 48px))!important;height:min(584px,calc(100vh - 64px))!important;box-sizing:border-box!important;background:rgb(31,31,30)!important;border:.5px solid rgba(226,225,218,.15)!important;border-radius:16px!important;padding:24px!important;color:rgb(232,231,225)!important;display:flex!important;flex-direction:column!important;box-shadow:0 24px 80px rgba(0,0,0,.38)!important;transform:translateY(8px) scale(.985)!important;transition:transform .16s ease!important;}
html.claude .cresx-txtview-show .cresx-txtview-box{transform:translateY(0) scale(1)!important;}
html.claude:not(.dark) .cresx-txtview-box{background:#fff!important;border-color:rgba(0,0,0,.10)!important;color:#111!important;box-shadow:0 24px 80px rgba(0,0,0,.18)!important;}
html.claude .cresx-txtview-head{display:flex!important;align-items:flex-start!important;justify-content:space-between!important;gap:16px!important;margin-bottom:18px!important;}
html.claude .cresx-txtview-title{font-family:'Anthropic Sans',-apple-system,system-ui,sans-serif!important;font-size:20px!important;font-weight:600!important;line-height:1.25!important;color:rgb(248,248,246)!important;}
html.claude:not(.dark) .cresx-txtview-title{color:#111!important;}
html.claude .cresx-txtview-meta{margin-top:6px!important;font-family:'Anthropic Sans',-apple-system,system-ui,sans-serif!important;font-size:14px!important;line-height:20px!important;color:rgb(195,194,183)!important;}
html.claude:not(.dark) .cresx-txtview-meta{color:rgb(106,104,98)!important;}
html.claude .cresx-txtview-actions{display:flex!important;gap:8px!important;}
html.claude .cresx-icon-btn{width:32px!important;height:32px!important;border:0!important;border-radius:8px!important;background:transparent!important;color:rgb(195,194,183)!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;cursor:pointer!important;}
html.claude .cresx-icon-btn:hover{background:rgba(255,255,255,.08)!important;color:rgb(248,248,246)!important;}
html.claude:not(.dark) .cresx-icon-btn{color:rgb(91,89,84)!important;} html.claude:not(.dark) .cresx-icon-btn:hover{background:rgba(0,0,0,.06)!important;color:#111!important;}
html.claude .cresx-txtview-body{min-height:0!important;flex:1!important;display:flex!important;}
html.claude .cresx-txtview-frame{flex:1!important;min-height:0!important;overflow:auto!important;background:rgb(44,44,42)!important;border:.5px solid rgba(226,225,218,.15)!important;border-radius:8px!important;padding:16px!important;box-sizing:border-box!important;}
html.claude:not(.dark) .cresx-txtview-frame{background:#f3f2ef!important;border-color:rgba(0,0,0,.08)!important;}
html.claude .cresx-txtview-pre{font-family:'Anthropic Mono',ui-monospace,SFMono-Regular,Menlo,Consolas,monospace!important;font-size:12px!important;line-height:1.55!important;white-space:pre-wrap!important;word-break:break-word!important;color:rgb(232,231,225)!important;}
html.claude:not(.dark) .cresx-txtview-pre{color:#1f1f1e!important;}
/* END 6.23 official-polished paste/image skeleton + pasted text card */

/* CRESX Claude pasted-card 1:1 override 20260704 */
html.claude .attachment-preview:has(.cresx-paste-card),html.claude .msg-attachment:has(.cresx-paste-card){background:transparent!important;border:0!important;padding:0!important;margin:0!important;box-shadow:none!important;border-radius:0!important;overflow:visible!important;}
html.claude .attachment-preview .attachment-file.cresx-paste-card,html.claude .msg-attachment-file.cresx-paste-card{width:120px!important;height:120px!important;min-width:120px!important;max-width:120px!important;box-sizing:border-box!important;display:flex!important;flex-direction:column!important;justify-content:space-between!important;gap:10px!important;overflow:hidden!important;padding:8px 10px!important;border-radius:8px!important;background:rgb(255,255,253)!important;border:.5px solid rgba(31,31,30,.25)!important;box-shadow:0 1px 2px 0 rgba(0,0,0,.05)!important;transition:border-color .15s ease,box-shadow .15s ease!important;text-align:left!important;cursor:pointer!important;font-family:'Anthropic Sans',system-ui,'Segoe UI',Roboto,Helvetica,Arial,'PingFang SC','Microsoft YaHei',sans-serif!important;}
html.claude.dark .attachment-preview .attachment-file.cresx-paste-card,html.claude.dark .msg-attachment-file.cresx-paste-card{background:rgb(44,44,42)!important;border-color:rgba(226,225,218,.25)!important;box-shadow:0 1px 2px 0 rgba(0,0,0,.05)!important;}
html.claude .attachment-preview .attachment-file.cresx-paste-card:hover,html.claude .msg-attachment-file.cresx-paste-card:hover{border-color:rgba(31,31,30,.5)!important;box-shadow:0 1px 2px 0 rgba(0,0,0,.10)!important;}
html.claude.dark .attachment-preview .attachment-file.cresx-paste-card:hover,html.claude.dark .msg-attachment-file.cresx-paste-card:hover{border-color:rgba(226,225,218,.5)!important;box-shadow:0 1px 2px 0 rgba(0,0,0,.10)!important;}
html.claude .attachment-file.cresx-paste-card>svg,html.claude .attachment-file.cresx-paste-card>.file-name,html.claude .attachment-file.cresx-paste-card>.file-size,html.claude .msg-attachment-file.cresx-paste-card>svg,html.claude .msg-attachment-file.cresx-paste-card>.file-name,html.claude .msg-attachment-file.cresx-paste-card>.att-name,html.claude .msg-attachment-file.cresx-paste-card>.file-size,html.claude .msg-attachment-file.cresx-paste-card>span:not(.cresx-paste-pill):not(.cresx-paste-label){display:none!important;}
html.claude .cresx-paste-prev{flex:1 1 auto!important;min-width:0!important;min-height:0!important;overflow:hidden!important;display:-webkit-box!important;display:box!important;-webkit-line-clamp:6!important;-webkit-box-orient:vertical!important;font-family:'Anthropic Sans',system-ui,'Segoe UI',Roboto,Helvetica,Arial,'PingFang SC','Microsoft YaHei',sans-serif!important;font-size:8px!important;line-height:12px!important;font-weight:400!important;letter-spacing:0!important;color:rgba(31,31,30,.80)!important;white-space:pre-wrap!important;word-break:break-all!important;overflow-wrap:anywhere!important;text-overflow:clip!important;}
html.claude.dark .cresx-paste-prev{color:rgba(232,231,225,.80)!important;}
html.claude .cresx-paste-label{flex:0 0 auto!important;display:flex!important;align-items:center!important;justify-content:flex-start!important;min-width:0!important;height:18px!important;margin:0!important;padding:0!important;}
html.claude .cresx-paste-pill{display:inline-flex!important;align-items:center!important;justify-content:center!important;height:18px!important;min-width:0!important;box-sizing:border-box!important;padding:0 4px!important;border-radius:4px!important;background:rgba(255,255,253,.70)!important;border:.5px solid rgba(31,31,30,.25)!important;box-shadow:0 1px 2px 0 rgba(0,0,0,.05)!important;backdrop-filter:blur(4px)!important;-webkit-backdrop-filter:blur(4px)!important;color:rgb(91,89,84)!important;font-family:'Anthropic Sans',system-ui,'Segoe UI',Roboto,Helvetica,Arial,'PingFang SC','Microsoft YaHei',sans-serif!important;font-size:11px!important;font-weight:500!important;line-height:13px!important;letter-spacing:0!important;text-transform:uppercase!important;}
html.claude.dark .cresx-paste-pill{background:rgba(44,44,42,.70)!important;border-color:rgba(226,225,218,.25)!important;box-shadow:0 1px 2px 0 rgba(0,0,0,.05)!important;color:rgb(195,194,183)!important;}

/* CRESX Claude image attachment outer-card 1:1 override 20260704 */
html.claude .attachment-preview.image,html.claude .msg-attachment.image{position:relative!important;width:120px!important;height:120px!important;min-width:120px!important;min-height:120px!important;max-width:120px!important;max-height:120px!important;box-sizing:border-box!important;display:block!important;flex:0 0 auto!important;padding:0!important;margin:0!important;overflow:hidden!important;cursor:pointer!important;border-radius:8px!important;background:transparent!important;border:.5px solid rgba(31,31,30,.25)!important;box-shadow:0 1px 2px 0 rgba(0,0,0,.05)!important;transition:border-color .15s ease,box-shadow .15s ease!important;}
html.claude.dark .attachment-preview.image,html.claude.dark .msg-attachment.image{border-color:rgba(226,225,218,.25)!important;box-shadow:0 1px 2px 0 rgba(0,0,0,.05)!important;}
html.claude .attachment-preview.image:hover,html.claude .msg-attachment.image:hover{border-color:rgba(31,31,30,.5)!important;box-shadow:0 1px 2px 0 rgba(0,0,0,.10)!important;}
html.claude.dark .attachment-preview.image:hover,html.claude.dark .msg-attachment.image:hover{border-color:rgba(226,225,218,.5)!important;box-shadow:0 1px 2px 0 rgba(0,0,0,.10)!important;}
html.claude .attachment-preview.image>button:not(.attachment-remove),html.claude .msg-attachment.image>button:not(.attachment-remove){position:relative!important;display:block!important;width:120px!important;height:120px!important;min-width:120px!important;min-height:120px!important;padding:0!important;margin:0!important;border:0!important;border-radius:0!important;background:rgb(255,255,253)!important;overflow:hidden!important;}
html.claude.dark .attachment-preview.image>button:not(.attachment-remove),html.claude.dark .msg-attachment.image>button:not(.attachment-remove){background:rgb(44,44,42)!important;}
html.claude .attachment-preview.image img,html.claude .attachment-preview.image .attachment-thumb,html.claude .msg-attachment.image img,html.claude .msg-attachment.image .msg-attachment-thumb{display:block!important;width:100%!important;height:100%!important;min-width:100%!important;min-height:100%!important;max-width:100%!important;max-height:100%!important;box-sizing:border-box!important;object-fit:cover!important;object-position:center center!important;border:0!important;border-radius:0!important;box-shadow:none!important;opacity:1!important;transition-property:opacity,transform!important;transition-duration:400ms!important;transition-timing-function:cubic-bezier(.4,0,.2,1)!important;}
html.claude .attachment-preview.image>.attachment-thumb,html.claude .msg-attachment.image>.msg-attachment-thumb{background:rgb(255,255,253)!important;}
html.claude.dark .attachment-preview.image>.attachment-thumb,html.claude.dark .msg-attachment.image>.msg-attachment-thumb{background:rgb(44,44,42)!important;}
html.claude .attachment-preview.image .attachment-remove{position:absolute!important;top:4px!important;right:4px!important;z-index:2!important;}

/* CRESX Claude pasted-card DOM exact override 20260704 */
html.claude .attachment-preview .attachment-file.cresx-paste-card,html.claude .msg-attachment-file.cresx-paste-card{width:120px!important;height:120px!important;min-width:120px!important;max-width:120px!important;box-sizing:border-box!important;display:flex!important;flex-direction:column!important;justify-content:space-between!important;gap:10px!important;overflow:hidden!important;padding:8px 10px!important;border-radius:8px!important;background:rgb(255,255,253)!important;border:.5px solid rgba(31,31,30,.25)!important;box-shadow:0 1px 2px 0 rgba(0,0,0,.05)!important;transition:all .15s ease!important;text-align:left!important;cursor:pointer!important;font-family:'Anthropic Sans',system-ui,'Segoe UI',Roboto,Helvetica,Arial,'PingFang SC','Microsoft YaHei',sans-serif!important;}
html.claude.dark .attachment-preview .attachment-file.cresx-paste-card,html.claude.dark .msg-attachment-file.cresx-paste-card{background:rgb(44,44,42)!important;border-color:rgba(226,225,218,.25)!important;box-shadow:0 1px 2px 0 rgba(0,0,0,.05)!important;}
html.claude .attachment-preview .attachment-file.cresx-paste-card:hover,html.claude .msg-attachment-file.cresx-paste-card:hover{border-color:rgba(31,31,30,.5)!important;box-shadow:0 1px 2px 0 rgba(0,0,0,.10)!important;}
html.claude.dark .attachment-preview .attachment-file.cresx-paste-card:hover,html.claude.dark .msg-attachment-file.cresx-paste-card:hover{border-color:rgba(226,225,218,.5)!important;box-shadow:0 1px 2px 0 rgba(0,0,0,.10)!important;}
html.claude .cresx-paste-top{display:flex!important;flex-direction:column!important;gap:4px!important;min-height:0!important;min-width:0!important;}
html.claude .cresx-paste-row{flex:1 1 auto!important;min-height:0!important;min-width:0!important;display:flex!important;flex-direction:row!important;gap:8px!important;}
html.claude .cresx-paste-prev{flex:1 1 auto!important;min-width:0!important;min-height:0!important;overflow:hidden!important;display:-webkit-box!important;display:box!important;-webkit-line-clamp:6!important;-webkit-box-orient:vertical!important;margin:0!important;padding:0!important;font-family:'Anthropic Sans',system-ui,'Segoe UI',Roboto,Helvetica,Arial,'PingFang SC','Microsoft YaHei',sans-serif!important;font-size:8px!important;line-height:normal!important;font-weight:400!important;letter-spacing:0!important;color:rgba(31,31,30,.80)!important;white-space:normal!important;word-break:break-all!important;overflow-wrap:normal!important;text-overflow:clip!important;opacity:1!important;}
html.claude.dark .cresx-paste-prev{color:rgba(232,231,225,.80)!important;}
html.claude .cresx-paste-footer{display:block!important;flex:0 0 auto!important;min-width:0!important;margin:0!important;padding:0!important;}
html.claude .cresx-paste-footer-rel{position:relative!important;display:flex!important;flex-direction:row!important;align-items:center!important;gap:4px!important;justify-content:space-between!important;min-width:0!important;}
html.claude .cresx-paste-footer-shrink{display:flex!important;flex-direction:row!important;gap:4px!important;flex-shrink:1!important;min-width:0!important;opacity:1!important;}
html.claude .cresx-paste-pill{min-width:0!important;height:18px!important;box-sizing:border-box!important;display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:center!important;gap:2px!important;padding:0 4px!important;border:.5px solid rgba(31,31,30,.25)!important;box-shadow:0 1px 2px 0 rgba(0,0,0,.05)!important;border-radius:4px!important;background:rgba(255,255,253,.70)!important;backdrop-filter:blur(4px)!important;-webkit-backdrop-filter:blur(4px)!important;font-weight:500!important;}
html.claude.dark .cresx-paste-pill{background:rgba(44,44,42,.70)!important;border-color:rgba(226,225,218,.25)!important;box-shadow:0 1px 2px 0 rgba(0,0,0,.05)!important;}
html.claude .cresx-paste-pill-text{margin:0!important;padding:0!important;text-transform:uppercase!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;font-family:'Anthropic Sans',system-ui,'Segoe UI',Roboto,Helvetica,Arial,'PingFang SC','Microsoft YaHei',sans-serif!important;color:rgb(91,89,84)!important;font-size:11px!important;line-height:13px!important;font-weight:500!important;letter-spacing:0!important;}
html.claude.dark .cresx-paste-pill-text{color:rgb(195,194,183)!important;}

/* CRESX Claude pasted-card color+no-jump final override 20260704 */
html.claude:not(.dark) .attachment-preview .attachment-file.cresx-paste-card,html.claude:not(.dark) .msg-attachment-file.cresx-paste-card{background:rgb(255,255,253)!important;border-color:rgba(31,31,30,.25)!important;color:rgb(31,31,30)!important;transform:none!important;translate:none!important;}
html.claude:not(.dark) .attachment-preview .attachment-file.cresx-paste-card:hover,html.claude:not(.dark) .msg-attachment-file.cresx-paste-card:hover{background:rgb(255,255,253)!important;border-color:rgba(31,31,30,.5)!important;box-shadow:0 1px 2px 0 rgba(0,0,0,.10)!important;transform:none!important;translate:none!important;}
html.claude .attachment-preview .attachment-file.cresx-paste-card,html.claude .msg-attachment-file.cresx-paste-card{transform:none!important;translate:none!important;transition:border-color .15s ease,box-shadow .15s ease!important;}
html.claude .attachment-preview .attachment-file.cresx-paste-card:hover,html.claude .msg-attachment-file.cresx-paste-card:hover{transform:none!important;translate:none!important;}
html.claude:not(.dark) .cresx-paste-prev{background:transparent!important;color:rgba(31,31,30,.80)!important;}
html.claude:not(.dark) .cresx-paste-pill{background:rgba(255,255,253,.70)!important;border-color:rgba(31,31,30,.25)!important;box-shadow:0 1px 2px 0 rgba(0,0,0,.05)!important;}
html.claude:not(.dark) .cresx-paste-pill-text{color:rgb(91,89,84)!important;}

/* CRESX Claude attachment 1:1 final override 20260705 */
/* User-provided Claude night DOM targets:
   - pasted text: 120x120 button, bg-bg-000 rgb(44,44,42), 0.5px rgba border, shadow-sm, px-2.5 py-2, gap-2.5, PASTED pill.
   - image: outer card owns radius/border/shadow/overflow; inner button owns bg; img only object-cover. */
html.claude .attachment-preview:has(.cresx-paste-card),
html.claude .msg-attachment:has(.cresx-paste-card){background:transparent!important;border:0!important;padding:0!important;border-radius:0!important;box-shadow:none!important;overflow:visible!important;}
html.claude .attachment-preview .attachment-file.cresx-paste-card,
html.claude .msg-attachment-file.cresx-paste-card{width:120px!important;height:120px!important;min-width:120px!important;min-height:120px!important;max-width:120px!important;max-height:120px!important;box-sizing:border-box!important;display:flex!important;flex-direction:column!important;justify-content:space-between!important;align-items:stretch!important;gap:10px!important;overflow:hidden!important;padding:8px 10px!important;border-radius:8px!important;text-align:left!important;cursor:pointer!important;font-family:'Anthropic Sans',system-ui,'Segoe UI',Roboto,Helvetica,Arial,'PingFang SC','Microsoft YaHei',sans-serif!important;transition:border-color .15s ease,box-shadow .15s ease!important;transform:none!important;translate:none!important;background:rgb(255,255,253)!important;border:.5px solid rgba(31,31,30,.25)!important;box-shadow:0 1px 2px 0 rgba(0,0,0,.05)!important;color:rgb(31,31,30)!important;}
html.claude.dark .attachment-preview .attachment-file.cresx-paste-card,
html.claude.dark .msg-attachment-file.cresx-paste-card{background:rgb(44,44,42)!important;border-color:rgba(226,225,218,.25)!important;box-shadow:0 1px 2px 0 rgba(0,0,0,.05)!important;color:rgb(232,231,225)!important;}
html.claude .attachment-preview .attachment-file.cresx-paste-card:hover,
html.claude .msg-attachment-file.cresx-paste-card:hover{border-color:rgba(31,31,30,.5)!important;box-shadow:0 1px 2px 0 rgba(0,0,0,.10)!important;transform:none!important;translate:none!important;background:rgb(255,255,253)!important;}
html.claude.dark .attachment-preview .attachment-file.cresx-paste-card:hover,
html.claude.dark .msg-attachment-file.cresx-paste-card:hover{border-color:rgba(226,225,218,.5)!important;box-shadow:0 1px 2px 0 rgba(0,0,0,.10)!important;background:rgb(44,44,42)!important;}
html.claude .cresx-paste-card .file-icon,html.claude .cresx-paste-card .file-info,html.claude .cresx-paste-card .file-name,html.claude .cresx-paste-card .file-size,html.claude .cresx-paste-card .att-icon,html.claude .cresx-paste-card .att-info,html.claude .cresx-paste-card .att-name,html.claude .cresx-paste-card .att-size{display:none!important;}
html.claude .cresx-paste-top{display:flex!important;flex-direction:column!important;gap:4px!important;min-height:0!important;min-width:0!important;}
html.claude .cresx-paste-row{flex:1 1 auto!important;min-height:0!important;min-width:0!important;display:flex!important;flex-direction:row!important;gap:8px!important;}
html.claude .cresx-paste-prev{flex:1 1 auto!important;min-width:0!important;min-height:0!important;overflow:hidden!important;display:-webkit-box!important;display:box!important;-webkit-line-clamp:6!important;-webkit-box-orient:vertical!important;margin:0!important;padding:0!important;font-family:'Anthropic Sans',system-ui,'Segoe UI',Roboto,Helvetica,Arial,'PingFang SC','Microsoft YaHei',sans-serif!important;font-size:8px!important;line-height:normal!important;font-weight:400!important;letter-spacing:0!important;color:rgba(31,31,30,.80)!important;white-space:normal!important;word-break:break-all!important;overflow-wrap:normal!important;text-overflow:clip!important;opacity:1!important;background:transparent!important;}
html.claude.dark .cresx-paste-prev{color:rgba(232,231,225,.80)!important;background:transparent!important;}
html.claude .cresx-paste-footer{display:block!important;flex:0 0 auto!important;min-width:0!important;margin:0!important;padding:0!important;}
html.claude .cresx-paste-footer-rel{position:relative!important;display:flex!important;flex-direction:row!important;align-items:center!important;gap:4px!important;justify-content:space-between!important;min-width:0!important;}
html.claude .cresx-paste-footer-shrink{display:flex!important;flex-direction:row!important;gap:4px!important;flex-shrink:1!important;min-width:0!important;opacity:1!important;}
html.claude .cresx-paste-pill{min-width:0!important;height:18px!important;box-sizing:border-box!important;display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:center!important;gap:2px!important;padding:0 4px!important;border:.5px solid rgba(31,31,30,.25)!important;box-shadow:0 1px 2px 0 rgba(0,0,0,.05)!important;border-radius:4px!important;background:rgba(255,255,253,.70)!important;backdrop-filter:blur(4px)!important;-webkit-backdrop-filter:blur(4px)!important;font-weight:500!important;}
html.claude.dark .cresx-paste-pill{background:rgba(44,44,42,.70)!important;border-color:rgba(226,225,218,.25)!important;box-shadow:0 1px 2px 0 rgba(0,0,0,.05)!important;}
html.claude .cresx-paste-pill-text{margin:0!important;padding:0!important;text-transform:uppercase!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;font-family:'Anthropic Sans',system-ui,'Segoe UI',Roboto,Helvetica,Arial,'PingFang SC','Microsoft YaHei',sans-serif!important;color:rgb(91,89,84)!important;font-size:11px!important;line-height:13px!important;font-weight:500!important;letter-spacing:0!important;}
html.claude.dark .cresx-paste-pill-text{color:rgb(195,194,183)!important;}

html.claude .attachment-preview.image,
html.claude .msg-attachment.image{position:relative!important;width:120px!important;height:120px!important;min-width:120px!important;min-height:120px!important;max-width:120px!important;max-height:120px!important;box-sizing:border-box!important;display:block!important;flex:0 0 auto!important;padding:0!important;margin:0!important;overflow:hidden!important;cursor:pointer!important;border-radius:8px!important;background:transparent!important;border:.5px solid rgba(31,31,30,.25)!important;box-shadow:0 1px 2px 0 rgba(0,0,0,.05)!important;transition:border-color .15s ease,box-shadow .15s ease!important;}
html.claude.dark .attachment-preview.image,
html.claude.dark .msg-attachment.image{border-color:rgba(226,225,218,.25)!important;box-shadow:0 1px 2px 0 rgba(0,0,0,.05)!important;}
html.claude .attachment-preview.image:hover,
html.claude .msg-attachment.image:hover{border-color:rgba(31,31,30,.5)!important;box-shadow:0 1px 2px 0 rgba(0,0,0,.10)!important;}
html.claude.dark .attachment-preview.image:hover,
html.claude.dark .msg-attachment.image:hover{border-color:rgba(226,225,218,.5)!important;box-shadow:0 1px 2px 0 rgba(0,0,0,.10)!important;}
html.claude .attachment-preview.image>button:not(.attachment-remove),
html.claude .msg-attachment.image>button:not(.attachment-remove),
html.claude .attachment-preview.image>.cresx-img-btn,
html.claude .msg-attachment.image>.cresx-img-btn{position:relative!important;display:block!important;width:120px!important;height:120px!important;min-width:120px!important;min-height:120px!important;padding:0!important;margin:0!important;border:0!important;border-radius:0!important;background:rgb(255,255,253)!important;overflow:hidden!important;cursor:pointer!important;appearance:none!important;-webkit-appearance:none!important;}
html.claude.dark .attachment-preview.image>button:not(.attachment-remove),
html.claude.dark .msg-attachment.image>button:not(.attachment-remove),
html.claude.dark .attachment-preview.image>.cresx-img-btn,
html.claude.dark .msg-attachment.image>.cresx-img-btn{background:rgb(44,44,42)!important;}
html.claude .attachment-preview.image img,
html.claude .attachment-preview.image .attachment-thumb,
html.claude .msg-attachment.image img,
html.claude .msg-attachment.image .msg-attachment-thumb{display:block!important;width:100%!important;height:100%!important;min-width:100%!important;min-height:100%!important;max-width:100%!important;max-height:100%!important;box-sizing:border-box!important;object-fit:cover!important;object-position:center center!important;border:0!important;border-radius:0!important;box-shadow:none!important;opacity:1!important;transition-property:opacity,transform!important;transition-duration:400ms!important;transition-timing-function:cubic-bezier(.4,0,.2,1)!important;background:transparent!important;}
html.claude .attachment-preview.image>.attachment-thumb,
html.claude .msg-attachment.image>.msg-attachment-thumb{background:rgb(255,255,253)!important;}
html.claude.dark .attachment-preview.image>.attachment-thumb,
html.claude.dark .msg-attachment.image>.msg-attachment-thumb{background:rgb(44,44,42)!important;}
/* ── 统一 composer 图片预览 = 正文 .msg-attachment.image 规格(边框+阴影+cover) ── */
html.claude .chat-input-area .attachment-previews > .attachment-preview.image{
  border:0.5px solid rgba(31,31,30,0.25)!important;
  box-shadow:rgba(0,0,0,0.05) 0 1px 2px 0!important;
  border-radius:8px!important;
  background:rgb(255,255,253)!important;
  overflow:hidden!important;
}
html.claude.dark .chat-input-area .attachment-previews > .attachment-preview.image{
  border-color:rgba(226,225,218,0.25)!important;
  background:rgb(44,44,42)!important;
}
html.claude .chat-input-area .attachment-previews > .attachment-preview.image > img.attachment-thumb,
html.claude .chat-input-area .attachment-previews > .attachment-preview.image > .attachment-thumb{
  object-fit:cover!important;
  display:block!important;
  border:0!important;
  border-radius:0!important;
}
html.claude.dark .chat-input-area .attachment-previews > .attachment-preview.image > img.attachment-thumb,
html.claude.dark .chat-input-area .attachment-previews > .attachment-preview.image > .attachment-thumb{
  background:rgb(44,44,42)!important;
}

/* Claude paste/code replication: compact list + Claude-style fenced code card */
.markdown-body ol{margin:4px 0 12px!important;padding-left:30px!important;display:flex!important;flex-direction:column!important;gap:4px!important}.markdown-body ol+div.hljs-code-block,.markdown-body ol+.hljs-code-block{margin-top:0!important}.markdown-body li{margin:0!important;padding-left:4px!important;line-height:1.65!important}.markdown-body code:not(.hljs){background:rgba(var(--text-primary-rgb),.05)!important;border:1px solid var(--border-color)!important;color:var(--error)!important;white-space:pre-wrap!important;border-radius:.4rem!important;padding:1px 5px!important;font-size:.9em!important}.hljs-code-block.claude-code-card{position:relative!important;box-sizing:border-box!important;width:100%!important;margin:6px 0 12px!important;border:.5px solid var(--border-color)!important;border-radius:8px!important;background:rgba(var(--text-primary-rgb),.025)!important;overflow:hidden!important;white-space:normal!important}.hljs-code-block.claude-code-card .code-header{height:auto!important;min-height:0!important;padding:14px 14px 0!important;border-bottom:0!important;background:transparent!important;display:block!important}.hljs-code-block.claude-code-card .code-lang{display:block!important;color:var(--text-muted)!important;text-transform:none!important;font-size:12px!important;font-weight:500!important;line-height:16px!important;letter-spacing:0!important}.hljs-code-block.claude-code-card .claude-code-copy{position:sticky!important;top:8px!important;float:right!important;z-index:5!important;width:0!important;height:0!important;opacity:0!important;transition:opacity .15s ease!important}.hljs-code-block.claude-code-card:hover .claude-code-copy,.hljs-code-block.claude-code-card:focus-within .claude-code-copy{opacity:1!important}.hljs-code-block.claude-code-card .copy-btn{position:absolute!important;right:8px!important;top:8px!important;width:32px!important;height:32px!important;padding:0!important;border:0!important;border-radius:6px!important;background:rgba(255,255,255,.55)!important;backdrop-filter:blur(12px)!important;color:var(--text-muted)!important;font-size:0!important;box-shadow:none!important;cursor:pointer!important}.dark .hljs-code-block.claude-code-card .copy-btn{background:rgba(32,32,32,.55)!important}.hljs-code-block.claude-code-card .copy-btn:before{content:"⧉";font-size:18px;line-height:32px;display:block;text-align:center;color:currentColor}.hljs-code-block.claude-code-card .copy-btn:hover{background:rgba(var(--text-primary-rgb),.08)!important;color:var(--text-primary)!important}.hljs-code-block.claude-code-card .claude-code-scroll{overflow-x:auto!important}.hljs-code-block.claude-code-card .claude-code-pre{margin:0!important;padding:0!important;background:transparent!important;border:0!important;border-radius:0!important}.hljs-code-block.claude-code-card code.hljs{display:block!important;padding:14px!important;padding-top:10px!important;background:transparent!important;color:var(--text-primary)!important;font-family:JetBrains Mono,Fira Code,Consolas,monospace!important;font-size:13px!important;line-height:1.625!important;white-space:pre!important;overflow-wrap:normal!important;word-break:normal!important;overflow:visible!important}.dark .hljs-code-block.claude-code-card{background:rgba(255,255,255,.035)!important;border-color:rgba(255,255,255,.16)!important}

/* Claude paste/code replication stronger final override */.markdown-body .hljs-code-block.claude-code-card{background:rgba(var(--text-primary-rgb),.025)!important;border:.5px solid var(--border-color)!important}.dark .markdown-body .hljs-code-block.claude-code-card{background:rgba(255,255,255,.035)!important;border-color:rgba(255,255,255,.16)!important}.markdown-body .hljs-code-block.claude-code-card .code-header{padding:14px 14px 0!important;background:transparent!important;border-bottom:0!important}.markdown-body .hljs-code-block.claude-code-card code.hljs{font-size:13px!important;line-height:1.625!important;padding:14px!important;padding-top:10px!important}


/* HERMES FIX 20260707: match Claude WebUI plain text fenced-code rendering.
   Plain ```text blocks should not add Hermes language/copy header; the extra header
   made highlighted reference boxes vertically overflow and strike through the last line (e.g. TXT). */
.markdown-body .hljs-code-block:has(> code.language-text) .code-header{
  display:none!important;
}
.markdown-body .hljs-code-block:has(> code.language-text){
  overflow:hidden!important;
  height:auto!important;
  min-height:0!important;
  box-sizing:border-box!important;
}
.markdown-body .hljs-code-block:has(> code.language-text) > code.hljs{
  display:block!important;
  box-sizing:border-box!important;
  height:auto!important;
  min-height:0!important;
  padding:14px!important;
  margin:0!important;
  overflow-x:auto!important;
  overflow-y:visible!important;
}


/* HERMES FIX 20260707: Claude-like vertical gap before fenced code blocks.
   The earlier Claude paste rule forced list+code margin-top:0, making the code frame stick too close to the line above. */
.markdown-body p + .hljs-code-block,
.markdown-body ul + .hljs-code-block,
.markdown-body ol + .hljs-code-block,
.markdown-body li + .hljs-code-block,
.markdown-body p + div.hljs-code-block,
.markdown-body ul + div.hljs-code-block,
.markdown-body ol + div.hljs-code-block,
.markdown-body li + div.hljs-code-block{
  margin-top:12px!important;
}


/* BEGIN CRESX CLAUDE MD FILE CARD */
/* Claude real source probe 2026-07-07: card=720×70.5, parent py-2, flex, px-4, radius 8, Download 99×36 */
html.claude .markdown-body .markdown-file-card{
  position:relative!important;
  display:flex!important;
  align-items:center!important;
  width:100%!important;
  max-width:720px!important;
  height:71px!important;
  min-height:71px!important;
  margin:8px 0!important;
  padding:0 16px!important;
  box-sizing:border-box!important;
  overflow:hidden!important;
  border:0.5px solid rgba(31,31,30,0.15)!important;
  border-radius:8px!important;
  background:transparent!important;
  color:#1f1f1e!important;
  cursor:pointer!important;
  text-decoration:none!important;
  transition:background-color .3s,border-color .3s!important;
  font-family:'Anthropic Sans',system-ui,'Segoe UI',Roboto,Helvetica,Arial,sans-serif!important;
  font-size:14px!important;
  line-height:26.4px!important;
  font-weight:400!important;
}
html.claude .markdown-body .markdown-file-card:hover{
  background:rgba(31,31,30,0.035)!important;
  border-color:rgba(31,31,30,0.22)!important;
}
html.claude.dark .markdown-body .markdown-file-card{
  color:#fff!important;
  border-color:rgba(226,225,218,0.15)!important;
}
html.claude.dark .markdown-body .markdown-file-card:hover{
  background:rgba(226,225,218,0.05)!important;
  border-color:rgba(226,225,218,0.22)!important;
}
html.claude .markdown-body .markdown-file-card::before{
  content:''!important;
  position:absolute!important;
  left:24px!important;
  bottom:-13px!important;
  width:52px!important;
  height:71px!important;
  border:0.5px solid rgba(31,31,30,0.18)!important;
  border-radius:8px 8px 0 0!important;
  background:linear-gradient(180deg,#fff 0%,rgba(255,255,255,0) 100%)!important;
  box-sizing:border-box!important;
  pointer-events:none!important;
  transform:rotate(-0.1rad) scale(1)!important;
  transform-origin:50% 50%!important;
  transition:transform .3s cubic-bezier(0,0.9,0.5,1.35)!important;
  will-change:transform!important;
}
html.claude .markdown-body .markdown-file-card:hover::before{
  transform:rotate(-0.065rad) scale(1.035)!important;
}
html.claude.dark .markdown-body .markdown-file-card::before{
  background:linear-gradient(180deg,rgb(44,44,42) 0%,rgba(44,44,42,0) 100%)!important;
  border-color:rgba(226,225,218,0.18)!important;
}
html.claude .markdown-body .markdown-file-card > svg:not(.att-download-icon){
  position:absolute!important;
  left:40px!important;
  top:25px!important;
  z-index:1!important;
  width:20px!important;
  height:20px!important;
  color:#6b6860!important;
  pointer-events:none!important;
}
html.claude.dark .markdown-body .markdown-file-card > svg:not(.att-download-icon){ color:#a8a59c!important; }
html.claude .markdown-body .markdown-file-card .att-text{
  min-width:0!important;
  flex:1 1 auto!important;
  display:flex!important;
  flex-direction:column!important;
  gap:4px!important;
  margin-left:76px!important;
  padding:14px 0!important;
}
html.claude .markdown-body .markdown-file-card .att-name{
  display:block!important;
  max-width:100%!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
  color:#1f1f1e!important;
  font-size:14px!important;
  line-height:18px!important;
  font-weight:400!important;
}
html.claude.dark .markdown-body .markdown-file-card .att-name{ color:#fff!important; }
html.claude .markdown-body .markdown-file-card .att-kind{
  display:block!important;
  color:#8a857c!important;
  font-size:12px!important;
  line-height:16px!important;
  font-weight:400!important;
  letter-spacing:0!important;
}
html.claude.dark .markdown-body .markdown-file-card .att-kind{ color:#a8a59c!important; }
html.claude .markdown-body .markdown-file-card .att-dot{ opacity:.5!important; }
html.claude .markdown-body .markdown-file-card .att-download-btn{
  position:relative!important;
  z-index:2!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  flex:0 0 auto!important;
  width:auto!important;
  height:36px!important;
  min-width:80px!important;
  margin-left:16px!important;
  padding:8px 16px!important;
  box-sizing:border-box!important;
  border:0.5px solid rgba(31,31,30,0.3)!important;
  border-radius:8px!important;
  background:transparent!important;
  color:#1f1f1e!important;
  box-shadow:none!important;
  font-family:'Anthropic Sans',system-ui,'Segoe UI',Roboto,Helvetica,Arial,sans-serif!important;
  font-size:14px!important;
  font-weight:500!important;
  line-height:19.6px!important;
  cursor:pointer!important;
  transition:background .15s,border-color .15s!important;
}
html.claude .markdown-body .markdown-file-card .att-download-btn:hover{ background:rgba(31,31,30,0.05)!important; }
html.claude.dark .markdown-body .markdown-file-card .att-download-btn{
  color:#f8f8f6!important;
  border-color:rgba(226,225,218,0.3)!important;
}
html.claude.dark .markdown-body .markdown-file-card .att-download-btn:hover{ background:rgba(226,225,218,0.08)!important; }
html.claude .markdown-body .markdown-file-card .att-download-icon{ display:none!important; }
html.claude .markdown-body .markdown-file-card .att-download-label{ display:inline!important; }
@media (max-width:720px){
  html.claude .markdown-body .markdown-file-card{height:auto!important;min-height:71px!important;align-items:center!important;}
  html.claude .markdown-body .markdown-file-card .att-download-btn{min-width:68px!important;padding:8px 12px!important;margin-left:10px!important;}
  html.claude .markdown-body .markdown-file-card .att-text{margin-left:66px!important;}
  html.claude .markdown-body .markdown-file-card::before{left:18px!important;}
  html.claude .markdown-body .markdown-file-card > svg:not(.att-download-icon){left:34px!important;}
}
/* END CRESX CLAUDE MD FILE CARD */

/* ===== BEGIN CRESX QUEUE OPS (引导/删除/编辑/拖排序 + 面板搬到 composer 上方) ===== */
/* 队列面板：JS 会把它 position:fixed 定位到 composer 上方、同宽同中轴；
   审批/clarify 不加任何规则，留右下角 message-float-stack 原位 */
html.claude .queue-float-panel{
  box-sizing:border-box!important;
  background:#ffffff!important;
  border:0.5px solid rgba(31,31,30,0.14)!important;
  border-radius:14px!important;
  box-shadow:0 6px 24px rgba(0,0,0,0.06)!important;
  padding:8px!important;
  max-width:none!important;
  min-width:0!important;
}
html.claude.dark .queue-float-panel{
  background:rgb(44,44,42)!important;
  border:0.5px solid rgba(226,225,218,0.16)!important;
  box-shadow:0 6px 24px rgba(0,0,0,0.32)!important;
}
/* 头部：消息队列 N */
html.claude .queue-float-header{
  display:flex!important;align-items:center!important;gap:6px!important;
  padding:4px 8px 8px!important;
  font-family:'Anthropic Sans',-apple-system,system-ui,sans-serif!important;
  font-size:12px!important;font-weight:500!important;
  color:rgba(31,31,30,0.6)!important;
}
html.claude.dark .queue-float-header{ color:rgba(226,225,218,0.6)!important; }
html.claude .queue-float-header strong{ color:inherit!important;font-weight:600!important; }

/* 列表 */
html.claude .queue-float-list{ display:flex!important;flex-direction:column!important;gap:2px!important; }

/* 每条队列项：拖拽手柄 | 文本(flex:1) | 动作区(靠右) */
html.claude .queue-float-item{
  display:flex!important;align-items:center!important;gap:8px!important;
  padding:6px 8px!important;border-radius:10px!important;
  position:relative!important;
  transition:background .12s!important;
}
html.claude .queue-float-item:hover{ background:rgba(31,31,30,0.04)!important; }
html.claude.dark .queue-float-item:hover{ background:rgba(226,225,218,0.06)!important; }

/* 序号：小、次级色 */
html.claude .queue-float-item .queue-index{
  flex:0 0 auto!important;
  font-size:11px!important;color:rgba(31,31,30,0.4)!important;
  min-width:12px!important;text-align:center!important;
}
html.claude.dark .queue-float-item .queue-index{ color:rgba(226,225,218,0.4)!important; }

/* 拖拽手柄：6 点，抓取光标 */
html.claude .queue-float-item .queue-drag{
  flex:0 0 auto!important;display:inline-flex!important;align-items:center!important;
  cursor:grab!important;color:rgba(31,31,30,0.32)!important;
  padding:2px!important;
}
html.claude .queue-float-item .queue-drag:active{ cursor:grabbing!important; }
html.claude.dark .queue-float-item .queue-drag{ color:rgba(226,225,218,0.32)!important; }

/* 文本：占满中间 */
html.claude .queue-float-item .queue-text{
  flex:1 1 auto!important;min-width:0!important;
  font-family:'Anthropic Sans',-apple-system,system-ui,sans-serif!important;
  font-size:13px!important;color:rgba(31,31,30,0.85)!important;
  white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;
}
html.claude.dark .queue-float-item .queue-text{ color:rgba(226,225,218,0.85)!important; }

/* 编辑输入框（复用文本位置） */



/* 动作区：引导/删除/更多，右对齐 */
html.claude .queue-float-item .queue-actions{
  flex:0 0 auto!important;display:flex!important;align-items:center!important;
  gap:2px!important;margin-left:auto!important;
}
/* 三个动作按钮：32×32 幽灵按钮，图标 currentColor，风格同 composer */
html.claude .queue-float-item .queue-actions > button,
html.claude .queue-float-item .queue-steer,
html.claude .queue-float-item .queue-remove,
html.claude .queue-float-item .queue-more{
  width:28px!important;height:28px!important;padding:0!important;
  display:inline-flex!important;align-items:center!important;justify-content:center!important;
  background:transparent!important;border:none!important;border-radius:7px!important;
  cursor:pointer!important;color:rgba(31,31,30,0.5)!important;
  transition:background .12s,color .12s!important;
}
html.claude.dark .queue-float-item .queue-actions > button{ color:rgba(226,225,218,0.55)!important; }
html.claude .queue-float-item .queue-actions > button:hover{
  background:rgba(31,31,30,0.08)!important;color:rgba(31,31,30,0.85)!important;
}
html.claude.dark .queue-float-item .queue-actions > button:hover{
  background:rgba(226,225,218,0.1)!important;color:rgba(226,225,218,0.9)!important;
}
/* 引导 hover 用主题陶土色点缀 */
html.claude .queue-float-item .queue-steer:hover{ color:rgb(198,97,63)!important; }
html.claude.dark .queue-float-item .queue-steer:hover{ color:rgb(210,120,90)!important; }

/* 更多菜单（编辑） */
html.claude .queue-float-item .queue-menu{
  position:fixed!important;right:auto!important;bottom:auto!important;z-index:9999!important;
  background:#fff!important;border:0.5px solid rgba(31,31,30,0.14)!important;
  border-radius:10px!important;box-shadow:0 8px 24px rgba(0,0,0,0.12)!important;
  padding:4px!important;min-width:96px!important;
}
html.claude.dark .queue-float-item .queue-menu{
  background:rgb(56,56,53)!important;border:0.5px solid rgba(226,225,218,0.16)!important;
  box-shadow:0 8px 24px rgba(0,0,0,0.4)!important;
}
html.claude .queue-float-item .queue-menu-item{
  display:block!important;width:100%!important;text-align:left!important;
  background:transparent!important;border:none!important;border-radius:6px!important;
  padding:6px 10px!important;cursor:pointer!important;
  font-family:'Anthropic Sans',-apple-system,system-ui,sans-serif!important;
  font-size:13px!important;color:rgba(31,31,30,0.85)!important;
}
html.claude.dark .queue-float-item .queue-menu-item{ color:rgba(226,225,218,0.85)!important; }
html.claude .queue-float-item .queue-menu-item:hover{ background:rgba(31,31,30,0.06)!important; }
html.claude.dark .queue-float-item .queue-menu-item:hover{ background:rgba(226,225,218,0.08)!important; }
/* ===== END CRESX QUEUE OPS ===== */

/* ===== CRESX QUEUE CLAUDE HOTFIX (毛玻璃面板 + 平铺行去方块，压 scoped [data-v]) ===== */
/* 面板：Claude 半透明毛玻璃，细边，无实心盒 */
html.claude .queue-float-panel[class]{
  background:rgba(255,255,253,0.72)!important;
  border:0.5px solid rgba(31,31,30,0.12)!important;
  border-radius:16px!important;
  box-shadow:0 8px 30px rgba(0,0,0,0.08)!important;
  -webkit-backdrop-filter:saturate(1.6) blur(20px)!important;
  backdrop-filter:saturate(1.6) blur(20px)!important;
  padding:6px!important;
}
html.claude.dark .queue-float-panel[class]{
  background:rgba(30,30,28,0.62)!important;
  border:0.5px solid rgba(226,225,218,0.14)!important;
  box-shadow:0 8px 30px rgba(0,0,0,0.36)!important;
}
/* 行：平铺，去掉原生 #ffffffad 方块底 + 圆角框，只留 hover */
html.claude .queue-float-item[data-v-d292b567],
html.claude .queue-float-item[class]{
  background:transparent!important;
  border:none!important;
  border-radius:8px!important;
  min-height:32px!important;
  padding:5px 6px!important;
}
html.claude .queue-float-item[class]:hover{
  background:rgba(31,31,30,0.05)!important;
}
html.claude.dark .queue-float-item[class]:hover{
  background:rgba(226,225,218,0.06)!important;
}
/* 行间距靠 gap 不靠方块 */
html.claude .queue-float-list[class]{
  display:flex!important;flex-direction:column!important;gap:1px!important;
}
/* 头部计数徽章：Claude 不用药丸，弱化成次级数字 */
html.claude .queue-float-header[class] strong{
  background:transparent!important;
  color:inherit!important;
  font-weight:600!important;
  padding:0!important;
}

/* 标题蓝点 orbit → Claude 中性静态圆点（去高饱和蓝 + 去旋转动画） */
html.claude .queue-float-header[class] .queue-orbit{
  border:1px solid rgba(31,31,30,0.18)!important;
  animation:none!important;
  width:14px!important;height:14px!important;
}
html.claude.dark .queue-float-header[class] .queue-orbit{
  border:1px solid rgba(226,225,218,0.22)!important;
}
html.claude .queue-float-header[class] .queue-orbit span{
  background:rgba(31,31,30,0.45)!important;
  box-shadow:none!important;
  width:5px!important;height:5px!important;
}
html.claude.dark .queue-float-header[class] .queue-orbit span{
  background:rgba(226,225,218,0.5)!important;
}
/* ===== END CRESX QUEUE CLAUDE HOTFIX ===== */


/* ===== CRESX QUEUE FONT+INDEX HOTFIX ===== */
/* 队列文字统一用主题全局字体链（补全 fallback，和 html.claude 一致）*/
html.claude .queue-float-item .queue-text[class],

/* 序号：干掉原生蓝色(--accent-info)方块，改 Claude 中性次级色，无底 */
html.claude .queue-float-item .queue-index[class]{
  color:rgba(31,31,30,0.4)!important;
  background:transparent!important;
  box-shadow:none!important;
  font-family:'Tiempos Text',Georgia,'Times New Roman',serif!important;
}
html.claude.dark .queue-float-item .queue-index[class]{
  color:rgba(226,225,218,0.4)!important;
  background:transparent!important;
}
/* 头部左侧 orbit：彻底藏掉那个蓝点转圈（Claude 无此元素）*/
html.claude .queue-float-header[class] .queue-orbit{
  display:none!important;
}
/* ===== END CRESX QUEUE FONT+INDEX HOTFIX ===== */

/* ===== CRESX CODEX EXTERNAL CONNECTED QUEUE =====
   队列与 composer 是两个外部层：零间隙贴边，composer(z5)压住队列底沿，绝不嵌入输入框。 */
html.claude .queue-float-panel[data-cresx-codex-external][class]{
  pointer-events:auto!important;
  box-sizing:border-box!important;
  background:#fff!important;
  border:0.5px solid rgba(31,31,30,0.15)!important;
  border-radius:18px 18px 0 0!important;
  box-shadow:0 -2px 16px rgba(0,0,0,0.035)!important;
  -webkit-backdrop-filter:none!important;
  backdrop-filter:none!important;
}
html.claude.dark .queue-float-panel[data-cresx-codex-external][class]{
  background:rgb(44,44,42)!important;
  border-color:rgba(226,225,218,0.16)!important;
  box-shadow:0 -2px 16px rgba(0,0,0,0.18)!important;
}
/* 队列正文与输入框 1:1；这是待发送正文，不做次级灰或缩字号。 */
html.claude .queue-float-panel[data-cresx-codex-external] .queue-text[class]{
  font-family:'Anthropic Sans',system-ui,'Segoe UI',-apple-system,'system-ui','PingFang SC','Microsoft YaHei',sans-serif!important;
  font-size:16px!important;
  font-weight:430!important;
  line-height:22.4px!important;
  letter-spacing:normal!important;
  color:rgb(11,11,11)!important;
}
html.claude.dark .queue-float-panel[data-cresx-codex-external] .queue-text[class]{
  color:rgb(255,255,255)!important;
}
/* ===== END CRESX CODEX EXTERNAL CONNECTED QUEUE ===== */

/* 移动端：动作区始终可见并预留固定宽度，长正文只截断正文，不能把引导/删除/更多挤掉。 */
@media (max-width:640px){
  html.claude .queue-float-panel[data-cresx-codex-external] .queue-float-header > span:nth-child(2){
    display:inline!important;
  }
  html.claude .queue-float-panel[data-cresx-codex-external] .queue-float-item{
    min-width:0!important;
    overflow:hidden!important;
  }
  html.claude .queue-float-panel[data-cresx-codex-external] .queue-text[class]{
    flex:1 1 0!important;
    min-width:0!important;
    overflow:hidden!important;
    white-space:nowrap!important;
    text-overflow:ellipsis!important;
  }
  html.claude .queue-float-panel[data-cresx-codex-external] .queue-actions{
    display:flex!important;
    visibility:visible!important;
    opacity:1!important;
    flex:0 0 100px!important;
    width:100px!important;
    min-width:100px!important;
    margin-left:6px!important;
    gap:2px!important;
    overflow:visible!important;
  }
  html.claude .queue-float-panel[data-cresx-codex-external] .queue-actions > button,
  html.claude .queue-float-panel[data-cresx-codex-external] .queue-steer,
  html.claude .queue-float-panel[data-cresx-codex-external] .queue-remove,
  html.claude .queue-float-panel[data-cresx-codex-external] .queue-more{
    display:inline-flex!important;
    visibility:visible!important;
    opacity:1!important;
    flex:0 0 32px!important;
    width:32px!important;
    height:32px!important;
    color:rgba(31,31,30,.78)!important;
  }
  html.claude.dark .queue-float-panel[data-cresx-codex-external] .queue-actions > button,
  html.claude.dark .queue-float-panel[data-cresx-codex-external] .queue-steer,
  html.claude.dark .queue-float-panel[data-cresx-codex-external] .queue-remove,
  html.claude.dark .queue-float-panel[data-cresx-codex-external] .queue-more{
    color:rgba(255,255,255,.82)!important;
  }
  html.claude .queue-float-panel[data-cresx-codex-external] .queue-actions svg{
    width:18px!important;
    height:18px!important;
  }
  html.claude .queue-float-panel[data-cresx-codex-external] .queue-steer{
    color:rgb(180,82,50)!important;
  }
  html.claude.dark .queue-float-panel[data-cresx-codex-external] .queue-steer{
    color:rgb(225,135,103)!important;
  }
}

/* hover popover */
.markdown-body .hn-cite:hover .hn-cite-pop,
.markdown-body .hn-cite:focus-visible .hn-cite-pop{
  opacity:1;
  
  transform:translate(-50%, 0);
}
html.dark 
html.dark 
html.dark 
html.dark 
/* ===== HN WEB-SEARCH CITE PILL END ===== */


/* ===== HN CITE POPOVER SNIPPET LINE ===== */
html.dark 
/* ===== END SNIPPET ===== */



/* 头部：地球图标 + 搜索词 + N results */
/* 容器：0.5px 边框 + 圆角 + max-h 150px + 滚动（照真实源码）*/
  border:0.5px solid rgba(30,30,29,0.15);
  border-radius:8px;
  padding:4px;
  margin:4px 10px 8px;
  max-height:150px;
  overflow-y:auto;
  background:rgba(255,255,255,0.5);
  display:flex;flex-direction:column;gap:4px;
}
/* 每张卡：flex gap-3 px-2 py-1.5 rounded-md hover:bg-bg-200 */
  display:flex;flex-direction:row;gap:12px;align-items:center;
  padding:6px 8px;width:100%;box-sizing:border-box;
  border-radius:6px;cursor:pointer;text-decoration:none!important;
  transition:background .12s ease;
}
/* favicon 12x12（真实源码尺寸）*/
/* 标题：w-0 flex-grow font-small text-text-300 truncate */
/* 域名：text-xs text-text-400 shrink-0 */
/* dark mode */
html.dark html.dark html.dark html.dark html.dark 
/* ===== WEB SEARCH TIMELINE (Claude 1:1 from F12) START ===== */
.tool-details .ws-timeline{display:flex;flex-direction:column;}
.tool-details .ws-tl-row{display:flex;flex-direction:row;}
.tool-details .ws-tl-rail{width:20px;flex:0 0 auto;display:flex;flex-direction:column;align-items:center;position:relative;}
.tool-details .ws-tl-globe,.tool-details .ws-tl-check{display:flex;align-items:center;justify-content:center;color:rgb(123,121,116);padding-top:2px;flex:0 0 auto;}
.tool-details .ws-tl-line{width:1px;flex:1 1 auto;margin-top:4px;background:rgba(30,30,29,0.15);}
.tool-details .ws-tl-body{flex:1 1 auto;min-width:0;padding-bottom:4px;}
.tool-details .ws-tl-head{display:flex;flex-direction:row;align-items:center;gap:6px;padding:1px 10px;}
.tool-details .ws-tl-q{flex:1 1 0;width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:rgb(123,121,116);font-size:14px;text-align:left;}
.tool-details .ws-tl-count{flex:0 0 auto;color:rgb(123,121,116);font-size:12px;white-space:nowrap;padding-left:4px;}
.tool-details .ws-tl-donetext{padding:2px 10px;color:rgb(56,56,53);font-size:14px;}
/* 来源���：0.5px 边框 圆角 max-h 150 滚动，缩进挂在竖线右侧 */
.tool-details .ws-source-box{border:0.5px solid rgba(30,30,29,0.15);border-radius:8px;padding:4px;margin:4px 10px 8px;max-height:150px;overflow-y:auto;background:rgba(255,255,255,0.5);display:flex;flex-direction:column;gap:4px;}
.tool-details .ws-source-box::-webkit-scrollbar{width:8px;}
.tool-details .ws-source-box::-webkit-scrollbar-thumb{background:rgba(0,0,0,0.15);border-radius:4px;}
/* 卡片：flex gap-3 px-2 py-1.5 rounded-md hover:bg-bg-200，favicon 12px */
.tool-details .ws-source-card{display:flex;flex-direction:row;gap:12px;align-items:center;padding:6px 8px;width:100%;box-sizing:border-box;border-radius:6px;cursor:pointer;text-decoration:none!important;transition:background .12s ease;}
.tool-details .ws-source-card:hover{background:rgb(242,240,235);text-decoration:none!important;}
.tool-details .ws-source-fav{flex:0 0 auto;width:12px;height:12px;max-width:12px;max-height:12px;object-fit:contain;}
.tool-details .ws-source-title{flex:1 1 0;width:0;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px;color:rgb(56,56,53);}
.tool-details .ws-source-domain{flex:0 0 auto;font-size:12px;color:rgba(118,116,110,0.75);white-space:nowrap;}
/* dark */
html.dark .tool-details .ws-tl-globe,html.dark .tool-details .ws-tl-check,html.dark .tool-details .ws-tl-q,html.dark .tool-details .ws-tl-count{color:#a3a096;}
html.dark .tool-details .ws-tl-line{background:rgba(255,255,255,0.12);}
html.dark .tool-details .ws-tl-donetext{color:#d7d5cd;}
html.dark .tool-details .ws-source-box{border-color:rgba(255,255,255,0.12);background:rgba(255,255,255,0.03);}
html.dark .tool-details .ws-source-card:hover{background:rgba(255,255,255,0.06);}
html.dark .tool-details .ws-source-title{color:#d7d5cd;}
html.dark .tool-details .ws-source-domain{color:#a3a096;}
/* ===== WEB SEARCH TIMELINE END ===== */

/* ===== CLAUDE-EXACT SOURCE PILL (measured 1:1 from claude.ai) ===== */
html.claude .markdown-body a.hn-cite,
.markdown-body a.hn-cite{
  position:relative; display:inline-flex; align-items:center;
  height:18px; border-radius:9999px; 
  transform:translateY(-1px); cursor:pointer;
  border:0!important; background:transparent!important; padding:0!important; margin:0 2px;
  text-decoration:none!important; text-decoration-line:none!important;
  vertical-align:baseline; line-height:normal;
}
html.claude .markdown-body a.hn-cite:hover,
html.claude .markdown-body a.hn-cite:visited,
.markdown-body a.hn-cite:hover,
.markdown-body a.hn-cite:visited,
.markdown-body a.hn-cite *{
  text-decoration:none!important; text-decoration-line:none!important;
  text-decoration-color:transparent!important;
}
.markdown-body a.hn-cite .hn-cite-chip{
  position:relative; height:100%; max-width:180px; overflow:hidden;
  padding:0 6px; display:inline-flex; align-items:center;
  border-radius:9999px;
  border:0.5px solid rgba(30,30,29,0.15);
  background:rgb(243,243,240);
  transition:background-color .15s ease,border-color .15s ease;
}
.markdown-body a.hn-cite:hover .hn-cite-chip{
  background:rgb(205,226,251);
  border-color:rgba(37,106,191,0.6);
}
.markdown-body a.hn-cite .hn-cite-label{
  display:block; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
  font-size:12px; line-height:16.8px; font-weight:400;
  color:rgb(56,56,53);
}
.markdown-body a.hn-cite .hn-cite-rev{
  position:absolute; right:0.5px; height:17px; padding:0 6px;
  display:flex; align-items:center;
  border-top-right-radius:9999px; border-bottom-right-radius:9999px;
  opacity:0; transition:opacity .2s ease;
  background:linear-gradient(to right, rgba(205,226,251,0) 0%, rgb(205,226,251) 30%, rgb(205,226,251) 100%);
  pointer-events:none;
}
.markdown-body a.hn-cite:hover .hn-cite-rev{ opacity:1; }
.markdown-body a.hn-cite .hn-cite-rev svg{
  width:14px; height:14px; margin-right:-2px;
  color:rgb(37,106,191); fill:currentColor;
  transform:scale(.8); opacity:0;
  transition:transform .5s ease-in,opacity .5s ease-in;
}
.markdown-body a.hn-cite:hover .hn-cite-rev svg{ transform:scale(1); opacity:1; transition-timing-function:ease-out; }
html.claude.dark .markdown-body a.hn-cite .hn-cite-chip,
html.dark .markdown-body a.hn-cite .hn-cite-chip{
  background:rgba(255,255,255,0.06); border-color:rgba(255,255,255,0.16);
}
html.claude.dark .markdown-body a.hn-cite .hn-cite-label,
html.dark .markdown-body a.hn-cite .hn-cite-label{ color:rgba(240,238,230,0.9); }
/* ===== END CLAUDE-EXACT SOURCE PILL ===== */

/* ===== HN CITE HOVER CARD — Claude 1:1 (measured: 337px w, gap 4px, radix tooltip) ===== */
html.claude .markdown-body .hn-cite-pop,
.markdown-body .hn-cite-pop{
  position:absolute;
  left:50%;
  bottom:100%;
  transform:translateX(-50%);
  /* Claude 实测 gap=4px；用透明 padding 造 hover 桥，鼠标移入不断开 */
  padding-bottom:4px;
  margin:0;
  width:337px;
  max-width:337px;
  z-index:50;
  display:block;
  opacity:0;
  
  pointer-events:auto;
  transition:opacity .12s ease,transform .12s ease;
  box-sizing:border-box;
  text-align:left;
}
html.claude .markdown-body .hn-cite:hover .hn-cite-pop,
.markdown-body .hn-cite:hover .hn-cite-pop,
html.claude .markdown-body .hn-cite-pop:hover,
.markdown-body .hn-cite-pop:hover{
  opacity:1;
  
  pointer-events:auto;
}
/* 卡片本体：Claude = p-1 + border-0.5 border-300/0.25 + rounded-lg + shadow-diffused + bg-bg-100 */
html.claude .markdown-body .hn-cite-pop-inner,
.markdown-body .hn-cite-pop-inner{
  display:block;
  padding:4px;
  border:0.5px solid rgba(30,30,29,0.25);
  border-radius:8px;
  background:rgb(250,249,245);
  box-shadow:0 8px 24px rgba(0,0,0,0.04),0 2px 6px rgba(0,0,0,0.04);
  max-height:300px;
  overflow-y:auto;
  box-sizing:border-box;
}
/* 内层链接行：Claude = flex flex-col gap-1 px-2 py-1.5 rounded-md hover:bg-bg-300 */
html.claude .markdown-body .hn-cite-pop-row,
.markdown-body .hn-cite-pop-row{
  display:flex;
  flex-direction:column;
  gap:4px;
  padding:6px 8px;
  border-radius:6px;
  transition:background .15s ease;
}
html.claude .markdown-body .hn-cite-pop-row:hover,
.markdown-body .hn-cite-pop-row:hover{
  background:rgb(240,238,231);
}
/* 标题：Claude font-base-bold = 14px/19.6px w600, text-text-200 */
html.claude .markdown-body .hn-cite-pop-title,
.markdown-body .hn-cite-pop-title{
  display:block;
  font-size:14px;
  line-height:1.5;
  padding-bottom:2px;
  font-weight:600;
  color:rgb(56,56,53);
  margin:0;
  overflow-wrap:break-word;
}
/* 来源行：favicon + 站点名 */
html.claude .markdown-body .hn-cite-pop-src,
.markdown-body .hn-cite-pop-src{
  display:flex;
  align-items:center;
  gap:6px;
  min-width:0;
}
html.claude .markdown-body .hn-cite-pop-site,
.markdown-body .hn-cite-pop-site{
  font-size:12px;
  line-height:1.6;
  padding-bottom:2px;
  color:rgb(123,121,116);
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  min-width:0;
}
html.claude .markdown-body .hn-cite-fav,
.markdown-body .hn-cite-fav{
  flex:0 0 auto;
  width:12px;height:12px;
  border-radius:2px;
  object-fit:contain;
}
html.claude .markdown-body .hn-cite-fav-fallback,
.markdown-body .hn-cite-fav-fallback{
  display:inline-flex;align-items:center;justify-content:center;
  flex:0 0 auto;
  width:12px;height:12px;
  border-radius:2px;
  background:rgb(217,212,200);
  color:rgb(74,70,60);
  font-size:8px;font-weight:700;line-height:1;
}
/* 摘要 */
html.claude .markdown-body .hn-cite-pop-snippet,
.markdown-body .hn-cite-pop-snippet{
  display:-webkit-box;
  margin-top:2px;
  font-size:12px;
  line-height:1.6;
  padding-bottom:3px;
  color:rgb(123,121,116);
  -webkit-line-clamp:3;
  -webkit-box-orient:vertical;
  overflow:hidden;
  overflow-wrap:break-word;
}
/* ===== END HN CITE HOVER CARD ===== */

/* === HN-CITE HOVER BRIDGE (authoritative, appended last) === */
.markdown-body a.hn-cite{overflow:visible!important;}
.markdown-body .hn-cite-chip{overflow:hidden;}
.markdown-body .hn-cite-pop{
  opacity:0!important;
  pointer-events:none!important;
  transition:opacity .12s ease!important;
}
/* invisible bridge: covers pill->card so pointer never crosses dead space */
.markdown-body a.hn-cite::after{
  content:"";
  position:absolute;
  left:-8px; right:-8px;
  bottom:100%;
  height:14px;
  pointer-events:none;
}
.markdown-body a.hn-cite:hover::after{pointer-events:auto;}
.markdown-body a.hn-cite:hover .hn-cite-pop,
.markdown-body .hn-cite-pop:hover{
  opacity:1!important;
  pointer-events:auto!important;
}
/* === END HN-CITE HOVER BRIDGE === */

/* ===== HN CITE: empty title collapses (no blank line / no ghost layer) ===== */
html.claude .markdown-body .hn-cite-pop-title:empty,
.markdown-body .hn-cite-pop-title:empty{
  display:none!important;
  margin:0!important;
  padding:0!important;
  height:0!important;
}
/* row gap only when title present */
html.claude .markdown-body .hn-cite-pop-title:empty + .hn-cite-pop-src,
.markdown-body .hn-cite-pop-title:empty + .hn-cite-pop-src{
  margin-top:0!important;
}
/* ===== END HN CITE empty title ===== */

/* ===== HN CITE POP X-CENTER GUARD (transform 覆盖导致右偏 fix) ===== */
html.claude .markdown-body .hn-cite-pop,
.markdown-body .hn-cite-pop{
  left:50%!important;
  right:auto!important;
  transform:translateX(-50%)!important;
}
html.claude .markdown-body a.hn-cite:hover .hn-cite-pop,
.markdown-body a.hn-cite:hover .hn-cite-pop,
html.claude .markdown-body .hn-cite-pop:hover,
.markdown-body .hn-cite-pop:hover{
  transform:translateX(-50%)!important;
}
/* ===== END X-CENTER GUARD ===== */

/* ===== CLAUDE CARD 1:1 ===== */
/* measured from claude.ai: row=flex flex-col gap-1 px-2 py-1.5 rounded-md
   h3=14px/19.6px w500 rgb(56,56,53) margin0
   src span=flex flex-row items-center gap-1 12px/16.8px rgb(123,121,116)
   favicon=14x14 object-contain radius0 */
html.claude .markdown-body .hn-cite-pop-row,
.markdown-body .hn-cite-pop-row{
  display:flex!important;
  flex-direction:column!important;
  align-items:stretch!important;
  gap:4px!important;
  padding:6px 8px!important;
  border-radius:6px!important;
  transition:background .15s ease!important;
}
html.claude .markdown-body .hn-cite-pop-row:hover,
.markdown-body .hn-cite-pop-row:hover{
  background:rgb(240,238,231)!important;
}
html.claude .markdown-body .hn-cite-pop-title,
.markdown-body .hn-cite-pop-title{
  display:block!important;
  margin:0!important;
  padding:0!important;
  font-size:14px!important;
  line-height:19.6px!important;
  font-weight:500!important;
  color:rgb(56,56,53)!important;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
  max-width:100%!important;
}
html.claude .markdown-body .hn-cite-pop-title:empty,
.markdown-body .hn-cite-pop-title:empty{display:none!important;}
html.claude .markdown-body .hn-cite-pop-src,
.markdown-body .hn-cite-pop-src{
  display:flex!important;
  flex-direction:row!important;
  align-items:center!important;
  gap:4px!important;
  margin:0!important;
  padding:0!important;
  font-size:12px!important;
  line-height:16.8px!important;
  color:rgb(123,121,116)!important;
}
html.claude .markdown-body .hn-cite-fav,
.markdown-body .hn-cite-fav{
  width:14px!important;height:14px!important;
  max-width:14px!important;max-height:14px!important;
  border-radius:0!important;
  object-fit:contain!important;
  background:transparent!important;
  flex:0 0 auto!important;
}
html.claude .markdown-body .hn-cite-pop-site,
.markdown-body .hn-cite-pop-site{
  font-size:11px!important;
  line-height:16.8px!important;
  color:rgb(123,121,116)!important;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
html.claude .markdown-body .hn-cite-pop-snippet,
.markdown-body .hn-cite-pop-snippet{
  display:-webkit-box!important;
  margin:0!important;
  padding:0!important;
  border-top:0!important;
  font-size:12px!important;
  line-height:16.8px!important;
  color:rgb(123,121,116)!important;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
/* ===== END CLAUDE CARD 1:1 ===== */

/* ===== HN CITE DARK — Claude dark measured (browser-resolved) ===== */
/* bg-100 rgb(21,21,21) | bg-200 rgb(17,17,17) | bg-300 rgb(13,13,13)
   border-300 rgb(225,224,217) | text-200/300 rgb(195,194,183)
   text-500 rgb(151,149,141) | accent-900 rgb(6,43,87) | accent-100 rgb(85,152,231) */

html.dark .markdown-body a.hn-cite .hn-cite-chip,
html.claude.dark .markdown-body a.hn-cite .hn-cite-chip{
  background:rgb(17,17,17)!important;
  border:0.5px solid rgba(225,224,217,0.15)!important;
}
html.dark .markdown-body a.hn-cite .hn-cite-label,
html.claude.dark .markdown-body a.hn-cite .hn-cite-label{
  color:rgb(195,194,183)!important;
}
html.dark .markdown-body a.hn-cite:hover .hn-cite-chip,
html.claude.dark .markdown-body a.hn-cite:hover .hn-cite-chip{
  background:rgb(6,43,87)!important;
  border-color:rgba(85,152,231,0.6)!important;
}
html.dark .markdown-body a.hn-cite:hover .hn-cite-label,
html.claude.dark .markdown-body a.hn-cite:hover .hn-cite-label{
  color:rgb(195,194,183)!important;
}
html.dark .markdown-body a.hn-cite .hn-cite-rev,
html.claude.dark .markdown-body a.hn-cite .hn-cite-rev{
  background:linear-gradient(to right, rgba(6,43,87,0) 0%, rgb(6,43,87) 30%, rgb(6,43,87) 100%)!important;
}
html.dark .markdown-body a.hn-cite .hn-cite-rev svg,
html.claude.dark .markdown-body a.hn-cite .hn-cite-rev svg{
  color:rgb(85,152,231)!important;
  fill:rgb(85,152,231)!important;
}
/* hover card dark */
html.dark .markdown-body .hn-cite-pop-inner,
html.claude.dark .markdown-body .hn-cite-pop-inner{
  background:rgb(21,21,21)!important;
  border:0.5px solid rgba(225,224,217,0.25)!important;
  box-shadow:0 8px 24px rgba(0,0,0,0.45),0 2px 6px rgba(0,0,0,0.35)!important;
}
html.dark .markdown-body .hn-cite-pop-title,
html.claude.dark .markdown-body .hn-cite-pop-title{
  color:rgb(195,194,183)!important;
}
html.dark .markdown-body .hn-cite-pop-site,
html.claude.dark .markdown-body .hn-cite-pop-site{
  color:rgb(151,149,141)!important;
}
html.dark .markdown-body .hn-cite-pop-snippet,
html.claude.dark .markdown-body .hn-cite-pop-snippet{
  color:rgb(151,149,141)!important;
  border-top-color:rgba(225,224,217,0.12)!important;
}
html.dark .markdown-body .hn-cite-pop-row:hover,
html.claude.dark .markdown-body .hn-cite-pop-row:hover{
  background:rgb(13,13,13)!important;
}
html.dark .markdown-body .hn-cite-fav-fallback,
html.claude.dark .markdown-body .hn-cite-fav-fallback{
  background:rgb(45,45,43)!important;
  color:rgb(195,194,183)!important;
}
/* ===== END HN CITE DARK ===== */

/* ===== HN INLINE MAP ===== */
.hn-map{margin-top:13px;border:1px solid var(--hn-border,#e6e4dd);border-radius:12px;overflow:hidden;background:var(--hn-card,#faf9f5)}
.hn-map-head{display:flex;align-items:center;gap:9px;padding:11px 14px;font-size:14px}
.hn-map-title{font-weight:500}
.hn-map-meta{color:#7c7a73;font-size:13px;margin-left:auto;display:flex;gap:13px}
.hn-map-wrap{position:relative}
.hn-map-canvas{width:100%;height:340px}
.hn-map-legend{position:absolute;left:12px;top:12px;z-index:5;background:rgba(255,255,255,.95);border:1px solid #e6e4dd;border-radius:9px;padding:8px 11px;font-size:12.5px;line-height:1.55;box-shadow:0 2px 8px rgba(0,0,0,.08);color:#1f1f1c}
.hn-map-r1{color:#c96442;font-weight:600;margin-bottom:3px}
.hn-dA,.hn-dB{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:5px;vertical-align:middle}
.hn-dA{background:#2b7cff}.hn-dB{background:#c96442}
.hn-map-hint{position:absolute;right:12px;bottom:12px;z-index:5;background:rgba(0,0,0,.55);color:#fff;font-size:11.5px;padding:4px 9px;border-radius:6px}
.hn-map-dot{width:15px;height:15px;border-radius:50%;border:3px solid #fff;box-shadow:0 1px 4px rgba(0,0,0,.4)}
.hn-map-err{padding:20px;color:#7c7a73;text-align:center}
html.dark .hn-map{background:#26251f;border-color:#3a3833}
html.dark .hn-map-legend{background:rgba(38,37,31,.95);border-color:#3a3833;color:#e8e6df}
html.dark .hn-map-meta{color:#a3a097}

/* ===== 奶蛙: Claude 输入框外框 focus 光效 (v3 提权重压过原有暗色阴影) ===== */
html.claude .chat-content-wrapper .chat-input-area,
html.claude.dark .chat-content-wrapper .chat-input-area{
  transition: box-shadow .18s cubic-bezier(.4,0,.2,1), border-color .18s cubic-bezier(.4,0,.2,1)!important;
}
/* 暗色态: 保留原有底阴影 + 叠加陶土橙光晕 */
html.claude.dark .chat-content-wrapper .chat-input-area:focus-within{
  border-color: rgba(201,100,66,.55)!important;
  box-shadow: 0 1px 4px rgba(0,0,0,.2), 0 4px 16px rgba(0,0,0,.15), 0 0 0 3px rgba(201,100,66,.22), 0 0 16px 2px rgba(201,100,66,.28)!important;
}
/* 浅色态 */
html.claude:not(.dark) .chat-content-wrapper .chat-input-area:focus-within{
  border-color: rgba(201,100,66,.5)!important;
  box-shadow: 0 4px 20px rgba(0,0,0,.06), 0 0 0 3px rgba(201,100,66,.16), 0 0 13px 1px rgba(201,100,66,.20)!important;
}
/* ===== /奶蛙 glow v3 ===== */


/* HN file card format cues — uses data-ext emitted by MarkdownRenderer */
html.claude .markdown-body .markdown-file-card[data-ext="pdf"] > svg:not(.att-download-icon){color:#e25555!important}
html.claude .markdown-body .markdown-file-card[data-ext="pdf"]::before{background:linear-gradient(180deg,#fff5f5 0%,rgba(255,245,245,0) 100%)!important;border-color:rgba(226,85,85,.25)!important}
html.claude.dark .markdown-body .markdown-file-card[data-ext="pdf"] > svg:not(.att-download-icon){color:#ef6b6b!important}
html.claude.dark .markdown-body .markdown-file-card[data-ext="pdf"]::before{background:linear-gradient(180deg,#3d2424 0%,rgba(61,36,36,0) 100%)!important;border-color:rgba(239,107,107,.3)!important}

html.claude .markdown-body .markdown-file-card[data-ext="xlsx"] > svg:not(.att-download-icon),html.claude .markdown-body .markdown-file-card[data-ext="xls"] > svg:not(.att-download-icon),html.claude .markdown-body .markdown-file-card[data-ext="csv"] > svg:not(.att-download-icon){color:#2e7d32!important}
html.claude .markdown-body .markdown-file-card[data-ext="xlsx"]::before,html.claude .markdown-body .markdown-file-card[data-ext="xls"]::before,html.claude .markdown-body .markdown-file-card[data-ext="csv"]::before{background:linear-gradient(180deg,#f2f9f3 0%,rgba(242,249,243,0) 100%)!important;border-color:rgba(46,125,50,.25)!important}
html.claude.dark .markdown-body .markdown-file-card[data-ext="xlsx"] > svg:not(.att-download-icon),html.claude.dark .markdown-body .markdown-file-card[data-ext="xls"] > svg:not(.att-download-icon),html.claude.dark .markdown-body .markdown-file-card[data-ext="csv"] > svg:not(.att-download-icon){color:#4caf50!important}
html.claude.dark .markdown-body .markdown-file-card[data-ext="xlsx"]::before,html.claude.dark .markdown-body .markdown-file-card[data-ext="xls"]::before,html.claude.dark .markdown-body .markdown-file-card[data-ext="csv"]::before{background:linear-gradient(180deg,#1e3321 0%,rgba(30,51,33,0) 100%)!important;border-color:rgba(76,175,80,.3)!important}

html.claude .markdown-body .markdown-file-card[data-ext="docx"] > svg:not(.att-download-icon),html.claude .markdown-body .markdown-file-card[data-ext="doc"] > svg:not(.att-download-icon){color:#1976d2!important}
html.claude .markdown-body .markdown-file-card[data-ext="docx"]::before,html.claude .markdown-body .markdown-file-card[data-ext="doc"]::before{background:linear-gradient(180deg,#f0f7ff 0%,rgba(240,247,255,0) 100%)!important;border-color:rgba(25,118,210,.25)!important}
html.claude.dark .markdown-body .markdown-file-card[data-ext="docx"] > svg:not(.att-download-icon),html.claude.dark .markdown-body .markdown-file-card[data-ext="doc"] > svg:not(.att-download-icon){color:#42a5f5!important}
html.claude.dark .markdown-body .markdown-file-card[data-ext="docx"]::before,html.claude.dark .markdown-body .markdown-file-card[data-ext="doc"]::before{background:linear-gradient(180deg,#1c2b3d 0%,rgba(28,43,61,0) 100%)!important;border-color:rgba(66,165,245,.3)!important}

html.claude .markdown-body .markdown-file-card[data-ext="zip"] > svg:not(.att-download-icon),html.claude .markdown-body .markdown-file-card[data-ext="rar"] > svg:not(.att-download-icon),html.claude .markdown-body .markdown-file-card[data-ext="tar"] > svg:not(.att-download-icon),html.claude .markdown-body .markdown-file-card[data-ext="gz"] > svg:not(.att-download-icon),html.claude .markdown-body .markdown-file-card[data-ext="7z"] > svg:not(.att-download-icon){color:#d97706!important}
html.claude .markdown-body .markdown-file-card[data-ext="zip"]::before,html.claude .markdown-body .markdown-file-card[data-ext="rar"]::before,html.claude .markdown-body .markdown-file-card[data-ext="tar"]::before,html.claude .markdown-body .markdown-file-card[data-ext="gz"]::before,html.claude .markdown-body .markdown-file-card[data-ext="7z"]::before{background:linear-gradient(180deg,#fef9ee 0%,rgba(254,249,238,0) 100%)!important;border-color:rgba(217,119,6,.25)!important}
html.claude.dark .markdown-body .markdown-file-card[data-ext="zip"] > svg:not(.att-download-icon),html.claude.dark .markdown-body .markdown-file-card[data-ext="rar"] > svg:not(.att-download-icon),html.claude.dark .markdown-body .markdown-file-card[data-ext="tar"] > svg:not(.att-download-icon),html.claude.dark .markdown-body .markdown-file-card[data-ext="gz"] > svg:not(.att-download-icon),html.claude.dark .markdown-body .markdown-file-card[data-ext="7z"] > svg:not(.att-download-icon){color:#f59e0b!important}
html.claude.dark .markdown-body .markdown-file-card[data-ext="zip"]::before,html.claude.dark .markdown-body .markdown-file-card[data-ext="rar"]::before,html.claude.dark .markdown-body .markdown-file-card[data-ext="tar"]::before,html.claude.dark .markdown-body .markdown-file-card[data-ext="gz"]::before,html.claude.dark .markdown-body .markdown-file-card[data-ext="7z"]::before{background:linear-gradient(180deg,#3d311e 0%,rgba(61,49,30,0) 100%)!important;border-color:rgba(245,158,11,.3)!important}

html.claude .markdown-body .markdown-file-card[data-ext="py"] > svg:not(.att-download-icon),html.claude .markdown-body .markdown-file-card[data-ext="js"] > svg:not(.att-download-icon),html.claude .markdown-body .markdown-file-card[data-ext="ts"] > svg:not(.att-download-icon),html.claude .markdown-body .markdown-file-card[data-ext="json"] > svg:not(.att-download-icon),html.claude .markdown-body .markdown-file-card[data-ext="sh"] > svg:not(.att-download-icon){color:#7c3aed!important}
html.claude .markdown-body .markdown-file-card[data-ext="py"]::before,html.claude .markdown-body .markdown-file-card[data-ext="js"]::before,html.claude .markdown-body .markdown-file-card[data-ext="ts"]::before,html.claude .markdown-body .markdown-file-card[data-ext="json"]::before,html.claude .markdown-body .markdown-file-card[data-ext="sh"]::before{background:linear-gradient(180deg,#f8f5fe 0%,rgba(248,245,254,0) 100%)!important;border-color:rgba(124,58,237,.25)!important}
html.claude.dark .markdown-body .markdown-file-card[data-ext="py"] > svg:not(.att-download-icon),html.claude.dark .markdown-body .markdown-file-card[data-ext="js"] > svg:not(.att-download-icon),html.claude.dark .markdown-body .markdown-file-card[data-ext="ts"] > svg:not(.att-download-icon),html.claude.dark .markdown-body .markdown-file-card[data-ext="json"] > svg:not(.att-download-icon),html.claude.dark .markdown-body .markdown-file-card[data-ext="sh"] > svg:not(.att-download-icon){color:#a78bfa!important}
html.claude.dark .markdown-body .markdown-file-card[data-ext="py"]::before,html.claude.dark .markdown-body .markdown-file-card[data-ext="js"]::before,html.claude.dark .markdown-body .markdown-file-card[data-ext="ts"]::before,html.claude.dark .markdown-body .markdown-file-card[data-ext="json"]::before,html.claude.dark .markdown-body .markdown-file-card[data-ext="sh"]::before{background:linear-gradient(180deg,#2a203d 0%,rgba(42,32,61,0) 100%)!important;border-color:rgba(167,139,250,.3)!important}
