457 lines
8.4 KiB
CSS
457 lines
8.4 KiB
CSS
html,
|
|
body {
|
|
margin: 0;
|
|
}
|
|
|
|
.app-layout {
|
|
height: 100vh;
|
|
overflow: hidden;
|
|
}
|
|
|
|
.app-header {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: space-between;
|
|
padding: 0 var(--ant-padding-lg);
|
|
background: var(--ant-color-bg-container);
|
|
border-bottom: 1px solid var(--ant-color-border-secondary);
|
|
}
|
|
|
|
.app-header-left {
|
|
display: inline-flex;
|
|
align-items: center;
|
|
gap: var(--ant-margin-lg);
|
|
}
|
|
|
|
.app-header-right {
|
|
display: inline-flex;
|
|
align-items: center;
|
|
gap: var(--ant-margin-sm);
|
|
}
|
|
|
|
.app-brand-group {
|
|
display: inline-flex;
|
|
align-items: baseline;
|
|
gap: var(--ant-margin-sm);
|
|
}
|
|
|
|
.app-brand {
|
|
margin: 0;
|
|
color: var(--ant-color-text);
|
|
font-size: calc(var(--ant-font-size-heading-1) - 6px);
|
|
font-weight: 700;
|
|
line-height: 1;
|
|
}
|
|
|
|
.app-version {
|
|
color: var(--ant-color-text-quaternary);
|
|
font-size: var(--ant-font-size-sm);
|
|
font-weight: 400;
|
|
line-height: 1;
|
|
}
|
|
|
|
.app-content {
|
|
overflow: auto;
|
|
padding: var(--ant-padding) var(--ant-padding-lg);
|
|
}
|
|
|
|
.app-chat-page {
|
|
display: flex;
|
|
height: 100%;
|
|
overflow: hidden;
|
|
}
|
|
|
|
.app-console-title {
|
|
color: var(--ant-color-text-secondary);
|
|
font-size: var(--ant-font-size);
|
|
font-weight: 400;
|
|
}
|
|
|
|
.app-unavailable {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
min-height: 60vh;
|
|
}
|
|
|
|
.app-loading {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
min-height: 60vh;
|
|
}
|
|
|
|
.ant-layout-sider {
|
|
border-right: 1px solid var(--ant-color-border-secondary);
|
|
}
|
|
|
|
.ant-layout-sider-trigger {
|
|
border-right: 1px solid var(--ant-color-border-secondary);
|
|
}
|
|
|
|
.ant-layout-sider .ant-menu.ant-menu-root {
|
|
border-inline-end: none;
|
|
}
|
|
|
|
.app-sidebar-list {
|
|
display: flex;
|
|
flex-direction: column;
|
|
border: 1px solid var(--ant-color-border-secondary);
|
|
border-radius: var(--ant-border-radius-lg);
|
|
background: var(--ant-color-bg-container);
|
|
}
|
|
|
|
.app-sidebar-list-header {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: var(--ant-margin-sm);
|
|
padding: var(--ant-padding-sm);
|
|
border-bottom: 1px solid var(--ant-color-border-secondary);
|
|
}
|
|
|
|
.app-sidebar-list-body {
|
|
display: flex;
|
|
flex: 1;
|
|
flex-direction: column;
|
|
min-height: 0;
|
|
}
|
|
|
|
.app-sidebar-list-item {
|
|
border: none;
|
|
margin: var(--ant-margin-xxs) var(--ant-margin-xxs);
|
|
padding: var(--ant-padding-xs) var(--ant-padding-sm);
|
|
border-radius: var(--ant-border-radius-lg);
|
|
cursor: pointer;
|
|
transition: background 0.15s ease;
|
|
}
|
|
|
|
.app-sidebar-list-item:hover {
|
|
background: var(--ant-color-bg-text-hover);
|
|
}
|
|
|
|
.app-sidebar-list-item--selected {
|
|
background: var(--ant-color-primary);
|
|
color: var(--ant-color-text-light-solid);
|
|
}
|
|
|
|
.app-sidebar-list-item--selected .ant-typography {
|
|
color: var(--ant-color-text-light-solid);
|
|
}
|
|
|
|
.app-sidebar-list-item--selected:hover {
|
|
background: var(--ant-color-primary);
|
|
}
|
|
|
|
.app-sidebar-item-actions {
|
|
opacity: 0;
|
|
transition: opacity 0.15s ease;
|
|
}
|
|
|
|
.app-sidebar-list-item:hover .app-sidebar-item-actions {
|
|
opacity: 1;
|
|
}
|
|
|
|
.app-sidebar-group {
|
|
margin-top: var(--ant-margin-xs);
|
|
}
|
|
|
|
.app-sidebar-group-header {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: var(--ant-margin-xxs);
|
|
padding: var(--ant-padding-xs) var(--ant-padding-xs);
|
|
cursor: pointer;
|
|
user-select: none;
|
|
border-radius: var(--ant-border-radius-sm);
|
|
transition: background 0.15s ease;
|
|
}
|
|
|
|
.app-sidebar-group-header:hover {
|
|
background: var(--ant-color-fill-tertiary);
|
|
}
|
|
|
|
.app-sidebar-group-arrow {
|
|
display: inline-flex;
|
|
align-items: center;
|
|
font-size: var(--ant-font-size-sm);
|
|
color: var(--ant-color-text-quaternary);
|
|
width: 14px;
|
|
}
|
|
|
|
.app-sidebar-group-label {
|
|
font-size: var(--ant-font-size-sm);
|
|
font-weight: 500;
|
|
}
|
|
|
|
.app-sidebar-group-count {
|
|
font-size: var(--ant-font-size-sm);
|
|
}
|
|
|
|
.app-chat-panel {
|
|
display: flex;
|
|
flex: 1;
|
|
flex-direction: column;
|
|
min-height: 0;
|
|
min-width: 0;
|
|
position: relative;
|
|
}
|
|
|
|
.chat-welcome-area {
|
|
display: flex;
|
|
flex: 1;
|
|
align-items: center;
|
|
justify-content: center;
|
|
padding: var(--ant-padding-xl);
|
|
}
|
|
|
|
.app-chat-panel-loading {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
flex: 1;
|
|
}
|
|
|
|
.chat-sender-area {
|
|
flex-shrink: 0;
|
|
margin-left: var(--ant-padding-sm);
|
|
margin-top: var(--ant-padding-sm);
|
|
}
|
|
|
|
.message-body {
|
|
margin-top: 8px;
|
|
}
|
|
|
|
.chat-scroll-area {
|
|
flex: 1;
|
|
min-height: 0;
|
|
overflow-anchor: auto;
|
|
margin-left: var(--ant-padding-sm);
|
|
border-radius: var(--ant-border-radius-lg);
|
|
height: 100%;
|
|
}
|
|
|
|
.chat-loading-indicator {
|
|
padding: 8px;
|
|
}
|
|
|
|
.message-body-text {
|
|
margin-bottom: 0;
|
|
}
|
|
|
|
.step-divider {
|
|
margin: 4px 0;
|
|
}
|
|
|
|
.tool-result-pre {
|
|
font-size: 12px;
|
|
margin: 0;
|
|
}
|
|
|
|
.msg-title-ai {
|
|
color: var(--ant-color-primary);
|
|
}
|
|
|
|
.part-body {
|
|
padding: 0 var(--ant-padding-sm);
|
|
}
|
|
|
|
.icon-primary {
|
|
color: var(--ant-color-primary);
|
|
}
|
|
|
|
.icon-success {
|
|
color: var(--ant-color-success);
|
|
}
|
|
|
|
.icon-error {
|
|
color: var(--ant-color-error);
|
|
}
|
|
|
|
.welcome-icon {
|
|
color: var(--ant-color-primary);
|
|
font-size: 48px;
|
|
}
|
|
|
|
.welcome-title {
|
|
margin: 0;
|
|
}
|
|
|
|
.chat-model-select {
|
|
width: 180px;
|
|
}
|
|
|
|
.chat-sender-box {
|
|
background: var(--ant-color-bg-container);
|
|
}
|
|
|
|
.card-extra-actions .btn-dimmed,
|
|
.code-block-header .ant-btn.btn-dimmed {
|
|
color: var(--ant-color-text-quaternary);
|
|
}
|
|
|
|
.card-extra-actions .btn-dimmed:hover,
|
|
.code-block-header .ant-btn.btn-dimmed:hover {
|
|
color: var(--ant-color-text-secondary);
|
|
}
|
|
|
|
.chat-scroll-bottom-btn {
|
|
position: absolute;
|
|
bottom: 140px;
|
|
left: 50%;
|
|
transform: translateX(-50%);
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
z-index: 10;
|
|
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
|
|
}
|
|
|
|
.app-page-flex {
|
|
flex: 1;
|
|
}
|
|
|
|
.os-theme-custom {
|
|
--os-size: 8px;
|
|
--os-padding-perpendicular: 2px;
|
|
--os-padding-axis: 2px;
|
|
--os-track-border-radius: 10px;
|
|
--os-handle-border-radius: 10px;
|
|
--os-handle-bg: var(--ant-color-border-secondary);
|
|
--os-handle-bg-hover: var(--ant-color-text-quaternary);
|
|
--os-handle-bg-active: var(--ant-color-text-tertiary);
|
|
--os-handle-min-size: 33px;
|
|
--os-handle-max-size: none;
|
|
--os-handle-interactive-area-offset: 4px;
|
|
}
|
|
|
|
.app-inbox-page {
|
|
display: flex;
|
|
height: 100%;
|
|
overflow: hidden;
|
|
}
|
|
|
|
.app-inbox-content {
|
|
display: flex;
|
|
flex: 1;
|
|
flex-direction: column;
|
|
min-height: 0;
|
|
min-width: 0;
|
|
padding: var(--ant-padding-xl);
|
|
overflow-y: auto;
|
|
}
|
|
|
|
.app-inbox-datepicker {
|
|
width: 100%;
|
|
}
|
|
|
|
.material-item-right {
|
|
position: relative;
|
|
display: inline-flex;
|
|
align-items: center;
|
|
flex-shrink: 0;
|
|
}
|
|
|
|
.material-item-tag,
|
|
.material-item-actions {
|
|
transition: opacity 0.15s ease;
|
|
}
|
|
|
|
.material-item-tag {
|
|
opacity: 1;
|
|
}
|
|
|
|
.material-item-actions {
|
|
position: absolute;
|
|
top: 50%;
|
|
right: 0;
|
|
transform: translateY(-50%);
|
|
opacity: 0;
|
|
}
|
|
|
|
.app-sidebar-list-item:hover .material-item-tag {
|
|
opacity: 0;
|
|
}
|
|
|
|
.app-sidebar-list-item:hover .material-item-actions {
|
|
opacity: 1;
|
|
}
|
|
|
|
.app-inbox-filter-count {
|
|
margin-left: 4px;
|
|
font-size: var(--ant-font-size-sm);
|
|
}
|
|
|
|
/* Markdown 代码块 */
|
|
.code-block {
|
|
margin: var(--ant-margin-sm) 0;
|
|
border: 1px solid var(--ant-color-border-secondary);
|
|
border-radius: var(--ant-border-radius-lg);
|
|
overflow: hidden;
|
|
font-family: var(--ant-font-family-code, monospace);
|
|
font-size: var(--ant-font-size-sm);
|
|
}
|
|
|
|
.code-block-header {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: space-between;
|
|
padding: var(--ant-padding-xxs) var(--ant-padding-sm);
|
|
background: var(--ant-color-bg-container);
|
|
border-bottom: 1px solid var(--ant-color-border-secondary);
|
|
}
|
|
|
|
.code-block-lang {
|
|
color: var(--ant-color-text-quaternary);
|
|
font-size: var(--ant-font-size-xs);
|
|
text-transform: lowercase;
|
|
}
|
|
|
|
.code-block-body {
|
|
margin: 0;
|
|
}
|
|
|
|
.code-block-body > pre {
|
|
padding: var(--ant-padding-sm);
|
|
margin: 0;
|
|
overflow-x: auto;
|
|
}
|
|
|
|
.code-block-body code {
|
|
font-family: inherit;
|
|
font-size: inherit;
|
|
}
|
|
|
|
/* Markdown 表格 */
|
|
.markdown-table {
|
|
width: 100%;
|
|
margin: var(--ant-margin-sm) 0;
|
|
border-collapse: separate;
|
|
border-spacing: 0;
|
|
border: 1px solid var(--ant-color-border-secondary);
|
|
border-radius: var(--ant-border-radius-lg);
|
|
overflow: hidden;
|
|
font-size: var(--ant-font-size);
|
|
}
|
|
|
|
.markdown-table th,
|
|
.markdown-table td {
|
|
padding: var(--ant-padding-xs) var(--ant-padding-sm);
|
|
border-bottom: 1px solid var(--ant-color-border-secondary);
|
|
text-align: left;
|
|
}
|
|
|
|
.markdown-table thead th {
|
|
background: var(--ant-color-bg-container);
|
|
color: var(--ant-color-text);
|
|
font-weight: 600;
|
|
border-bottom: 1px solid var(--ant-color-border-secondary);
|
|
}
|
|
|
|
.markdown-table tbody tr:last-child td {
|
|
border-bottom: none;
|
|
}
|
|
|
|
.markdown-table tbody tr:hover td {
|
|
background: var(--ant-color-fill-quaternary);
|
|
}
|