@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; }