/* ============================================================ * 后台 MD3 全局微调:与前台(public/css/style.css)一致的氛围细节 * 前台 token 变量未注入后台页面,这里按明暗各写一份。 * ============================================================ */ /* 内容区入场动效(对应前台 contentFadeIn) */ main { animation: md3ContentFadeIn 0.28s ease; } @keyframes md3ContentFadeIn { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: none; } } /* 明暗切换过渡 */ body { transition: background-color 0.3s ease, color 0.3s ease; } /* 滚动条(对应前台细滚动条) */ ::-webkit-scrollbar { width: 6px; height: 6px; } ::-webkit-scrollbar-track { background: transparent; } ::-webkit-scrollbar-thumb { background: #cac4d0; border-radius: 3px; } ::-webkit-scrollbar-thumb:hover { background: #79747e; } [data-theme="dark"] ::-webkit-scrollbar-thumb { background: #49454f; } [data-theme="dark"] ::-webkit-scrollbar-thumb:hover { background: #938f99; } /* 减弱动效偏好 */ @media (prefers-reduced-motion: reduce) { *, *::before, *::after { animation-duration: 0.01ms !important; transition-duration: 0.01ms !important; } }