Files
X-Agents/web/src/style.css

225 lines
4.4 KiB
CSS
Raw Normal View History

@tailwind base;
@tailwind components;
@tailwind utilities;
@layer utilities {
.content-auto {
content-visibility: auto;
}
.scrollbar-hide::-webkit-scrollbar {
display: none;
}
.scrollbar-hide {
-ms-overflow-style: none;
scrollbar-width: none;
}
}
body {
@apply bg-dark-900 text-gray-100 font-sans;
}
/* Element Plus 暗色主题 */
html.dark {
--el-bg-color: #171922;
--el-bg-color-overlay: #171922;
--el-text-color-primary: #ffffff;
--el-text-color-regular: #a1a1aa;
--el-border-color: #2a2c36;
--el-border-color-light: #2a2c36;
--el-fill-color-blank: #171922;
--el-color-primary: #ff9500;
}
/* el-select 统一样式 */
html.dark .el-select {
--el-select-input-focus-border-color: #ff9500;
}
html.dark .el-select .el-input__wrapper,
html.dark .el-select .el-select__wrapper {
background-color: #1a1c25 !important;
border: 1px solid #2a2c36;
border-radius: 8px;
transition: all 0.2s ease;
padding: 2px 11px;
min-height: 42px;
}
html.dark .el-select.el-select--large .el-input__wrapper {
padding: 5px 11px;
min-height: 46px;
}
html.dark .el-select .el-input__wrapper:hover {
border-color: #ff9500;
}
html.dark .el-select .el-input__wrapper.is-focus {
border-color: #ff9500;
}
html.dark .el-select .el-input__inner {
color: #ffffff;
line-height: 1.5;
}
html.dark .el-select .el-input__wrapper {
display: flex;
align-items: center;
}
html.dark .el-select .el-select__wrapper {
box-shadow: none !important;
}
html.dark .el-select .el-select__wrapper .el-select__selected-item {
line-height: normal;
}
html.dark .el-select .el-input__inner::placeholder {
color: #6b7280;
}
/* 下拉箭头 */
html.dark .el-select .el-input__suffix .el-select__caret {
color: #71717a;
transition: transform 0.3s;
}
html.dark .el-select .el-input__suffix .el-select__caret.is-reverse {
transform: rotate(180deg);
}
html.dark .el-select .el-input__suffix .el-select__caret.is-show-close {
color: #71717a;
}
html.dark .el-select .el-input__suffix .el-select__caret:hover {
color: #ff9500;
}
/* 下拉菜单 */
.el-select-dropdown.el-popper,
html.dark .el-select-dropdown {
background-color: #1a1c25 !important;
border: 1px solid #2a2c36 !important;
border-radius: 8px;
box-shadow: 0 8px 24px rgba(0, 0, 0, 0.4);
}
html.dark .el-select-dropdown__item {
color: #ffffff !important;
padding: 8px 12px;
transition: all 0.2s;
}
html.dark .el-select-dropdown__item:hover {
background-color: #1a1c25 !important;
}
html.dark .el-select-dropdown__item.is-selected {
color: #ff9500;
font-weight: 600;
background-color: transparent;
}
html.dark .el-select-dropdown__item.is-selected::before {
content: '';
display: inline-block;
width: 4px;
height: 4px;
background-color: #ff9500;
border-radius: 50%;
margin-right: 8px;
}
/* 空状态 */
html.dark .el-select-dropdown__empty {
color: #71717a;
padding: 20px 0;
}
/* popper 箭头 */
.el-popper.is-light,
html.dark .el-popper.is-light {
background: #1a1c25 !important;
border: 1px solid #2a2c36 !important;
}
.el-popper.is-light .el-popper__arrow::before,
html.dark .el-popper.is-light .el-popper__arrow::before {
background: #1a1c25 !important;
border-color: #2a2c36 !important;
}
/* 选中项文字居中 */
html.dark .el-select .el-select__wrapper {
display: flex;
align-items: center;
}
html.dark .el-select .el-select__selected-item,
html.dark .el-select .el-select__placeholder {
line-height: 20px !important;
display: flex;
align-items: center;
}
html.dark .el-select .el-select__selected-item > span {
display: inline-flex;
align-items: center;
}
/* 多选标签 */
html.dark .el-select .el-tag {
background-color: #2a2c36;
border-color: transparent;
color: #ffffff;
border-radius: 4px;
}
html.dark .el-select .el-tag .el-tag__close {
color: #71717a;
}
html.dark .el-select .el-tag .el-tag__close:hover {
background-color: #ff9500;
color: #ffffff;
}
/* 柱状图增长动画 */
@keyframes bar-grow {
from {
height: 0;
opacity: 1;
}
to {
opacity: 1;
}
}
.chart-bar {
height: 0;
opacity: 0;
animation: bar-grow 2.4s cubic-bezier(0.4, 0, 0.2, 1) forwards;
}
/* 进度条增长动画 */
@keyframes progress-grow {
from {
width: 0;
opacity: 1;
}
to {
width: var(--target-width);
opacity: 1;
}
}
.progress-bar {
width: 0;
opacity: 0;
animation: progress-grow 2.4s cubic-bezier(0.4, 0, 0.2, 1) forwards;
}