html, body { width: 100%; height: 100%; padding: 0; margin: 0; } @font-face { font-family: 'NotoSerifSC-Regular'; src: url('https://oss-his-build.oss-cn-hangzhou.aliyuncs.com/fonts/NotoSerifSC-Regular.otf'); } @font-face { font-family: 'SourceHanSansOLD-Normal'; src: url('https://oss-his-build.oss-cn-hangzhou.aliyuncs.com/fonts/SourceHanSansOLD-Normal-2.otf'); } body { font-size: 14px; -webkit-font-smoothing: antialiased; color: #1f2329; font-family: 'PingFang SC', 'Microsoft YaHei', Arial, sans-serif; overflow: hidden; position: relative; } // firefox 滚动条样式 * { scrollbar-color: rgba(144, 147, 153, 0.5) #0f0f12; } /*滚动条整体样式*/ ::-webkit-scrollbar { background-color: #0f0f12; } /*滚动条里面小方块*/ ::-webkit-scrollbar-thumb { background-color: red; border: 3px solid #0f0f12; } /*滚动条里面轨道*/ ::-webkit-scrollbar-track { background: #0f0f12; } :focus { outline: none; &-visible { outline: none; } } .router-redirect { width: 100%; height: 100%; } .fade-in-enter-active { animation: fade-in 0.3s; } .fade-in-leave-active { animation: page-in 0.3s reverse; } // 正常页面切换动画 .page-enter-active { animation: page-in 0.3s; } .page-leave-active { animation: page-in 0.3s reverse; } @keyframes page-in { 0% { //transform: scale(0.2); opacity: 0; } 100% { //transform: scale(1); opacity: 1; } } @keyframes ant-line { to { stroke-dashoffset: -1000; } } // 左右切换页面动画 .slide-left-enter-active { animation: slide-left-in 0.3s; } .slide-left-leave-active { animation: slide-right-in 0.3s reverse; } .slide-right-enter-active { animation: slide-right-in 0.3s; } .slide-right-leave-active { animation: slide-left-in 0.3s reverse; } @keyframes slide-left-in { 0% { transform: translateX(-50%); opacity: 0.3; } 100% { transform: translateX(0); opacity: 1; } } @keyframes slide-right-in { 0% { transform: translateX(50%); opacity: 0.3; } 100% { transform: translateX(0); opacity: 1; } } ul, li { // list-style: none; margin: 0; padding: 0; box-sizing: border-box; } em { font-style: normal; } h1, h3, h5, p { margin: 0; } a { text-decoration: none; } div { box-sizing: border-box; } fieldset { border: 1px solid #e6e6e6; > legend { } } .fl { display: flex; &.fc { align-items: center; } &.jc { justify-content: center; } &.jb { justify-content: space-between; } &.jr { justify-content: space-around; } &.je { justify-content: flex-end; } } .empty-data { padding: 20px 10px; font-size: 14px; font-weight: bold; color: #fd8000; } .page-error { color: red; font-size: 20px; padding: 30px; } html { * { box-sizing: border-box; scrollbar-width: thin; } } @keyframes rotating { 0% { transform: rotateZ(0); } 100% { transform: rotateZ(360deg); } } input:-webkit-autofill { -webkit-text-fill-color: var(--color-text-1) !important; -webkit-box-shadow: 0 0 0px 1000px transparent inset !important; background-color: transparent !important; background-image: none; transition: background-color 50000s ease-in-out 0s; } .arco-page-header-wrapper { padding-left: 0; } .mf-fullscreen { position: fixed !important; top: 0 !important; left: 0 !important; width: 100vw !important; height: 100vh !important; z-index: 100 !important; background: #fff; padding: 12px !important; } .arco-modal-simple { background: #0f0f12; border-radius: 10px; border: 2px solid #e6217a; .arco-modal-title { color: #fff; } .arco-modal-body { color: #fff; } .arco-modal-footer { .arco-btn-secondary { color: #ffffff; background-color: #1a1a1a; border: 1px solid #1a1a1a; &:hover { background-color: #262626; } } } } @media (max-width: 576px) { .arco-modal-simple { width: calc(100% - 20px); } } /* ====================== 新粗野主义风格 (New Brutalism) ====================== */ body { font-size: 16px; -webkit-font-smoothing: antialiased; color: #2c2c2c; font-family: 'Impact', 'Arial Black', 'Helvetica Neue', 'Microsoft YaHei', system-ui, sans-serif; font-weight: 900; line-height: 1.05; letter-spacing: -0.025em; overflow: hidden; position: relative; background: #f0f0f0; /* 粗糙肌理感:模拟混凝土/纸张纹理,使用细网格噪声 */ background-image: linear-gradient(45deg, rgba(44, 44, 44, 0.015) 1px, transparent 1px), linear-gradient(-45deg, rgba(44, 44, 44, 0.01) 1px, transparent 1px); background-size: 5px 5px; } /* 拥挤排版 & 硬派标题 */ h1, h2, h3, h4, h5, h6, .arco-typography, .title { font-family: 'Impact', 'Arial Black', sans-serif; font-weight: 900; letter-spacing: -0.05em; line-height: 0.95; margin: 0 0 4px 0; text-transform: uppercase; } /* 所有主要元素:硬边、无圆角、4px硬阴影、2px边框 */ .brutalist, .arco-card, .arco-btn, .arco-menu, .arco-modal-content, .arco-drawer-content, .input-wrapper, .arco-input-wrapper, .arco-select, .arco-textarea, .arco-input, select, textarea, input, .mf-button, .mf-pane, .card, .panel, .navbar, .sidebar-container, .app-wrapper { border: 2px solid #2c2c2c !important; border-radius: 0 !important; box-shadow: 4px 4px 0 #2c2c2c !important; background-color: #f0f0f0 !important; color: #2c2c2c !important; transition: all 0.1s linear !important; } .brutalist:active, .arco-btn:active, .arco-menu-item:active, .mf-button:active { transform: translate(2px, 2px); box-shadow: 2px 2px 0 #2c2c2c !important; } /* 主按钮:深灰底 + 鲜红强调,冲突感 */ .arco-btn, .mf-button { background: #2c2c2c !important; color: #f0f0f0 !important; font-weight: 900; text-transform: uppercase; letter-spacing: 1px; padding: 12px 24px !important; font-size: 15px; border: 2px solid #2c2c2c !important; box-shadow: 4px 4px 0 #2c2c2c !important; } .arco-btn:hover, .arco-btn-primary, .mf-button:hover, .mf-button[type="primary"] { background: #ff0033 !important; color: #f0f0f0 !important; border-color: #2c2c2c !important; box-shadow: 6px 6px 0 #2c2c2c !important; transform: translate(-1px, -1px); } /* 菜单 & 侧边 */ .arco-menu, .sidebar-container { background: #e8e8e8 !important; border-right: 4px solid #2c2c2c !important; } .arco-menu-item, .sidebar-container :deep(.arco-menu-item) { border: 2px solid #2c2c2c !important; margin: 4px 8px !important; padding: 16px 20px !important; font-weight: 900; font-size: 15px; background: #f0f0f0 !important; } .arco-menu-item:hover, .arco-menu-item.arco-menu-selected, .sidebar-container :deep(.arco-menu-item:hover), .sidebar-container :deep(.arco-menu-selected) { background: #ff0033 !important; color: #f0f0f0 !important; border-color: #2c2c2c; transform: translate(2px, 2px); box-shadow: 4px 4px 0 #2c2c2c; } /* 模态 & 弹窗 - 更厚重 */ .arco-modal-content, .arco-drawer-content, .arco-modal-simple { border: 4px solid #2c2c2c !important; box-shadow: 8px 8px 0 #2c2c2c !important; background: #f0f0f0 !important; } .arco-modal-title, .arco-modal-header { background: #2c2c2c !important; color: #f0f0f0 !important; border-bottom: 4px solid #ff0033 !important; padding: 16px !important; font-size: 18px; text-transform: uppercase; } /* 导航栏特定 */ .navbar { background: #f0f0f0 !important; border-bottom: 4px solid #2c2c2c !important; box-shadow: 0 4px 0 #2c2c2c !important; padding: 0 20px !important; height: 72px !important; /* 略高以强调 */ } .right-menu-item.user { border: 2px solid #2c2c2c !important; background: #f0f0f0 !important; border-radius: 0 !important; box-shadow: 4px 4px 0 #2c2c2c; } /* 非对称布局辅助类 */ .asymmetric-layout { display: flex; gap: 0; } .asymmetric-sidebar { margin-right: -12px; /* 轻微重叠/非对称 */ z-index: 10; } .main-content { margin-left: 12px; padding: 20px 32px 20px 20px; background: #f0f0f0; border-left: 4px solid #ff0033; } /* 高对比图片,无滤镜但增强 */ img:not(.logo img), .arco-image img, .preview-image { filter: contrast(1.15) saturate(1.1); border: 3px solid #2c2c2c; box-shadow: 6px 6px 0 #2c2c2c; image-rendering: crisp-edges; } /* 滚动条适配粗野风格 - 硬边 */ ::-webkit-scrollbar { width: 12px; height: 12px; background: #f0f0f0; border: 2px solid #2c2c2c; } ::-webkit-scrollbar-thumb { background: #2c2c2c; border: 2px solid #f0f0f0; box-shadow: 2px 2px 0 #ff0033; } ::-webkit-scrollbar-track { background: #e0e0e0; border: 2px solid #2c2c2c; } /* 强调冲突色 */ .accent { color: #ff0033; font-weight: 900; } .logo-wrap { border: 2px solid #2c2c2c; padding: 4px; box-shadow: 4px 4px 0 #2c2c2c; }