.custom-scrollbar::-webkit-scrollbar { height: 10px; width: 10px; }
.custom-scrollbar::-webkit-scrollbar-track { background: #f8fafc; }
.custom-scrollbar::-webkit-scrollbar-thumb { background: #cbd5e1; border-radius: 4px; }
.custom-scrollbar::-webkit-scrollbar-thumb:hover { background: #94a3b8; }

.hide-number-spinners::-webkit-outer-spin-button, 
.hide-number-spinners::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.hide-number-spinners { -moz-appearance: textfield; }

input[type="color"]::-webkit-color-swatch-wrapper { padding: 0; }
input[type="color"]::-webkit-color-swatch { border: none; border-radius: 4px; }

@keyframes expandDown {
  from { opacity: 0; transform: translate(-50%, -10px); }
  to { opacity: 1; transform: translate(-50%, 0); }
}
.animate-expand-down { animation: expandDown 0.2s ease-out forwards; }

body { user-select: none; -webkit-user-select: none; }
input, textarea, select { user-select: text; -webkit-user-select: text; }

/* ... (省略中间内容，将原文件里的 css 照搬过来) ... */
.touch-none { touch-action: none; }